音声認識率がマイナス(負)になる場合とは?
大倉尭
皆さん、こんにちは!
今回も音声認識の「認識率(認識精度)」についての話題です。改めて、過去の私の記事で紹介した「音声認識率」の計算式を見てみましょう。
認識率*1 = (正解文の文字数 – 削除誤り – 置換誤り – 挿入誤り) / 正解文の文字数
AmiVoice Cloud Platform-Tech Blog
計算式から、「削除誤り・置換誤り・挿入誤り」がいずれも0文字であれば、認識率100%となることが分かります。また、認識率の値が100%を超えることはないのも明らかですね。
では、逆に認識率が低くなる場合はどうなるのでしょうか?
「最大値が100%だから、最小値は0%だ」と思う方もいるかもしれませんが、そうではありません。認識率はマイナスになることもあり得るのです。今回はこの点について詳しく説明していきたいと思います。
削除誤りと置換誤りについて
まず、削除誤りと置換誤りについて見ていきます。削除誤りや置換誤りが多くなれば、当然認識率は下がりますね。では、削除誤りや置換誤りの最大値はいくつになるでしょうか?
答えですが、「削除誤り+置換誤り」の最大値は正解文の文字数になります。以下の【例1】を見ると分かりやすいと思います。
【例1】
正解の文 :ありがとうございます(正解文の文字数 = 10文字)
認識結果①:…………………………(何も認識されていない、削除誤り = 10文字)
認識結果②:ほげほげほげほげほげ(全く異なる結果、置換誤り = 10文字)
認識結果③:ほげほげ………………(削除誤り = 6文字、置換誤り = 4文字)
これらについて認識率を計算すると、いずれも0%になります。削除誤りと置換誤りだけを考えるのであれば最小値は0%ということになります*2が、挿入誤りも考慮すると認識率がマイナスになることもあり得ます。これについては、次の節で詳しく見ていきます。
挿入誤りを考慮した場合
挿入誤りも考慮した、以下の【例2】を見てみましょう。
【例2】
正解の文:ありがとうございます(正解文の文字数 = 10文字)
認識結果:ほげほげほげほげほげほげほげほげほげ(置換誤り = 10文字、挿入誤り = 8文字)
この一文だけで認識率を計算すると、
認識率 = (10 – 0 – 10 – 8) / 10 = -80%
となります。認識率がマイナスになることがあり得る、ということが分かってもらえたかと思います。
音声認識の視点:誰の声を音声認識したいのか?
挿入誤りの例としては、次のような場合も考えられます。
【例3】Aさんは「音声認識は <少し間を空けて> アミボイス」と発話したい
Aさん「音声認識は」
(間を空けた瞬間、近くにいた人の「ありがとうございました」という声が聞こえる)
Aさん「アミボイス」
正解の文:音声認識はアミボイス(正解文の文字数 = 10文字)
認識結果:音声認識はありがとうございましたアミボイス
(正解 = 10文字、挿入誤り = 11文字)
認識率 = (10 – 0 – 0 – 11) / 10 = -10%
Aさんの声だけを音声認識でテキスト化したいのに、Aさんが話している途中で近くにいた別人の声が入ってしまった、という例です。Aさんが話している部分は正しく認識できていますが、計算上の認識率はマイナスになってしまいました。
「聞こえたものを全て文字にする」場合ならこの別人の発話内容も正解としてよいですが、「Aさんの声だけをテキスト化したい」という場合は、Aさんの発話内容だけが正解となり、他人の声が認識された部分は挿入誤りということになります。すなわち、「誰の声を音声認識の対象とするのか(そもそも正解は誰の声なのか)」というのも、音声認識を行う上で一つの重要な視点となるのです。
おわりに
今回は、音声認識率(認識精度)がマイナス(負)になる場合を見てきました。もちろん、実際の音声認識の評価を一文だけで行うことは基本的にはないので、評価データ全体で認識率がマイナスになるという状況を目にすることはほとんどないと思います。ただ、挿入誤りが多いと認識率がマイナスになることもある、ということは覚えておいてほしいと思います。
もしこの記事を見て音声認識技術やAmiVoice Cloud Platformに興味を持った開発者の方がいましたら、ぜひ https://acp.amivoice.com/ を試してみてください。毎月音声60分までは全エンジン無料で使えます。
ここまでお読みいただき、ありがとうございました!
この記事を書いた人
-
大倉尭
新卒でアドバンスト・メディアに入社。
現在の仕事は音声認識の精度向上のための研究開発がメインです。
趣味は旅行(主に鉄道)・読書(主に小説)・ボードゲームなど。