In task-oriented conversational systems, dialogue state tracking refers to the important problem of estimating a user’s goals and requests at each turn of a dialogue. The state is typically defined by the underlying ontology of the domains represented in a dialogue, and a system’s job is to learn accurate distributions for the values of certain domain-specific slots in the ontology. There have been a number of public datasets and challenges released to assist in building effective dialogue state tracking modulesWilliams et al. (2013); Henderson et al. (2014); Wen et al. (2017).
One of the largest resources of its kind is the MultiWOZ dataset, which spans 7 distinct task-oriented domains including hotel, taxi, and restaurant booking among others Budzianowski et al. (2018). This dataset has been a unique resource, in terms of the multi-domain interactions as well as slot value transfers between these domains, and has quickly attracted researchers for dialogue state tracking Nouri and Hosseini-Asl (2018); Goel et al. (2019); Wu et al. (2019) and dialogue policy learning Zhao et al. (2019).
Though the original MultiWOZ dataset comes with fine-grained dialogue state annotations for all the domains at the turn-level, in practice we have found substantial noise in the annotations of dialogue state values. While some amount of noise in annotations cannot be avoided, it is desirable to have clean data so the error patterns in various models can be attributed to model mistakes rather than the data. To this end, we re-annotated states in the MultiWOZ data with a different set of interannotators. We specifically accounted for 4 kinds of common mistakes in MultiWOZ, detailed in Section 2.1. In addition, we also corrected spelling errors and canonicalized entity names as detailed in Section 2.3.
Finally, we ran the state-of-the-art models of dialogue state tracking on the corrected data to provide competitive baselines for this new dataset. With this work, we release the corrected MultiWOZ 2.0 which we call MultiWOZ 2.1, as well as baselines consisting of state-of-the-art dialogue state tracking techniques on this new data.
|Slot Names||% changed||# changed||% changed||# changed||% changed||# changed|
In Section 2 we provide details for the data correction process and provide examples and statistics on the corrections. We detail our baseline Models in Section 3. We discuss the performance on this new dataset in Section 4.
|# Values||Previous Value||New Value|
2 Dataset Corrections
|Correction Type||% of Slot Values|
2.1 Dialogue State Error Types
The most common errors types in the original dialogue state annotations include the following:
Delayed markups. These refer to slot values that were annotated one or more turns after the value appeared in the user utterances. Row 1 of Table 5 shows this case where the “Turkish” value appears one turn late in the MultiWOZ 2.0 dialogue.
Multi-annotations. The same value is annotated as belonging to multiple slots, usually one of these is correct and the other one is spurious. Row 2 of Table 5 shows such a case where “belf” is spurious.
Mis-annotations. The value is annotated as belonging to a wrong slot type. In row 3 of Table 5 we can see a case where “Thursday” appears in a wrong slot.
Typos. The value is annotated, but it includes a typo or is not canonicalized. Row 4 of Table 5 exhibits such a case with “centre” misspelled.
Forgotten values. The slot value never occurs in the dialogue state, even though it was mentioned by the user. Row 5 of Table 5 is an example where “dontcare” is never seen in the data.
|Type||Conversation||MultiWOZ 2.0||MultiWOZ 2.1|
|Delayed||User: I’d also like to try a Turkish|
|Markups||restaurant. Is that possible?||restaurant.food: None||restaurant.food: Turkish|
|Agent: I’m sorry but the only|
|restaurants in that part of town serve|
|either Asian food or African food.|
|User: I don’t mind changing the area.|
|I just need moderate pricing and|
|want something that serves Turkish food.||restaurant.food: Turkish||restaurant.food:Turkish|
|Multi||User: Can you tell me more about||hotel.name: The Cambridge Belfry||hotel.name: The Cambridge Belfry|
|-annotations||Cambridge Belfry||attraction.name: belf||attraction.name: None|
|Mis||User: Yes, I need to leave on|
|-annotations||Thursday and am departing||train.leaveAt: Thursday||train.leaveAt: None|
|from London Liverpool Street.||train.day: Not Mentioned||train.day: Thursday|
|Typos||Although, I could use some help finding|
|an attraction in the centre of town.||attraction.area: cent||attraction.area: Centre|
|Forgotten||User: No particular price range, but|
|values||I do need a restaurant that is available|
|to book 7 people on Friday at 19:15.||restaurant.pricerange: None||restaurant.pricerange: Dontcare|
|Value Cano-||User: I think you should try|
|nicalization||again. Cambridge to Bishop|
|Stafford on Thursday.||train.destination: Bishop Stortford||train.destination: Bishops Stortford|
2.2 Dialogue State Corrections
Our corrections were of two types: manual corrections and automated corrections. Manual corrections involved asking annotators to go over each dialogue turn-by-turn and correcting mistakes detected in the original annotations. During this step, we noticed that sometimes the dialogue state could include multiple values, and hence we annotated them as such. Table 7 includes examples of these cases. MultiWOZ 2.1 has over 250 such multi-value slot values.
After the first manual pass of annotation correction, we wrote scripts to canonicalize slot values for lookup in the domain databases provided as part of the corpus. Row 6 of Table 5 shows one such example. We also present some of the most frequent corrections for state values in Table 2. Table 4 presents statistics on the types of corrections made.
Due to our canonicalization and reannotation, the vocabulary sizes of most of the slots decreased significantly (Table 3) except 2 slots - “train-leaveAt” and “train-arriveBy”. For these slots we noticed that there were times missing in the dialogue states (such as “20:07”) which our annotations additionally introduced. We also canonicalized all times in the 24:00 format.
|Model||MultiWOZ 2.0||MultiWOZ 2.1|
|Agent: I have two restaurants. They|
|are Pizza Hut Cherry Hinton and|
|User: What type of food do each|
|of them serve?|
|restaurant.name: Pizza Hut Cherry Hinton,|
|User: I would like to visit a museum|
|or a nice nightclub in the north.|
|attraction.type: museum, nightclub|
|User: I would also like a reservation|
|at a Jamaican restaurant in that area|
|for seven people at 12:45, if there|
|is none Chinese would also be good.|
|restaurant.food: Jamaican (preferred), Chinese|
|User: I would prefer one in the cheap|
|range, a moderately priced one is|
|fine if a cheap one isn’t there.|
|restaurant.pricerange: cheap (preferred), moderate|
2.3 Dialogue Utterance Corrections
It is often the case when building dialogue state systems that the target slot values are mentioned verbatim in the dialogue history. Many copy-based dialogue state tracking models heavily rely on this assumption Goel et al. (2018). In these situations, it is crucial that the slot values are represented correctly within the user and system utterances. However, because dialogue datasets are often collected via crowdsourced platforms where workers are asked to provide utterances via free-form text inputs, these slot values within the utterances may be misspelled or they may not be consistent with the true values from the ontology.
To detect potential error cases within the utterances, for every single dialogue turn, we computed the terms that have Levenshtein distance less than 3 from the slot values annotated for that turn. We then performed string matching for these terms within the turn, forming a set of error candidates. This created a candidate set of 225 potential errors which we then manually inspected to filter out those candidates which were false positives, leaving a collection of 67 verified errors. We then programmatically scanned the entire dataset applying corrections to the verified errors, changing 146 total utterances.
As an example of a corrected utterance: “I’m leaving from camgridge and county folk museum.” was changed to “I’m leaving from cambridge and county folk museum.” Without such a correction, it would be very difficult for a span-based copy mechanism to correctly identify the slot value ”cambridge and county folk museum” in its original form.
3 Baseline Models
Within dialogue state tracking, there are two primary classes of models: and . In models, the state tracking mechanism operates on a predefined ontology of possible slot values, usually defined to be the values seen in the training and validation data splits. These models benefit from being able to fluidly predict values that aren’t present in a given dialogue history but suffer from the rigidity of having to define the potentially large slot value list per domain during the model training phase. By contrast models are able to flexibly extract slot values from a dialogue history but struggle to predict slot values that have not been seen in the history.
In order to benchmark performance on our updated dataset, we provide joint dialogue state accuracies for a number of and models which are reported in Table 4. For the models, the dialogue history up to turn is defined as , where and are the user and system utterances at turn respectively. Note that this history also includes the user utterance.
The Flat Joint State Tracker refers to a bidirectional LSTM network that encodes the full dialogue history and then applies a separate feedforward network to the encoded hidden state for every single state slot. In practice this amounts to 37 separately branching feedforward networks that are trained jointly. The Hierarchical Joint State Tracker incorporates a similar architecture but instead encodes the history using a hierarchical network in the vein of Serban et al. (2016). TRADE is a recently proposed model that achieved state-of-the-art results on the original MultiWOZ 2.0 data, using a generative state tracker with a copy mechanism Wu et al. (2019). The DST Reader is a newly proposed model that frames state tracking as a reading comprehension problem, learning to extract slot values as spans from the dialogue history Review (2019). The HyST is another new model which combines a hierarchical encoder system with an n-gram copy-based system Goel et al. (2019).
4 Results and Discussion
As we can see from Table 6, the relative performances of the models have remained the same across the data updates. However, we also noticed a consistent drop in performance for all models on MultiWOZ 2.1 compared to MultiWOZ 2.0, which was a particularly surprising result.
In order to understand the source of this drop, we investigated the performances of the Flat Joint State Tracker and Hierarchical Joint State Tracker on the MultiWOZ 2.0 and the MultiWOZ 2.1 datasets. Across the two datasets, we observed that there are 937 new turn-level prediction errors that the Flat Joint State Tracker makes on MultiWOZ 2.1 that it did not make on MultiWOZ 2.0. This constitutes 1370 total slot value prediction errors across the turns. Of these slot value errors, we saw that 184 errors () are a result of a dontcare target label for which our model predicts another value.
When we looked at predictions of the Hierarchical Joint State Tracker, we saw that a model trained on MultiWOZ 2.0 generated 331 errors for which the ground truth label was dontcare but it predicted none. Meanwhile a model trained on MultiWOZ 2.1 generated 748 such errors, a factor increase of over 2.25x. As shown in Table 4, of our corrections involved changing a value to a dontcare label so we hypothesize that our corrections have increased the complexity of learning the dontcare label correctly. Given that building systems that can effectively capture user ambiguity is an important characteristic of conversational systems, this leaves ample room for improvement in future models.
Also noteworthy is the fact that 439 new errors for the Flat Joint State Tracker () are caused when the target label is none but the model predicts another value. As Table 4 shows of our corrections involved changing a slot from a value to none, suggesting that MultiWOZ 2.1 now more heavily penalizes spurious slot value predictions.
For the Flat Joint State Tracker, we also observed that the largest slot accuracy decrease from MultiWOZ 2.0 to MultiWOZ 2.1 occurred for the restaurant.name slot (). We inspected the kinds of errors the model was generating and found that the vast majority of these errors were legitimate model prediction mistakes on correctly annotated dialogue states. This encourages further research in enhancing the performance of these state-tracking models, especially on proper name extraction.
We publicly release state corrected MultiWOZ 2.1 and rerun competitive state tracking baselines on this dataset. The dataset will be available on the original Cambridge University webpage111http://dialogue.mi.eng.cam.ac.uk/index.php/corpus. We hope that the cleaner data allows for better model and performance comparisons on the task of multi-domain dialogue state tracking.
- Budzianowski et al. (2018) Pawel Budzianowski, Tsung-Hsien Wen, Bo-Hsiang Tseng, Iñigo Casanueva, Stefan Ultes, Osman Ramadan, and Milica Gasic. 2018. Multiwoz - a large-scale multi-domain wizard-of-oz dataset for task-oriented dialogue modelling. In EMNLP.
- Goel et al. (2018) Rahul Goel, Shachi Paul, Tagyoung Chung, Jeremie Lecomte, Arindam Mandal, and Dilek Hakkani-Tur. 2018. Flexible and scalable state tracking framework for goal-oriented dialogue systems. arXiv preprint arXiv:1811.12891.
- Goel et al. (2019) Rahul Goel, Shachi Paul, and Dilek Hakkani-Tur. 2019. Hyst: A hybrid approach for flexible and accurate dialogue state tracking. Interspeech, To Appear.
- Henderson et al. (2014) Matthew Henderson, Blaise Thomson, and Jason D. Williams. 2014. The second dialog state tracking challenge. In SIGDIAL Conference.
- Nouri and Hosseini-Asl (2018) Elnaz Nouri and Ehsan Hosseini-Asl. 2018. Toward scalable neural dialogue state tracking model. In 32nd Conference on Neural Information Processing Systems (NeurIPS 2018), 2nd Conversational AI workshop.
- Review (2019) In Review. 2019. Anonymous.
Serban et al. (2016)
Iulian Serban, Alessandro Sordoni, Yoshua Bengio, Aaron C. Courville, and
Joelle Pineau. 2016.
Building end-to-end dialogue systems using generative hierarchical neural network models.In AAAI.
- Wen et al. (2017) Tsung-Hsien Wen, Milica Gasic, Nikola Mrksic, Lina Maria Rojas-Barahona, Pei hao Su, Stefan Ultes, David Vandyke, and Steve J. Young. 2017. A network-based end-to-end trainable task-oriented dialogue system. In EACL.
- Williams et al. (2013) Jason D. Williams, Antoine Raux, Deepak Ramachandran, and Alan W. Black. 2013. The dialog state tracking challenge. In SIGDIAL Conference.
- Wu et al. (2019) Chien-Sheng Wu, Andrea Madotto, Ehsan Hosseini-Asl, Caiming Xiong, Richard Socher, and Pascale Fung. 2019. Transferable multi-domain state generator for task-oriented dialogue systems. ArXiv, abs/1905.08743.
Zhao et al. (2019)
Tiancheng Zhao, Kaige Xie, and Maxine Eskenazi. 2019.
Rethinking action spaces for reinforcement learning in end-to-end dialog agents with latent variable models.In NAACL.
We also present the percentage of state values which can be filled by copying over values directly from the conversation up to that turn. We call this the Copy Oracle. This is the upper performance limit for based approaches. This oracle accuracy is , a huge increase over the existing state-of-the-art systems which achieve on this dataset. This accuracy gap motivates the need for accurate slot value annotations as well as correct slot values within the dialogue utterances, as these will allow us to continue to improve on the performance of these open vocabulary systems. The statistics are provided in Table 8.
|Oracle 2.0||Oracle 2.1||Oracle 2.0||Oracle 2.1|
|Slot Name||Train set||Train set||Dev set||Dev set|