This is the course webpage for the Spring 2018 version of TTIC 31190: Natural Language Processing.
For the Winter 2016 course, go here
Monday/Wednesday 1:30-2:50 pm
Room 526 (fifth floor), TTIC
Instructor: Kevin Gimpel
Instructor Office Hours:
Mondays 3-4pm, Room 531, TTIC
, or by appointment
Teaching Assistant: Lifu Tu
Teaching Assistant Office Hours:
Wednesdays 3-4pm, Room 501, TTIC
Wednesday, May 16
There are no formal course prerequisites. However, I will assume that you have some programming experience, including familiarity with basic data structures and algorithms. No specific programming language will be required. I will also assume that you are familiar with basic concepts from calculus, linear algebra, and probability. A machine learning course is recommended but not required.
All textbooks are optional. We will post optional readings from the following texts to accompany lecture slides.
: Daniel Jurafsky and James H. Martin. Speech and Language Processing (2nd Edition). Pearson: Prentice Hall. 2009.
: Drafts of some chapters of the 3rd edition are freely available online
: Yoav Goldberg. Neural Network Methods for Natural Language Processing. 2017.
Two copies will be on reserve in the TTIC library. An earlier draft is freely available online
3 assignments (15% each)
midterm exam (15%) (Wednesday, May 16)
course project (30%):
project proposal (5%)
final report (25%)
class participation, including in-class quizzes (10%)
- Introduction: NLP applications, challenges of computing with language
- Words: tokenization, morphology, distributional semantics, lexical semantics
- Text Classification: sentiment analysis, classifiers, linear models, features, loss functions, stochastic gradient descent
- Neural NLP: representation learning, word embeddings, neural methods for classification
- Language Modeling: n-gram models, smoothing, neural language models, methods for learning word embeddings
- Neural Architectures for NLP: recurrent, recursive, and convolutional nets for NLP
- Sequence Labeling: part-of-speech tagging, named entity recognition, hidden Markov models, conditional random fields, dynamic programming
- Syntax: constituency and dependency syntax, grammars, parsing algorithms
- Semantics: compositionality, semantic role labeling, frame semantics, semantic parsing
- Machine Translation: word alignment, translation modeling, decoding, neural machine translation
- Other NLP Tasks: coreference resolution, question answering, summarization, conversational agents
The project must be done in a group of two or three. Each member of the group will receive the same grade for the project.
The project proposal is due May 9. Details are provided here
The final project report is due
June 7 (
May 31 for graduating students). Details are provided here
For the report, use the LaTeX
or Microsoft Word
templates prepared for ACL 2018.
You are welcome to discuss assignments with others in the course, but solutions and code must be written individually.
If you turn in an assignment late, a penalty will be assessed.
The penalty will be 2% (of the entire point total) per hour late.
You will have 4 late days to use as you wish during the quarter. Late days must be used in whole increments (i.e., if you turn in an assignment 6 hours late and want to use a late day to avoid penalty, it will cost an entire late day to do so).