Natural Language Processing

Spring 2024, Mon/Wed, 6:30-8:00 PM, Dwinelle 145


Welcome to Natural Language Processing (NLP)! This course introduces students to NLP and exposes them to the variety of methods available for reasoning about text in computational systems. NLP is deeply interdisciplinary, drawing on both linguistics and computer science, and helps drive much contemporary work in text analysis. We will focus on major algorithms used in NLP for various applications (text classification, parsing, question answering, machine translation, etc.) and on the linguistic phenomena those algorithms attempt to model. Students will implement algorithms and create linguistically annotated data on which those algorithms depend*.

Textbooks

  • [SLP3] Dan Jurafsky and James Martin, Speech and Language Processing (3nd ed. draft); Available here
  • [NNNLP] Yoav Goldberg, Neural Network Methods for Natural Language Processing (2017); Available on campus/VPN here
  • [NLA] James Pustejovsky and Amber Stubbs, Natural Language Annotation for Machine Learning (2012); Available on campus/VPN here

Grade Distribution

INFO 159:

  • Homework: 25%
  • Annotation Project: 25%
  • Weekly Quizzes: 10%
  • Exams = max(exam1, exam2): 20%
  • NLP subfield survey: 20%

INFO 259:

  • Homework: 20%
  • Annotation Project: 20%
  • Weekly Quizzes: 10%
  • Exams = max(exam1, exam2): 20%
  • Final Project: 30%
    • Proposal: 5%
    • Midterm report: 5%
    • Final report: 15%
    • Presentation: 5%

Course Calendar**

*A major part of course design and contents have been drawn from its earlier offerings by Prof. David Bamman.

**Course calendar is subject to change.