Skip to main content
コールセンターAI

音声AIのターン検出は、言語と待ち時間で順位が変わる

公開ベンチマークでは、英語と日本語でターン検出モデルの順位が入れ替わります。話し終わりの誤判定と待ち時間を、同じ条件で比較するための読み方を整理します。

並べて置かれた巻尺と定規
Photo: William Warby / Pexels

音声AIのターン検出(話し終わりの判定)は、単一の「精度」では選べません。公開ベンチマークでは、言語と判定の待ち時間によってモデルの順位が変わります。日本語で使うなら、日本語の値を同じ待ち時間の条件で比べる必要があります。英語の順位は代理になりません。

会話が噛み合わない仕組みは、前提記事「AIとの通話はなぜ会話が噛み合わないのか」で扱いました。本記事では、話し終わりを判定するモデル(製品の中で動く判定の仕組み)の比較結果を読みます。表に並ぶのはモデルの名前で、そのまま製品名になるとは限りません。

「英語と日本語で順位は変わるのか?」「待ち時間を変えると比較はどう変わるのか?」を、公開データから見ていきます。

何と何を比べている数字なのか?

相手が話の途中で少し黙ったときに、「話し終わった」と誤って判定する割合を、ここでは誤切断率と呼びます。通話を切ってしまう割合ではありません。

今回使う公開ベンチマーク「eot-bench」は、この割合を待ち時間と組み合わせて比較しています。[1]

ここで比べる待ち時間

相手が実際に話し終わってから、システムが「話し終わった」と判定するまでの時間です。モデルの計算速度を表す値ではありません。

ここでの待ち時間は、話し終わったと判定するまでの部分だけです。通話全体の応答時間には、理解や生成などの処理と伝送も加わります(前提記事)。この値だけで応答の速さ全体は判断できません。

表にある「平均待ち時間0.3秒以内」は、この判定までの待ち時間の平均に設けた上限です。無音を一律に0.3秒待つ設定という意味ではありません。

そしてどの数値も、設定を探索したうえで、その上限内で最も良かった値です。製品を初期設定のまま使ったときの成績ではありません。[1]

英語と日本語で順位は変わるのか?

待ち時間の条件をそろえても、英語と日本語では順位が入れ替わります。言語別レポートでは、Deepgram FluxとultraVADの比較にその違いが出ています。

以下は、平均待ち時間を0.3秒以内に抑えたときの誤切断率です。低いほど良い値です。

モデル 日本語 英語
LiveKit Turn Detector v1 5.6% 9.9%
ultraVAD 12.0% 27.7%
Deepgram Flux 20.6% 12.9%

※出典はLiveKitが公開する言語別レポートです。本記事の表はすべて、同じ評価データと条件からの抜粋です(レポート上の表記:validation分割・min_silence 100ms)。[2]

ここで順位が入れ替わります。英語ではFluxの誤切断率がultraVADより低いのに、日本語ではultraVADのほうが低くなっています。英語の順位をそのまま日本語向けの選定に使うと、この逆転を見落とします。

また、この表ではLiveKit v1とultraVADは日本語のほうが良い値です。「日本語だと性能が落ちる」と一律には読めず、モデルごとに確かめる必要があります。

公開元が自社のモデルを含めて評価している点は、読むときに踏まえておく必要があります。条件と言語によっては、LiveKit v1より他のモデルの誤切断率が低くなります。

eot-benchのREADMEにある順位表は英語の結果です。日本語で使う製品を比べるときは、言語別レポートまで進んで確認します。

待ち時間を変えると比較はどう変わるのか?

日本語で両方の条件に結果があるモデルは、いずれも平均待ち時間0.6秒以内のほうが誤切断率が低くなっています。待ち時間を変えると、モデル同士の順位も変わります。

以下は、日本語の誤切断率を条件別に抜粋したものです。

モデル 平均待ち時間0.3秒以内 平均待ち時間0.6秒以内
LiveKit Turn Detector v1 5.6% 1.3%
ultraVAD 12.0% 3.5%
Soniox 6.6%
SmartTurn v3.2 34.9% 11.2%
Deepgram Flux 20.6% 12.7%

※「—」は、その待ち時間の条件で結果がないことを示します。対象言語を評価していない場合と、上限を満たす設定が見つからなかった場合があります。

ここでも順位が動きます。SmartTurn v3.2とFluxを比べると、0.3秒以内ではFluxのほうが低いのに、0.6秒以内ではSmartTurnのほうが低くなります。誤切断率を並べる前に、待ち時間の条件をそろえる必要があります。

Sonioxには0.6秒以内の条件で日本語の結果があります。0.3秒以内が「—」なのは、その条件で上限を満たす設定が見つからなかったという意味です。

誤切断率の上限を決めて、待ち時間を比べられるのか?

言語別レポートには、誤切断率を5%以下に抑えたときの平均待ち時間もあります。許容できる誤切断率を先に決め、その範囲でどれだけ待つことになるかを見る比較です。

以下は日本語と英語の値の抜粋です。単位はミリ秒で、前の表の0.3秒は300ミリ秒、0.6秒は600ミリ秒にあたります。短いほど良い値です。

モデル 日本語 英語
LiveKit Turn Detector v1 321 ms 543 ms
ultraVAD 462 ms 899 ms
Deepgram Flux 1003 ms 1151 ms

平均で何秒まで待てるかを先に決めるなら、前の表で誤切断率を比べます。誤切断率を5%以下に抑えることを先に決めるなら、この表で必要な待ち時間を比べます。

製品を選ぶとき、提供会社に何を聞くのか?

聞くのは、日本語の値と、その値が何秒の待ち時間で出たものか、そしてどの設定で得た値かの3点です。掲載値は設定を探索した結果であり、その設定が分からなければ自社の回線や話し方に置き換えて考えることができないため、3つ目がとくに要ります。

探索の対象には、次の設定が含まれます。

  • しきい値(判定の境目となる値)
  • 待ち時間
  • タイムアウト(待機を打ち切る時間)

公開値で確かめられるのは、この評価データ上の日英差までです。言語そのものの難しさまでは分かりませんし、導入先の通話で同じ順位になるとも限りません。公開値は候補を絞る材料として使い、最後は導入先の通話で確かめる進め方を勧めます。

まとめ

ターン検出の公開値は、使う言語と待ち時間の条件をそろえて比べます。英語と日本語では順位が入れ替わり、同じ日本語でも待ち時間によって比較結果が変わります。初期設定の成績ではないことも踏まえ、日本語の値と、その値を得た条件を確認します。

よくある質問

英語のベンチマーク順位で日本語向けの製品を選べますか?

英語の順位だけでは選べません。今回の評価データでは、待ち時間の条件をそろえても、英語と日本語でFluxとultraVADの順位が逆転しています。日本語の結果を確認する必要があります。

表の「平均待ち時間0.3秒以内」は、無音を0.3秒待つ設定ですか?

無音を一律に待つ設定ではなく、話し終わったと判定するまでの待ち時間の平均に設けた上限です。判定までの時間だけを見ており、通話全体の応答時間ではありません。

公開ベンチマークの数値は製品の初期設定での成績ですか?

今回の数値は、設定を探索して得た、その上限内で最も良かった値です。製品を初期設定のまま使って同じ成績になるとは限らないため、比較時には設定条件も確認します。

参考文献

  1. livekit/eot-bench
  2. livekit/eot-bench 言語別レポート
LET'S START TOGETHER

Ready to
Design Your Voice?

法人向け受託開発から、コンシューマーアプリの導入相談まで。まずはお気軽にお問い合わせください。