CS 562 /CS 662
Natural Language Processing
Course DescriptionThis course covers key algorithms and modeling techniques for processing human language sequences, which are needed for applications such as Automatic Speech Recognition and Machine Translation. Both statistical and symbolic approaches to modeling natural language phonology, morphology, and syntax are presented, along with widely used algorithms for efficiently learning and applying different kinds of natural language grammars. There is an emphasis on algorithms and data structures that scale up to handle very large real-world data sets, such as newswire text. The course includes several challenging hands-on programming assignments. C/C++ programming experience is highly recommended, as is familiarity with regular expressions.
Who should take this course
Language processing plays a critical role in supporting current and emerging applications that enable speech recognition and synthesis for information access and other tasks. At the same time, the vast increase in the availability of textual content on-line through the Internet has created great demand for new text and document processing software enabling automatic retrieval and navigation of information on-line. This course provides an introduction to automated methods for processing and understanding of spoken and textual human language and should be of interest to human interface and interactive systems engineers, software product developers who need to work with new language technologies, and Internet developers interested in the management and navigation of on-line textual content.