音声認識精度よりも大切なこと(タスク達成率)
安藤章悟
みなさま こんにちは。
過去何度かに渡り、音声認識精度(音声認識率)に関する記事を書いてきました。
※関連リンクが本記事末尾にありますので、興味のある方はそちらからご欄ください。
基本的に音声認識精度は高いほど良いものですが、今回は音声認識精度の数値だけに目を向けると危ない、という話をします。
音声認識精度が高くても使い物にならないケース
例えばユーザーに住所を喋ってもらって、その音声認識結果に自動で案内を郵送するというシステムを考えてみましょう。そこで下記のような誤認識をしたとします。
- 正解:東京都豊島区東池袋3-1-1サンシャイン60 42階
- 認識:東京都豊島区東池袋3-1-1サンシャイン60 62階
※ちなみにこれは2021年7月現在の弊社の住所です。
この場合、音声認識精度は正解の文字数25文字に対して置換誤りが1文字ですので、
- 音声認識精度 = (25-1)/25 = 96.00%
となります。
音声認識精度96%というのはかなり高い数値です。が、住所の場合はここの1文字を間違えると郵便物は弊社に届きません。
つまり、いくら認識精度が高かろうと、システムの目的は達成できないということです。
音声認識精度ではなくタスク達成率
こういった場合は音声認識精度だけではなく「その音声認識の結果によって目的が達成できたかどうか?」を計測するといいでしょう。
例えば
・東京都豊島区東池袋3-1-1サンシャイン60 62階 → 届かない → 不正解
・東京都豊島区東池袋3-1-1サンショイン60 42階 → きっと届く → 正解
のように同じ1文字の置換誤りでも、結果が正反対になることはありますので、目的の達成の割合を尺度にしよう、という考え方です。
アドバンスト・メディアでは、こういった値を「タスク達成率」と呼んでいます。
計算式は以下となります。
- タスク達成率 = タスクを達成した回数 ÷ 全試行回数
音声認識精度と一緒にタスク達成率を計測すると、例えば下記のようなことが見えてくるかもしれません。
- 認識精度が高いが、タスク達成率が低い → 認識精度を上げる以外の努力が必要
- 認識精度が低く、タスク達成率も低い → 認識精度を上げる努力をすればタスク達成率も上がるかもしれない
- 認識精度は低いが、タスク達成率は高い → 認識精度を上げる努力はあまり効果が無いかもしれない
補足:住所を音声認識することについて
今回の話では住所の音声認識を例にしましたが、「住所を音声認識してその宛先に自動で郵送するシステム」というのはとても難易度が高く、よく注意してシステム設計をする必要があります。
音声認識ではどうしても誤認識が発生してしまいますが、誤認識をすると実際とは異なる住所や、存在しない住所に郵送してしまうことになるので、そういったことは防止しなくてはいけません。
具体的には、住所を発話したユーザーに結果を表示して誤りがあったら修正してもらったり、あるいは裏で誰かが音声を聞いて誤りがないかチェックする、といった工夫が必要になるでしょう。
さいごに
今回は、タスクの達成率を評価尺度にするケースについて説明しました。
タスク達成率は他にも、例えば音声対話型の質問応答システムなどでも使うことがあります。質問応答システムでは、音声認識以外にも対話処理を行うためのエンジンが必要になりますので、音声認識精度・対話処理エンジンの精度・タスク達成率などをそれぞれ計測し、どこにボトルネックや課題があるかを分析した上で、どう解決していくのがベストかを探っていきながら改善していく、という取り組みを行ったりします。
もしも、この記事を見て音声認識技術に興味を持った開発者の方は、是非AmiVoice Cloud Platform( https://acp.amivoice.com/ )を試してみてください。毎月音声60分までは無料で使えますので是非ともよろしくお願いします。
この記事を書いた人
-
安藤章悟
音声認識の研究をしていたら、近所に音声認識屋を見つけてしまい入社。今に至る。
趣味は海外旅行と美味しいものを食べることとサウナ。
関連する記事