From conversational agents to automated trading and search queries, natural language understanding underpins many of today's most exciting technologies. How do we build these models to understand language efficiently and reliably? In this project-oriented course, you will develop systems and algorithms for robust machine understanding of human language. The course draws on theoretical concepts from linguistics, natural language processing, and machine learning.In the first half of the course, you will explore three fundamental tasks in natural language understanding: the creation of word vectors, relation extraction (with an emphasis on distant supervision), and natural language inference. Each topic includes a hands-on component where you will build baseline models that in turn inform your own original models that you will enter into informal class-wide competitions.
In the second half of the course, you will pursue an original project in natural language understanding with a focus on following best practices in the field. Additional lectures and materials will cover important topics to help expand and improve your original system, including evaluations and metrics, semantic parsing, and grounded language understanding.