Natural Language Processing

This course provides an introduction to the field of Natural Language Processing (NLP). We will focus on a range of NLP tasks, including machine translation, question answering, text classification, as well as the underlying linguistic problems (syntax, semantics, morphology) that make building sytems to solve these tasks so challenging. This course will cover both "traditional" (machine learning, information theoretic) approaches as well as "new" deep learning approaches.

Topics include:

  • Text Classification
  • Word Embeddings
  • Language Modeling
  • Pretraining, Finetuning
  • Prompting and In-Context Learning
  • Machine Translation
  • POS Tagging
  • Syntactic and Semantic Parsing
  • NLP and Social Responsibility

Topics include:

  • Text Classification
  • Word Embeddings
  • Language Modeling
  • Pretraining, Finetuning
  • Prompting and In-Context Learning
  • Machine Translation
  • POS Tagging
  • Syntactic and Semantic Parsing
  • NLP and Social Responsibility

prerequisites

The course will be taught in Python and assumes coding fluency (or a willingness to learn Python on your own time). Familiarity with machine learning, deep learning, and/or linguistics is encouraged but not strictly required.