Structured Task-Oriented Representation Model for Intent Triggerability
in Task-Oriented Dialogue Systems
Welcome to the official repository for STORM, a framework that models asymmetric information dynamics between user and agent LLMs to track and trigger user intents effectively in task-oriented dialogue.
Yaoyao Qian
Jindan Huang
Yuanli Wang
Simon Yu
Kyrie Zhixuan Zhou
Jiayuan Mao
Mingfu Liang
Hanhan Zhou
Northeastern University
Tufts University
Boston University
University of Texas at San Antonio
Massachusetts Institute of Technology
Northwestern University
George Washington University
📧 Corresponding author: Yaoyao Qian
- Asymmetric dialogue generation using separate LLM models
- RAG (Retrieval-Augmented Generation) support
- Emotional state and intent tracking
- Inner thoughts generation
- Comprehensive dialogue analysis and reporting
- Batch processing capabilities
- Profile-based dialogue generation
storm/
├── src/ # Core source code
├── scripts/ # Utility scripts
│ ├── setup.sh # Environment setup script
│ ├── run_demo.sh # Demo dialogue generation
│ ├── run_convert.sh # Data conversion utilities
│ ├── run_profile_generate.sh # Profile generation
│ ├── run_turn_analysis.sh # Turn-by-turn analysis
│ ├── import_and_test_rag.sh # RAG system setup and testing
│ └── run_batch_dialogues.sh # Batch dialogue generation
├── example_data/ # Sample data and configurations
├── tests/ # Test suite
└── requirements.txt # Python dependencies
If you want to run it, please move the example_data/profiles
folder to the root directory first.
-
Clone the repository:
cd storm
-
Run the setup script:
./scripts/setup.sh
-
Set your API keys:
export OPENAI_API_KEY='your_openai_api_key' export OPENROUTER_API_KEY='your_openrouter_api_key'
setup.sh
: Initializes the environment and installs dependenciesrun_profile_generate.sh
: Generates user profiles for dialogue generation
run_demo.sh
: Runs a single dialogue generation demorun_batch_dialogues.sh
: Processes multiple dialogues in batch moderun_turn_analysis.sh
: Analyzes dialogue turns and generates reports
import_and_test_rag.sh
: Sets up and tests the RAG systemrun_convert.sh
: Converts and processes dialogue data
./scripts/run_demo.sh
./scripts/run_batch_dialogues.sh
./scripts/import_and_test_rag.sh
We gratefully acknowledge the 🐪 CAMEL codebase for providing essential resources that supported this work.
If you use this work, please cite our paper:
@misc{qian2025actwaitmodelingstructural,
title={WHEN TO ACT, WHEN TO WAIT: Modeling Structural Trajectories for Intent Triggerability in Task-Oriented Dialogue},
author={Yaoyao Qian and Jindan Huang and Yuanli Wang and Simon Yu and Kyrie Zhixuan Zhou and Jiayuan Mao and Mingfu Liang and Hanhan Zhou},
year={2025},
eprint={2506.01881},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.01881}
}
For questions, bug reports, or collaboration inquiries, please contact:
Yaoyao(Freax) Qian — qian.ya@northeastern.edu