音声認識の仕組み

音声認識には様々な工程が含まれています。
人間であれば、音を空気の振動として耳でキャッチし、振動を電気信号に変換します。
電気信号は脳に伝わり、音として認識し、どんな音なのか、どんな言葉なのかを理解しています。
これに対し、コンピュータは全く違うプロセスを経ています。
①音響分析
②音響モデル
③パターンマッチ
④言語モデル
⑤辞書方式
これら5つの工程で音を声として認識し、テキストとして出力します。
そもそも人間の脳とは全く構造が違いますし、いかに人間の耳や脳が複雑な情報を一瞬で処理しているのか、その凄さがお分かりいただけるでしょう。
次項では、それぞれAIが音をどのように処理しているのかを解説していきます。
◆①音響分析
まずは、録音された音声の特徴を解析し、周波数や音の強弱をデータとして抽出し、変換する作業から始めます。
その際に、音声データから余計な雑音を取り除く必要があります。
前述したように、人間の耳は会話中は相手の声に集中することができ、周りの雑音や騒音と区別することができます。
しかし、AIは全ての音を同一に捉えてしまうため、一度人の音声とそれ以外の雑音や集音時のノイズを除去する必要があります。
この作業を音響分析といいます。
◆②音響モデル
データに変換した音声を過去の強化学習のデータと照合し、音波の最小単位である音素を抽出する作業を音響モデルといいます。
音素とは、音声を発生したときに確認できる音波の最小構成要素です。
日本語の場合は
母音(あいうえお)
子音(23種類)
擬音(ン)
上記の組み合わせで構成されています。
(英語の場合は、分解するとアルファベット26文字の組み合わせとなります。)
ローマ字のように当てはめて文字を分解すると
「こんにちは」は「ko-n-ni-chi-ha」と当てはめることができ、これが音素となります。
しかし、この段階ではどの音素で構成されているかがわかっただけですので、ここからさらに細かい音声認識をしていきます。
◆③パターンマッチ
音声データから音素を抽出し、ただの音素の文字列に一旦分解したあと、次は再度音素がどの言葉に当てはまるのかを探していきます。
これをパターンマッチといいます。
上記の「ko-n-ni-chi-ha」という音素の羅列がどの言葉に該当するのか、辞書を引いて「ko」の項目から探す作業をイメージするとわかりやすいかと思います。
実際にAIも「発音辞書」と呼ばれるデータベースから同じ文字の羅列を探し出し、照合することで
「ko-n-ni-chi-ha」→「こんにちは」
と初めて認識できるようになります。
しかし、認識する段階で誤ったものを探し出す場合もありますので、その際は人間の手で修正し、機械学習としてAIに覚えさせていきます。
◆④言語モデル
③のパターンマッチだけでは、単語ごとでしか認識できていません。
人間の会話は前後の文字や文脈など、様々な要素が関わっていますので、ここからより日本語の文章に近づける作業が必要になります。
これを言語モデルといいます。
それぞれの音素を抽出したのちに、それぞれを再度単語として認識し、その単語同士を繋げて違和感のない日本語の文章になるようにします。
その違和感のない文章の参考として使われているのが「N-garmモデル」です。
「N-garmモデル」とは、クロード・エルウッド・シャノンが考案した言語モデルで、特定の文字が出てきたときに、次にどの言葉が出てくる可能性が高いのかを調査したモデルです。
「こんにちは」という文字を認識した際に、次は「いい天気ですね」や「お元気ですか?」という言葉が続く可能性が何%か?
という膨大なデータが入っており、その統計に基づいて次の言葉を予想しながら単語を繋げ、日本語の文章として違和感がないように整合していきます。
あくまで過去の強化学習のデータによる確率の話になりますので、誤っている場合はその都度修正して学習させ、精度をあげていきます。
人間の言葉には、単語だけでなく、接続詞や枕詞、「えーっと」のような間投詞など、複雑なものがたくさんあります。
それらを大量に音声データのサンプルとして収集し、AIに強化学習で認識させ、過去のデータと照合して頻出度の高いものを予測して出力しているのが音声認識になります。
◆音声認識の工程のまとめ
例:「こんにちは、今日は暑いですね。」
①音声データから人の声のみを抽出する(音響分析)
②「ko-n-ni-chi-ha-kyo-u-ha-a-tu-i-de-su-ne」という音素に分解(音響モデル)
③「ko-n-ni-chi-ha」→[こんにちは][婚日][は]……のように発音辞書から該当するものを探し当て、単語ごとに当てはめていく(パターンマッチ)
④言語モデルの過去のデータと照らし合わせ、正しい文章になるように整合していく(言語モデル)
○[こんにちは][今日][は][暑い][です][ね]
×[こんにち][は][京は][熱い][です][ね]
話す相手やその場の状況、外的要因などを考慮して、耳から入った相手の音声を一瞬で解析する人間の脳と比べると、音声認識は様々な工程を経て解析していることがわかります。
音素に分解→当てはまる単語に再構築→文章として違和感がないように整える
これらの作業もコンピュータの高性能化、AIの強化学習の発達により、高精度で瞬時に解析することが可能になりました。
現在は、スマートフォンやAIスピーカーなどに導入されていますが、実用化されるレベルになるには、このような技術と開発者たちの並々ならぬ努力があったのです。