0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

話者分離の「精度◯%」は比較できない — DERの測定条件と、会議で35〜45%まで落ちる理由

0
Posted at

この記事の結論

  • DER(話者分離の誤り率)は、採点条件を書かずに比較しても意味がない。 collar の有無と重なり発話を採点するかどうかで、同じシステムの数字が数ポイント動く
  • 同じシステムでもドメインで倍以上変わる。DIHARD III の公開結果で、電話の1対1が DER 10〜20%、会議は 35〜45%
  • 会議 DER のおよそ半分は重なり発話に由来する(AMI で重なり処理をオラクル化すると 23.8% → 11.8%)
  • 話者数が増えると急激に悪化する。 CALLHOME で 2話者 8.5% → 6話者 40.3%。話者数を教えても改善しない
  • Whisper 単体に話者分離はない。 公式 README の能力リストに含まれていない
  • 日本語の多人数会議を対象にした公開ベンチマークは、調べた範囲では存在しない

数字はすべて出典と測定条件つきで書きます。確認できなかったことは、確認できなかったと書きます。


1. なぜ「精度◯%」の比較が成立しないのか

話者分離(speaker diarization)の評価指標は DER(Diarization Error Rate) です。NIST の Rich Transcription Spring 2003 Evaluation で導入され、公式の採点ツールは md-eval です。

定義は素直です。

DER = (FA + MISS + ERROR) / TOTAL
記号 意味
TOTAL 参照(正解)話者セグメントの総時間
FA (false alarm) システムが話者ありと判定したが、参照に対応する話者がいない時間
MISS (missed speech) 参照に話者がいるのに、どの話者にも割り当てなかった時間
ERROR (speaker confusion) 参照の話者時間が、誤った話者に割り当てられた時間

問題はここからです。DER は採点条件を決めないと確定しません。

DIHARD 公式は採点条件をこう明記しています。

NO forgiveness collar will be applied to the reference segments prior to scoring and overlapping speech WILL be evaluated

  • collar:セグメント境界の前後に設ける許容誤差。DIHARD は 0秒
  • 重なり発話:DIHARD は採点対象に含める

一方、CALLHOME 系の論文では collar 0.25秒を設けるのが慣行です。境界のズレを 0.25秒まで見逃してもらえるのと、1ミリ秒も見逃してもらえないのとでは、同じシステムでも数字が変わります。

つまり、測定条件が書かれていない DER は、他の数字と並べられません。 ベンダーの資料で「話者分離精度◯%」だけが書いてあったら、それは比較できない数字です。

出典:DIHARD I Overview


2. 条件つきの実数を並べる

条件が明記されている代表例として、pyannote 3.1 の公式モデルカードを引きます。collar なし・重なり採点あり・話者数の手動指定なしという、いちばん厳しい設定です。

データセット DER% FA% Miss% Confusion%
AMI(ヘッドセットmix、4名会議) 18.8 3.6 9.5 5.7
AMI(遠隔マイクアレイ ch.1) 22.4 3.8 11.2 7.5
AISHELL-4 12.2 3.8 4.4 4.0
AliMeeting (ch.1) 24.4 4.4 10.0 10.0
DIHARD 3 (Full) 21.7 6.2 8.1 7.3
MSDWild 25.3 5.8 8.0 11.5
VoxConverse (v0.3) 11.3 4.1 3.4 3.8
REPERE (phase 2) 7.8 1.8 2.6 3.5
AVA-AVD 50.0 10.8 15.7 23.4

内訳まで見ると、実務的に効く事実が1つ出てきます。

会議音声(AMI)でいちばん大きい誤り成分は Confusion ではなく Miss です。 話者を取り違えているのではなく、そもそも拾えていない発話が 9.5〜11.2% ある。この原因は次章です。

出典:pyannote/speaker-diarization-3.1(Hugging Face モデルカード) / pyannote-audio(GitHub)


3. ドメインで倍以上変わる

DIHARD III(2021年)は11ドメインの音声で各システムを採点しました。論文の Figure 1 が示すドメイン別 DER 中央値(Track 1)が、この記事でいちばん重要な数字です。

  • 電話での会話(CTS):DER 10〜20%
  • 会議(meeting):DER 35〜45%
  • レストランでの会話:35〜45%
  • Web ビデオ:35〜45%

同じシステムで、電話なら1〜2割、会議なら3〜4割。

しかもこれは Track 1、つまり音声区間検出(SAD)の結果が正解として与えられた有利な条件です。ゼロから処理する Track 2 の成績はこうでした。

