コラム
column
コンピュータが人間の声を認識する仕組みとは?
目次
人間の声のパターンは、とても複雑
「コンピュータは、どんなことでも万能に処理できる」というイメージがあるせいか、人間の話し言葉を認識する作業も、たやすくこなしているように思われがちです。しかし、実はコンピュータにとって人間の声を正確に認識するのは、かなり難しいことなのです。
なぜなら、人間の声には非常に多くのタイプが存在するからです。誰かと話しをしている時に、高い声、低い声、太い声、柔らかい声など、声全体の雰囲気の違いを感じるケースは多々あるでしょう。また、各々の声の差異のみならず、同じ人物であってもその時々で、感情や体調の影響で早口でしゃべったり、ゆっくり丁寧にしゃべったりなどという場合もあります。さらに、方言や話し方の癖などにより、無意識のうちに特徴的な発音をしているというケースもあるでしょう。
これらの理由により、まったく同じ言葉をしゃべっていても、聞く側にとって印象が大きく異なるということが起こりやすいのです。声を聞く側が人間ならば、たとえ印象が異なったとしても何をしゃべったのかを容易に理解できることがほとんどなのですが、コンピュータの場合、ちょっとした変化が間違った認識に繋がってしまうことがあるのです。
「音響モデル」と「発音辞書・言語モデル」
そもそもコンピュータは、何をもとにして私たちの声を認識しているのでしょうか?
重要な要素は2つあり、その1つが「音響モデル」です。音響モデルとは、大量の音声データを統計的に処理して、音響の特徴を記述したものです。コンピュータは、この音響モデルを手掛かりにしながら、音を識別しています。
そして、もう1つの要素は、「発音辞書・言語モデル」です。これは、日本語テキストを多く集めて統計処理をしたものです。コンピュータは、音響モデルをもとに音声を識別した後に、
発音辞書・言語モデルに記述されている単語の中から、もっとも妥当な候補を選びます。ただ、一つ一つの単語について、単純に音の特徴が似ているという理由だけで選択すると、全ての単語を繋ぎ合わせた時にあり得ない文章となってしまう場合があります。そのため、前後の単語同士のつながりなども考慮しながら、もっとも自然な言い回しとなるような候補を選ぶのです。
さらなる認識率の向上へ
では、コンピュータの音声認識率の向上のためには、何が必要なのでしょうか?
それは、様々な音声パターンをコンピュータに学習させることなのです。私たちが音声を聞く時に、印象などの違いに惑わされずに正確な意味を理解できるのは、普段の生活の中で数多くの音声パターンを聞いているからでしょう。他人の声を聞いて、その意味を理解するという作業を数えきれないほど繰り返し、音声を正確に認識するスキルを自然と磨いているのです。そのため、コンピュータにも、できるだけ多くのパターンを覚えさせることで、認識率の向上が期待できるのです。特に、認識率が低い分野の音声データをたくさん集めてコンピュータに学ばせることで、認識精度が大幅に向上する可能性があるでしょう。
おわりに
コンピュータによる音声認識技術の裏には、非常に複雑な仕組みが存在します。現在は音声認識の研究・開発も進み、認識精度は従来よりもかなり改善されつつあります。今後も、さまざまな音声パターンを集め、音響モデルと発音辞書・言語モデルを充実させることで、さらに精度が向上される可能性が高いと言えるでしょう。将来的には、人間による音声認識と、コンピュータによる音声認識のレベルがほぼ同程度になるかもしれませんね。