Dialog system

An automated online assistant on a website - an example where dialog systems are major components.

A dialog system or conversational agent (CA) is a computer system intended to converse with a human, with a coherent structure. Dialog systems have employed text, speech, graphics, haptics, gestures and other modes for communication on both the input and output channel.

What does and does not constitute a dialog system may be debatable. The typical GUI wizard does engage in some sort of dialog, but it includes very few of the common dialog system components, and dialog state is trivial.

Components

There are many different architectures for dialog systems. What sets of components are included in a dialog system, and how those components divide up responsibilities differs from system to system. Principal to any dialog system is the dialog manager, which is a component that manages the state of the dialog, and dialog strategy. A typical activity cycle in a dialog system contains the following phases:[1]

  1. The user speaks, and the input is converted to plain text by the system's input recognizer/decoder, which may include:
    • automatic speech recognizer (ASR)
    • gesture recognizer
    • handwriting recognizer
  2. The text is analyzed by a Natural language understanding unit (NLU), which may include:
    • Proper Name identification
    • part of speech tagging
    • Syntactic/semantic parser
  3. The semantic information is analyzed by the dialog manager, that keeps the history and state of the dialog and manages the general flow of the conversation.
  4. Usually, the dialog manager contacts one or more task managers, that have knowledge of the specific task domain.
  5. The dialog manager produces output using an output generator, which may include:
  6. Finally, the output is rendered using an output renderer, which may include:

Dialog systems that are based on a text-only interface (e.g. text-based chat) contain only stages 2–5.

Types of systems

Dialog systems fall into the following categories, which are listed here along a few dimensions. Many of the categories overlap and the distinctions may not be well established.

Applications

Dialog systems can support a broad range of applications in business enterprises, education, government, healthcare, and entertainment.[2] For example:

In some cases, conversational agents can interact with users using artificial characters. These agents are then referred to as embodied agents.

Toolkits and architectures

A survey of current frameworks, languages and technologies for defining dialog systems.

Name & Links System Type Description Affiliation[s] Environment[s] Comments
AIML Chatterbot language XML dialect for creating natural language software agents Richard Wallace
ChatScript Chatterbot language Language/Engine for creating natural language software agents Bruce Wilcox
CSLU Toolkit
a state-based speech interface prototyping environment OGI School of Science and Engineering
M. McTear
Ron Cole
publications are from 1999.
NLUI Server Domain-independent toolkit complete multilingual framework for building natural language user interface systems LinguaSys out-of-box support of mixed-initiative dialogs
Olympus complete framework for implementing spoken dialog systems Carnegie Mellon University
VXML
Voice XML
Spoken dialog multimodal dialog markup language developed initially by AT&T then administered by an industry consortium and finally a W3C specification Example primarily for telephony.
SALT markup language multimodal dialog markup language Microsoft "has not reached the level of maturity of VoiceXML in the standards process".
Quack.com - QXML Development Environment company bought by AOL
OpenDial Domain-independent toolkit hybrid symbolic/statistical framework for spoken dialog systems, implemented in Java University of Oslo

References

  1. Jufarsky & Martin (2009), Speech and language processing. Pearson International Edition, ISBN 978-0-13-504196-3, Chapter 24
  2. Lester, J.; Branting, K.; Mott, B. (2004), "Conversational Agents", The Practical Handbook of Internet Computing, Chapman & Hall

Further reading

External links