ベースライン (eval core) 優勝システム (eval core)
Track 1(参照SADあり) 20.65% 13.45%
Track 2(ゼロから) 27.34% 19.37%

出典:Ryant et al., "The Third DIHARD Diarization Challenge", Interspeech 2021(PDF)/ 公式リーダーボード


4. 会議で崩れる3つの要因

4-1. 重なり発話

会議音声のうち、複数人が同時に話している時間の割合です。

データセット 重なりの割合
AMI(会議) 19〜20%
AliMeeting(中国語4名会議) 19%(一部セッションは50%超)
NOTSOFAR-1(オフィス会議 4〜8名) dev 16.7% / eval 29.6%
CHiME-6(4名ディナーパーティ) dev 43.5% / eval 26.7%
CALLHOME(電話) 12.58%
VoxConverse 3.52%

これが DER にどれだけ効いているかを切り分けた実験があります。AMI Headset mix での結果です。

構成 DER% FA% Miss% Conf%
ベースライン 29.7 3.0 20.8 5.8
+ 重なり割当(提案手法) 23.8 3.6 13.0 7.2
+ 重なり検出をオラクル化 22.2 3.1 6.0 13.2
+ 重なり割当もオラクル化 11.8 0.6 11.2 0.0

重なりを完璧に処理できれば 23.8% → 11.8%、つまり半分になります。 逆に言えば、いまの会議 DER のおよそ半分は重なり発話が原因です。第2章で Miss が大きかった理由がこれです。

出典:Bredin & Laurent, Interspeech 2020 / arXiv:2509.26177 / MERL TR2026-008

4-2. 話者数

CALLHOME(電話会話、collar 0.25秒)を話者数別に採点した結果です。

手法 2話者 3話者 4話者 5話者 6話者
x-vector クラスタリング(閾値) 15.45 18.01 22.68 31.40 34.27
SA-EEND + EDA(話者数推定) 8.50 13.24 21.46 33.16 40.29
SA-EEND + EDA(話者数既知) 8.35 13.20 21.71 33.00 41.07

2話者から6話者で約4.7倍。 そして注目すべきは最終行で、話者数を正解として与えても改善しません(6話者で 40.29 → 41.07)。設定画面で人数を入力すれば直る、という話ではありません。

さらに、モデルによっては構造的な話者数の上限があります。2025年のベンチマークで Sortformer 系が5話者以上で急悪化しており、論文はその原因を「4話者上限」だと明記しています。

出典:Horiguchi et al., Interspeech 2020 / arXiv:2509.26177

4-3. マイク距離

第2章の表から、同じシステム・同じ会議での比較です。

  • AMI ヘッドセットmix:DER 18.8%(Miss 9.5 / Conf 5.7)
  • AMI 遠隔マイクアレイ ch.1:DER 22.4%(Miss 11.2 / Conf 7.5)

Miss も Confusion も両方悪化します。CHiME-7/8 のレビュー論文はさらに強く、CHiME-6 について「マイクが違うだけで DER が10ポイント以上変わりうる」と報告しています。


5. Whisper 単体では話者分離はできない

これは実装で最初にハマるところなので明示しておきます。

OpenAI の Whisper 公式 README が挙げている能力は次の4つです。

multilingual speech recognition, speech translation, spoken language identification, and voice activity detection

話者分離は含まれていません。 VAD(音声区間検出)はありますが、それは「誰か喋っているか」であって「誰が喋っているか」ではありません。Whisper で話者を分けたい場合は、pyannote.audio などの別の話者分離システムと組み合わせる必要があります。

出典:openai/whisper(GitHub)

ただし OpenAI は別モデルで提供している

2026年8月時点で gpt-4o-transcribe-diarize が利用できます。ハマりどころも含めて仕様を挙げます。

  • response_format"diarized_json" を指定すると、segment ごとに speaker / start / end が返る
  • 30秒を超える音声は chunking_strategy の指定が必須
  • known_speaker_names[] / known_speaker_references[] で既知話者を登録できるが、最大4名。参照音声は各 2〜10秒
  • Realtime transcription sessions では非対応("Speaker labeling is available through /v1/audio/transcriptions. It isn't supported in Realtime transcription sessions.")
  • prompt パラメータは使えない。timestamp granularities も使用不可
  • 料金:入力 $2.50 / 1M audio tokens、出力 $10.00 / 1M tokens

日本語での話者分離性能に関する公式数値は、確認できませんでした

出典:Models: gpt-4o-transcribe-diarize / Speech to text ガイド


6. 日本語には、そもそも共通の物差しがない

ここが日本語で仕事をする人にとって重要な話です。

