Salesforce AI Researchers Present Converse: A Task-Oriented Dialog System That Simplifies Building Chatbots and Handles Complex Tasks

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 that can have a meaningful conversation with a person and help them complete tasks. For decades, many scholars have dreamed of creating a powerful chatbot that can help humans with very difficult work through natural and smooth chat.

Recent developments in this field have made voice assistants and chatbots popular in our daily lives. Task-based chat systems, for example, can help you book a table at a restaurant, buy plane tickets, check the status of vaccination appointments, or track the status of your transaction.

However, chatbots often get stuck in an infinite loop or misunderstand what is being said. It makes people want to connect to a human agent in an emergency or emergency, which negates the point of having the chatbot in the first place. Additionally, building a robust chatbot that can handle multiple complicated tasks is a challenge for many chatbot developers.

This article highlights a breakthrough by Salesforce AI research engineers that helps developers quickly build intelligent bots that help users complete tasks. The team presents Converse, a flexible and modular task-oriented conversation system. Using an interactive configuration tool and a bit of code, bot creators can easily develop jobs in Converse.

Converse performs a task in the following steps:

  1. It determines the job for which the user needs assistance.
  2. User data is collected and processed by the system.
  3. The system then presents the user with valuable information.
Source: https://blog.salesforceairesearch.com/converse-task-oriented-dialogue-system/

Unique Features of Converse

1. The creation of robots is facilitated when handling complex tasks.

2. Converse strives to make the bot creation process as easy as possible while handling difficult tasks. Converse attempted to eliminate all redundant parts shared throughout the activities, such as task switching and recurring tasks from the bot design.

3. Converse is a low-code, or even no-code (in some scenarios) system. Users with little or even no programming language can develop chatbots. Depending on the complexity of the tasks, programming can take up 10-20% of the work to build the bot in other circumstances.

Converse Capabilities

1. Reusing subtasks improved customer experience: The amount of configuration the bot builder has to write is reduced by reusing subtasks. Converse can also skip a sub-task if it has already been completed by reusing it, improving the user experience.

2. Using task trees to manage branching threads: Tasks can be quite difficult and there may be multiple methods to complete a task. To record and track the 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 relationships using the task tree.

3. Management of interruptions caused by work management (change of task during the task)

4. Answers to frequently asked questions can be personalized: Converse defines FAQs as round-robin conversations that can happen at any time during a conversation. By providing the question and answer pairs in the task configuration, the FAQs can be easily configured.

Converse was built using an architecture typical of modern task-based dialog systems:

  1. The “reception” of Converse is managed by the Orchestrator module. It coordinates with other modules and manages communications between the user and the system.
  2. The Dialogue Management (DM) module is at the core of Converse, and it ties into a single component called the Dialogue Tree Manager.
  3. The task tree and the processes linked to the tree are managed by the dialog tree manager.

The main components of the system include the following:

1. Natural Language Understanding (NLU)

Natural Language Understanding (NLU) is about decrypting user input.

Converse includes two deep learning models (intent detection and named entity identification), a rule-based model (negative detection), and rule-based intent resolution logic.

Converse uses the intent detection paradigm to determine what task the user wants to accomplish. To perform this task, the named entity recognition model collects important information from the user’s response.

2. Dialog Management (DM)

Converse’s memory is updated based on new user information, and Dialogue Management selects how to respond to the user.

Context is critical in all discussions when interpreting the other person’s reaction. It works in the following steps:

  • Dialog management first saves the conversation context as the state of the dialog
  • It uses dialog state to make external function calls to knowledge base or backend.
  • It then uses the dialog state manager to update the dialog state based on the new user information.

The dialog policy determines the next action and type of response to create based on the updated dialog state and dialog state-based rules.

3. Dialog tree manager and task tree

The dialog tree manager explores the task tree based on the new information provided by the dialog state manager, evaluating whether the new information matches the current entity and passing to the entity and the following tasks that have not been completed.

This procedure is like crossing something off your to-do list and figuring out what activity to do next.

4. Natural Language Generation (NLG)

Converse generates natural language responses using a basic model-based Natural Language Generation (NLG) module.

To create responses, NLG uses basic templates filled with dialog policy data.

Benefits of Converse’s modular/flexible design:

1. Without having to create/modify too many configurations, non-professional developers can create their own chatbots.

2. A module can be upgraded separately by replacing or rewriting it without affecting other parts of the system.

3. Converse’s architecture makes it easy to maintain and improve.

4. Professional chatbot developers can just modify part of the system according to their needs.

Article: https://arxiv.org/pdf/2203.12187.pdf

Github: https://github.com/salesforce/Converse

Source: https://blog.salesforceairesearch.com/converse-task-oriented-dialogue-system/

James G. Williams