音声認識の仕組み
音声認識には様々な工程が含まれています。
人間であれば、音を空気の振動として耳でキャッチし、振動を電気信号に変換します。この電気信号は脳に伝わり音として認識され、どんな音なのか、どんな言葉なのかを理解しています。
これに対し、コンピュータは全く違うプロセスを経ています。
①音響分析
②音響モデル
③パターンマッチ
④言語モデル
⑤辞書方式
これら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スピーカーなどに導入されています。