Natural Language Processing

Natural Language Processing
Introduction to natural language processing (NLP). Relevant problems include web search, speech recognition, machine translation, spam filtering, text classification, question answering, spell checking. Building real tools, understanding human language, applying techniques beyond NLP.
 Hours3.0 Credit, 3.0 Lecture, 0.0 Lab
 PrerequisitesC S 312 & STAT 121; or C S 312 & STAT 201
 RecommendedLing 330.
 ProgramsContaining C S 479
Course Outcomes

Mathematical Models

The student will grow in confidence in their mathematical and statistical abilities. In particular, the student will understand the models, methods, and algorithms of statistical Natural Language Processing (NLP) for common NLP tasks, such as speech recognition, machine translation, spam filtering, text classification, and spell checking.

The student will implement probabilistic models in code, estimate parameters for such models, and run meaningful experiments to validate such models.


The student will apply core computer science concepts and algorithms, such as dynamic programming.


The student will gain understanding of linguistic phenomena and will explore the linguistic features relevant to each NLP task.


The student will apply the methods to new NLP problems and will be able to apply the methods to problems outside NLP.


The student will be familiar with some of the NLP literature and will read and suggest improvements to published work. The student will see where opportunities for research await and prepare to conduct research in NLP or related fields.

The student will also analyze experimental results and write reports for each course project to develop scientific writing skills.