AmiVoice Techblog

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

【同じ発話で比較検証】音声入力エンジンと会話エンジンの認識結果の違いとは 



f:id:amivoice_techblog:20210115094116p:plain ととのい侍

こんにちは!営業社員の「ととのい侍」です。

今回はAmiVoice APIの音声入力用音響モデルを採用したエンジン(以下「音声入力用エンジン」という。)や会話入力用音響モデルを採用したエンジン(以下「会話用エンジン」という。)の特徴とそれぞれの合致する利用シーンなどについて解説していきます。

音声入力用エンジンと会話用エンジンの違い

まずは、音声認識の基本的な仕組みの説明から入ります。
今回の記事では簡単に説明しますが、詳細が気になる方は以下の記事をご覧ください。

amivoice-tech.hatenablog.com

弊社のハイブリッド型音声認識エンジンは「言語モデル」+「音響モデル」+「発音辞書」からなります。

言語モデル」とは大量のテキストデータから学習した、ある単語やフレーズの前後にどのような単語やフレーズが出やすいかの確率を表現したモデルです。
最近ではChatGPTなどの大規模言語モデルが登場して盛り上がっていますが、音声認識言語モデルもそれと似たものです。ChatGPTのような賢さは無い代わりに簡単にカスタマイズができて少ないメモリで高速に動作します。
AmiVoice API言語モデルは様々なシーンやビジネスで幅広く利用できる「汎用」、
医療や金融などの専門用語を高精度で認識する「領域特化型」が利用できます。

「音響モデル」とは「あ」「い」「う」などの音の特徴を大量のデータを元に学習したモデルです。同じ日本語でも話し方や話す環境など、用途に応じて最適な音響モデルを用意しています。AmiVoice APIでは音響モデルが基本的に「音声入力」「会話」の2種類が存在します。

2つのエンジン概要を説明する前に、まずは一般的な音声入力時の発話と会話時の発話の違いを説明します。

■音声入力時の発話
・発話速度が比較的ゆっくりで、発音も明瞭
・言い淀み *1が少ない
・句読点や記号も音声で入力したい場合がある

■会話時の発話
・発話速度が速くなりがちで、発話も不明瞭になりがち
・言い淀みが多くなりやすい
・句読点は発話しない

上記を踏まえて、音声入力用エンジンと会話用エンジンの特徴を表にまとめました。

  音声入力用エンジン 会話用エンジン
合致する音声 スマホタブレットなどの端末に対して話しかけるような口調
・明瞭な発音
・人対人で話すときの会話口調
・多少不明瞭な発音でも可
利用シーン 日報やメールの音声入力、
ボイスボットでの発話
会議や通話などの会話
言い淀みの
学習
少ない 多い

句読点や記号の発話を認識

対応 一部非対応
汎用エンジンの学習単語数 多い(会話用エンジンの約1.5倍)
→音声入力の発話は音響的に易しいので、登録単語が多くても間違いにくい

普通
→会話は音響的に難しいので、登録単語が多いと発音が似ている単語に間違いやすい

どちらのエンジンを利用するかは認識させる音声次第です。
例えば、商談後の営業マンがiPhoneに向かって商談内容のメモを認識させる場合は音声入力用エンジンを利用いただき、コールセンターでオペレーターとカスタマーの通話音声を認識させる場合は会話用エンジンを利用いただければと思います。*2
実際に利用しているお客様の具体的な事例については以下をご覧ください。

■音声入力用エンジン

acp.amivoice.com

■会話用エンジン

acp.amivoice.com

精度検証してみた

それでは実際に2つのエンジンを使って認識率を検証してみようと思います。

検証方法

検証方法や条件は下記になります。

・当社のお客さまから研究開発用としてご提供いただいた音声を使用しました。
・音声は以下の2種類の音声を使用しました。
➀会議やプレゼンなどを会話口調で話す音声
②日報やニュース原稿をデバイスに対して話しかけるような口調で話す音声
・音声ファイルの長さは➀②それぞれ約30分です。
音声認識エンジンはAmiVoice APIの「音声入力_汎用」と「会話_汎用」を使用しました。
音声認識精度は(単語単位ではなく)文字単位で計測しました。
・表記ゆれによる誤認識については、自動変換および目視でチェックし修正を行いました。目視のため多少のチェック漏れは残っているかと思います。
・言い淀み(不要語)は正解文および音声認識結果から除去して計算するものとしました。

