Natural Language Processing (AAI 520)
This course is focused on understanding a variety of ways to represent human language as computational systems, and how to exploit those representations to develop programs for translation, summarization, extracting information, question answering, natural interfaces to databases, and conversational agents. This course will include concepts central to machine learning (discrete classification, probability models) and to linguistics (morphology, syntax, semantics). We’ll learn computational treatments of words, sounds, sentences, meanings, and conversations. We’ll understand how probabilities and real-world text data can help. We’ll explore state-of-the-art approaches to applications such as translation and information extraction. We will introduce some high-level formalisms (e.g., regular expressions) and tools (e.g., Python) that can greatly simplify prototype implementation.