CS490A: Applications of Natural Language Processing

CS 490A, Fall 2021, UMass Amherst CS

Instructors: Laure Thompson and Brendan O'Connor

Time: Tues and Thurs, 4:00PM - 5:15PM in Thompson 106


Course staff


Office hours are alternatively available by appointment. See Piazza for scheduling updates. The Zoom link is on the Piazza resources page.

Prof. Laure Thompson
OH: By appointment

Prof. Brendan O'Connor
OH: Zoom
Wed 3:00-4:00

Teaching assistants

Yuanguo Lang
Thu 1:00-2:30

Xiao Liu
Fri 10:15-11:45

Akshay Gugnani
OH: CS207
Wed 2:00-3:30

Undergraduate course assistants

Prakhar Chaturvedi

Long Le

Chloe Eggleston

Course description

Natural Language Processing (NLP) is the engineering art and science of how to teach computers to understand human language. NLP is a type of artificial intelligence technology, and it's now ubiquitous -- NLP lets us talk to our phones, use the web to answer questions, map out discussions in books and social media, and even translate between human languages. Since language is rich, ambiguous, and very difficult for computers to understand, these systems can sometimes seem like magic -- but these are engineering problems we can tackle with data, math, and insights from linguistics.

This course will introduce NLP methods and applications including probabilistic models, text classification, structural representations, and contextual neural language models to process and understand the deeper meaning of text. During the course, students will (1) learn the core methods for NLP; (2) become familiar with key facts about human language that motivate them, and help practitioners know what problems are possible to solve; and (3) complete a series of hands-on projects to implement, experiment with, and improve NLP models, gaining practical skills for natural language systems engineering.

This course is intended for upper-level computer science and linguistics undergraduate students.

Prerequisites: experience in programming and probability, from the courses
     (CS 220 and CS 240) or Ling 492B
This is intended to represent comfort with programming, and basic probability and algorithm analysis.

Major topics for Fall 2021

See this list of UMass NLP courses.


Other useful texts for NLP include: