Task-Oriented Dialogue as Dataflow Synthesis

Microsoft Research · Advanced ·📄 Research Papers Explained ·5y ago

Key Takeaways

This video discusses the concept of task-oriented dialogue as dataflow synthesis, presented by Microsoft Research at EMNLP 2020, covering topics such as dialogue state representation, data flow graphs, and meta computation nodes. The talk highlights the use of tools like Wizard of Oz and the SmCalFlow dataset to collect and analyze dialogues, and introduces techniques like retrieval augmented generation and fine-tuning to improve dialogue systems.

Full Transcript

hey what's up my calendar today your tackle talk started eight seconds ago already is jason free to help between now and the end of the talk yes he's free now invite him and his manager right away okay i've invited them actually invite the whole team okay i've added 42 other people to the meeting would you like to join let's do it you are now in the talk hey what's this talk about anyway it's about representing task-oriented dialogues like this one so supporting natural spoken interaction turns out to be really hard to explore this problem we collected dialogues using wizard of oz we're releasing a large data set which we'll show you later we found that when you give users freedom they have all kinds of language behaviors these task oriented dialogues didn't follow any set script to annotate them we needed a way to represent these natural conversations slot filling wasn't enough because our users didn't just answer who what when and where they often requested computations of new values or referred back to existing values like dance and the talk or they revised old computations like when dan changed his mind and said invite the whole team to support the full range of user requests we represent the dialogue state as a data flow graph a history of all the grounded computations that are performed during the dialogue some computations are new while others reach back and retrieve or transform earlier computations there are 45 authors on this paper researchers engineers designers and data specialists and we've been having a lot of fun working on this we hope you'll enjoy watching the team talk through key aspects of our approach more formal details around the paper dance conversation at the beginning of a talk started with a simple question what's on my calendar today that's easy we've known for decades how to build command and control system for formulaic inputs exactly list out all of the intents and slots for each intent then just learn how to predict those things from the user utterances but that will break down pretty quickly have you ever seen this intent before i mean what is this intent is x3 between now and the end of y those are weird slots it's not really one intent anymore now the dialog agent has several tasks it needs to figure out who jason is look up the event compare times on a calendar and then say the right thing back to the user these all have to link up somehow the semantic parsing literature does have a huge body of work about predicting descriptions of complex and compositional computations but how do we turn a semantic parser into a general purpose dialog system well dan's request is naturally formulated as a program which we can represent as a data flow graph a dialog agent just needs to predict a graph like this after every turn but the graph isn't a representation of the meaning of the user's utterance instead it's a representation of what the agent should do in response right so the structure of the agent's program may not mirror the syntactic structure of the user's request there will be discrepancies although we should try to minimize them to make prediction easier hang on dan didn't actually say the words my tackle talk he just asked about his calendar and it was the bot that mentioned the talk so in dan's next question he could simply refer to it as the talk so i don't think these requests are independent these programs are chained together somehow yeah the two speakers are cumulatively constructing a more complex computation it's really collaborative programming through dialogue the speakers can each extend the data flow graph bringing new entities into play or encouraging the other speaker to do so in fact that's why it's useful to represent programs as dataflow graphs we're just reifying all the intermediate computations as graph nodes that can be referenced later in the dialog eventually maybe the nodes can include shared goals and plans hey guys this could really help language generation too each data flow node records how it was computed so the agent can spell out how it got its answer this means that we can say complicated new things just like we can understand complicated new things we just need to express the right level of detail that's awesome it's going to need its own talk though okay so back to language understanding what actually happens when the user asks when does the talk end how do we connect that back to the previous graph this isn't so hard right if semantic parsing is about synthesizing computation graphs dialogue should be about transforming computation graphs we need a notion of meta computation a regular computation node goes and queries things like an external database but a meta computation node can query the dialogue history itself so a phrase like the talk predicts a meta computation node that goes ahead and finds a previously mentioned talk why not just directly predict which old nodes to copy a lot of contextual semantic parsers use a copy mechanism a copy mechanism might handle some of this but the values you want aren't always in the dialogue history let's think about another example what's the weather like means that you want the weather here and now by default but when some time and place are already under discussion you want the weather then and there if you take a step back what's the weather going to be like is always a question about the most salient time and place it's just like when you use a name or a pronoun which laura did you mean well the laura that you were talking about but if the agent can't find any laura in the dialogue history it's probably the lore that you know best which would come from a database okay so let's package this up as a matter computation operator we introduce a data flow function called refer it finds the most resilient thing that matches some description this makes the learning problem easier it's not easy for the dialogue agent to predict a program that looks up the most salient person named laura that search depends on both the dialogue context and every interaction you've ever had with someone named laura but now laura predictably turns into a new dataflow node that says find a salient laura and we can train a separate salience model to make that decision and here we can take advantage of a huge body of existing literature on tasks like correference and bridging an offer reference resolution is really hard so it's good to separate it out david said earlier that dialogue is about transforming computation graphs i see that our semantic parse can use the reference operator to query the dialog history just like querying a database but you can also modify a database so how about modifying the history this is also important users change their mind all the time like when dan invited the whole team for utterances like this we need to edit a note's parents or maybe it's grandparents that's another kind of meta computation called the revision operator when you evaluate it decides how to update the old computation and re-execute it wait don't try to rewrite history keep the old nodes around they're still salient users might still refer to them with pronouns so we need a non-destructive revision operator it'll just add an updated version of the old computation copy on right so the graph will still remember both versions actually this revision mechanism seems really powerful is there anything else we can use this for other than users who change their mind sure how about users who make a mistake or users who leave something out either way the program will throw an exception so the bot has to complain or maybe ask a polite question great now when the user reacts anything that looks like an answer in this context is probably a request to fix the graph and we can learn that from training data yeah it's not like the dialogue state manager is in a state that demands an answer the user says whatever they want and we predict what we should compute in response right sometimes we'll predict a brand new intent but if the user was only providing a new constraint we should predict a little program that will revise it into the correct place and then we'll run that revised program these two meta-computation operations are obviously not enough to compactly represent all possible discourse phenomena but as we'll see they seem to cover a large fraction of the cases that come up in real dialogues so in summary everything that happens is added to the data flow graph it's a record of the dialogue history all of the computations that were predicted in response to the user which include things they asked for things we did and things we said back to them the dialogue agent is just a learned model that looks at the current data flow graph and a new user utterance and produces new nodes to add to that dataflow graph these new nodes could be new values new functions of all values references to old values or revisions of old computations won't these graphs get big yeah they can let's take a look so to train our dialogue agent we'll need a supervised data set conversations about real stuff where each user utterance is annotated with the subgraph we should add in response where do we get this data don't worry we've got data to evaluate this approach we collected a new data set called sm cal flow consisting of more than forty thousand dialogues between a user and an agent each turn in this data set is annotated with a dataflow program we put crowd workers in over a hundred scenarios to play the part of the user we had more experienced wizards of oz steer our systems response choosing what it says and why conversations involve diverse complex user goals and lots of cross-domain interaction there's lots of hard stuff in sm cal flow that doesn't show up in existing data sets like users who are unfamiliar with the system's capabilities overall this is the largest and the most complex task oriented dialog data set currently available what can we really use these data to learn to do all those complicated things we were talking about a couple of slides back we can a basic seek to seek model improves by ten percent when we add our meta computation and operators to a copy based baseline and it doesn't just help on our data set in addition to sm cal flow we're releasing a meta computation version of multi-was where we see similar improvements of course there's a ton of interesting structure in this problem that c2c doesn't know about and we could use pre-training or multitasking or indirect supervision i wish we had time to get into that today yes this is a rich problem and we certainly haven't solved everything audience if you are interested in exploring the sm calf flow data set we have set up a leaderboard where you can beat our business model and compare to other submissions we made it i get to relax now right the next event is a talk at the interactive and executable semantic parsing workshop on november 19th after that you have generation paper planning i guess we'd better get started oh could you please show a picture of all the amazing people who worked on this of course thanks for watching everyone

