This course introduces the fundamental concepts and techniques of natural language processing (NLP). Students will gain an in-depth understanding of the computational properties of natural languages and the commonly used algorithms for processing linguistic information. The course examines NLP models and algorithms using both the traditional symbolic and the more recent statistical approaches. It includes treatment of natural languages at the lexical, syntactic, semantic, and pragmatic levels. The course also covers the development of modern NLP systems using statistical and machine learning techniques.

Course prerequisite(s): 

605.645 Artificial Intelligence or equivalent