Natural Language Processing

Fall 2022 — CMSC 473/673

Announcements
Who, What, When, and Where

Check out the syllabus for all this information, including policies on academic honesty, accomodations, and late assignments.

Meeting Times
Sondheim 205
Monday & Wednesday, 1pm - 2:15pm
Instructor
Frank Ferraro
ferraro [at] umbc [dot] edu
ITE 358/remote
Monday 2:15 - 3pm
by appointment
TA
Duong Ta
dta1 [at] umbc [dot] edu
ITE 334/remote
Thursday 4:00 - 6:00pm
by appointment
Topics
The topics covered will include
  • probability, classification, and the efficacy of simple counting methods
  • language modeling (n-gram models, smoothing heuristics, maxent/log-linear models, and distributed/vector-valued representations)
  • sequences of latent variables (e.g., hidden Markov models, some basic machine translation alignment)
  • trees and graphs, as applied to syntax and semantics
  • some discourse-related applications (coreference resolution, textual entailment), and
  • special and current topics (e.g., fairness and ethics in NLP).
  • modern, neural approaches to NLP, such as recurrent neural networks and transformers (e.g., BERT or GPT-2).
Goals
After taking this course, you will
  • be introduced to some of the core problems and solutions of NLP;
  • learn different ways that success and progress can be measured in NLP;
  • be exposed to how these problems relate to those in statistics, machine learning, and linguistics;
  • have experience implementing a number of NLP programs;
  • read and analyze research papers;
  • practice your (written) communication skills.
Schedule

The following schedule of topics is subject to change.

Legend:

Date Topic Suggested Reading Assignment Out Assignment Due
Wednesday, 8/31
  1. Intro/administrivia
Eisenstein: Ch. 1 (Optional: 1.2.2)

[473/673] Assignment 1

Wednesday, 9/7
  1. What is NLP?, including intro to NLP research/research community
  2. Also: misc. Torch/intro
  • What is NLP?: Eisenstein: Ch. 1 (Optional 1.2.2)
Monday, 9/12 None required, though this will cover approximately the intro of every chapter in either Eisenstein or SLP.
Wednesday, 9/14
  1. (Lossy) Overview of Different Types of NLP Tasks
Assignment 1
Monday, 9/19
Wednesday, 9/21
Monday, 9/26 (finish up NLP task overview, then)
  1. Machine Learning: Methodology and Evaluation
  • Eisenstein: Ch 4 (optional: 4.4.3, 4.4.4, and 4.5, unless planning to do doctoral work)
  • 3SLP: intro of Ch 4, 4.7, 4.8, and 4.10
Wednesday, 9/28 Assignment 2
Monday, 10/3
Wednesday, 10/05
  1. Classification with Maxent Models
  • Eisenstein: Ch 2.5
  • 3SLP: Ch. 5
Monday, 10/10
Wednesday, 10/12 Assignment 2 (Friday 10/14)
Monday, 10/17
Wednesday, 10/19
  1. Distributed Representations
  • 3SLP: Ch. 6
  • Eisenstein: Ch. 14
Monday, 10/24
Wednesday, 10/26
Monday, 10/31
Wednesday, 11/2
  1. (Generative) Language Modeling
  • Eisenstein: Ch. 6 (except 6.2.2-6.2.4, 6.3.1)
Monday, 11/07
Wednesday, 11/08 A3
Monday, 11/14
Wednedsay 11/16
  1. Recurrent Neural Language Modeling
  • Eisenstein: Ch. 6 (except 6.2.2-6.2.4, 6.3.1)
  • 3SLP: Ch. 9
Monday, 11/21
Monday 11/23
  1. General Language Modeling: Attention and Transformers
Monday, 11/28 A4 A3
Wednesday, 11/30
Monday, 12/05
Wednesday 12/07 In-class LLM/Huggingface demo Final Graduate Assessment (12/09)
Monday 12/12
  1. Probabilistic Context Free Grammars, and CKY-based Algorithms
  2. Course Recap
A4 (12/13/22)