The Hard Cases in Speaker Diarization: Overlap & Noise
개요
Speaker diarization은 깨끗한 통화에서는 정확하지만, 여러 사람의 말 겹침, 짧은 발언, 배경 소음 등 실제 대화의 복잡성이 증가하면 오류가 발생하며, 이러한 실패 사례는 주로 겹치는 발화, 짧은 발언 및 백채널, 배경 소음 및 원거리 오디오, 화자 수 오류로 분류됩니다.
주요 내용
* 겹치는 발화(Overlapped speech): 여러 사람이 동시에 말할 때 발생하는 가장 큰 오류 원인으로, 대부분의 diarization 시스템은 한 번에 한 명만 말한다는 가정을 기반으로 하므로 겹치는 구간의 음성을 하나의 화자에게만 할당하고 다른 화자의 발화는 누락시킵니다.
* 짧은 발언 및 백채널(Short turns and back-channels): "네", "아뇨"와 같은 짧은 반응이나 다른 사람이 말하는 동안 끼어드는 "잠깐만요"와 같은 백채널은 기존 화자의 것으로 잘못 귀속되는 경향이 있으며, 이는 DER(diarization error rate)과 같은 기존 지표로는 잘 감지되지 않습니다.
* 배경 소음 및 원거리 오디오(Background noise and far-field audio): 엔진 소음, 바람, 주변 대화 등 배경 소음이나 마이크에서 멀리 떨어진 곳에서 녹음된 오디오는 화자 음성 특징을 흐리게 하고 시스템이 존재하지 않는 화자를 탐지하거나 실제 화자를 구분하지 못하게 만듭니다.
* 화자 수 오류(Getting the speaker count wrong): 시스템이 화자 수를 잘못 파악하는 경우, 실제 두 명의 화자를 한 명으로 병합(merging)하거나 한 명의 화자를 두 명 이상으로 분할(splitting)하여 오류를 발생시키며, 특히 목소리가 비슷한 화자나 목소리 톤이 변하는 경우에 발생하기 쉽습니다.
* 평가 지표의 한계: DER은 오류를 시간(초) 단위로 평가하기 때문에 짧은 발언의 잘못된 귀속이나 겹치는 발화로 인한 단어 손실을 제대로 반영하지 못하며, cpWER(concatenated minimum-permutation word error rate)과 화자 수 오류(speaker count error)를 함께 사용하는 것이 더 정확한 평가 방법입니다.
* 최신 모델의 접근 방식: AssemblyAI의 Universal-3.5 Pro와 같이 전사(transcription)와 diarization을 분리하지 않고 공동으로 처리하는 모델은 짧은 발언, 빠른 주고받음, 겹치는 발화를 더 잘 처리하며, cpWER을 최적화하여 실제 품질을 반영합니다.
* 실시간 및 원거리 오디오 처리: 실시간 diarization은 실시간으로 화자를 레이블링하고 스트림 종료 후 수정하는 방식을 사용하며, voice_focus 기능은 배경 소음과 음성을 억제하여 원거리 오디오의 품질을 개선합니다.
시사점
Speaker diarization의 실제 적용에서 겪게 되는 복잡한 문제들을 명확히 인지하고, DER이 아닌 cpWER과 화자 수 오류와 같은 더 신뢰할 수 있는 지표를 통해 평가해야 하며, 최신 공동 모델링 방식은 이러한 어려움을 극복하고 더 정확한 speaker diarization 결과를 제공할 수 있습니다.
댓글
GitHub Discussions