Microsoft Dialogue Challenge: Building End-to-End Task-Completion Dialogue Systems

by   Xiujun Li, et al.

This proposal introduces a Dialogue Challenge for building end-to-end task-completion dialogue systems, with the goal of encouraging the dialogue research community to collaborate and benchmark on standard datasets and unified experimental environment. In this special session, we will release human-annotated conversational data in three domains (movie-ticket booking, restaurant reservation, and taxi booking), as well as an experiment platform with built-in simulators in each domain, for training and evaluation purposes. The final submitted systems will be evaluated both in simulated setting and by human judges.



page 2


End-to-End Task-Completion Neural Dialogue Systems

One of the major drawbacks of modularized task-completion dialogue syste...

Hierarchical Context Enhanced Multi-Domain Dialogue System for Multi-domain Task Completion

Task 1 of the DSTC8-track1 challenge aims to develop an end-to-end multi...

Generating Challenge Datasets for Task-Oriented Conversational Agents through Self-Play

End-to-end neural approaches are becoming increasingly common in convers...

On the Evaluation of Dialogue Systems with Next Utterance Classification

An open challenge in constructing dialogue systems is developing methods...

Simplifying Dataflow Dialogue Design

In <cit.>, a dataflow (DF) based dialogue system was introduced, showing...

Building a Conversational Agent Overnight with Dialogue Self-Play

We propose Machines Talking To Machines (M2M), a framework combining aut...

Recent advances in conversational NLP : Towards the standardization of Chatbot building

Dialogue systems have become recently essential in our life. Their use i...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

There are many virtual assistants commercially available today, such as Apple’s Siri, Google’s Home, Microsoft’s Cortana, and Amazon’s Echo. With a well-designed dialogue system as an intelligent assistant, people can accomplish tasks easily via natural language interactions.

In the research community, dialogue system has been well studied for many decades. Recent advance in deep learning has also inspired the exploration of neural dialogue systems. However, it still remains a big challenge to build and evaluate multi-turn task-completion systems in a universal setting.

On one hand, conversational data for dialogue research has been scarce, due to challenges in human data collection and privacy issues. Without standard public datasets, it has been difficult for any group to build universal dialogue models that could encourage follow-up studies to benchmark upon. On the other hand, labeled datasets that are available now, while useful for evaluating partial components of a dialogue system (such as natural language understanding, dialogue state tracking), fail at end-to-end system evaluation. As a thorough evaluation of a dialogue system requires a large number of users to interact with the system at real time.

A well-adopted alternative approach is the employment of user simulators. The idiosyncratic strength and weakness of simulators for dialogue systems has been a long-standing research topic. User simulators can provide an interactive environment for evaluating dialogue system, which is more attainable and less costly than human evaluation. The use of simulators can also foster interest and encourage research effort in exploring reinforcement learning for dialogue management.

However, the progress of dialogue research via reinforcement learning is not as fast as we have expected, largely due to the lack of a common evaluation framework, on which different research groups can jointly develop new technologies and improve their systems. In addition, the dependency on simulators often limits the scope of functionality of the implemented dialogue systems, due to the inevitable discrepancy between real users and artificial simulators. Over the past few years, we have achieved some initial success in this area. This proposal aims to further develop and mature this work and release a universal experimentation and evaluation framework by working together with research teams in the community.

In this proposal, we present a new Dialogue Challenge on “End-to-End Task-Completion Dialogue System”. This differs from previous dialogue tracks, most of which have focused on component-level evaluation. In this dialogue challenge, we will release a carefully-labeled conversational dataset in multiple domains. This data can be used by participants to develop all the modules required to build task-completion dialogue systems. We will also release an experimentation platform with built-in simulators. Each domain will have its own well-trained simulator for experimentation purpose.

In the rest of the proposal, Section 2 will provide more details about the proposed experimentation platform. Section 3 will describe the specific tasks defined in the challenge, as well as the corresponding datasets that will be released. And Section 4 will describe the final evaluation of submitted systems.

Figure 1: Illustration of an end-to-end task-completion dialogue system.

2 Platform Overview

The proposed experimentation platform is illustrated in Figure 1 [1]. It consists of a user simulator (on the left) that mimics a human user and a dialogue system (on the right). In the user simulator, an agenda-based user modeling component [2]

works at the dialog-act level, and controls the conversation exchange conditioned on the generated user goal, to ensure that the user behaves in a consistent, goal-oriented manner. An NLU (Natural Language Understanding) module will process user’s natural language input into a semantic frame. An NLG (Natural Language Generation) module is used to generate natural language sentences responding to the user’s dialogue actions.

Although Figure 1 presents a neural dialogue system as an example, participants are free, and encouraged, to plug in any NLU/NLG modules, as long as their systems can complete a predefined task via multi-turn conversations with the user. In every turn of a conversation, the system needs to understand natural language input generated by the user or the simulator, track dialogue states during the conversation, interact with a task-specific dataset (described in Section 3), and generate an action (i.e., system response). The system action could be presented either as semantic frames (known as dialog-acts in simulation evaluation), or as natural language utterances generated by an NLG module.

