音声を認識する
- 音声認識技術は、人がしゃべった声(音声信号)を文字テキストに変換する技術です。
人間は、声を聞き取って理解することはたやすいですが、コンピュータで実現することは、様々な困難をともないます。
- マイクから入力された音声信号を分析して、信号のどの部分にどんな音素あ、い、うといった音声の単位があるかを見つけつつ、何と言っているかを推定します。また「今日」「は」の次にどんな単語が続きやすいかなど、日本語としての単語連鎖の情報も利用して認識します。つまり、音声の音としての特徴と、音声に含まれる言語的な特徴の両方を利用して認識しています。
- 音声信号には境界がありません。いくつの音素が含まれているか、どこからどこまでが何の音素なのかわかりません。よって、膨大な数の可能性を検証しつつ正解を導き出さねばなりません。1つ1つ文字を確定しつつ、かな漢字変換するワープロとは、難しさがだいぶ異なります。
ディープラーニングによる音声認識
- 昨今の AI ブームの火付け役となったディープラーニングは、かなり早い段階から音声認識に導入されました。従来技術よりも、認識精度が格段に高まったことに皆が驚き、音声認識での成功をみて、他の分野に広がったともいえます。
- NTT 研究所は、ディープラーニングを利用した音声認識の研究に早期に取り組み、雑音下での音声認識精度を競う国際技術コンペ (CHiME 3 で 25 機関中 1 位を獲得しました。
- ディープラーニングの基本的な仕組みは比較的シンプルです。脳のシナプスを模したユニットが神経網のように広がっています。入力層から入った音声データは、各ユニットで計算処理され、計算結果が出力層に向かって伝搬されます。出力層の各ユニットには予め音素カテゴリ(「あ」「い」「う」を決めておき、「あ」の音声が入力層から入ったら、「あ」の出力層のユニットから1に近い値が、他のユニットからは0の値が出力されるように学習しておきます。
- 学習には大量の音声データを用います。「あ」の音声は、発話者や発話速度、雑音の状況によって様々に変化しますが、ディープラーニングは音素カテゴリのエッセンスを学び記憶します。その能力は底なしのように思えます。ただし、ディープラーニングは、分類は得意ですが、理解しているわけではありません。パタンを覚えているだけです。分類能力は人を超えたかもしれませんが、理解や推論する能力はまだまだ人には及びません。
End-to-Endによる音声認識
-
これまでのディープラーニングによる音声認識では、音声からテキストへの変換を3つのモデルの組み合わせによって実現してきました。音声信号から音素へマッピングする音響モデル、音素と単語をマッピングする認識辞書、そして単語間のつながりをモデル化する言語モデルです。認識精度を高めたこの方式ですが、技術的課題があることも知られていました。それは、音声認識という問題に対して全体最適化されていないという点です。つまり、個々のモデルでは最適化されていても、3つのモデルの組み合わせにおいては音声認識の問題に最適であるとは限らないという点です。
-
そこで登場したのがEnd-to-Endという方式になります。この方式では音響モデルや認識辞書、言語モデルを使うことなく、音声からテキストへの変換を1つのモデルで表現しています。そして、シンプルな構成でありながら、従来の方式を上回る精度を達成しています。
-
End-to-End方式には、Attention Encoder-DecoderやTransformerなど、いくつかの代表的なモデルが存在し、モデル全体を音声とテキストのペアデータから直接最適化することが可能です。
音声認識の進化
- 音声認識研究の歴史は長く、60年以上前、コンピュータが開発された直後から、音声を聞き取り理解するコンピュータの研究がスタートしています。当時、コンピュータの威力に皆が驚き、音声認識はすぐに実現できるだろうという楽観的な見方もあったようです。
- それから数十年、音声認識の研究と実用化が精力的に行われ、認識精度は飛躍的に向上し、広く使われるようになりました。アナウンサーのニュース読みあげ音声は95以上の精度で認識可能で、ニュース字幕作成で利用されています。国会や地方議会での答弁は90以上で認識可能です。NTT 研究所の技術は、国会の議事録作成の効率化に貢献しています。コンタクトセンタでのオペレータとお客様の会話の認識も実用レベルに到達し、コンタクトセンタの運営効率化やオペレータ教育に利用されています。
- 音声認識技術は、どんどん進化しつづけるでしょう。しゃべったことばを単に文字に変換するだけでなく、意味をしっかり理解する研究が望まれます。
話す相手は「人?」「機械?」
- 音声認識とひと口に言っても、どんな音声を認識するのか、対象とする音声の種類によって、期待できる認識精度は様々です。大雑把に言うと 、「人が機械スマホやAIスピーカ、ロボットなど に話しかけている音声か」、「人と人が会話している音声か」に大別できます。前者は、90 以上の認識精度が期待できますが、後者は、ケースバイケースです。
- いったい何が違うのでしょうか。要因は様々ありますが、主な要因の1つは 「活舌の良さ」と言えます。人は、相手が機械だと、何をしゃべろうかと一瞬考え 「明日の横浜の天気を教えて」と話しかけます。比較的ゆっくり丁寧に活舌よく、短く、まとまったことをしゃべるので認識しやすいです。
- 一方、相手が人だと、適当にしゃべります。話速が速く、断片的な言葉の連続になりがちで、言い淀みや言い直し、日本語の文法に沿っていない発話が頻発します。活舌が悪く曖昧にしゃべると、コンピュータは「あ」なのか「お」なのかわからなくなります。人間は、すべての音が認識できなくても、常識や経験をフルに活用して意味をつかむことができますが、コンピュータは知識が貧弱なので、はっきりしゃべっらないと、間違えてしまいます。