認識率の測り方については以下の記事をご覧ください。

amivoice-tech.hatenablog.com

計測結果

➀会議やプレゼンなどを会話口調で話す音声

データ 正解文字数 挿入誤り数 削除誤り数 置換誤り数 音声認識精度
音声入力_汎用 9789 448 1316 1063 71.12%
会話_汎用 9788 474 356 350 87.94%

会話口調の言葉は音声入力用エンジンは向いていないようです。
一方で会話用エンジンは音声入力用エンジンと比較すると抜けて認識率がいいですね。

②日報やニュース原稿などをデバイスに対して話しかけるような口調で話す音声

データ 正解文字数 挿入誤り数 削除誤り数 置換誤り数 音声認識精度
音声入力_汎用 5721 19 28 81 97.76%
会話_汎用 5727 38 29 78 97.47%

音声入力用エンジンと会話用エンジンの差はそこまでないもののわずかに音声入力用エンジンの方が高い認識率でした。②のような利用シーンのみであれば音声入力用エンジンを利用してもよいかもしれません。

認識結果の詳細

➀会議やプレゼンなどを会話口調で話す音声

<正解文>
「採用向けのサイトもうん企業様の撮影なんですけどうんうんこの案件は基本的には私はちょっとお受けしてないんですね」

<音声入力用エンジンの認識結果>
「採用向けのサイトの大きいおさまの撮影なんですけど(うんうん)この案件は基本的には私と同期してないんですね」

<会話用エンジンの認識結果>
「採用向けのサイトうん企業様の撮影なんですけどうんうんうんこの案件は基本的には私はちょっとお受けしてないんですね」

②日報やニュース原稿などをデバイスに対して話しかけるような口調で話す音声

<正解文>
「自分にとって価値がなければどんなに際立った違いがあっても振り向いてはくれないのです」

<音声入力用エンジンの認識結果>
「自分にとって価値がなければどんなに際立った違いがあっても振り向いてはくれないのです」

<会話用エンジンの認識結果>
「自分にとって価値がなければどんなに気を当たった違いがあっても振り向いてはくれないのです」

考察

・➀は発話がかなり砕けていたり音質が悪いものが多かったため精度が比較的低く出ているのに対し、②は➀よりも気持ちハキハキしゃべっていたり、高品質な音声のため高精度に認識ができています。
・会話用エンジンは➀②どちらの場面でも高精度に認識できる万能型ですが、②のような利用シーン限定で発話する場合は音声入力用エンジンを利用した方が良さそうです。
・➀の音声入力_汎用の削除誤り数(音声ファイルには発話しているが、認識結果には入っていない誤りの文字数)が突出して多いですが、これは音声認識エンジンに音声発話では無いとみなされたものと考えられます。音声入力用エンジンでは曖昧で砕けた言葉は人の声として認定されないのかもしれません。

まとめ

今回は音声入力用エンジンの特徴や会話用エンジンとの比較について紹介しました。
用途によってエンジンを使い分けていただくとより高精度に認識可能であることがお分かりいただけましたでしょうか。
今回検証した言語モデルは汎用のみでしたが、金融や保険などの領域特化型エンジンも「音声入力」と「会話」のエンジンがございますのでお気軽にお試しください。
(各エンジン毎月60分無料です!)

それでは、これにて御免。

この記事を書いた人


  • ととのい侍

    新卒3年目の営業社員です。
    最近は地方のサウナに行くことが多く、
    サウナ後にご当地グルメを喰らうのが幸せです。

     

*1:フィラー」とも呼ぶ。「えっと」「そのー」「あのー」など意味を持たない言葉。AmiVoice APIでは言い淀みを自動削除する機能があるので後で認識結果を修正する手間が軽減されます。

*2: コールセンターの音声は電話回線を経由するためサンプリング周波数8kHz相当の音質であるケースが多いです。この音質に対応したエンジンは会話_汎用エンジンのみとなります。もしも汎用エンジン以外(例えば医療や金融など)で8kHz相当の音声を認識させたい場合はAmiVoice API Privateをご利用ください