3 Task Description

In this dialogue challenge, we will release well-annotated datasets for three task-completion domains111All the datasets and code will be available at movie-ticket booking, restaurant reservation, and taxi ordering. Table 1 shows the statistics of the three datasets. We will use movie ticket booking as an example to explain the specific task of building dialogue system in each domain.

Task #Intents #Slots #Dialogs
Movie-Ticket Booking 11 29 2890
Restaurant Reservation 11 30 4103
Taxi Ordering 11 19 3094
Table 1: The Statistics of Three Tasks.

3.1 Movie-Ticket booking task

In this task, the goal is to build a dialogue system to help users find information about movies and book movie tickets. Throughout the course of the conversation, the agent gathers information about the user’s requests, and in the end books the movie tickets or provides information about the movie in question. At the end of the conversation, the dialogue environment assesses a binary outcome (success or failure), based on (1) whether a movie ticket is booked and (2) whether the movie satisfies the user’s constraints.

3.1.1 Dataset

The data that will be released for this task was collected via Amazon Mechanical Turk. The annotation schema contains intents (e.g., inform, request, confirm_question, confirm_answer, etc.), and slots (e.g., moviename, starttime, theater, numberofpeople). Most of the slots are informational slots, which can be used to constrain the search. Others are request slots, with which users can request information from the agent. The final dataset to release will consist of 2890 dialogue sessions, with approximately turns per session on average. Table 2 shows an example of annotated human-human dialogue in the movie-ticket booking task. And Table 3 shows one success and one failure dialogue example, generated by a rule-based agent and an RL agent interacting with user simulator, respectively.

3.1.2 User-Goal Set

The user goals that will be released alongside with the labeled data, are extracted from labeled dialogues by two methods. The first one extracts all the slots (known and unknown) from the first user turn (excluding the greeting turn) in each session, under the assumption that the first turn usually contains the main request from the user. The second method aggregates all the slots that appear in the user turns into one user goal. These user goals are then stored into a user-goal database for the simulator to draw from. When triggering a dialogue, the user simulator randomly samples one user goal from this database. Figure 2 shows one example user goal for the movie-ticket booking task.

1New episode, user goal:
3  "request_slots": {
4    "ticket": "UNK"
5  },
6  "inform_slots": {
7    "city": "seattle",
8    "numberofpeople": "2",
9    "theater": "amc pacific place 11 theater",
10    "starttime": "9:00 pm",
11    "date": "tomorrow",
12    "moviename": "deadpool"
13  }
Figure 2: An example of a user goal: the user wants to buy 2 tickets of Deadpool at 9:00 PM tomorrow at amc pacific place 11 theater, Seattle.

3.1.3 Knowledge Base

The knowledge base to be released for this task was built from labeled dialogues. The data entries are organized in JSON files, which include several KBs of size 1000 records or above. Examples of these data records are as follows:

1#movie 1
2’city’: ’hamilton’, ’theater’: ’manville 12 plex’, ’zip’: ’08835’, ’critic_rating’: ’good’,
3’date’: ’tomorrow’, ’state’: ’NJ’, ’starttime’: ’10:30am’, ’genre’: ’comedy’, ’moviename’: ’zootopia’
5#movie 2
6’city’: ’seattle’, ’theater’: ’regal meridian 16’, ’zip’: ’98101’, ’theater_chain’: ’regal meridian’,
7’state’: ’WA’, ’starttime’: ’6:30pm’, ’date’: ’tonight’, ’moviename’: ’zootopia’
Figure 3: Data records in Movie Knowledge Base.

3.1.4 User Simulator

For the experimentation platform, we will also release a user simulator [3] for this task. The user simulator can support two formats of input:

  1. Frame-level semantics: A dialog act form (e.g., request(moviename; genre=action; date=this weekend)) that can be used for debug purpose.

  2. Natural language: Natural language text. To use this format, each participate needs to build their own NLU component to convert natural language input into frame-level semantics.

4 Evaluation

To evaluate the quality of the submitted systems, we will conduct both simulation evaluation and human evaluation.

4.1 Simulation Evaluation

Three metrics will be used to measure the quality of the systems: {success rate, average turns, average reward}. Success rate is sometimes known as task completion rate – the fraction of dialogues that ended successfully. Average turns is the average length of the dialogue. Average reward is the average reward received during the conversation. There is a strong correlation among the three metrics: generally speaking, a good policy should have a high success rate, high average reward and low average turns. Here, we choose success rate

as our major evaluation metric.

4.2 Human Evaluation

We will also conduct human evaluation for the competition. We will ask human judges to interact with the final systems submitted by participants. Besides the measurements aforementioned, each user will also give a rating on a scale of 1 to 5 based on the naturalness, coherence, and task-completion capability of the system, at the end of each dialogue session.

