
#Full-duplex spoken dialogue systems
#turn taking detection
#음향과 언어를 함께 써서, 더 자연스러운 대화를 만들 수 있을까?
최근 spoken dialogue system은 단순히 “질문하면 대답하는” 반응형 구조를 넘어서, 사람이 말하는 도중에도 듣고 판단하고 적절한 순간에 응답하는 full-duplex interaction으로 빠르게 넘어가고 있습니다. 그런데 이때 중요한 요소 중에 하나는 지금 시스템이 말해야 하는지 혹은 계속 들어야 하는지를 정확히 판단하는 것입니다. (turn-taking detection)
저자들은 기존 오픈소스 접근이 너무 크거나, 음성 또는 텍스트 한쪽만 보는 단일 모달 구조라는 한계를 지닌다고 보고, acoustic + linguistic bimodal information을 함께 쓰는 Easy Turn 모델과 1,145시간규모의 turn-taking 데이터셋을 동시에 제안합니다.
Turn-taking detection이란?
사용자가 말을 “끝낸 것인지”, “잠깐 멈춘 것인지”, “맞장구만 친 것인지”, 혹은 “시스템에게 멈추라고 한 것인지”를 판별해서, 시스템의 다음 행동을 결정하는 모듈입니다. 이 논문은 이를 complete / incomplete / backchannel / wait의 4가지 상태로 정의합니다.
이 논문이 짚는 기존 방법의 한계는 다음과 같습니다.
첫째, TEN Turn Detection은 텍스트 기반 의미 해석은 가능하지만 Qwen2.5-7B를 써서 무겁고, 음성 입력을 직접 받지 못해 앞단 ASR이 필요합니다. (ASR 과정에서 acoustic information 잃어버림)
둘째, Smart Turn V2는 빠르고 가볍지만 음성만 입력으로 받고 complete / incomplete 두 상태만 분류하기 때문에 의미적 맥락을 충분히 반영하기 어렵습니다.
셋째, LLM backbone 자체를 full-duplex하게 만드는 end-to-end 접근은 매력적이지만, 이를 위해 필요한 대규모 고품질 full-duplex 데이터가 공개 형태로 거의 없다는 문제가 있습니다.
이 논문의 해법은 다음과 같습니다.
“음향 정보만으로도 부족하고, 텍스트 정보만으로도 부족하다. 둘을 함께 보자.”
그래서 Easy Turn은 사용자의 speech를 입력받아, 먼저 ASR transcription을 생성하고, 그 과정에서 얻은 linguistic 정보와 acoustic representation을 결합해 turn state를 예측합니다. 즉, 이 논문은 turn-taking을 단순 classifier 문제로 보지 않고, ASR + state prediction이 연결된 멀티모달 이해 문제로 재정의합니다.


Input : 사용자의 음성 (speech)
별도의 ASR을 앞단에 두지 않고 음성을 직접 받습니다. 이게 논문에서 주장하기로 TEN Turn Detection 대비 장점으로 강조되는 부분입니다. TEN Turn Detection은 텍스트만 받기 때문에 ASR을 거쳐야 하고, 그 과정에서 acoustic 정보(억양, 멈춤, 말끝 흐려짐 등)가 손실되는 문제가 있을 수 있기 때문입니다.
Output
두 가지를 동시에 출력합니다:
(1) ASR transcription - 입력 음성에 대한 텍스트 전사
(2) Dialogue turn state - 네 가지 중 하나로 분류
이 논문의 큰 기여 중 하나는 모델만이 아니라 Easy Turn Corpus를 함께 공개한다는 점입니다. 2페이지 Figure 1을 보면, 데이터 구축 파이프라인이 real data와 synthetic data 두 축으로 나뉘어 설계되어 있습니다.

Trainset은 총 1,145시간이며, Table 1기준으로
즉, entry 수 기준으로는 incomplete가 가장 많고, backchannel과 wait는 상대적으로 작습니다.
그 외

(1) Qwen2.5-7B 같은 대형 모델이 아니라 0.5B를 선택해, turn-taking이라는 비교적 간단한 목적에 맞게 경량화와 실용성을 챙깁니다.
(2) Whisper는 음성 자체의 pause, prosody, hesitation 같은 acoustic cue를 포착하고, 생략된 transcript는 semantic completeness를 반영하므로, 두 모달리티가 서로 보완되도록 설계되었습니다.
LLM이 먼저 ASR transcription을 생성하고, 이어서 acoustic feature와 결합해 complete / incomplete / backchannel / wait를 순차적으로 예측합니다. 저자들은 이를 위해 자연어 prompt를 사용하고, DeepSeek V3가 생성한 5개의 후보 prompt 중 하나를 학습 중 랜덤 샘플링해 robustness를 높였다고 설명합니다.
이 부분이 중요한 이유는, 기존 acoustic-only classifier가 잘 보기 어려운 “의미적으로 아직 문장이 안 끝났는가?” 같은 문제를 transcript가 보완해주기 때문입니다. 반대로 text-only 방식은 pause나 짧은 맞장구의 음향적 특성을 놓치기 쉬운데, Easy Turn은 이를 음향 표현으로 메웁니다.
학습은 2단계로 진행됩니다.
(1) 먼저 modality alignment training 단계에서, Aishell1/2, WenetSpeech, 내부 ASR 데이터를 포함한 23,000시간 규모의 ASR 데이터로 acoustic-linguistic alignment를 맞춥니다. 이때는 LLM을 freeze하고 encoder와 adaptor만 학습합니다.
(2) 이후 두 번째 단계에서는 Easy Turn trainset으로 turn-taking 전용 학습을 수행하며, 이때는 encoder / adaptor / LLM 전체를 full fine-tuning합니다.
처음부터 turn-taking만 학습시키면 음성과 텍스트 정렬이 약할 수 있는데, 먼저 대규모 ASR로 representation alignment를 만든 뒤, 그 위에서 downstream turn policy를 얹는 구조입니다.
Testset은 총 800개 샘플로 구성됩니다.
real : synthetic = 1 : 1로 맞췄고, trainset 외부 출처의 transcription을 사용해 독립성을 확보하려고 했습니다.
또 state annotation은 수동 라벨링으로 진행합니다.
비교 대상은 두 오픈소스 모델입니다.
하나는 Paraformer + TEN Turn Detection, 다른 하나는 Smart Turn V2입니다. 평가 지표는 각 상태별 accuracy와 함께, 모델 크기, 평균 latency, GPU memory usage를 함께 봅니다.