Original Description

Talk by Semantic Machines at EMNLP 2020 on our TACL paper. Paper, blog post, dataset, and a longer version of this talk are at https://www.microsoft.com/en-us/research/project/semantic-machines/.
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Microsoft Research · Microsoft Research · 0 of 60

← Previous Next →
1 Frontiers in ML: Learning from Limited Labeled Data: Challenges and Opportunities for NLP
Frontiers in ML: Learning from Limited Labeled Data: Challenges and Opportunities for NLP
Microsoft Research
2 Frontiers in Machine Learning: Climate Impact of Machine Learning
Frontiers in Machine Learning: Climate Impact of Machine Learning
Microsoft Research
3 Frontiers in Machine Learning: Security and Machine Learning
Frontiers in Machine Learning: Security and Machine Learning
Microsoft Research
4 Hope Speech and Help Speech: Surfacing Positivity Amidst Hate
Hope Speech and Help Speech: Surfacing Positivity Amidst Hate
Microsoft Research
5 Early Indicators of the Effect of the Global Shift to Remote Work on People with Disabilities
Early Indicators of the Effect of the Global Shift to Remote Work on People with Disabilities
Microsoft Research
6 Remote Work and Well-Being
Remote Work and Well-Being
Microsoft Research
7 Challenges and Gratitude of Software Developers During COVID-19 Working From Home
Challenges and Gratitude of Software Developers During COVID-19 Working From Home
Microsoft Research
8 Towards a Practical Virtual Office for Mobile Knowledge Workers
Towards a Practical Virtual Office for Mobile Knowledge Workers
Microsoft Research
9 Impact of COVID-19 crisis on the future of work in India
Impact of COVID-19 crisis on the future of work in India
Microsoft Research
10 Empowering and Supporting Remote Software Development Team Members through a Culture of Allyship
Empowering and Supporting Remote Software Development Team Members through a Culture of Allyship
Microsoft Research
11 How Work From Home Affects Collaboration: Information Workers in a Natural Experiment During COVID19
How Work From Home Affects Collaboration: Information Workers in a Natural Experiment During COVID19
Microsoft Research
12 Phong Surface: Efficient 3D Model Fitting using Lifted Optimization
Phong Surface: Efficient 3D Model Fitting using Lifted Optimization
Microsoft Research
13 Managing Tasks Across the Work-Life Boundary: Opportunities, Challenges, and Directions
Managing Tasks Across the Work-Life Boundary: Opportunities, Challenges, and Directions
Microsoft Research
14 Microsoft Urban Futures Summer Workshop | Data Driven Urban Transformation [Day 1]
Microsoft Urban Futures Summer Workshop | Data Driven Urban Transformation [Day 1]
Microsoft Research
15 Microsoft Urban Futures Summer Workshop | Sensors and Data [Day 2]
Microsoft Urban Futures Summer Workshop | Sensors and Data [Day 2]
Microsoft Research
16 Microsoft Urban Futures Summer Workshop | Policy and Social Impact [Day 3]
Microsoft Urban Futures Summer Workshop | Policy and Social Impact [Day 3]
Microsoft Research
17 Directions in ML: Algorithmic foundations of neural architecture search
Directions in ML: Algorithmic foundations of neural architecture search
Microsoft Research
18 MineRL Competition 2020
MineRL Competition 2020
Microsoft Research
19 Can we make better software by using ML and AI techniques? With Chandra Maddila and Chetan Bansal
Can we make better software by using ML and AI techniques? With Chandra Maddila and Chetan Bansal
Microsoft Research
20 From Paper to Product
From Paper to Product
Microsoft Research
21 SkinnerDB: Regret Bounded Query Evaluation using RL
SkinnerDB: Regret Bounded Query Evaluation using RL
Microsoft Research
22 From SqueezeNet to SqueezeBERT: Developing Efficient Deep Neural Networks
From SqueezeNet to SqueezeBERT: Developing Efficient Deep Neural Networks
Microsoft Research
23 Programming with Proofs for High-assurance Software
Programming with Proofs for High-assurance Software
Microsoft Research
24 Platform for Situated Intelligence Overview
Platform for Situated Intelligence Overview
Microsoft Research
25 Directional Sources & Listeners in Interactive Sound Propagation using Reciprocal Wave Field Coding
Directional Sources & Listeners in Interactive Sound Propagation using Reciprocal Wave Field Coding
Microsoft Research
26 Galactic Bell Star Music Demo
Galactic Bell Star Music Demo
Microsoft Research
27 Importing Animations in Microsoft Expressive Pixels (9 of 9)
Importing Animations in Microsoft Expressive Pixels (9 of 9)
Microsoft Research
28 Welcome to Microsoft Expressive Pixels (1 of 9)
Welcome to Microsoft Expressive Pixels (1 of 9)
Microsoft Research
29 Getting Started with Microsoft Expressive Pixels (2 of 9)
Getting Started with Microsoft Expressive Pixels (2 of 9)
Microsoft Research
30 Creating an Image in Microsoft Expressive Pixels (3 of 9)
Creating an Image in Microsoft Expressive Pixels (3 of 9)
Microsoft Research
31 Creating Animations in Microsoft Expressive Pixels (4 of 9)
Creating Animations in Microsoft Expressive Pixels (4 of 9)
Microsoft Research
32 Managing Animation Galleries in Microsoft Expressive Pixels (5 of 9)
Managing Animation Galleries in Microsoft Expressive Pixels (5 of 9)
Microsoft Research
33 Creating Fragments in Microsoft Expressive Pixels (6 of 9)
Creating Fragments in Microsoft Expressive Pixels (6 of 9)
Microsoft Research
34 Using Layers in Microsoft Expressive Pixels (7 of 9)
Using Layers in Microsoft Expressive Pixels (7 of 9)
Microsoft Research
35 Exporting Animations with Microsoft Expressive Pixels (8 of 9)
Exporting Animations with Microsoft Expressive Pixels (8 of 9)
Microsoft Research
36 What Kind of Computation is Human Cognition? A Brief History of Thought (Episode 2/2)
What Kind of Computation is Human Cognition? A Brief History of Thought (Episode 2/2)
Microsoft Research
37 What Kind of Computation is Human Cognition? A Brief History of Thought (Episode 1/2)
What Kind of Computation is Human Cognition? A Brief History of Thought (Episode 1/2)
Microsoft Research
38 Planeverb: Interactive sound propagation for dynamic scenes using 2D wave simulation
Planeverb: Interactive sound propagation for dynamic scenes using 2D wave simulation
Microsoft Research
39 Making cryptography accessible, efficient, and scalable with Dr. Divya Gupta and Dr. Rahul Sharma
Making cryptography accessible, efficient, and scalable with Dr. Divya Gupta and Dr. Rahul Sharma
Microsoft Research
40 Beyond the mega-data center: networking multi-data center regions (SIGCOMM 2020 Talk)
Beyond the mega-data center: networking multi-data center regions (SIGCOMM 2020 Talk)
Microsoft Research
41 Optics for the cloud – Light at the end of the tunnel? (SIGCOMM 2020 Workshop)
Optics for the cloud – Light at the end of the tunnel? (SIGCOMM 2020 Workshop)
Microsoft Research
42 Beyond the mega-data center: networking multi-data center regions (SIGCOMM 2020 short talk)
Beyond the mega-data center: networking multi-data center regions (SIGCOMM 2020 short talk)
Microsoft Research
43 Sirius: A Flat Datacenter Network with Nanosecond Optical Switching (SIGCOMM 2020 short talk)
Sirius: A Flat Datacenter Network with Nanosecond Optical Switching (SIGCOMM 2020 short talk)
Microsoft Research
44 Novel Image Captioning
Novel Image Captioning
Microsoft Research
45 Forest Sound Scene Simulation and Bird Localization with Distributed Microphone Arrays
Forest Sound Scene Simulation and Bird Localization with Distributed Microphone Arrays
Microsoft Research
46 Decoding Music Attention from “EEG headphones”: a User-friendly Auditory Brain-computer Interface
Decoding Music Attention from “EEG headphones”: a User-friendly Auditory Brain-computer Interface
Microsoft Research
47 How does holographic storage work?
How does holographic storage work?
Microsoft Research
48 The physics of hologram formation in iron doped lithium niobate
The physics of hologram formation in iron doped lithium niobate
Microsoft Research
49 Introduction to coax: A Modular RL Package
Introduction to coax: A Modular RL Package
Microsoft Research
50 Directions in ML: "Neural architecture search: Coming of age"
Directions in ML: "Neural architecture search: Coming of age"
Microsoft Research
51 Microsoft Research AI Breakthroughs 2020: 20 minute research talks + Q&A panel
Microsoft Research AI Breakthroughs 2020: 20 minute research talks + Q&A panel
Microsoft Research
52 Fireside Chat with Johannes Gehrke during Microsoft Research AI Breakthroughs 2020
Fireside Chat with Johannes Gehrke during Microsoft Research AI Breakthroughs 2020
Microsoft Research
53 Fireside Chat with Susan Dumais during Microsoft Research AI Breakthroughs 2020
Fireside Chat with Susan Dumais during Microsoft Research AI Breakthroughs 2020
Microsoft Research
54 Microsoft Research AI Breakthroughs 2020: 20 minute research talks, Q&A panel, and event wrap-up
Microsoft Research AI Breakthroughs 2020: 20 minute research talks, Q&A panel, and event wrap-up
Microsoft Research
55 Clinical Research with FHIR
Clinical Research with FHIR
Microsoft Research
56 Soundscape Street Preview
Soundscape Street Preview
Microsoft Research
57 Tilt-Responsive Techniques for Digital Drawing Boards
Tilt-Responsive Techniques for Digital Drawing Boards
Microsoft Research
58 SurfaceFleet: Exploring Distributed Interactions Unbounded from Device, Application, User, and Time
SurfaceFleet: Exploring Distributed Interactions Unbounded from Device, Application, User, and Time
Microsoft Research
59 Haptic PIVOT: On-Demand Handhelds in VR
Haptic PIVOT: On-Demand Handhelds in VR
Microsoft Research
60 SurfaceFleet Supplemental Video Demonstration (UIST 2020)
SurfaceFleet Supplemental Video Demonstration (UIST 2020)
Microsoft Research

