CSCI-644: Natural Language Dialogue Systems - Spring 2024

CSCI-644: Natural Language Dialogue Systems - Spring 2024

Lecture Time: Wednesdays 1:00-4:20 pm

Lecture Place: THH B9


Instructors

Kallirroi Georgila, Research Associate Professor, kgeorgila AT ict DOT usc DOT edu

Office Hours: weekly (Monday 2-3 pm on Zoom, Friday 12-1 pm on Zoom) or after class or by appointment

David Traum, Research Professor, traum AT ict DOT usc DOT edu

Office Hours: after class or by appointment


Resources

Piazza (for announcements, posting questions on readings, general questions, and discussions on assignments, selected topics, and projects): 

https://piazza.com/usc/spring2024/csci644/home 

Blackboard (for lecture slides, special topic presentation slides, and submitting assignments and project reports and code):

https://blackboard.usc.edu


Course Description

This course will introduce students to existing computational techniques and active research areas in the design and development of natural language dialogue systems. Natural language dialogue involves extended communication between two or more participants using a natural language such as English. Dialogue systems are designed to participate in extended natural language interactions with human users, and have been developed for a variety of interactive settings where a conversational interface offers advantages. Natural language dialogue systems have many applications, for example, chat-based dialogue, providing information, tutorial dialogue (and generally dialogue for training, e.g., leadership skills, interviewing skills, etc.), healthcare applications (e.g., virtual human interviewers that interact with people who suffer from depression or post-traumatic stress), storytelling, controlling smart homes, companions for the elderly, etc.

Dialogue systems leverage a range of natural language processing and modeling techniques to help them serve as fluent and efficient conversational partners. This course will introduce students to these techniques, with topics to include dialogue system architectures (module-based vs. end-to-end), different types of dialogue systems (task-oriented vs. chatbots), spoken language understanding, modeling dialogue genres, dialogue management and representing context, dialogue response policies, natural language generation, embodied conversational agents, multi-party dialogue, incremental speech processing, user modeling, dialogue corpora and annotation, dialogue system evaluation, conversational speech recognition, and conversational speech synthesis. 

Dialogue systems are both an old topic in AI and Computer Science (with famous early examples such as Eliza, Lunar, and SHRDLU) and a topic of much current interest and research. Indeed, dialogue systems are now a commercial reality, with companies such as Google, Amazon, Nuance, Microsoft, IBM, Apple, and others providing ubiquitous speech recognition services and voice-driven information access systems. These services are increasingly accessible (on the web, mobile devices, and in the cloud), and they provide exciting new possibilities for dialogue systems to be made available to large user populations. More recently, OpenAI's ChatGPT and Google's Bard have made headlines with their impressive capabilities. Throughout the course, students will acquire an appreciation for some of the capabilities and potential of these new technologies, as well as their current limitations. 


Learning Objectives

After completing the course , students should have a basic understanding of dialogue system design, implementation, and evaluation, and the tradeoffs between different approaches to dialogue system creation (given goals and available resources), and be able to:


Recommended Preparation

Students should have some experience with natural language processing or AI, and be comfortable with medium-sized programming projects. Recommended background would be at least one of the following courses: CSCI 544 (Applied Natural Language Processing) or CSCI 561 (Foundations of Artificial Intelligence) or CSCI 662 (Advanced Natural Language Processing) or EE 619 (Advanced Topics in Automatic Speech Recognition). Students who have not taken one of these courses should request permission from the instructors. 


Course Notes

The course lecture periods will consist of approximately 1/2 lectures by the instructors, and 1/2 group discussion of research papers, mostly led by students. For all class periods, students will be responsible for sending in discussion questions on the readings, as well as participating in class discussions. Each student will have to co-lead the discussion of one advanced research topic, including a short review presentation on the topic. Students will also complete several small assignments, and carry out a main project on a topic agreed by the instructors. Blackboard will be used for submitting assignments. Lecture notes will be posted on the course Blackboard site. Discussion questions should be posted on the course Piazza site.


Technological Proficiency and Hardware/Software Required

Students are expected to know how to program in a language such as Python, Java, C++. Students are also expected to have access to their own laptop or desktop computer where they can install and run software to do the homework assignments.


Required Readings and Supplementary Materials

The primary readings for this course will be a set of technical papers to accompany each lecture session and student-led topic. These papers will be made available on the course webpage or as class handouts. 


Description and Assessment of Assignments

Basic comprehension of the material will be assessed by student’s class participation and sending in questions about the readings. In-depth understanding of one area will be assessed by the student leading a discussion of the area, including a summary lecture presentation. Practical understanding of simple evaluation and system building will be assessed through a set of assignments of 2 to 3 weeks duration. In-depth research capability to be assessed through completion and presentation of  a class project.


Grading Breakdown

There will be no exams in this class. Grades will be determined based on:                                      

 (including one page description, project design specification, final writeup & class presentation)        



Assignment Submission Policy

Assignments are to be submitted electronically in Blackboard. Questions regarding the assignments or  other issues should be submitted to Piazza early enough to give adequate time to the instructors to respond.


Additional Policies

Students are expected to miss no more than 2 classes throughout the semester. Students may use up to 5 days for late assignments (in total for all 3 assignments).