AmiVoice Techblog

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

「認識精度(認識率)○○%」の見た目を比較してみた

f:id:amivoice_techblog:20210209095049p:plain 大倉尭

皆さん、こんにちは!

前回の私の記事では、「音声認識の『認識精度(認識率)』について」と題して、音声認識の認識精度(認識率)の求め方を紹介しました。

amivoice-tech.hatenablog.com

ですが、「認識精度が○○%」と数字で言われても、実際の認識結果の見た目がどうなのかは分かりにくいですよね。AmiVoiceのユーザーの皆さまからも、「認識精度が○○%って言うけど、実際使えるの?」と聞かれることはよくあります。

正直なところ、「認識精度が○○%あれば使える!」という絶対的な基準を示すのは難しいです。そこで今回の記事では、認識精度が異なる文章をいくつか見ていき、その中で「『認識精度○○%』の見た目はこれくらいなのか!」というイメージを持ってもらえればと思います。

認識精度の計算式

初めに、改めて認識精度の計算式を示しておきましょう。弊社でよく使われている「文字単位の認識精度」の場合です。

認識精度 = (N - D - S - I) / N

  • N: 正解文の文字数
  • D: 削除誤りの文字数(正解文に存在する文字が、認識結果には存在しない)
  • S: 置換誤りの文字数(正解文に存在する文字が、認識結果では別の文字に置換されている)
  • I: 挿入誤りの文字数(正解文に存在しない文字が、認識結果に現れる)

認識結果と正解文が完全に一致していれば、認識精度は100%になります。誤りが多いほど認識精度は下がっていきます。

認識精度と認識結果の「見た目」

今回の例では、以下の文を正解文とします。

人と機械との自然なコミュニケーションを実現し、豊かな未来を創造することを目指します。 

弊社ホームページの「会社概要 > 事業内容」に書かれている一文を持ってきました。認識精度をきりのいい値にするために、文字数が句読点を除いてちょうど40文字になるよう少し変更しています。今回の検証では、句読点は認識精度の計算に含めないこととします。

認識精度50%の場合

まずは、認識精度が50%になる認識結果の例を見てみましょう。なお、以下の認識結果の例はあくまでこのブログ記事用に作成した架空のもので、AmiVoice Cloud Platformなどで実際に認識させた結果ではないことを予めご承知おきください。

【認識精度50%となる認識結果の例】
糸と理解のコミュニケーション実現して鷹ないライを造船すること差しますね

正解文と並べて、認識精度を計算してみましょう。上が正解文、下が認識結果です。句読点は除いています。

【並べた結果】
機械自然なコミュニケーション実現し 未来 を造 することを目します 
理解 の   コミュニケーション 実現し なを 造すること  します

認識精度 = (40 - 9 - 7 - 4) / 40 = 0.5 = 50%

いかがでしょうか。まともに合っているのは「コミュニケーション」くらいで、文章の意味も通っていません。この認識精度では、例えば発話された内容を音声認識してそのまま字幕で表示したとしても意味が正しく伝わりません。また、音声データを音声認識でテキスト化して、その後音声を聞きながら人手で修正して議事録を作成するといった場合でも、修正の手間がかなりかかります。

認識精度80%の場合

では、認識精度が80%になるとどのような感じでしょうか。

【認識精度80%となる認識結果の例】
人と理解の自然なコミュニケーションを実現して豊か依頼を創造することを目指しますね

【並べた結果】
機械の自然なコミュニケーションを実現し 豊か未来を創造することを目指します 
人と理解 の自然なコミュニケーションを実現し豊か 依頼を創造することを目指します

認識精度 = (40 - 2 - 4 - 2) / 40 = 0.8 = 80%

50%の時よりはだいぶ正解文に近くなってきた印象があります。ただ、「理解」「依頼」といった誤字や、助詞などの削除・挿入誤りがいくつか見られますね。

認識精度90%の場合

さらに認識精度が高い、90%の場合も見てみましょう。

【認識精度90%となる認識結果の例】
人と機械の自然なコミュニケーションを実現して豊かな依頼を創造することを目指します

【並べた結果】
人と機械の自然なコミュニケーションを実現し 豊かな未来を創造することを目指します
人と機械 の自然なコミュニケーションを実現し豊かな依頼を創造することを目指します

認識精度 = (40 - 1 - 2 - 1) / 40 = 0.9 = 90%

誤りもかなり少なくなりました。音声認識の結果を修正して議事録を作成する場合でも3ヶ所を少し直せばよく、手間が少なくて済みます。

認識精度95%の場合

最後に、認識精度95%の場合の一例です。

【認識精度95%となる認識結果の例】
人と機械の自然なコミュニケーションを実現して豊かな未来を創造することを目指します

【並べた結果】
人と機械の自然なコミュニケーションを実現し 豊かな未来を創造することを目指します
人と機械 の自然なコミュニケーションを実現し豊かな未来を創造することを目指します

認識精度 = (40 - 1 - 0 - 1) / 40 = 0.95 = 95%

このくらいの精度であれば、正解文とほぼ同じといってもよいでしょう。

結局のところ、認識精度は何%くらいあれば使えるの?

この記事の初めには「『認識精度が○○%あれば使える!』という絶対的な基準を示すのは難しい」と書きましたが、それでも「使える目安」を知りたいという方はいると思います。
ここまで見てきた認識結果の例も踏まえると、85~90%前後が一つの目安になるのではないでしょうか。

ただ、必要とされる場面によっても必要な認識精度は変わってきます。例えば、音声認識の後に人手でしっかりと認識結果の修正をかける場合は多少認識精度が低くても構わないかもしれませんし、より正確性が求められるタスクがあるかもしれません。

また、今回の例は一文だけで認識精度を求めましたが、実際の音声認識の評価を一文だけで行うことは基本的にありません。様々な音声・文を含むテストセット全体で認識精度を計算します。詳しくはこちらの記事で紹介しています。

amivoice-tech.hatenablog.com

全体の認識精度が高くても、うまく認識できない文が出ることはよくあります。むしろ、そうした文で音質が悪い・特定の単語が認識しないなどの傾向があれば、さらなる改善につなげられるかもしれません。

おわりに

今回は、認識精度の数値と認識結果の見た目を比較してみました。「『認識精度○○%』の見た目はこれくらいなのか!」というイメージを持ってもらえていれば嬉しいです。
音声認識精度」をめぐる話題はまだ他にもあるので、今後もこのブログで少しずつ紹介していければと思っています。

もしこの記事を見て音声認識技術やAmiVoice Cloud Platformに興味を持った開発者の方がいましたら、ぜひ https://acp.amivoice.com/ を試してみてください。毎月音声60分までは無料で使えます。

ここまでお読みいただき、ありがとうございました!

この記事を書いた人