Prateek Agarwal, pa59946 [AT] usc.edu
Kushal Chawla, kchawla [AT] usc.edu
Sarik Ghazarian, sarikgha [AT] usc.edu
This course covers both fundamental and cutting-edge topics in Natural Language Processing (NLP) and provides students with hands-on experience in NLP applications in the form of programming assignments. Students are expected to have programming experience and be familar with Python.
As we'll explore in the course, natural language is often ambiguous, and machine learning is crucial to making decisions under uncertainty. Many other tools in basic artificial intelligence (e.g., planning, knowledge representation and reasoning) also play a role in understanding and responding to natural language. However, this class is aimed at students with a general background in computer science (i.e., you don't need to take a machine learning or AI course as a prerequisite). We will cover the necessary machine learning and basic AI material in this course.
The topics covered will be similar to CSCI 544 Fall 2016 including (but not limited to):
There will be lectures by the instructor (or guest instructors) as well as group discussions of research papers related to a specific topic.
Students will also have to complete 3 programming assignments and a final online exam. Students are expected to work separately. Because the field of natural language processing advances rapidly and the state-of-the-art is continuously changing, there is no required textbook. The material will be covered through lectures and assigned readings.
The final exam will be open-note, open-book, and taken online via Blackboard. It is strictly individual, and no collaboration is allowed.
The online final exam is due at the end of the final exam period (May 5, 4pm Pacific Time). It will be released 48 hours beforehand; students will have the flexibility to start and finish when they like as long as they submit before the deadline.
In the lecture slides for the course, we will work through questions and problems similar to those on the exam. The best way to study for the exam is to work through the questions and problems in the lecture materials.
Date | Speaker | Topic |
January 15 (F) | Georgila | Introduction to natural language processing |
January 22 (F) | Georgila | Text processing, text classification (naive Bayes), and n-gram language models |
January 29 (F) | Georgila | Perceptron and speech recognition |
February 5 (F) | Georgila | Speech synthesis |
February 12 (F) | Georgila | Sequence labeling (part 1) |
February 19 (F) | Georgila | Discussion of Assignment 1 and dialogue management (part 1) |
February 26 (F) | Georgila | Sequence labeling (part 2) and dialogue management (part 2) |
March 5 (F) | Georgila | Discussion of Assignment 2 and dialogue management (part 3) |
March 10 (W) | Assignment 1 due at 4pm | |
March 19 (F) | Georgila | Natural language generation and machine translation |
March 26 (F) | Georgila | Natural language understanding (part 1) |
March 31 (W) | Assignment 2 due at 4pm | |
April 2 (F) | Georgila | Deep learning for natural language processing |
April 9 (F) | Mark Core (guest lecture) | Educational applications of natural language processing |
April 16 (F) | Georgila | Discussion of Assignment 3 and discourse |
April 23 (F) | Georgila | Natural language understanding (part 2), review, and discussion of final exam |
April 29 (Th) | Assignment 3 due at 4pm | |
May 5 (W) | Final exam due at 4 pm |