/multiwoz

Source code for end-to-end dialogue model from the MultiWOZ paper (Budzianowski et al. 2018, EMNLP)

Primary LanguagePythonMIT LicenseMIT

MultiWOZ

Multi-Domain Wizard-of-Oz dataset (MultiWOZ), a fully-labeled collection of human-human written conversations spanning over multiple domains and topics. At a size of 10k dialogues, it is at least one order of magnitude larger than all previous annotated task-oriented corpora.

Versions

Data structure

There are 3,406 single-domain dialogues that include booking if the domain allows for that and 7,032 multi-domain dialogues consisting of at least 2 up to 5 domains. To enforce reproducibility of results, the corpus was randomly split into a train, test and development set. The test and development sets contain 1k examples each. Even though all dialogues are coherent, some of them were not finished in terms of task description. Therefore, the validation and test sets only contain fully successful dialogues thus enabling a fair comparison of models. There are no dialogues from hospital and police domains in validation and testing sets.

Each dialogue consists of a goal, multiple user and system utterances as well as a belief state. Additionally, the task description in natural language presented to turkers working from the visitor’s side is added. Dialogues with MUL in the name refers to multi-domain dialogues. Dialogues with SNG refers to single-domain dialogues (but a booking sub-domain is possible). The booking might not have been possible to complete if fail_book option is not empty in goal specifications – turkers did not know about that.

The belief state have three sections: semi, book and booked. Semi refers to slots from a particular domain. Book refers to booking slots for a particular domain and booked is a sub-list of book dictionary with information about the booked entity (once the booking has been made). The goal sometimes was wrongly followed by the turkers which may results in the wrong belief state. The joint accuracy metrics includes ALL slots.

❔ FAQ

  • File names refer to two types of dialogues. The MUL and PMUL names refer to strictly multi domain dialogues (at least 2 main domains are involved) while the SNG, SSNG and WOZ names refer to single domain dialogues with potentially sub-domains like booking.
  • Only system utterances are manually annotated with dialogue acts – there are no human annotations from the user side. But MultiWOZ 2.1 automatically annotated user dialogue acts via heuristics developed in ConvLab.
  • There is no 1-to-1 mapping between dialogue acts and sentences.
  • There is no dialogue state tracking labels for police and hospital as these domains are very simple. However, there are no dialogues with these domains in validation and testing sets either.

🏆 Benchmarks

Dialog State Tracking

‼️ For the DST experiments please follow the data processing and scoring scripts from the TRADE model.

MultiWOZ 2.0MultiWOZ 2.1MultiWOZ 2.2
ModelJoint AccuracySlotJoint AccuracySlotJoint AccuracySlot
MDBT (Ramadan et al., 2018) 15.57 89.53
GLAD (Zhong et al., 2018)35.5795.44
GCE (Nouri and Hosseini-Asl, 2018)36.2798.42
Neural Reading (Gao et al, 2019)41.10
HyST (Goel et al, 2019)44.24
SUMBT (Lee et al, 2019)46.6596.44
SGD-baseline (Rastogi et al, 2019)43.442.0
TRADE (Wu et al, 2019)48.6296.9246.045.4
COMER (Ren et al, 2019)48.79
MERET (Huang et al, 2020)50.9197.07
In-Context Learning (Codex) (Hu et al. 2022)50.65
DSTQA (Zhou et al, 2019)51.4497.2451.1797.21
SUMBT+LaRL (Lee et al. 2020)51.5297.89
DS-DST (Zhang et al, 2019)51.251.7
LABES-S2S (Zhang et al, 2020)51.45
DST-Picklist (Zhang et al, 2019)54.3953.3
MinTL-BART (Lin et al, 2020)52.1053.62
SST (Chen et al. 2020)55.23
TripPy (Heck et al. 2020)55.3
SimpleTOD (Hosseini-Asl et al. 2020)56.45
PPTOD (Su et al. 2021)53.8957.45
ConvBERT-DG + Multi (Mehri et al. 2020)58.7
PrefineDST (Cho et al. 2021)58.9* (53.8)
TripPy + SCoRe (Yu et al. 2021)60.48
TripPy + CoCoAug (Li and Yavuz et al. 2020)60.53
TripPy + SaCLog (Dai et al. 2021)60.61
KAGE-GPT2 (Lin et al, 2021)54.8697.47
AG-DST (Tian et al. 2021)57.26
SDP-DST (Lee et al. 2021)56.6657.60

*SimpleTOD's evaluation setting does not distinguish between dontcare and none slot values, which results in an inflated JGA. Results when this discrepancy is resolved are shown in parantheses. For more details, please refer to the CheckDST github for a corrected evaluation script: https://github.com/wise-east/checkdst.

Response Generation

‼️ For the response generation evaluation please see and use the scoring scripts from this repository.

  • See this directory for details about the raw generated predictions of other models.
  • Inform meaures whether the system provides an appropriate entity and Success measures whether the system answers all the requested attributes.
  • BLEU reported in these tables is calculated with references obtained from the MultiWOZ 2.2 span annotations.
  • CBE stands for conditional bigram entropy.
