
Speaker Diarization From Nemo|第二回
この記事を書いたのは 山岡さん.
0. 前回の記事の内容
前回は、
Speaker Diarizationとはどのような技術か
Speaker Diarizationの評価基準
Nemoの提供しているモデルがどのようなモデルか
2者間の音声データにおける精度
について紹介しました。
まだご覧になってない方はぜひ下のリンクから読んでみてください。
1. この記事から理解できることは?
3者間の音声データにおける精度
予測速度
2. 3者間の音声データにおける精度
【実験に用いた音声の情報】
◆データ①
発話者:男性1名女性2名
合計発話時間:4分53秒
Overlap:19%
周波数:48K
チャンネル数:1(モノラル)
◆データ②
発話者:男性3名
合計発話時間:17分43秒
Overlap:5%
周波数:48K
チャンネル数:1(モノラル)
※こちらのデータには、キーボードを打つ音がところどころ入っていた。
【実験結果】
◆データ①
話者が一人のだけの音声のDER
total: 91.06[s]
miss: 0.56[s]
false alarm 56.18[s]
confusion: 34.32[s]
DER: 31.00%
オーバーラップの音声(1区間に話者が2いる音声)のDER
total: 54.75[s]
miss: 54.75[s]
false alarm: 0[s]
confusion: 0[s]]
DER only for overlap: 100%
DERの値は良いわけではないのだが、false alarmの値が間違いの7割以上を占めておりこれはアノテーションを細かくしすぎたことが原因かと思われる。
一方で、1区間に話者が2人以上いる音声ではうまく検出できなかった。
◆データ②
話者が一人のだけの音声のDER
total: 435.22[s]
miss: 1.71[s]
false alarm 358.29[s]
confusion: 75.22[s]
DER: 40.94%
オーバーラップの音声(1区間に話者が2いる音声)のDER
total: 56.78[s]
miss: 56.78[s]
false alarm: 0[s]
confusion: 0[s]]
DER only for overlap: 100%
3. 予測速度
予測速度はclusteringまでのは表1のようになった。
Embeddingをする際の窓の長さとシフト長を変更できるので少し変化をさせて処理時間を計測した。

Embeddingの窓の長さとシフト長を変更した際のDERは表2のようになった

表1と表2より以下のことが言えます。
・MSDDより前の処理で最も時間のかかる処理は、Embeddingの部分であった
・Embeddinする際の窓の長さやシフト長の変化によってDERはそこまで大きく変わらない場合が多かった
・もともとの音声の長さと処理時間の関係は線形な関係である。
また、予測された結果をもとに失敗分析を行った結果以下のことが分かりました。
・DERが近しい値でも予測された話者の人数(=clusteringによって得られたclusterの数)にはEmbeddinする際の窓の長さやシフト長によって異なっていた。
これはSpeaker Diarizationの良し悪しをDERで評価するだけでは十分ではないことを意味しています。
つまり、Spekaer Diarizationはいつだれが話したかを予測したい問で、DERでも話者の人数の間違いに注目はしていますが、話者数の予測の正確性についてはDERだけでは一概に正しく評価は出来ません。
つまり、実際話している人が2名の音声を仮定します。
その状況で、4人話していると予測しても、10人話していると予測しても、誰が話したかが正しく推定されていない場所が同じ個所であれば、話者数の数に依存せずDERは一緒になってしまいます。
実際のプロダクトなどでは、DERが同じでも予測された話者数が実際に録音された音声データの人数と乖離が大きい方がユーザーが直感的に感じる精度の良さに大きな影響を与える場合も数多くあります。
従って、アカデミックの領域ではDERによる評価で十分だが、ビジネスの領域だとDERだけの評価では不十分であると考えられます。
4. まとめ
今回は、話者数の人数を増やした場合のDERの精度と処理速度について紹介しました。
次回は、日本語音声データを用いて、Fine Tuneした場合のDERの変化について紹介できたらと思っています。
気軽にクリエイターの支援と、記事のオススメができます!