Natural language Dialog Act
Movie-Ticket Booking Task
usr: Find me a good action movie this weekend. usr: request(moviename;genre=action;date=this weekend)
London Has Fallen is currently the number 1
action movie in America.
inform(moviename=london has fallen; other=
number 1; genre=action)
usr: Oh that sounds terrific. usr: confirm_answer()
Would you like to purchase tickets to this movie?
I would need to know what city you are in.
agt: request(city)
usr: Seattle usr: inform(city=seattle)
Which theater in Seattle should I search for
agt: request(theater;city=seattle)
usr: Regency or AMC please. usr:inform(theater_chain=amc#regency)
Around what time do you want to go,
and on which day?
agt: request(date)
usr: 9:30 pm any day this week. usr: inform(starttime=9:30 pm;date=this week)
London Has Fallen is showing at 9:45pm on
Wednesday at AMC Southcenter 16, is that
showing acceptable for you?
inform(moviename=london has fallen;
starttime= 9:45pm; date=wednesday; theater=
amc southcenter 16)
usr: yes that would be great. usr: confirm_answer()
agt: Excellent, how many tickets would you like? agt: request(numberofpeople)
usr: I want 2 tickets please! usr: inform(numberofpeople=2)
Restaurant Reservation
Im looking for a martini bar in Indianapolis.
request(restaurantname;food=martini bar;
Here is the restaurant I found: High Velocity.
Do you want to book?
request(reservation;restaurantname=High Velocity)
at what date would you like to go?
agt: request(date)
saturday night
usr: inform(date=Saturday night)
at what time would you like to go?
agt: request(starttime)
usr: inform(starttime=8pm)
how many people are going?
agt: request(numberofpeople)
usr: inform(numberofpeople=4)
Your reservation at High Velocity for 02/27/2016
08:00PM for 4 people under Joe Does has been
inform(taskcomplete;restaurantname=High Velocity;
personfullname=Joe Does)
Table 2: Annotated human-human dialog examples for the movie-ticket booking task and the restaurant reservation task. Left column shows natural language. Right column shows annotated dialog act form. (usr: User, agt: Agent)
New episode, user goal:
    "request_slots": {
       "ticket": "UNK"
    "diaact": "request",
    "inform_slots": {
       "city": "seattle",
       "numberofpeople": "2",
       "theater": "regal meridian 16",
       "starttime": "9:25 pm",
       "date": "tomorrow",
       "moviename": "zoolander 2"
New episode, user goal:
    "request_slots": {
       "ticket": "UNK"
       "theater": "UNK"
       "starttime": "UNK"
    "diaact": "request",
    "inform_slots": {
       "numberofpeople": "3",
       "date": "tomorrow",
       "moviename": "10 cloverfield lane"
Rule-based agent Rule-based Agent
usr: Can I get some tickets for zoolander 2? usr: What is the start time for 10 cloverfield lane?
agt: What movie are you interested in? agt: What movie are you interested in?
usr: I want to watch zoolander 2. usr: I want to watch at 10 cloverfield lane.
agt: What time would you like to see it? agt: What time would you like to see it?
usr: I want to watch at 9:25 pm. usr: What time is it playing tomorrow? I need 3 tickets.
agt: What city you would like? agt: What city you would like?
usr: I want to watch at seattle. usr: I do not care.
agt: What date would you like to watch it? agt: What date would you like to watch it?
usr: I want to set it up tomorrow. usr: I want to set it up tomorrow.
agt: Which theater would you like? agt: Which theater would you like?
usr: I want to watch at regal meridian 16. usr: Which theater is available?
agt: How many tickets do you need? agt: How many tickets do you need?
usr: I want 2 tickets please! usr: I want 3 tickets please!
agt: Great - I was able to purchase 2 tickets for
you to see zoolander 2 tomorrow at regal meridian 16
theater in seattle at 9:25 pm.
agt: Okay, I have booked 3 tickets for 10 cloverfield
lane tomorrow.
usr: Thank you. usr: Thank you.
agt: Thank you. agt: Thank you.
Failure: Agent does not answer all the questions
(starttime, theater) from user.
RL agent RL Agent
usr: Can I get tickets for zoolander 2 tomorrow?
usr: Which theater can I book 3 tickets for
10 cloverfield lane?
agt: Which city would you like? agt: What time would you like to see it?
usr: I want to watch at seattle.
usr: Which theater and start time are available
agt: How many tickets do you need? agt: 11:45am is available.
usr: I want 2 tickets please! usr: Which theater is available?
agt: 9:25 pm is available. agt: regal la live stadium 14 is available.
usr: I want to watch at regal meridian 16. usr: Could you help me to book the tickets?
agt: Great - I was able to purchase 2 tickets for
you to see zoolander 2 tomorrow at regal meridian 16
theater in seattle at 9:25 pm.
agt: Okay - I was able to book 3 tickets for you to
see 10 cloverfield lane at regal la live stadium 14 at
11:45am tomorrow.
usr: Thank you. usr: Thank you
agt: Thank you. agt: Thank you
Success Success
Table 3: Two sample dialogs generated by a rule-based agent and an RL agent with user simulator. Left column shows scenarios where both the rule-based and RL-based agents succeed. Right column shows scenarios where the rule-based agent fails, while the RL agent succeeds.(usr: User, agt: Agent)