Reasoning-based Dialog Systems - ESSLLI 2015

This course is intended as a 1-week (5x90min) introductory course on dialog systems, with a particular emphasis on symbolic systems. Dialog or conversation is an essential feature of natural language, that researchers have strived (with uneven success) to replicate since the very early days of artificial intelligence (e.g., ELIZA or SHRDLU back in the 60's and 70's). Recent advances in natural language processing are spreading this technology far and wide (e.g., IVR phone systems, hand-held devices' personal assistants such as Siri or Maluuba) and transforming the way in which we interact with machines. The course comprises a practical component, in which we will experiment with some known open source Java APIs for building dialog systems. This course will assume no prior knowledge from students other than some basic (Java) programming skills.
  • D. Jurafsky's and J. Martin's "Speech and Language Processing" book, Ch. 24 ("Dialog Systems").
  • W. Minker et al., "Spoken Dialog Systems Technology and Design" (handbook).
  • M. das Graças et al., "Artificial Intelligence Markup Language: A Brief Tutorial" (AIML documentation).
  • P. Lison's OpenDial dialog system (system documentation and Java packages).

  • Software requirements: I will demonstrate some of the course's concepts using Java APIs and NLP toolkits. You will need to install (1) the Java 1.8 SDK, (2) the Eclipse IDE (3.5 or higher). The students are encouraged to install versioning clients for SVN, GIT and Mercurial (to download the sofware).
Day 1. Dialog structure. This lecture introduces the notion of dialog in natural language and outline its main features, stressing the importance of the pragmatic dimension of dialog (grounding, implicatures, speech acts). The slides are here.
Day 2. Dialog systems. We describe the main features of dialog systems, viz., their standard architectures and components (natural language understanding and generation, dialog management/planning, information states, background knowledge) and their main use cases. We will also survey some open- and closed- source APIs and toolkits currently available. We will also discuss briefly the main evaluation metrics proposed in the literature. The slides can be found here.
Day 3. Pattern-based systems. This lecture is an introduction to (reactive) chatterbots based on the Artificial Intelligence Markup Language (AIML), an XML-based scripting standard for building simple dialog systems. We will also see how to add automatic speech recognition (ASR) and text-to-speech (TTS) functionality to AIML bots. The slides are here.
Day 4. Information state-based systems. We will delve deeper into information state-based architectures, that leverage on planning and eventually (logical) reasoning over dialog context/background knowledge. The slides are here.
Day 5. Lab session and discussion. The last session will be devoted to sum-up the discussion and to experiment further with the dialog system libraries introduced during the previous sessions. The slides can be found here.