CS 490A, Fall 2023, UMass Amherst CICS
Tuesdays and Thursdays, 2:30pm-3:45pm, Thompson 106
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, generate chatbot responses, and translate between human languages. Since language is rich, ambiguous, and very difficult for comput-ers 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 introduces NLP methods and applications including probabilistic models, text classification, linguistic representations, and contextual neural language models to process, understand, and generate 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; (3) become equipped to engage critically with arguments about NLP’s ethical and social implica-tions; and (4) 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 undergraduate students in computer science and linguistics.
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.
See this list of UMass NLP courses.
Other useful texts for NLP include: