This is an archived version of the 2018/2019 run of the course. See the current version here.
Dialogue Systems / Dialogové systémy
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.
The course will be mostly in English, but we're happy to explain in Czech, too.
Lectures: Tue 10:40 S11
Labs: Wed 9:00 SU1
- Dialogue system types & formats (open/closed domain, task/chat-oriented)
- What happens in a dialogue (linguistic background)
Dialogue system components
- speech recognition
- language understanding, dialogue state tracking
- dialogue management
- language generation
- speech synthesis
- Dialogue authoring tools (IBM Watson Assistant/Google Assistant/Amazon Alexa)
- Data for dialogue systems
- Dialogue systems evaluation
- Slides from the 1st lecture – Introduction
- Slides from the 2nd lecture – What happens in a dialogue?
- Slides from the 3rd lecture – Data & Evaluation
Slides from the 4th lecture – Smart Assistants & Question Answering & Short machine learning primer
- Have a look the Visual and Interactive Guide to Neural Networks for nicely visualized basic machine learning intuitions
- Slides from the 5th lecture – Dialogue Authoring Tools (by Jan Cuřín)
Slides from the 6th lecture – Natural Language Understanding (non-neural)
- Don't worry too much about the equations – the main point is to understand the differences, advantages & disadvantages of the various machine learning models
- Slides from the 7th lecture – Neural NLU + State Tracking
Slides from the 8th lecture – Dialogue Management / Action Selection (non-neural)
- Check out various reinforcement learning algorithms animated at REINFORCEjs
- Slides from the 9th lecture – Neural Action Selection (deep reinforcement learning) + Natural Language Generation
- Slides from the 10th lecture – Speech recognition (by Petr Fousek & Pavel Květoň)
Slides from the 11th lecture – Text-to-speech synthesis
- Have a look at a BBC Radio documentary about TTS history
Slides from the 12th lecture – Chatbots/chatterbots
- The last slide contains some information about the exam
- See the labs webpage on Ondřej Plátek's site.
Basic (good but very brief, available online):
- Jurafsky & Martin: Speech & Language processing. 3rd ed. draft (chapter 24-25).
Janarthanam: Hands-On Chatbots and Conversational UI Development. Packt 2017.
- practical guide on developing dialogue systems for current platforms, virtually no theory
Jokinen & McTear: Spoken dialogue systems. Morgan & Claypool 2010.
- good but slightly outdated, some systems very specific to particular research projects
Rieser & Lemon: Reinforcement learning for adaptive dialogue systems. Springer 2011.
- advanced, slightly outdated, project-specific
Lemon & Pietquin: Data-Driven Methods for Adaptive Spoken Dialogue Systems. Springer 2012.
Skantze: Error Handling in Spoken Dialogue Systems. PhD Thesis 2007, Chap. 2.
- good introduction into dialogue systems in general, albeit slightly dated
McTear et al.: The Conversational Interface: Talking to Smart Devices. Springer 2016.
- practical, for current platforms, more advanced and more theory than Janarthanam
McTear: Spoken Dialogue Technology. Springer 2004.
- good but dated
Psutka et al.: Mluvíme s počítačem česky. Academia 2006.
- virtually the only book in Czech, good for ASR but dated, not a lot about other parts of dialogue systems
[NEW] Gao et al.: Neural Approaches to Conversational AI. arXiv:1809.08267
- an advanced, good overview of the latest neural approaches in dialogue systems