January 2, 2023
NLP Modules for High School
IFML member Greg Durrett developed an eight-lesson IFML high-school teaching module that introduces students to Natural Language Processing (NLP).
IFML is committed to broadening participation and engaging women and underrepresented communities in the fields of machine learning and artificial intelligence. To that effort, IFML member Greg Durrett developed an eight-lesson IFML high-school teaching module that introduces students to Natural Language Processing (NLP).
These are videos and brief assignments meant to serve as an NLP "module" appropriate for use in a high school setting, or as a first introduction to NLP for any audience with some prior programming exposure (ideally in either Java or Python).
Please see our Overview of the module for instructors (PDF) for an introduction to what this module is and how you might use it. For a brief slide overview, visit this presentation (PDF)
What instructors are saying:
“The most useful part of this module was the student interest. Students thoroughly enjoyed getting the Transformer language model to write sentences and enjoyed setting up contexts to try to predicate and manipulate what the sentence would contain."
"The videos were very helpful in explaining the concepts of NLP and ML. The coding module was useful in seeing the concepts described in the video in action."
“It was a good introduction to NLP which most of my students were unfamiliar with. It also helped tie in math and statistics with computer science. The fact that there were both Python and Java examples was helpful because most of my classes learn Java but my AP CS Principles class has been using Python.”
Aggregated slides (PDF); I use these for a 75-minute version of this material. (Presented at the UT summer academies)
|Intro to GPT Chat and NLP|
|Mathematics of Language Modeling|
|Mathematics of Language Modeling (Advanced)
[OPTIONAL] This segment is optional and draws on some more advanced concepts from probability.
|ChatGPT: the Basics||Exercise 0: Understanding Language Models|
|ChatGPT (Part 2)|
|How Does ChatGPT Know Things?|
|Risks of Large Language Models|
|Future Risks of Large Language Models|
|Where To Go Next|
Optional Programming Exercise
The following videos supplement the videos above by describing an optional programming exercise. Videos, code (two versions, Java and Python) and exercise instruction PDFs are linked below.
|Bigram LM Code (Java)||Code (tgz) | Code in Replit|
|Bigram LM Code (Python)||Code (tgz) | Code in Replit|
|Querying the LM (Java)||Exercise 1: Bigram LM (Java)|
|Querying the LM (Python)||Exercise 1: Bigram LM (Python)|