Model BLEU Inform Success Av. len. CBE #uniq. words #uniq. 3-grams
Reference corpus   - 93.7 90.9 14.00 3.01 1407 23877

End-to-end models, i.e. those that use only the dialogue context as input to generate responses.

Combined Score = (INFORM + SUCCESS)*0.5 + BLEU
Model BLEU Inform Success Combined Score Av. len. CBE #uniq. words #uniq. 3-grams
LABES (paper|code) 18.9 68.5 58.1 82.2 14.20 1.83 374 3228
DAMD (paper|code) 16.4 57.9 47.6 84.8 14.27 1.65 212 1755
AuGPT (paper|code) 16.8 76.6 60.5 85.4 12.90 2.15 608 5843
MinTL (paper|code) 19.4 73.7 65.4 89.0 14.78 1.81 297 2525
SOLOIST (paper) 13.6 82.3 72.4 90.9 18.45 2.41 615 7923
DoTS (paper) 16.8 80.4 68.7 91.4 14.66 2.10 411 5162
UBAR (paper|code) 17.6 83.4 70.3 94.4 13.54 2.10 478 5238
PPTOD (paper|code) 18.2 83.1 72.7 96.1 12.73 1.88 301 2538
RSTOD (paper|code) 18.0 83.5 75.0 97.3 13.64 1.84 376 3162
BORT (paper|code) 17.9 85.5 77.4 99.4 14.91 1.88 294 2492
MTTOD (paper|code) 19.0 85.9 76.5 100.2 13.94 1.93 514 4066
GALAXY (paper|code) 19.64 85.4 75.7 100.2 13.39 1.75 295 2275
Mars (paper) 19.9 88.9 78.0 103.4 13.93 1.65 288 2264
KRLS (paper) 19.0 89.2 80.3 103.8 13.79 1.90 494 3884

Policy optimization models, i.e. those that use also the ground-truth dialog states to generate responses.

Combined Score = (INFORM + SUCCESS)*0.5 + BLEU
Model BLEU Inform Success Combined Score Av. len. CBE #uniq. words #uniq. 3-grams
UniConv (paper|code) 18.1 66.7 58.7 80.8 14.17 1.79 338 2932
SFN (paper|code) 14.1 93.4 82.3 101.9 14.93 1.63 188 1218
HDSA (paper|code) 20.7 87.9 79.4 104.4 14.42 1.64 259 2019
LAVA (paper|code) 10.8 95.9 93.5 105.5 13.28 1.27 176 708
HDNO (paper|code) 17.8 93.3 83.4 106.1 14.96 0.84 103 315
KRLS (paper) 19.1 93.1 83.7 107.5 13.82 1.90 489 3885
MarCo (paper|code) 17.3 94.5 87.2 108.1 16.01 1.94 319 3002
GALAXY (paper|code) 19.92 92.8 83.5 108.1 13.68 1.75 281 2344

Older results

The following tables show older numbers which may not be comparable directly because of inconsistencies in the evaluation scripts used.

* Denotes that the results were obtained with an even earlier version of the evaluator. The performance on these works were underestimated.

Policy optimization

(INFORM + SUCCESS)*0.5 + BLEUMultiWOZ 2.0MultiWOZ 2.1
ModelINFORMSUCCESSBLEUINFORMSUCCESSBLEU
TokenMoE* (Pei et al. 2019)75.30 59.70 16.81
Baseline* (Budzianowski et al. 2018)71.29 60.96 18.8
Structured Fusion* (Mehri et al. 2019)82.7072.10 16.34
LaRL* (Zhao et al. 2019)82.879.2 12.8
SimpleTOD (Hosseini-Asl et al. 2020)88.967.1 16.9 85.1 73.5 16.22
MoGNet (Pei et al. 2019)85.373.30 20.13
HDSA* (Chen et al. 2019)82.968.9 23.6
ARDM (Wu et al. 2019)87.472.8 20.6
DAMD (Zhang et al. 2019)89.277.9 18.6
SOLOIST (Peng et al. 2020)89.60 79.30 18.3
MarCo (Wang et al. 2020)92.30 78.60 20.02 92.50 77.80 19.54
UBAR (Yang et al. 2020)94.00 83.60 17.20 92.70 81.00 16.70
HDNO (Wang et al. 2020)96.4084.7018.8592.8083.00 18.97
LAVA (Lubis et al. 2020)97.5094.8012.1096.3983.5714.02
JOUST (Tseng et al. 2021)94.7086.7018.70
CASPI (Ramachandran et al. 2021)96.8087.3019.10
GALAXY (He et al. 2021)94.885.719.9394.886.220.29

End-to-end modelling

