This summary article is based on the paper. 'Converse: A Tree-Based Modular Task-Oriented Dialogue System' and all credit goes to the authors of this paper and Salesforce Research team Please don't forget to join our ML Subreddit
One of the long-term ambitions of Artificial Intelligence (AI) has been to create a machine capable of having a meaningful conversation with a person and assisting them in performing tasks. For decades, many academics have dreamed of creating a strong chatbot that can assist humans with very difficult work through natural and fluent chats.
Recent developments in this domain have made voice assistants and chatbots popular in our everyday lives. Task-oriented conversation systems, for example, can assist you in booking a table at a restaurant, purchasing airline tickets, cross-checking vaccination appointment status, or tracking the status of your transaction.
However, frequently chatbots get trapped in an infinite loop or misunderstand what’s being said. This makes people want to connect to a human agent in case of emergencies or urgency, which negates the point of having the chatbot in the first place. Furthermore, building a robust chatbot that can handle several complicated tasks is challenging for many chatbot developers.
This article sheds light on a breakthrough achieved by Salesforce AI Research Engineers that helps developers quickly construct smart bots that assist users in performing tasks. The team introduces Converse, a flexible and modular task-oriented conversation system. Using an interactive configuration tool and a little code, bot creators can easily develop jobs in Converse.
Converse completes a task in the following steps:
- It determines the job for which the user needs assistance.
- The user’s data is collected and processed by the system.
- The system then presents the user with valuable information.
Unique features of Converse
1. Bot creation is made easier while complex tasks are handled.
2. Converse strives to make the bot-building process as simple as possible while handling difficult tasks. Converse attempted to eliminate any redundant portions shared throughout activities, such as switching between tasks and recurring tasks from the bot design.
3. Converse is a low-code, or perhaps no-code (in some scenarios), system. Users with little or even no programming language can develop chatbots. Depending on how complicated the duties are, programming may account for 10-20% of the bot construction work in other circumstances.
1. Reusing sub-tasks improved the client experience: The amount of configurations that the bot builder must write is reduced by reusing sub-tasks. Converse can also skip a sub-task if it has previously been finished by reusing it, improving the user experience.
2. Using Task Trees to manage branching discussions: Tasks can be quite difficult, and there may be several methods to execute a task. To record and track branching dialogues, the researchers used an and-or tree structure, which is a unique design. It can convert almost any task into a set of and/or relations using the Task Tree.
3. Managing Interruptions caused by job management (switching tasks during a task)
4. Answers to frequently asked questions can be customized: Converse defines FAQs as one-turn conversations that can occur at any point during a conversation. By providing the question and answer pairs in the task configuration, FAQs may be readily configured.
Converse was built using an architecture that is typical of modern task-oriented dialogue systems:
- Converse’s “front desk” is handled by the Orchestrator module. It coordinates with other modules and handles communications between the user and the system.
- The Dialogue Management (DM) module is at the heart of Converse, and it’s linked to a unique component called the Dialogue Tree Manager.
- The Task Tree and tree-related processes are managed by the Dialogue Tree Manager.
The main System Components include the following:
1. Natural Language Understanding (NLU)
Natural Language Understanding (NLU) is concerned with deciphering user input.
Converse comprises two deep learning models (intent detection and named-entity identification), one rule-based model (negation detection), and rule-based intent resolution logic.
Converse uses the intent detection paradigm to determine which task the user wishes to complete. To perform the present task, the named-entity recognition model collects important information from the user’s response.
2. Dialogue Management (DM)
Converse’s memory is updated depending on fresh information from the user, and Dialogue Management selects how to reply to the user.
Context is critical in all talks when interpreting the other person’s reaction. It works in the following steps:
- Dialogue Management first saves the conversation context as the dialogue state
- It uses the dialogue state to make external function calls to the knowledge base or backend.
- It then uses the Dialogue State Manager to update the dialogue state depending on fresh information from the user.
The Dialogue Policy determines the next action and kind of response to creating depending on the updated dialogue state and rules based on the dialogue state.
3. Dialogue Tree Manager and the Task Tree
The Dialogue Tree Manager explores the Task Tree based on the new information supplied by the Dialogue State Manager, evaluating if the new information fits the current entity and moving on to the next entity and task that hasn’t been finished.
This procedure is akin to crossing something off your task list and determining what activity to do next.
4. Natural Language Generation (NLG)
Converse generates natural language replies using a basic template-based Natural Language Generation (NLG) module.
To create answers, NLG uses basic templates filled up with data from the Dialogue Policy.
Benefits of Converse’s Modular/Flexible Design:
1. Without having to create/edit too many setups, non-professional developers can create their own chatbots.
2. One module can be enhanced separately by replacing or rewriting it without impacting other system parts.
3. Converse’s architecture makes it a simple system to maintain and improve.
4. Professional chatbot developers may simply alter a portion of the system to suit their needs.