Natural Language Processing

Important note: This is a website hosting NLP-related teaching materials. If you are a student at NYU taking the course, please go to the official course website for up-to-date information.

schedule lecture notes


We try to make all of the course material accessible. If you need additional accomadation, please send us an email.

Course information

How can we teach machines to understand language so that they can answer our queries, extract information from textual data, or even have a conversation with us? The primary goal of this course is to provide students with the principles and tools needed to solve a variety of NLP problems. We will focus on data-driven methods, including classification, sequence labeling, structured prediction, unsupervised learning, and deep learning. Specific applications include text classification, constituent parsing, semantic parsing, and generation.


Students are expected to have solid mathematic background and programming skills.

  • Probability, statistics, linear algebra (DS-GA.1002, MATH-UA.140, MATH-UA.235)

  • Algorithms and data structure (CSCI-UA.102)

  • Basic knowlege in machine learning (DS-GA.1003, CSCI-UA.0473) will be helpful


Textbook: There is no required textbook. Course notes/slides should be sufficient. Some lectures will be based on the following books (available freely online):

In the lecture notes, we will use JM, E, G, D2L to refer to the above books respectively.

Background: Here are some useful materials if you want to review the background knowledge.

  • Probability and optimization in the appendix of Eisenstein’s book.

  • Notes from DS-GA.1002.

  • Machine learning material from DS-GA.1003.