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 setproctitle
The pre-trained model we used is downloaded from huggingface
-
Download the albert-base-v2 pre-training model, included
config.json
pytorch_model.bin
spiece.model
-
Put
config.json
pytorch_model.bin
spiece.model
into thepretrained_models/albert_large
folder
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/
.