Natural Language Processing

Natural Language Processing (NLP) is the subfield of CS that focuses on language technology. Because language is one of the most complex human abilities, building computational technologies that involve language is both challenging and important. This course introduces NLP methods and applications. Students will (1) learn core NLP algorithms and models; (2) explore the challenges posed by different aspects of human language; (3) learn to evaluate ethical concerns about language technology; and (4) complete a series of projects to implement and improve NLP models. We will cover a range of techniques, including n-gram models, Bayesian classifiers, neural networks, and deep learning. Applications include parsing, sentiment analysis, machine translation, and language generation, as well as information retrieval tasks like summarization, topic modeling, and question-answering.

Units: 1

Max Enrollment: 24

Prerequisites: CS 230 and either MATH 206 or MATH 220 or MATH 225.

Instructor: C. Anderson

Distribution Requirements: MM - Mathematical Modeling and Problem Solving; SBA - Social and Behavioral Analysis

Semesters Offered this Academic Year: Not Offered