ConvLab-3 is a flexible dialog system platform based on a unified data format for task-oriented dialog (TOD) datasets. The unified format serves as the adapter between TOD datasets and models: datasets are first transformed to the unified format and then loaded by models. In this way, the cost of adapting
- 2022.11.30: ConvLab-3 release.
You can install ConvLab-3 in the following ways according to your need. Higher versions of torch
and transformers
may also work.
For the latest and most configurable version, we recommend installing ConvLab-3 in development mode.
Clone the newest repository:
git clone --depth 1 https://github.com/ConvLab/ConvLab-3.git
Install ConvLab-3 via pip:
cd ConvLab-3
pip install -e .
To use ConvLab-3 as an off-the-shelf tool, you can install via:
pip install convlab
Note that the data
directory will not be included due to the package size limitation.
We also provide Dockerfile for building docker. Basically it uses the requirement.txt
and then installs ConvLab-3 in development mode.
# create image
docker build -t convlab .
# run container
docker run -dit convlab
# open bash in container
docker exec -it CONTAINER_ID bash
- Getting Started (Have a try on Colab!)
- Introduction to unified data format
- Utility functions for unified datasets
- How to add a new dataset
- How to add a new model
- How to use RL toolkit
- Interactive tool [demo video]
Current datasets in unified data format: (DA-U/DA-S stands for user/system dialog acts)
Dataset | Dialogs | Goal | DA-U | DA-S | State | API result | DataBase |
---|---|---|---|---|---|---|---|
Camrest | 676 | ✅ | ✅ | ✅ | ✅ | ✅ | |
WOZ 2.0 | 1200 | ✅ | ✅ | ||||
KVRET | 3030 | ✅ | ✅ | ✅ | |||
DailyDialog | 13118 | ✅ | |||||
Taskmaster-1 | 13175 | ✅ | ✅ | ✅ | |||
Taskmaster-2 | 17303 | ✅ | ✅ | ✅ | |||
MultiWOZ 2.1 | 10438 | ✅ | ✅ | ✅ | ✅ | ✅ | |
Schema-Guided | 22825 | ✅ | ✅ | ✅ | ✅ | ||
MetaLWOZ | 40203 | ✅ | |||||
CrossWOZ (zh) | 6012 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Taskmaster-3 | 23757 | ✅ | ✅ | ✅ | ✅ |
Unified datasets are available under data/unified_datasets
directory as well as Hugging Face Hub. We will continue adding more datasets listed in this issue. If you want to add a listed/custom dataset to ConvLab-3, you can create an issue for discussion and then create pull-request. We will list you as the contributors and highly appreciate your contributions!
We list newly integrated models in ConvLab-3 that support unified data format and obtain strong performance. You can follow the link for more details about these models. Other models can be used in the same way as in ConvLab-2.
Task | Models | Input | Output |
---|---|---|---|
Response Generation | T5 | Context | Response |
Goal-to-Dialogue | T5 | Goal | Dialog |
Natural Language Understanding | T5, BERTNLU, MILU | Context | DA-U |
Dialog State Tracking | T5, SUMBT, SetSUMBT, TripPy | Context | State |
RL Policy | DDPT, PPO, PG | State, DA-U, DB | DA-S |
Natural Language Generation | T5, SC-GPT | DA-S | Response |
End-to-End | SOLOIST | Context, DB | State, Response |
User simulator | TUS, GenTUS | Goal, DA-S | DA-U, (Response) |
Trained models are available on Hugging Face Hub.
We welcome contributions from community. Please see issues to find what we need.
- If you want to add a new dataset, model, or other feature, please describe the dataset/model/feature in an issue before creating pull-request.
- Small change like fixing a bug can be directly made by a pull-request.
ConvLab-3 is maintained and developed by Tsinghua University Conversational AI group (THU-COAI), the Dialogue Systems and Machine Learning Group at Heinrich Heine University, Düsseldorf, Germany and Microsoft Research (MSR).
We would like to thank all contributors of ConvLab:
Yan Fang, Zhuoer Feng, Jianfeng Gao, Qihan Guo, Kaili Huang, Minlie Huang, Sungjin Lee, Bing Li, Jinchao Li, Xiang Li, Xiujun Li, Jiexi Liu, Lingxiao Luo, Wenchang Ma, Mehrad Moradshahi, Baolin Peng, Runze Liang, Ryuichi Takanobu, Dazhen Wan, Hongru Wang, Jiaxin Wen, Yaoqin Zhang, Zheng Zhang, Qi Zhu, Xiaoyan Zhu, Carel van Niekerk, Christian Geishauser, Hsien-chin Lin, Nurul Lubis, Xiaochen Zhu, Michael Heck, Shutong Feng, Milica Gašić.
If you use ConvLab-3 in your research, please cite:
Apache License 2.0