Simulating Task-Oriented Dialogues with State Transition Graphs and Large Language Models

Chris Samarinas, Pracha Promthaw, Atharva Nijasure, Hansi Zeng, Julian Killingback +1 more
4/23/2024
cs.CL

No official code found. Best implementation: algoprog/SynTOD (23 stars, last commit 2024-07-17).

Abstract

This paper explores SynTOD, a new synthetic data generation approach for developing end-to-end Task-Oriented Dialogue (TOD) Systems capable of handling complex tasks such as intent classification, slot filling, conversational question-answering, and retrieval-augmented response generation, without relying on crowdsourcing or real-world data. SynTOD utilizes a state transition graph to define the desired behavior of a TOD system and generates diverse, structured conversations through random walks and response simulation using large language models (LLMs). In our experiments, using graph-guided response simulations leads to significant improvements in intent classification, slot filling and response relevance compared to naive single-prompt simulated conversations. We also investigate the end-to-end TOD effectiveness of different base and instruction-tuned LLMs, with and without the constructed synthetic conversations. Finally, we explore how various LLMs can evaluate responses in a TOD system and how well they are correlated with human judgments. Our findings pave the path towards quick development and evaluation of domain-specific TOD systems. We release our datasets, models, and code for research purposes.

View on arXivView PDF

Code Implementations(1)

algoprog/SynTODCommunity100%

Synthetic data generation for TODs

231Shell, PythonAug 30, 20232 years ago
data-generationllmstask-oriented-dialogue

Similar Papers

Cite this paper

@article{samarinas2024simulating,
  title  = {Simulating Task-Oriented Dialogues with State Transition Graphs and Large Language Models},
  author = {Chris Samarinas and Pracha Promthaw and Atharva Nijasure and Hansi Zeng and Julian Killingback and Hamed Zamani},
  year   = {2024},
  eprint = {2404.14772},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2404.14772v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2404.14772.svg)](https://codeofpaper.com/paper/2404.14772)

Discussion