1. Dialogue systems and artificial intelligence: introduction - dialogue system types (open/closed-domain, task/non-task oriented) - dialogue systems application - basic dialogue system components (text-to-text, speech-to-speech) - knowledge representation in dialogue systems - chatbots, AIML
2. Linguistic basics for dialogue processing - turn-taking, speech acts - conversational implicatures - grounding - coreference, anaphora, deixis
3. Data for dialogue systems, dialogue system evaluation - closed domain: Wizard-of-Oz - open domain: data sources, problems (cleanliness, risks of learning from users) - dialogue success rate - problems of chatbot evaluation
4. Language understanding - Sentence classification - named entity recognition
5. Dialogue state tracking - dialogue representation as an MDP or a POMDP
6. Dialogue management - reinforcement learning
7. Language generation - templates, rules - statistical generation, neural generative models
8. Question answering and voice assistants - Alexa, Google, Siri etc. - Knowledge bases, knowledge graph
9. Dialogue toolkits - intents, slots, entities - Alexa Skills, Google DialogFlow, IBM Watson Assistant
10. Speech recognition - speech signal processing - basic recognition approaches
11. Speech synthesis - phonetics/acoustics: sounds/phonemes, formants - speech synthesis methods
12. Chatbots (open-domain dialogue, chitchat) - rule-based chatbots - information retrieval - generative models - Hybrid systems (Alexa Prize)
This course is a detailed introduction into the architecture of spoken dialogue systems, voice assistants and conversational systems (chatbots). We will introduce the main components of dialogue systems (speech recognition, language understanding, dialogue management, language generation and speech synthesis) and show alternative approaches to their implementation.
The lab sessions will be dedicated to implementing a simple dialogue system or a selected component.