This paper/code introduces the Multi-Domain Dialogue State Tracking via Dual Dynamic Graph with Hierarchical Slot Selector(HS2DG-DST)
You can use 0ysDST.yaml to import environment setting I used.
Or get setting with code below.
# conda activate 0ysDST # python=3.8
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch
pip install transformers[sentencepiece]==4.24.0
pip install setproctitleThe pre-trained model we used is downloaded from huggingface
-
Download the albert-base-v2 pre-training model, included
config.jsonpytorch_model.binspiece.model -
Put
config.jsonpytorch_model.binspiece.modelinto thepretrained_models/albert_largefolder
The schema/ontology is already in data folder.
And you can download the dataset from https://github.com/budzianowski/multiwoz
Thanks to guo, I used their preprocessed dataset.
- MultiWOZ 2.1: Google Drive
- MultiWOZ 2.2: Google Drive
Before training, make sure you have prepared all input files(data/schema.json, data/train_dials.json, data/dev_dials.json, data/dev_dials.json) and pretrained models(pretrained_models/).
The train and evaluation code below.
$ conda activate 0ysDST
$ nohup ./train_model.sh > out/train_.out &
$ nohup ./eval_model.sh > out/eval_.out &
All model checkpoints will be saved to ./saved_models/.
