LING 538
Computational Linguistics
This graduate-level course introduces symbolic and analytic concepts, tools, and methods for working with natural language in computational systems. This course complements the introductory statistical NLP course, LING/CSC/INFO 539 Statistical NLP.
We’ll use the Chomsky Hierarchy—a hierarchy of complexity of formal languages and the formal mechanisms that are required to characterize them—as a framework to explore concepts and tools that are commonly used in symbolic computational linguistics: regular languages, as characterized by regular grammars, regular expressions, and finite-state automata; and context-free languages, as characterized by context-free grammars. This course also introduces programming that is relevant to computational linguistics in three programming languages: Perl, Python and Prolog (for definite clause grammars). We’ll apply these tools to parsing a small range of realistic language data. This will prepare students for characterizing more complex languages, and more complex approaches to parsing, in the following course, LING 581 Advanced Computational Linguistics.