CS 685, Spring 2025, UMass Amherst CS
Mon/Wed 2:30-3:45 PM in Goessman 64
This year, this class won't be recorded as previous years. If you want to see Mohit's recording of the course last year, please go to here
Instructor: Haw-Shiuan Chang (Most of the materials are prepared by Mohit Iyyer)
TAs: TBA
Email (to all of us): cics.685.instructors@gmail.com
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 broadly deal with deep learning methods for natural language processing, with a specific focus on large language models. Most of the semester will focus on neural language models. It is intended for graduate students in computer science and linguistics who are (1) interested in learning about cutting-edge research progress in NLP and (2) familiar with machine learning fundamentals. We will cover modeling architectures, training objectives, and downstream tasks (e.g., text classification, question answering, and text generation). Coursework includes understanding the course materials, programming assignments, and a final project. This is an in-person class.
A nice textbook for NLP fundamentals is Jurafsky and Martin, Speech and Language Processing, 3rd ed. For this course, readings will mainly be NLP conference papers (e.g., from ACL, NAACL, and EMNLP). We will post all readings as PDFs.
Other useful texts for NLP include: