[Syllabus] EECS 595: Natural Language Processing

EECS 595: Natural Language Processing, Fall 2020

Instructor: Joyce Chai (chaijy@umich.edu)

Lecture Time: Wednesday 1:30-3:00 pm; Friday 3:00-4:30 pm

Lecture Location: see canvas

GSIs: Cristian-Paul Bara (cpbara@umich.edu), Shane Storks (sstorks@umich.edu)

Office Hours:

  • Instructor: Wednesday, 3:00-4:00 pm, EST
  • Paul: Monday and Friday, 2:00-3:00 pm, EST
  • Shane: Tuesday, 10:30-11:30am, EST

Course Description

The field of Natural Language Processing (NLP) is primarily concerned with computational models and computer algorithms to process human languages, for example, automatically interpret, generate, and learn natural language. In the past twenty years, the rise of the world wide web, mobile devices, and social media have created tremendous opportunities for exciting NLP applications. The advances in machine learning have also paved the way to tackle many NLP problems in the real world. This course provides an introduction to the state of the art in modern NLP technologies. In particular, the topics to be discussed include: syntax, semantics, discourse, and their applications in information extraction, machine translation, sentiment analysis, and dialogue systems.

Text book

Speech and Language Processing, an introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, third edition (draft), by Daniel Jurafsky and James Martin, Prentice Hall (JM for short).

Prerequisite

Proficiency in Python programming. Some knowledge in machine learning is preferred but not required.

Course Grades

The work in this course consists of four homework assignments and a final project. Each assignment may include a written portion and a programming portion. All homeworks must be your own work.

  • Homework assignments: 60%
  • Final Project: 40%

Late submission policy

You have up to 7 days after the due date to submit your assignments. After that cut off date, you will receive 0 point. For each day delayed, you will receive 0.5 point penalty for the written assignment and 0.5 point penalty for the programming assignment. If there is a special circumstance, please contact the instructor/TAs directly.

Lectures and Discussions

Schedule of Topics and Assignments

Date Topics Reading and Assignments
Sept 2 Introduction JM Chapter 2
Sept 4 Language Modeling with N-Grams JM Chapter 3
Sept 9 Text Classification and Sentiment Analysis JM Chapter 4; HW1 assigned
Sept 11 Logistic Regression and Neural Network JM Chapter 5 & 7
Sept 16 Vector Semantics JM Chapter 6
Sept 18 Neural Language Models JM Chapter 7.2
Sept 23 HMM and Part-of-Speech Tagging HW1 due, HW2 assigned
Sept 25 Recurrent Neural Networks JM Chapter 9
Sept 30 Contextual Embedding
Oct 2 Constituency Grammar and Parsing JM Chapter 12
Oct 7 Statistical Parsing JM Chapter 14, HW2 written assignment due, programming due Oct. 11
Oct 9 Dependency Parsing JM Chapter 15, HW3 assigned
Oct 14 Meaning Representations JM Chapter 16
Oct 16 Semantic Parsing
Oct 21 Semantic Roles JM Chapter 20, HW3 due, HW4 assigned
Oct 23 Selectional Restriction and WSD JM Chapter 20, JM Chapter 19
Oct 28 Coreference Resolution JM Chapter 22
Oct 30 Discourse Coherence JM Chapter 23
Nov 4 Information Extraction HW4 due
Nov 6 Question Answering JM Chapter 25
Nov 11 Expectation Maximization
Nov 13 Machine Translation Final Project Progress Report due
Nov 18 Dialogue Systems JM Chapter 26
Nov 20 Chatbot JM Chapter 26
Dec 2 Final Project Presentation
Dec 4 Final Project Presentation
Dec 16 Final Project Report Due

Lecture and Discussion Videos

See Canvas.

Course Policies

Academic Honesty

All homework assignments submitted must be your own work. Review the college of Engineering’s Honor Code here: http://www.engin.umich.edu/college/academics/bulletin/rules (Links to an external site.)

Special Accommodations

If you have disabilities or medical conditions which require some form of accommodations, please make an appointment with the instructor within the first week of classes.

Notes: The instructor reserves the right to modify course policies and the course calendar according to the progress and needs of the class.