Home

Awesome

COMER: Scalable and Accurate Dialogue State Tracking via Hierarchical Sequence Generation

This is the PyTorch implementation of the paper: Sclable and Accurate Dialogue State Tracking via Hierachical Sequence Generation. Liliang Ren,Jianmo Ni, Julian McAuley. EMNLP 2019 [PDF] [Slides] [Poster] [Trained Model]

The code is written and tested with PyTorch == 1.1.0. The minimum requirement of the graphic memory is 8GB for training on the MultiWoZ dataset.

***** New October 20th, 2019: Updated Empirical Results *****

We did some modifications to the regularization and the evaluation of our model and achieved a joint goal accuracy of 48.79% on the MultiWoZ dataset. For more details, please refer to the Table 5 in the paper linked above.

Abstract

Existing approaches to dialogue state tracking rely on pre-defined ontologies consisting of a set of all possible slot types and values. Though such approaches exhibit promising performance on single-domain benchmarks, they suffer from computational complexity that increases proportionally to the number of pre-defined slots that need tracking. This issue becomes more severe when it comes to multi-domain dialogues which include larger numbers of slots. In this paper, we investigate how to approach DST using a generation framework without the pre-defined ontology list. Given each turn of user utterance and system response, we directly generate a sequence of belief states by applying a hierarchical encoder-decoder structure. In this way, the computational complexity of our model will be a constant regardless of the number of pre-defined slots. Experiments on both the multi-domain and the single domain dialogue state tracking dataset show that our model not only scales easily with the increasing number of pre-defined domains and slots but also reaches the state-of-the-art performance.

Create Data

python create_data.py 

This Python script has to be run under the environment, Python == 2.7, for reproducibility.


Preprocessing

python3 convert_mw.py
python3 preprocess_mw.py 
python3 make_emb.py

Training

bash run.sh

Evaluation

python3 predict.py 

Citation

@inproceedings{ren-etal-2019-scalable,
    title = "Scalable and Accurate Dialogue State Tracking via Hierarchical Sequence Generation",
    author = "Ren, Liliang  and
      Ni, Jianmo  and
      McAuley, Julian",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP)",
    month = nov,
    year = "2019",
    address = "Hong Kong, China",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/D19-1196",
    doi = "10.18653/v1/D19-1196",
    pages = "1876--1885",
}