This video teaches how to represent dialogue state as a data flow graph and use meta computation nodes to improve dialogue systems. It covers the use of tools like Wizard of Oz and the SmCalFlow dataset, and introduces techniques like retrieval augmented generation and fine-tuning. By watching this video, viewers can learn how to design and implement task-oriented dialogue systems.

Key Takeaways
  1. Represent dialogue state as a data flow graph
  2. Predict a graph after every turn to determine response
  3. Use meta computation nodes to transform computation graphs
  4. Introduce a reference operator to find the most salient thing
  5. Introduce a revision operator to update and re-execute old computations
💡 The use of dataflow graphs and meta computation nodes can significantly improve the performance of task-oriented dialogue systems.

Related Reads

📰
Follow-up: The ArxivLens Protocol: Transforming Research Nois
Learn how to apply the ArxivLens Protocol to create dynamic grant-allocation pools that rebalance based on citation-impact signals, transforming research noise into actionable insights
Dev.to AI
📰
On July 1, 2026, arXiv will spin out from Cornell University, its home for the past 25 years, to become an independent nonprofit organization. Major funding support from Simons Foundation and Schmidt Sciences. Ditching the red for their website. [N]
arXiv is becoming an independent nonprofit organization after 25 years at Cornell University, backed by major funding, which will impact the future of research and academia
Reddit r/MachineLearning
📰
CS-NRRM™ Official Publications: Paper 1 and Paper 2 Are Now Available
Learn about the CS-NRRM's official publications on a 12-year longitudinal human observation archive and its significance in research and development
Medium · Data Science
📰
Found a potential mistake in an ICLR 2026 blogpost [D]
Verify a potential mistake in an ICLR 2026 blog post and learn how to effectively report errors in academic publications
Reddit r/MachineLearning
Up next
The Open-Source AI Quietly Disrupting Healthcare!
PlivoAI
Watch →