/tatk

Task-oriented dialog system toolkits

Primary LanguagePythonApache License 2.0Apache-2.0

Task-oriented Dialog System Toolkits

Build Status

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.

Installation

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

Tutorials are under tutorials directory. You can also view it on dialtk/tatk.

Documents

Our documents are on https://thu-coai.github.io/tatk_docs/.

Models

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.

Supported Dataset

Issues

You are welcome to create an issue if you want to request a feature, report a bug or ask a general question.

Contributions

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.

Team

tatk is maintained and developed by Tsinghua university conversational AI group (THU-coai). Check our main pages (In Chinese).

License

Apache License 2.0