--- library_name: transformers tags: - LLM - Spoken Dialogue Generation - Conversational Behavior license: llama3.2 datasets: - yhytoto12/behavior-sd language: - en base_model: - meta-llama/Llama-3.2-1B pipeline_tag: text-generation --- # 🎙️ Behavior-SD Official repository for our **NAACL 2025** paper: Behavior-SD: Behaviorally Aware Spoken Dialogue Generation with Large Language Models [Sehun Lee*](https://yhytoto12.github.io/), [Kang-wook Kim*](https://kwkim.me/), [Gunhee Kim](https://vision.snu.ac.kr/gunhee/) (* Equal contribution) > 🏆 **SAC Award Winner** in Speech Processing and Spoken Language Understanding ## 🔗 Links - 🌐 [**Project Page**](https://yhytoto12.github.io/Behavior-SD) - 🤗 [**Dataset**](https://huggingface.co/datasets/yhytoto12/behavior-sd) - 🤖 [**Model**](https://huggingface.co/yhytoto12/BeDLM-1B) - 📄 [**Paper**](https://aclanthology.org/2025.naacl-long.484/) ## 💥 Updates - `2025-09-22`: Released the 🤗 [BeDLM](https://huggingface.co/yhytoto12/BeDLM-1B) and its streamlit demo. - `2025-04-27`: Released the 🤗 [Behavior-SD](https://huggingface.co/datasets/yhytoto12/behavior-sd) dataset. ## 📖 Overview We explore how to generate natural, behaviorally-rich full-duplex spoken dialogues using large language models (LLMs). We introduce: - **Behavior-SD** Dataset: 108K full-duplex dialogues (2,164 hours) with rich speaker-wise behavioral annotations. - **BeDLM**: A novel end-to-end LLM-based spoken dialogue generator conditioned on narrative and behavioral traits.

Unlike existing spoken dialogue datasets that neglect full-duplex dynamics (e.g., interruptions, backchannels), Behavior-SD captures and models realistic conversational behaviors, enabling more natural and human-like spoken dialogues. ## 📂 Dataset Behavior-SD provides large-scale, behavior-annotated spoken dialogues. - Download from huggingface ```python from datasets import load_dataset # Load the Behavior-SD dataset using streaming mode (recommended for large datasets) dataset = load_dataset( "yhytoto12/behavior-sd", split="train", # "validation" or "test" streaming=True ) # Example: Iterate over the dataset for i, example in enumerate(dataset): print(example) break ``` - Data Structure ```JSON { "soda_split": "train", "soda_index": 4, "narrative": "Cornell knows what Dontrell is thinking...", "speakers": ["Cornell", "Dontrell"], "behaviors": [ {"utterance_length": 0, "filler_words": 0, "backchannels": 0, "interruptions": 2}, {"utterance_length": 0, "filler_words": 2, "backchannels": 0, "interruptions": 0} ], "num_turns": 10, "utterances": [ { "uttr_idx": 0, "uttr_type": null, "speaker_idx": 1, "speaker": "Dontrell", "tts_text": "So, I was thinking... um... we should probably plan...", "dur_samples": 60672, "start_time": 0.0, "end_time": 2.75156462585034 }, ... ], "tts_speaker_ids": ["0001024622_0", "0000805189_1"], "tts_genders": ["female", "male"], "statistics": { "num_utterances": [5, 5], "num_turntaking": [5, 4], "durations": [5.53, 25.35], "num_interruptions": [2, 0], "num_backchannels": [0, 0], "num_filler_words": [0, 8] } } ``` Behavior annotations are provided at utterance and speaker levels, enabling fine-grained control and analysis. ## 🤖 BeDLM We introduce BeDLM, a novel LLM-based spoken dialogue generator that produces behaviorally rich dialogues conditioned on narrative and speaker behaviors.

- Our pretrained BeDLM can be found at 🤗 [Hugging Face](https://huggingface.co/yhytoto12/BeDLM-1B). - The model is Llama3.2-1B fine-tuned on Behavior-SD. - The vocoders can be found at [Google Drive](https://drive.google.com/drive/folders/1jtEFBbte3W1JMLL-_22nRhdueG5gIL-k?usp=sharing). ### 🚀 Streamlit Demo ```bash conda create -n BeDLM python=3.10 conda activate BeDLM pip install -r requirements.txt # Download the pretrained vocoder model and place it in `ckpts/vocoders` mkdir -p ckpts/vocoders # Run the demo streamlit run demo.py ``` ## 📌 Citation If you find our work useful, please consider citing us: ```bib @inproceedings{lee-and-kim@behaviorsd, title = {Behavior-SD: Behaviorally Aware Spoken Dialogue Generation with Large Language Models}, author = {Sehun Lee, Kang-wook Kim, Gunhee Kim}, booktitle = {Proceedings of the 2025 Annual Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics}, year = {2025}, url = {https://aclanthology.org/2025.naacl-long.484/} } ```