(INFORM + SUCCESS)*0.5 + BLEUMultiWOZ 2.0MultiWOZ 2.1
ModelINFORMSUCCESSBLEUINFORMSUCCESSBLEU
DAMD (Zhang et al. 2019)76.360.4 16.6
LABES-S2S (Zhang et al. 2020) 78.07 67.06 18.3
SimpleTOD (Hosseini-Asl et al. 2020)84.470.1 15.01
DoTS (Jeon et al. 2021)86.5974.1415.0686.6574.1815.90
JOUST (Tseng et al. 2021)83.2073.5017.60
SOLOIST (Peng et al. 2020)85.5072.90 16.54
MinTL-BART (Lin et al. 2020)84.8874.91 17.89
LAVA (Lubis et al. 2020)91.8081.8012.03
NoisyChannel (Liu et al. 2021)86.9076.2020.58
PPTOD (Su et al. 2021)89.2079.4018.6287.0979.08 19.17
UBAR (Yang et al. 2020)95.40 80.70 17.00 95.70 81.80 16.50
DORA (Jeon et al. 2021)94.6092.0012.7094.4091.1012.58
SUMBT+LaRL (Lee et al. 2020)92.20 85.40 17.90
CASPI (Ramachandran et al. 2021)94.5985.5917.96
MTTOD (Lee 2021)90.99 82.58 20.25 90.99 82.08 19.68
BORT (Sun et al. 2022)93.8085.8018.50
GALAXY (He et al. 2021)94.40 85.30 20.50 95.30 86.20 20.01

💭 References

If you use any source codes or datasets included in this toolkit in your work, please cite the corresponding papers. The bibtex are listed below:

[Budzianowski et al. 2018]
@inproceedings{budzianowski2018large,
    Author = {Budzianowski, Pawe{\l} and Wen, Tsung-Hsien and Tseng, Bo-Hsiang  and Casanueva, I{\~n}igo and Ultes Stefan and Ramadan Osman and Ga{\v{s}}i\'c, Milica},
    title={MultiWOZ - A Large-Scale Multi-Domain Wizard-of-Oz Dataset for Task-Oriented Dialogue Modelling},
    booktitle={Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing (EMNLP)},
    year={2018}
}

[Ramadan et al. 2018]
@inproceedings{ramadan2018large,
  title={Large-Scale Multi-Domain Belief Tracking with Knowledge Sharing},
  author={Ramadan, Osman and Budzianowski, Pawe{\l} and Gasic, Milica},
  booktitle={Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics},
  volume={2},
  pages={432--437},
  year={2018}
}

[Eric et al. 2019]
@article{eric2019multiwoz,
  title={MultiWOZ 2.1: Multi-Domain Dialogue State Corrections and State Tracking Baselines},
  author={Eric, Mihail and Goel, Rahul and Paul, Shachi and Sethi, Abhishek and Agarwal, Sanchit and Gao, Shuyag and Hakkani-Tur, Dilek},
  journal={arXiv preprint arXiv:1907.01669},
  year={2019}
}

[Zang et al. 2020]
@inproceedings{zang2020multiwoz,
  title={MultiWOZ 2.2: A Dialogue Dataset with Additional Annotation Corrections and State Tracking Baselines},
  author={Zang, Xiaoxue and Rastogi, Abhinav and Sunkara, Srinivas and Gupta, Raghav and Zhang, Jianguo and Chen, Jindong},
  booktitle={Proceedings of the 2nd Workshop on Natural Language Processing for Conversational AI, ACL 2020},
  pages={109--117},
  year={2020}
}

Baseline

‼️ This part relates to the first version of the dataset and evaluation scripts.

Requirements

Python 2 with pip, pytorch==0.4.1

Preprocessing

To download and pre-process the data run:

python create_delex_data.py

Training

To train the model run:

python train.py [--args=value]

Some of these args include:

// hyperparamters for model learning
--max_epochs        : numbers of epochs
--batch_size        : numbers of turns per batch
--lr_rate           : initial learning rate
--clip              : size of clipping
--l2_norm           : l2-regularization weight
--dropout           : dropout rate
--optim             : optimization method

// network structure
--emb_size          : word vectors emedding size
--use_attn          : whether to use attention
--hid_size_enc      : size of RNN hidden cell
--hid_size_pol      : size of policy hidden output
--hid_size_dec      : size of RNN hidden cell
--cell_type         : specify RNN type

Testing

To evaluate the trained model, run:

python test.py [--args=value]

Results

We ran a small grid search over various hyperparameter settings and reported the performance of the best model on the test set. The selection criterion was 0.5match + 0.5success+100*BLEU on the validation set. The final parameters were:

// hyperparamters for model learning
--max_epochs        : 20
--batch_size        : 64
--lr_rate           : 0.005
--clip              : 5.0
--l2_norm           : 0.00001
--dropout           : 0.0
--optim             : Adam

// network structure
--emb_size          : 50
--use_attn          : True
--hid_size_enc      : 150
--hid_size_pol      : 150
--hid_size_dec      : 150
--cell_type         : lstm

License

MultiWOZ is an open source toolkit for building end-to-end trainable task-oriented dialogue models. It is released by Paweł Budzianowski from Cambridge Dialogue Systems Group under the MIT License.

Bug Report

If you have found any bugs in the code, please contact: budzianowski at gmail dot com