11-611   Natural Language Processing

Location: Pittsburgh

Units: 12

Semester Offered: Fall, Spring

Course description

This course is about a variety of ways to represent human languages (like English and Chinese) as computational systems and how to exploit those representations to write programs that do neat stuff with text and speech data, like:

  • translation
  • summarization
  • extracting information
  • question answering
  • natural interfaces to databases
  • conversational agents

This field is called Natural Language Processing or Computational Linguistics, and it is extremely multidisciplinary. This course will therefore include some ideas central to Machine Learning and to Linguistics.

We'll cover computational treatments of words, sounds, sentences, meanings, and conversations. We'll see how probabilities and real-world text data can help. We'll see how different levels interact in state-of-the-art approaches to applications like translation and information extraction.

From a software engineering perspective, there will be an emphasis on rapid prototyping, a useful skill in many other areas of Computer Science.

Prerequisites

CS courses on data structures and algorithms and strong programming skills

Faculty

David R. Mortensen and Golan Levin