An open source framework for Task-Oriented Dialogue (TOD) Systems.

Meet Converse

Converse is a flexible modular task-oriented dialogue system for building chatbots that help users complete tasks. Converse uses an and-or tree structure to represent tasks and offers powerful multi-task dialogue management. Converse supports task dependency and task switching, which are unique features compared to other open-source dialogue frameworks. At the same time, Converse aims to make the bot building process easy and simple, for both professional and non-professional software developers.

And-Or Task Tree

We defined the Task Tree structure to represent tasks, which is based on and-or tree. Completing a task in Converse is equal to traversing the Task Tree. The Task Tree can handle branching conversations.

Modular Design

Converse is designed to be modular, flexible and extensible. Converse is easy to build, deploy and maintain.


Converse defines FAQs as one-turn dialogues that can happen anywhere in a conversation. Bot Builders can give Converse chitchat ability by adding FAQs.

Multi-task handling

Converse supports multiple tasks in one conversation. Users can switch to a new task in the middle of a task, and switch back to the previous task when the new task is finished. Converse also supports sub-tasks. A task can be a sub-task of other tasks. Bot builders only need to define a sub-task once. Then, the sub-task can be shared by other tasks.

Ready-to-use NLU Module

In Converse, NLU consists of 2 deep learning models (the intent detection model and the named-entity recognition model), 1 rule-based model (the negation detection model), and rule-based intent resolution logic. Bot builders don’t need to retrain the NLU models when building new chatbots.

Natural Language Generation (NLG)

We use a simple template-based NLG module to generate natural language responses. There are two kinds of responses: general responses for all tasks and task-specific responses. Bot builders only need to add some necessary task-specific responses for each task, and use the general responses for all tasks.

Converse Internal States Visualization

This is a dynamic visualization of the internal states of the Converse chatbot engine, built for demonstration purposes.


On Our Minds

Converse Task-Oriented Dialogue System Simplifies Chatbot Building, Handles Complex Tasks
read on blog
Converse: A Tree-Based Modular Task-Oriented Dialogue System
read on arxiv
	title={Converse: A Tree-Based Modular Task-Oriented Dialogue System},
	author={Xie, Tian and Yang, Xinyi and Lin, Angela S. and Wu, Feihong and Hashimoto, Kazuma and Qu, Jin and Kang, Young Mo 
	and Yin, Wenpeng and Wang, Huan and Yavuz, Semih and Wu, Gang and Jones, Michael and Socher, Richard and Zhou, Yingbo 
	and Liu, Wenhao and Xiong, Caiming},
	journal={arXiv preprint arXiv:2203.12187},