Prerequisites

Theory: Linear Algebra, Analytic Geometry, Matrix decompositions, Vector Calculus, Probability and Distributions, Continuous Optimization. Refer Chapters 1-7 from the MML book.

Programming: Python: Source, Pytorch: Source.

Software and Packages: Anaconda, Jupyter notebook, NLTK.



Books

The Majority of the course content follows from the first two references.

Dan Jurafsky and James H. Martin. Speech and Language Processing (3rd ed. draft).

Jacob Eisenstein. Natural Language Processing.

Christopher Manning and Hinrich Schutze. Foundations of Statistical Natural Language Processing.



Tentative Schedule

Class Topic Reading Notebooks and Assignments
1-2 Introduction, Mathematical Preliminaries
3-4 Basic Text Processing, Edit distance
5 Linear Text Classification
6-7 Word Embeddings
7-9 Language models, spelling correction
10-11 Neural Networks and Neural Language Models
12-15 Deep Learning Architectures for Sequence Processing
16-18 Sequence labelling POS tagging, NER, Tokenization
19-21 Parsing
22-24 Machine Translation
25-27 Semantics
28-29 Reference resolution, Discourse (Entity Linking)
30-31 Question Answering
32-33 Summarization
34 Dialogue Systems
35-36 Sentiment Analysis
37-38 Ethics