Task-Oriented Dialogue as Dataflow Synthesis

Transactions of the Association for Computational Linguistics | , Vol 8: pp. 556-571

View Publication | View Publication

We describe an approach to task-oriented dialogue in which dialogue state is represented as a dataflow graph. A dialogue agent maps each user utterance to a program that extends this graph. Programs include metacomputation operators for reference and revision that reuse dataflow fragments from previous turns. Our graph-based state enables the expression and manipulation of complex user intents, and explicit metacomputation makes these intents easier for learned models to predict. We introduce a new dataset, SMCalFlow, featuring complex dialogues about events, weather, places, and people. Experiments show that dataflow graphs and metacomputation substantially improve representability and predictability in these natural dialogues. Additional experiments on the MultiWOZ dataset show that our dataflow representation enables an otherwise off-the-shelf sequence-to-sequence model to match the best existing task-specific state tracking model. The SMCalFlow dataset, code for replicating experiments, and a public leaderboard are available at https://www.microsoft.com/en-us/research/project/dataflow-based-dialogue-semantic-machines.

Publication Downloads

Dataflow-Based Dialogue

August 26, 2020

Code and data for building dataflow-based conversational agents. Accompanying paper: Task-Oriented Dialogue as Dataflow Synthesis (TACL 2020).

Download Data

Task-Oriented Dialogue as Dataflow Synthesis [Video]

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/.

Task-Oriented Dialogue as Dataflow Synthesis: A Deeper Dive

Invited workshop talk by Semantic Machines about our TACL 2020 paper. Paper, blog post, dataset, and a shorter version of this talk are at https://www.microsoft.com/en-us/research/project/semantic-machines/.