Conversational AI 10-TOOLS FOR DEVELOPING DIALOGUE SYSTEMS
VISUAL DESIGN TOOLS
Visual design tools make it easy for developers who do not have a background in programming to map out the conversation flow visually and prototype it in an emulator. In many cases the designed system can be integrated with more advanced development tools such as Dialogflow, Alexa Skills Kit, and RASA. There are many visual design tools available, each with varying levels of functionality.
RASA (Receive, Appreciate, Summarize, Ask)
Rasa is an open source machine learning framework for automated text and voice-based conversations. Understand messages, hold conversations, and connect to messaging channels and APIs.
SCRIPTING TOOLS FOR HANDCRAFTING DIALOGUE SYSTEMS
As an alternative to visual design tools there are several tools that enable developers to script the dialogue flow and specify other aspects of a dialogue system. Two widely used scripting tools are VoiceXML, which supports system-directed dialogues in which the system controls the interaction and AIML, which supports user-initiated dialogues in which the interaction is controlled by the user.
Voice Extensible Markup Language (VoiceXML) is a markup language based on XML (Extensible Markup Language). VoiceXML is designed for creating system directed spoken dialogue systems that users connect to over the Public Services Telephone Network. In VoiceXML applications once the user has called the system, the system takes control and directs the dialogue. The basic element of interaction in VoiceXML is the form which contains a number of fields to be filled using spoken interaction. The system elicits values for one or more fields in the form and the user responds to the system’s prompts. The fields contain grammars that specify the set of permissible inputs for each field.
Artificial Intelligence Markup Language (AIML) is an XML-based scripting language for specifying conversations with chatbots. In contrast to VoiceXML, AIML supports user-initiated dialogues in which the user says something and the system responds. The dialogue can extend over multiple turns as long as the user continues to make inputs in contrast to other user-initiated dialogues that take the form of one-shot exchanges.
ADVANCED TOOLKITS AND FRAMEWORKS
There are a number of toolkits and frameworks that support the development of more advanced dialogue systems. In these toolkits machine learning is used in the NLU component to classify the user’s utterances as intents, while in most of the toolkits DM and NLG are developed using handcrafted rules.
User-Initiated Dialogue – In user-initiated dialogue the system designer cannot easily control what the user says, so there is a requirement for NLU to be able to handle a wide range of user inputs. A second issue is that on receiving a system response, the user might wish to continue with a follow-up utterance that the NLU component would have to be able to handle.
Interpreting the user’s inputs – Generally, some form of NLU is required to interpret the user’s utterances. AIML is an exception as here the user’s inputs are matched against a large set of pre-designed patterns, using the techniques described earlier to handle utterances that are similar.
Handling follow-up utterances – Users can follow up an utterance with a related query or command. For the follow-up utterance to be successfully interpreted, the system needs to be able to preserve the context of the initial query.
System-Directed Dialogue – In system Directed dialogue the system prompts the user for input so that the user’s utterances are generally more constrained than in user-initiated dialogues. The system also controls the flow of the dialogue.
Optimizing Dialogue Management – One of the main tasks for DM is to decide on the next system action.
In addition to the commercial toolkits discussed above, there are many research-based toolkits that have been developed in university and industry research laboratories. The Plato Research Dialogue System – Plato is a platform for building, training and deploying Conversational AI agents, enabling researchers to conduct state of the art research in Conversational AI, create prototypes, and collect conversational data. A range of different conversational architectures is supported, including rule-based, statistical, and end-to-end. The system can interact with human users, simulated users, and other conversational agents and can be trained online.
WHICH IS THE BEST TOOLKIT?
Visual flows are best suited for dialogue systems with few branchings, otherwise the flows quickly become unmanageable.