A dialogue system, or conversational agent (CA), is a computer system intended to converse with a human. Dialogue systems employed one or more of text, speech, graphics, haptics, gestures, and other modes for communication on both the input and output channel.
The elements of a dialogue system are not defined because this idea is under research, however, they are different from chatbot.[1] The typical GUI wizard engages in a sort of dialogue, but it includes very few of the common dialogue system components, and the dialogue state is trivial.
After dialogue systems based only on written text processing starting from the early Sixties,[2] the first speaking dialogue system was issued by the DARPA Project in the US in 1977.[3] After the end of this 5-year project, some European projects issued the first dialogue system able to speak many languages (also French, German and Italian).[4] Those first systems were used in the telecom industry to provide phone various services in specific domains, e.g. automated agenda and train tables service.
What sets of components are included in a dialogue system, and how those components divide up responsibilities differs from system to system. Principal to any dialogue system is the dialogue manager, which is a component that manages the state of the dialogue, and dialogue strategy. A typical activity cycle in a dialogue system contains the following phases:[5]
Dialogue systems that are based on a text-only interface (e.g. text-based chat) contain only stages 2–5.
Dialogue 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.
"A Natural Dialogue System is a form of dialogue system that tries to improve usability and user satisfaction by imitating human behaviour" (Berg, 2014). It addresses the features of a human-to-human dialogue (e.g. sub dialogues and topic changes) and aims to integrate them into dialogue systems for human-machine interaction. Often, (spoken) dialogue systems require the user to adapt to the system because the system is only able to understand a very limited vocabulary, is not able to react to topic changes, and does not allow the user to influence the dialogue flow. Mixed-initiative is a way to enable the user to have an active part in the dialogue instead of only answering questions. However, the mere existence of mixed-initiative is not sufficient to be classified as a natural dialogue system. Other important aspects include:
Although most of these aspects are issues of many different research projects, there is a lack of tools that support the development of dialogue systems addressing these topics. Apart from VoiceXML that focuses on interactive voice response systems and is the basis for many spoken dialogue systems in industry (customer support applications) and AIML that is famous for the A.L.I.C.E. chatbot, none of these integrate linguistic features like dialogue acts or language generation. Therefore, NADIA (a research prototype) gives an idea of how to fill that gap and combines some of the aforementioned aspects like natural language generation, adaptive formulation, and sub dialogues.
Some authors measure the dialogue system's performance in terms of the percentage of sentences completely right, by comparing the model of sentences (this measure is called Concept Sentence Accuracy[6] or Sentence Understanding[4]).
Dialogue systems can support a broad range of applications in business enterprises, education, government, healthcare, and entertainment. For example:
In some cases, conversational agents can interact with users using artificial characters. These agents are then referred to as embodied agents.
A survey of current frameworks, languages and technologies for defining dialogue systems.
Name & links | System type | Description | Affiliation[s] | Environment[s] | Comments | |
---|---|---|---|---|---|---|
Chatterbot language | XML dialect for creating natural language software agents | |||||
Chatterbot language | Language/Engine for creating natural language software agents | |||||
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 | out-of-box support of mixed-initiative dialogues | |||
Olympus | Complete framework for implementing spoken dialogue systems | http://wiki.speech.cs.cmu.edu/olympus/index.php/Olympus | ||||
Nextnova | Multimodal Platform | Platform for developing multimodal software applications. Based on State Chart XML (SCXML) | ||||
VXML Voice XML | Spoken dialogue | Multimodal dialogue markup language | Developed initially by AT&T, then administered by an industry consortium and finally a W3C specification | Example | primarily for telephony. | |
markup language | Multimodal dialogue markup language | "has not reached the level of maturity of VoiceXML in the standards process". | ||||
Quack.com - QXML | Development Environment | |||||
OpenDial | Domain-independent toolkit | Hybrid symbolic/statistical framework for spoken dialogue systems, implemented in Java | ||||
NADIA | dialogue engine and dialogue modelling | Creating natural dialogues/dialogue systems. Supports dialogue acts, mixed initiative, NLG. Implemented in Java. | Markus M. Berg | create XML-based dialogue files, no need to specify grammars, publications are from 2014 |