Dialogue system
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. The typical GUI wizard engages in a sort of dialog, but it includes very few of the common dialogue system components, and the dialog state is trivial.

Background
After dialogue systems based only on written text processing starting from the early Sixties, the first speaking dialogue system was issued by the DARPA Project in the USA in 1977. 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). 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.

Components
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 dialog manager, which is a component that manages the state of the dialog, and dialog strategy. A typical activity cycle in a dialogue system contains the following phases:
 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
 The text is analyzed by a natural language understanding (NLU) unit , which may include:
 Proper Name identification
 part-of-speech tagging
 Syntactic/semantic parser
 The semantic information is analyzed by the dialog manager, which keeps the history and state of the dialog and manages the general flow of the conversation.
 Usually, the dialog manager contacts one or more  task managers, that have knowledge of the specific task domain.
 The dialog manager produces output using an output generator, which may include:
 natural language generator
 gesture generator
 layout manager
 Finally, the output is rendered using an output renderer, which may include:
 text-to-speech engine (TTS)
 talking head
 robot or avatar

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

Types of systems
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.

 by modality
 text-based
 spoken dialogue system
 graphical user interface
 multi-modal
 by device
 telephone-based systems
 PDA systems
 in-car systems
 robot systems
 desktop/laptop systems
 native
 in-browser systems
 in-virtual machine
 in-virtual environment
 robots
 by style
 command-based
 menu-driven
 natural language
 speech graffiti
 by initiative
 system initiative
 user initiative
 mixed initiative

Natural dialogue systems

"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 dialog (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:
 Adaptivity of the system
 Support of implicit confirmation
 Usage of verification questions
 Possibilities to correct information that has already been given
 Over-informativeness (give more information than has been asked for)
 Support negations
 Understand references by analyzing discourse and anaphora
 Natural language generation to prevent monotonous and recurring prompts
 Adaptive and situation-aware formulation
 Social behavior (greetings, the same level of formality as the user, politeness)
 Quality of speech recognition and synthesis

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 dialog 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.

Performance 
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 or Sentence Understanding).

Applications
Dialogue systems can support a broad range of applications in business enterprises, education, government, healthcare, and entertainment. For example:

 Responding to customers' questions about products and services via a company's website or intranet portal
 Customer service agent knowledge base:  Allows agents to type in a customer's question and guide them with a response
 Guided selling: Facilitating transactions by providing answers and guidance in the sales process, particularly for complex products being sold to novice customers
 Help desk: Responding to internal employee questions, e.g., responding to HR questions
 Website navigation: Guiding customers to relevant portions of complex websites—a Website concierge
 Technical support: Responding to technical problems, such as diagnosing a problem with a product or device
 Personalized service: Conversational agents can leverage internal and external databases to personalize interactions, such as answering questions about account balances, providing portfolio information, delivering frequent flier or membership information, for example
 Training or education: They can provide problem-solving advice while the user learns
 Simple dialogue systems are widely used to decrease the human workload in call centers. In this and other industrial telephony applications, the functionality provided by dialogue systems is known as interactive voice response or IVR.
 Support scientist in data manipulation and analysis tasks, for example in genomics.

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 dialogue systems.

See also
 Call avoidance

References

Further reading
 

Multimodal interaction
User interfaces
Systems engineering