AmiVoice Techblog

AmiVoiceの音声認識に関する技術情報・活用方法・組み込み方などを発信するアドバンスト・メディアのテックブログです

"会議"の音声でOpenAIのWhisperとAmiVoiceの音声認識率を比較してみた

f:id:amivoice_techblog:20210115094116p:plain 安藤章悟

みなさま、こんにちは。

先日こちらの記事でOpenAIのWhisperとAmiVoiceの認識率を比較しました。

この記事を振り返ると「AmiVoiceの得意分野はAmiVoiceが勝ち、Whisperの得意分野はWhisperが勝つ」という当たり前の結果だったので、今回は「会議の音声ではどちらが良い結果になるのか?」という視点で比較をします。

 

検証方法

検証方法や条件は下記です

  • 当社のお客さまから研究開発用としてご提供いただいた会議の音声を使用しました。
  • 会議音声は4種類の異なる業種のもので、それぞれ冒頭10分程度の合計40分程度の長さを使用しました。
  • 上記音声や、その書き起こしテキストは音声認識エンジンの学習には使っておりません。
  • 音声認識処理はAmiVoiceもWhisperもどちらも社内のローカル環境で実行しました。
  • 音声認識エンジンはAmiVoice APIの「会話_汎用」の同等品、およびWhisperの「large」「large-v2」を使用しました。
  • AmiVoiceは2022年6月頃、Whisper(large)は2022年10月頃、Whisper(large-v2)は2023年2月に音声認識処理をし、それぞれその時の最新のものを使用しました。
  • 音声認識精度は文字単位で(単語単位ではなく)計測しました。
  • 表記ゆれによる誤認識については、自動変換および目視でチェックし修正を行いました。目視のため多少のチェック漏れは残っているかと思います。
  • フィラー(不要語)は正解文および音声認識結果から除去して計算するものとしました。

ここでポイントとして、今回の会議音声は比較的大きな企業様や団体様のもので、司会進行がきちんとされ発言者ごとに個別のマイクがあり、また発言者は参加者全員に説明するために適切な声量で喋っているものです(ひとり言やボソボソ声ではない)。この音声は人間が聞いても聞き取りやすく、つまり会議の音声認識の難易度としては比較的低いと言えるものです。

 

計測結果

AmiVoice(会話_汎用)

データ 正解文字数 挿入誤り数 削除誤り数 置換誤り数 音声認識精度
2905 33 46 34 96.11%
2616 23 21 27 97.29%
3011 38 23 44 96.51%
3047 36 21 39 96.85%
合計 11579 130 111 144 96.68%

Whisper(large)

データ 正解文字数 挿入誤り数 削除誤り数 置換誤り数 音声認識精度
2903 49 113 199 87.56%
2630 37 190 60 89.09%
3009 47 138 146 89.00%
3046 65 223 90 87.59%
合計 11588 198 664 495 88.29%

 

Whisper(large-v2)

データ 正解文字数 挿入誤り数 削除誤り数 置換誤り数 音声認識精度
2901 60 132 161 87.83%
2625 67 204 55 87.58%
3011 40 117 122 90.73%
3044 65 189 85 88.86%
合計 11581 232 642 423 88.80%

 

考察

AmiVoiceが最も良い結果になりました。エラー率(CER)にすると、AmiVoiceは100%-96.68%=3.32%、同様にWhisper(large)は11.71%、Whisper(large-v2)は11.20%となり、3倍以上の非常に大きな差となりました。

AmiVoiceの音声認識率96.68%という値は我々の社内実験の中でも比較的高い水準のものだと言えます。 きちんとマイクがセッティングされ、話者も参加者に向けて明瞭に発話していて、人間にとっても聞きやすい音声であることが高い精度が出た理由だと言えます。

気になるのはWhisperがそれなりに誤認識をしている点です。 誤認識箇所をチェックしていると、目立つ誤認識パターンとして2種類くらいに分類できそうです。

  • Whisperの誤認識パターン1:発音が似た単語に文脈を無視して間違っている
    • 競合→今日後
    • 好調に推移→好調に注意
    • どこも投資をしている→ドグも投資している
    • ◯◯か何かで→◯◯内科で
  • Whisperの誤認識パターン2:あまり見たことのない漢字変換をしている
    • 加重平均→過充平均
    • 四半期報告→市販機報告
    • 余資運用→吉運用
    • 残存期間→暫存期間
    • 外貨建て→外科だて
    • 一過性→一家性

パターン1は人間が聞くと若干「そう聞こえなくもないかな?」と感じる箇所もありますが、文脈などを含めて総合的に考えるとおかしな誤認識のように感じます(このパターンはAmiVoiceでも発生しますが、その頻度が今回の音声ではWhisper方が多かったです)

パターン2はあまりWeb検索でも出てこない漢字変換をしていて、どうしてこのような出力をしたのか謎です。

また、Whisperは削除誤りが突出して多いです。これは原因を調べて驚いたのですが、Whisperは不要と思われる文章を賢く削除する傾向があります。例えば下記のような発話に対してWhisperはこのように出力することがあります。*1

  • 発話者「1月、いや2月の1日、あれ2月1日じゃなかったでしたっけすいません、え、いいんでしたっけ、その日の件ですが」
  • Whisper「2月1日の件ですが」

    *2

この処理があることで音声認識結果の可読性は上がると思いますが、この結果を正解とするわけにはいかないため計算上は省略された箇所は削除誤りという扱いになります。この挙動による削除誤りは用途によっては問題がないのである程度差し引いて評価してもいいかもしれません。

 

まとめ

今回は会議の音声を使ってAmiVoiceとWhisperの比較をしました。

結果はAmiVoiceの方がエラー率(CER)が1/3以下という大きな差になりました。

Whisperは発音が似た単語に文脈を無視して出力しやすかったり、あまり日本語として使われない漢字変換をしてしまうことによる誤認識が多かったようです。

また、Whisperは不要な文章を賢く削除する傾向があり、そのため削除誤りが多くなりやすいようです。この誤りは用途によっては問題ない場合もあるので、比較評価する際はある程度差し引いて考えもいいでしょう。

この記事を書いた人


  • 安藤章悟

    音声認識の研究をしていたら、近所に音声認識屋を見つけてしまい入社。今に至る。

    趣味は海外旅行と美味しいものを食べることとサウナ。

    f:id:amivoice_techblog:20220410134301p:plain : @anpyan

     

*1:今回のデータはセンシティブなため実際の発話と異なるように脚色をしています

*2:念のため動作確認としてこの内容のみを私が発話した音をWhisperで音声認識したところ、省略はされずに全文が音声認識結果に出力されました。もしかすると前後の文脈や全体の構成に応じて省略するかどうかを変えるなどの動作になっているのかもしれません。