TaTk is an open-source task-oriented dialog system toolkits developed by Tsinghua University Conversational AI group (THU-coai). We provide several models for each module in dialog system, as well as some joint models and end-to-end models. It's easy to combine the modules to build a dialog system and replace some modules with yours to evaluate them in system level. Further more, user simulator (policy for user agent) is provided for system policy training. Our unified agent definition also supports symmetric agents for negotiation dialog and multiple agents for multiparty dialog.
Features included:
- Complete and configurable framework for task-oriented dialog system.
- Pre-trained models on Multiwoz, Camrest, Dealornot dataset.
- Simple interfaces for adapting your models.
- Rule simulators on Multiwoz and Camrest dataset for RL policy training.
- Unified agent definition which allows customized dialog scene such as multiparty dialog.
This project is a part of dialtk
(Toolkits for Dialog System by Tsinghua University), you can follow dialtk or
tatk on our home page. Some code are shared with Convlab.
Require python 3.6.
Clone this repository:
git clone https://github.com/thu-coai/tatk.git
Install tatk via pip:
cd tatk
pip install -e .
Tutorials are under tutorials directory. You can also view it on dialtk/tatk.
- Getting Started (Have a try on Colab!)
- Add New Model
- RNN rollout - deal or not
- Train RL Policies
Our documents are on https://thu-coai.github.io/tatk_docs/.
We provide following models:
- NLU: SVMNLU, BERTNLU
- DST: rule, MDBT
- Policy: rule, Imitation, REINFORCE, PPO, MDRG
- Simulator policy: Agenda, VHUS
- NLG: Template, SCLSTM
- End2End: Sequicity, RNN_rollout
For more details about these models, You can refer to README.md
under tatk/$module/$model/$dataset
dir such as tatk/nlu/bert/multiwoz/README.md.
- Multiwoz
- We add user dialog act (inform, request, bye, greet, thank), remove 5 sessions that have incomplete dialog act annotation and place it under
data/multiwoz
dir. - Train/val/test size: 8434/999/1000. Split as original data.
- LICENSE: Attribution 4.0 International, url: http://creativecommons.org/licenses/by/4.0/
- We add user dialog act (inform, request, bye, greet, thank), remove 5 sessions that have incomplete dialog act annotation and place it under
- Camrest
- We add system dialog act (inform, request, nooffer) and place it under
data/camrest
dir. - Train/val/test size: 406/135/135. Split as original data.
- LICENSE: Attribution 4.0 International, url: http://creativecommons.org/licenses/by/4.0/
- We add system dialog act (inform, request, nooffer) and place it under
- Dealornot
- Place it under
data/dealornot
dir. - Train/val/test size: 5048/234/526. Split as original data.
- LICENSE: Attribution-NonCommercial 4.0 International, url: https://creativecommons.org/licenses/by-nc/4.0/
- Place it under
You are welcome to create an issue if you want to request a feature, report a bug or ask a general question.
We welcome contributions from community.
- If you want to make a big change, we recommend first creating an issue with your design.
- Small contributions can be directly made by a pull request.
- If you like make contributions for our library, see issues to find what we need.
tatk
is maintained and developed by Tsinghua university conversational AI group (THU-coai). Check our main pages (In Chinese).
Apache License 2.0