As humans, we process language quite effortlessly, but why do our devices seem to misunderstand us so much? Getting computers to understand natural language is one of the grand challenges of AI and its pursuit has resulted in methods that largely power some of the key technologies of the modern digital world such as web search, translation, and personal assistants (e.g. Siri, Alexa).
This course will introduce the algorithms and statistical techniques used for natural language processing, covering syntax (identifying structure), semantics (uncovering meaning), and applications (e.g. sentiment analysis, machine translation, and human language analysis). Students will be introduced to techniques in modern machine learning that power state-of-the-art NLP: deep learning (recursive neural networks, transformers) as well as discriminative learning (ridge regression, logistic regression). The course will have a substantial project component giving students first-hand experience developing language processing software for useful real-world problems.