Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New evaluation scripts for BLEU, Inform & Success #2 #77

Merged
merged 4 commits into from
Jul 8, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
200 changes: 110 additions & 90 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,31 @@
# 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

The newest, corrected version of the dataset is available at [MultiWOZ_2.2](https://github.com/budzianowski/multiwoz/blob/master/data/MultiWOZ_2.2) thanks to [the Google crew](https://arxiv.org/abs/2007.12720).
- **The newest, corrected version of the dataset is available at [MultiWOZ_2.2](https://github.com/budzianowski/multiwoz/blob/master/data/MultiWOZ_2.2) thanks to [the Google crew](https://arxiv.org/abs/2007.12720).**
- The new, corrected version of the dataset is available at [MultiWOZ_2.1](https://github.com/budzianowski/multiwoz/blob/master/data/MultiWOZ_2.1.zip) thanks to [the Amazon crew](https://arxiv.org/abs/1907.01669).
- The dataset used in the EMNLP publication can be accessed at: [MultiWOZ_2.0](https://github.com/budzianowski/multiwoz/blob/master/data/MultiWOZ_2.0.zip)
- The dataset used in the ACL publication can be accessed at: [MultiWOZ_1.0](https://github.com/budzianowski/multiwoz/blob/master/data/MultiWOZ_1.0.zip)

The new, corrected version of the dataset is available at [MultiWOZ_2.1](https://github.com/budzianowski/multiwoz/blob/master/data/MultiWOZ_2.1.zip) thanks to [the Amazon crew](https://arxiv.org/abs/1907.01669).

The dataset used in the EMNLP publication can be accessed at: [MultiWOZ_2.0](https://github.com/budzianowski/multiwoz/blob/master/data/MultiWOZ_2.0.zip)

The dataset used in the ACL publication can be accessed at: [MultiWOZ_1.0](https://github.com/budzianowski/multiwoz/blob/master/data/MultiWOZ_1.0.zip)

# Data structure
## 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
1. 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.
2. Only system utterances are annotated with dialogue acts – there are no annotations from the user side.
3. There is no 1-to-1 mapping between dialogue acts and sentences.
4. 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.
5. For the dialogue state tracking experiments please follow the datat processing and scoring scripts from the [TRADE](https://github.com/jasonwu0731/trade-dst) model (Wu et al. 2019).
6. For the response generation evaluation please consider using the scripts from [this repository](https://github.com/Tomiinek/MultiWOZ_Evaluation).
# :grey_question: 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 annotated with dialogue acts – there are no annotations from the user side.
- 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.

# :trophy: Benchmarks
## Dialog State Tracking

:bangbang: **For the DST experiments please follow the data processing and scoring scripts from the [TRADE model](https://github.com/jasonwu0731/trade-dst).**

<h2>Benchmarks</h2>
<h3>Belief Tracking</h3>
<div class="datagrid" style="width:500px;">
<table>
<thead><tr><th></th><th colspan="2">MultiWOZ 2.0</th><th colspan="2">MultiWOZ 2.1</th><th colspan="2">MultiWOZ 2.2</th></tr></thead>
Expand Down Expand Up @@ -59,9 +58,50 @@ The belief state have three sections: semi, book and booked. Semi refers to slot
</table>
</div>

## Response Generation

:bangbang: **For the response generation evaluation please see and use the scoring scripts from [this repository](https://github.com/Tomiinek/MultiWOZ_Evaluation).**

- See [this directory](https://github.com/Tomiinek/MultiWOZ_Evaluation/tree/master/predictions) for details about the raw generated predictions of other models.
- 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 &nbsp; | - | 93.7 | 90.9 | 14.00 | 3.01 | 1407 | 23877 |

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

| Model | BLEU | Inform | Success | Av. len. | CBE | #uniq. words | #uniq. 3-grams |
| ------------------ | -----:| -------:| --------:| ---------:| -----------------:| -------------:| -------------:|
| DAMD ([paper](https://arxiv.org/abs/1911.10484)\|[code](https://github.com/thu-spmi/damd-multiwoz)) | 16.4 | 57.9 | 47.6 | 14.27 | 1.65 | 212 | 1755 |
| MinTL ([paper](https://arxiv.org/pdf/2009.12005.pdf)\|[code](https://github.com/zlinao/MinTL)) | **19.4** | 73.7 | 65.4 | 14.78 | 1.81 | 297 | 2525 |
| UBAR ([paper](https://arxiv.org/abs/2012.03539)\|[code](https://github.com/TonyNemo/UBAR-MultiWOZ)) | 17.6 | **83.4** | 70.3 | 13.54 | 2.10 | 478 | 5238 |
| SOLOIST ([paper](https://arxiv.org/abs/2005.05298)) | 13.6 | 82.3 | **72.4** | 18.45 | **2.41** | **615** | **7923** |
| AuGPT ([paper](https://arxiv.org/abs/2102.05126)\|[code](https://github.com/ufal/augpt)) | 16.8 | 76.6 | 60.5 | 12.90 | 2.15 | 608 | 5843 |
| LABES ([paper](https://arxiv.org/pdf/2009.08115v3.pdf)\|[code](https://github.com/thu-spmi/LABES)) | 18.9 | 68.5 | 58.1 | 14.20 | 1.83 | 374 | 3228 |
| DoTS ([paper](https://arxiv.org/pdf/2103.06648.pdf)) | 16.8 | 80.4 | 68.7 | 14.66 | 2.10 | 411 | 5162 |

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

| Model | BLEU | Inform | Success | Av. len. | CBE | #uniq. words | #uniq. 3-grams |
| ------------------ | -----:| -------:| --------:| ---------:| -----------------:| -------------:| -------------:|
| MarCo ([paper](https://arxiv.org/pdf/2004.12363.pdf)\|[code](https://github.com/InitialBug/MarCo-Dialog)) | 17.3 | 94.5 | 87.2 | 16.01 | **1.94** | 319 | **3002** |
| HDSA ([paper](https://arxiv.org/pdf/1905.12866.pdf)\|[code](https://github.com/wenhuchen/HDSA-Dialog)) | **20.7** | 87.9 | 79.4 | 14.42 | 1.64 | 259 | 2019 |
| HDNO ([paper](https://arxiv.org/pdf/2006.06814.pdf)\|[code](https://github.com/mikezhang95/HDNO)) | 17.8 | 93.3 | 83.4 | 14.96 | 0.84 | 103 | 315 |
| SFN ([paper](https://arxiv.org/pdf/1907.10016.pdf)\|[code](https://github.com/Shikib/structured_fusion_networks)) | 14.1 | 93.4 | 82.3 | 14.93 | 1.63 | 188 | 1218 |
| UniConv ([paper](https://arxiv.org/pdf/2004.14307.pdf)\|[code](https://github.com/henryhungle/UniConv)) | 18.1 | 66.7 | 58.7 | 14.17 | 1.79 | **338** | 2932 |
| LAVA ([paper](https://arxiv.org/abs/2011.09378)\|[code](https://gitlab.cs.uni-duesseldorf.de/general/dsml/lava-public/-/tree/master/experiments_woz/sys_config_log_model/2020-05-12-14-51-49-actz_cat)) | 10.8 | **95.9** | **93.5** | 13.28 | 1.27 | 176 | 708 |


### 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**

<h3>Policy Optimization</h3>
<div class="datagrid" style="width:500px;">
<table>
<thead><tr><th>(INFORM + SUCCESS)*0.5 + BLEU</th><th colspan="3">MultiWOZ 2.0</th><th colspan="3">MultiWOZ 2.1</th></tr></thead>
Expand All @@ -81,29 +121,19 @@ The belief state have three sections: semi, book and booked. Semi refers to slot
<tr><td><a href="https://arxiv.org/pdf/2012.03539.pdf">UBAR</a> (Yang et al. 2020)</td><td>94.00</td><td> 83.60</td><td> 17.20</td><td> 92.70</td><td> 81.00</td><td> 16.70</td></tr>
<tr><td><a href="https://arxiv.org/pdf/2006.06814.pdf">HDNO</a> (Wang et al. 2020)</td><td>96.40</td><td>84.70</td><td>18.85</td><td>92.80</td><td>83.00</td><td> 18.97</td></tr>
<tr><td><a href="https://www.aclweb.org/anthology/2020.coling-main.41.pdf">LAVA</a> (Lubis et al. 2020)</td><td>97.50</td><td>94.80</td><td>12.10</td><td>96.39</td><td>83.57</td><td>14.02</td></tr>

<tfoot> </tfoot>
</tbody>
</table>
</div>
* The results were obtained with a previous version of the evaluator. The performance on these works before the upgrade were underestimated.

<h3>Natural Language Generation</h3>
<div class="datagrid" style="width:500px;"><table>
<thead><tr><th>Model</th><th>SER</th><th>BLEU</th></tr></thead>
<tbody>
<tr><td><a href="https://pdfs.semanticscholar.org/47d0/1eb59cd37d16201fcae964bd1d2b49cfb55e.pdf">Baseline</a> (Budzianowski et al. 2018)</td><td>2.99 </td><td> 0.632</td></tr>
</tbody>
</table>
</div>
**End-to-end modelling**

<h3>End-to-End Modelling</h3>
<div class="datagrid" style="width:500px;">
<table>
<thead><tr><th>(INFORM + SUCCESS)*0.5 + BLEU</th><th colspan="3">MultiWOZ 2.0</th><th colspan="3">MultiWOZ 2.1</th></tr></thead>
<thead><tr><th>Model</th><th>INFORM</th><th>SUCCESS</th><th>BLEU</th><th>INFORM</th><th>SUCCESS</th><th>BLEU</th></tr></thead>
<tbody>
<tr><td><a href="https://arxiv.org/pdf/1911.10484.pdf">DAMD</a> (Zhang et al. 2019)</td><td>76.3</td><td>60.4</td><td> 18.6</td><td> </td><td> </td><td> </td></tr>
<tr><td><a href="https://arxiv.org/pdf/1911.10484.pdf">DAMD</a> (Zhang et al. 2019)</td><td>76.3</td><td>60.4</td><td> 16.6</td><td> </td><td> </td><td> </td></tr>
<tr><td><a href="https://arxiv.org/pdf/2009.08115.pdf">LABES-S2S</a> (Zhang et al. 2020)</td><td></td><td></td><td> </td><td>78.07 </td><td> 67.06</td><td> 18.3</td></tr>
<tr><td><a href="https://arxiv.org/pdf/2005.00796.pdf">SimpleTOD</a> (Hosseini-Asl et al. 2020)</td><td>84.4</td><td>70.1</td><td> 15.01</td><td> </td><td></td><td></td></tr>
<tr><td><a href="https://arxiv.org/pdf/2103.06648.pdf">DoTS</a> (Jeon et al. 2021)</td><td>86.59</td><td>74.14</td><td>15.06</td><td>86.65</td><td>74.18</td><td>15.90</td></tr>
Expand All @@ -113,25 +143,65 @@ The belief state have three sections: semi, book and booked. Semi refers to slot
<tr><td><a href="https://arxiv.org/pdf/2103.10518.pdf">NoisyChannel</a> (Liu et al. 2021)</td><td>86.90</td><td>76.20</td><td>20.58</td><td> </td><td> </td><td> </td></tr>
<tr><td><a href="https://arxiv.org/pdf/2012.03539.pdf">UBAR</a> (Yang et al. 2020)</td><td>95.40</td><td> 80.70</td><td> 17.00</td><td> 95.70</td><td> 81.80</td><td> 16.50</td></tr>
<tr><td><a href="https://arxiv.org/pdf/2009.10447.pdf">SUMBT+LaRL</a> (Lee et al. 2020)</td><td>92.20</td><td> 85.40</td><td> 17.90</td><td> </td><td> </td><td> </td></tr>

<tfoot> </tfoot>
<tfoot> </tfoot>
</tbody>
</table>
</div>


# Requirements
Python 2 with pip, pytorch==0.4.1
# :thought_balloon: 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}
}

# Quick start
In repo directory:
[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}
}

## Preprocessing
[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

:bangbang: 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
### Training
To train the model run:

```python train.py [--args=value]```
Expand Down Expand Up @@ -162,17 +232,8 @@ To evaluate the trained model, run:

```python test.py [--args=value]```

To evaluate the outside model, run:

```python evaluate.py```

where in line 611 you need to load your generation predictions.


# Benchmark results
The following [benchmark results](http://dialogue.mi.eng.cam.ac.uk/index.php/corpus/) were produced by this software.
We ran a small grid search over various hyperparameter settings
and reported the performance of the best model on the test set.
## 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.5*match + 0.5*success+100*BLEU on the validation set.
The final parameters were:

Expand All @@ -195,47 +256,6 @@ The final parameters were:
--cell_type : lstm
```


# 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}
}
```

# 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 Apache License 2.0.
Expand Down