CSCI 544 Applied Natural Language Processing, Spring 2021

Instructor

Kallirroi Georgila (Research Associate Professor, Computer Science, kgeorgila [AT] ict.usc.edu)

Location and Time

Teaching Assistants

Prateek Agarwal, pa59946 [AT] usc.edu

Kushal Chawla, kchawla [AT] usc.edu

Sarik Ghazarian, sarikgha [AT] usc.edu

Course Summary

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):

Course Format

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.

Resources

Grading

Assignments

Exam

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.

Schedule

DateSpeakerTopic
January 15 (F)GeorgilaIntroduction 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

Statement on Academic Conduct and Support Systems