Curriculum
  /  
Descriptions
MSAI 337: Natural Language Processing


VIEW ALL COURSE TIMES AND SESSIONS

Prerequisites

MSAI 349 and intermediate proficiency with Python

Description

Natural Language Processing (NLP) is a branch of artificial intelligence that focuses on techniques that enable computers to understand, interpret and manipulate human language. Common NLP tasks include question answering, text classification (including fakes detection), text summarization, text generation (including dialogue, translation and program synthesis), natural language inference and knowledgebase completion, among others. Statistical language models are an essential component in modern approaches to these tasks.

In the first half of this course, we will explore the evolution of deep neural network language models, starting with n-gram models and proceeding through feed-forward neural networks, recurrent neural networks and transformer-based models. In the second half of the course, we will apply these models to a variety of NLP tasks, and explore associated datasets, evaluation metrics, use cases and open research questions.

Goals
The goal of this course is to familiarize students with a variety of NLP tasks including their motivation, methodologies, evaluation metrics and the current state-of-the-art. After completing this course, students will be able to generalize these fundamental techniques to a wide variety of applied and research problems in natural language processing.