Skip to content

🎀 PyTorch Implementation for "SUMBT+LaRL: Effective Multi-Domain End-to-End Neural Task-Oriented Dialog System", IEEE Access, 2021

License

Notifications You must be signed in to change notification settings

hwaranlee/SUMBT-LaRL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SUMBT+LaRL

This is PyTorch implementation for SUMBT+LaRL: Effective Multi-Domain End-to-End Neural Task-Oriented Dialog System, Hwaran Lee, Seokhwan Jo, Hyungjun Kim, Sangkeun Jung, and Tae-Yoon Kim, IEEE Access, 2021

Installation

This code is implemented upon ConvLab. Specifically, it requires Python 3.6, CUDA 10.1, PyTorch 1.0+, and HuggingFace 0.6.1.

For convenience, Build and Run the Dockerfile to get the environment for this implementation. Note that when you run the docker file, mount this repository to access the data and codes.

Data preprocessing

  1. unzip followings:

    • data/multiwoz/annotation/annotated_user_da_with_span_full_patchName_convai.json.zip
    • data/multiwoz/annotation/MULTIWOZ2.zip
  2. run preprocessing codes:

    cd data/multiwoz;
    python split_dataset.py;
    python construct_ontology.py --output_dir $output_dir;

    or, just unzip followings:

    • data/multiwoz/sumbt_larl.zip
    • data/multiwoz/{train, val, test}.json.zip

Training

The main command is following:

python convlab/modules/e2e/multiwoz/SUMBT_LaRL/main.py --do_train --do_eval \
--data_dir $data_dir --task_name $task_name \
--output_dir $output_dir --delex_data_dir $delex_data_dir

For more details, see running scripts in convlab/modules/e2e/multiwoz/SUMBT_LaRL/scripts for pretraining SUMBT and LaRL modules, end-to-end fine-tuning, and then RL training.

Evaluation with Simulators in ConvLab

You can run the trained end-to-end models with the simulator in ConvLab with the command.

$ python run.py {spec file} {spec name} {mode}

For example, you can download our trained models from Google Drive and unzip the model inside models directory, then run the command.

$ python run.py convlab/spec/sumbt_larl.json sumbt_larl eval

Citing

If you use this code in your research, please cite following:

@article{lee2021sumbt+,
  title={SUMBT+ LaRL: Effective Multi-Domain End-to-End Neural Task-Oriented Dialog System},
  author={Lee, Hwaran and Jo, Seokhwan and Kim, Hyungjun and Jung, Sangkeun and Kim, Tae-Yoon},
  journal={IEEE Access},
  volume={9},
  pages={116133--116146},
  year={2021},
  publisher={IEEE}
}

About

🎀 PyTorch Implementation for "SUMBT+LaRL: Effective Multi-Domain End-to-End Neural Task-Oriented Dialog System", IEEE Access, 2021

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published