日本語の多人数会議を対象にした、条件の明示された公開 DER ベンチマークは、調べた範囲では存在しませんでした。

日本語音声の代表的な公開コーパスは国立国語研究所の CSJ(日本語話し言葉コーパス) ですが、内訳はこうです。

種別 時間
学会講演(独話) 274.4 h
模擬講演(独話) 329.9 h
朗読 15.5 h
対話(全種類の合計) 16.2 h
合計 661.6 h(話者1,417名)

661.6時間のうち対話は16.2時間しかなく、しかもすべて2者間です。多人数会議の録音は含まれていません。

つまり日本語には AMI corpus に相当する「会議の話者分離を測る共通の物差し」がありません。ベンダーが「日本語で高精度」と主張しても、第三者が同じ条件で検証する手段が公開されていない、というのが2026年8月時点の状況です。

(2025年12月に日本語3話者マルチパーティのデータセット公開が発表されていますが、商用で価格非公開、DER の結果も未公開です。)

出典:『日本語話し言葉コーパス』の概観 Version 2.0

「文脈から主語を補えばいい」も通らない

日本語は主語を省略するので、音響的に分からなくても文脈で復元すればいい、と考えたくなります。その復元タスク(ゼロ照応解析)の精度が査読付き研究で報告されています。

  • ゼロ照応(文書内):Recall 0.282 / Precision 0.448 / F1 0.346
  • ゼロ照応全体:Recall 0.317 / Precision 0.411 / F1 0.358

F値で0.35前後です。しかもこれは書き言葉を対象にした研究で、会議の発言者帰属を直接扱ったものではありません。後処理で補完するという設計は、現時点では成立しません。

出典:Hangyo, Kawahara, Kurohashi, EMNLP 2013


7. 実務的な回避策:問題自体を消す

ここまで書いておいてなんですが、DER を気にせずに済む方法が1つあります。

Zoom の「参加者ごとに音声ファイルを分けて録音する」設定です。

  • 設定名:Record a separate audio file for each participant
  • 場所:Zoom デスクトップアプリ → プロフィール画像 → Settings → Recording
  • 出力:録画フォルダ内の Audio Record フォルダに、参加者ごとの音声ファイル。公式の記述は "Each file name begins with the participant's name"
  • 対応プラン:公式に "Computer recording is available to free and paid subscribers" と明記。無料アカウントでも使える

各ファイルには1人分の音声しか入っていないので、話者分離という処理自体が不要になります。 重なりも話者数もマイク距離も関係ありません。ファイル名がそのまま発言者名です。

制約が1つあります。 ローカル録画には音声文字変換が付きません(Zoom の文字起こしはクラウド録画側の機能)。参加者ごとの音声ファイルを取り出してそれぞれ個別に文字起こしする運用になります。Whisper を回すなら、むしろこの形のほうが素直です。

Teams と Google Meet について、参加者ごとの別トラック録音は公式ドキュメントで確認できませんでした。

出典:Starting a computer recording(Zoom公式)


おわりに

話者分離まわりは「精度◯%」という数字だけが独り歩きしやすい領域です。この記事で言いたかったのは1点で、条件のない数字は比較できないということでした。collar の有無、重なりを採点するか、SAD が与えられているか。ここが違えば、同じシステムが別のスコアを出します。

「誰が言ったか」の話はここまでです。実際に運用を始めると、その手前でつまずきます。そもそも文字が合っていないという問題です。

こちらにも順位があって、会議音声の精度を壊している要因は、遠さと Bluetooth の組み合わせが1位、発話の重なりが2位、そして3位が沈黙です。無音区間が長いと AI が文章を捏造する、という現象が査読付き研究で報告されていて、捏造の最大の予測因子が「無発話時間の長さ」でした。日本語の会議は考え込む「間」が多いので、この条件に当たりやすい。

その順位の特定と、録音側の対策、2026年8月時点で使える手段を環境から1本に絞り込む分岐、検査用プロンプト、社外秘を外部AIに送ってよいかの判断基準と主要9サービスの学習利用一覧までを、note にまとめています。

この記事で確認できなかったこと

  • 日本語の多人数会議を対象とした、条件の明示された公開 DER ベンチマーク
  • 日本語の相槌文化が重なり発話の割合を押し上げるかどうかの定量的な検証
  • 敬称(さん・課長・部長)が話者識別に与える影響を扱った査読付き研究(原理的にも、話者分離は音響特徴で判定するため語彙は直接関与しません)
  • gpt-4o-transcribe-diarize の日本語での性能に関する公式数値
  • Teams / Google Meet の参加者別トラック録音の可否
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?