人工知能を扱うなら必ず知っておくべき音声認識技術の原理

人工知能を扱うなら必ず知っておくべき音声認識技術の原理

人工知能の急速な発展に伴い、音声認識は多くのデバイスの標準機能になり始めています。音声認識はますます注目を集め始めています。Microsoft、Apple、Google、Nuanceなどの海外メーカー、iFlytek、AISpeechなどの国内メーカーは、いずれも音声認識の新しい戦略とアルゴリズムを開発しており、人間と音声の自然な相互作用がますます近づいているようです。

私たちは皆、「アイアンマン」のようなインテリジェントで高度な音声アシスタントを望んでいます。音声でロボットとコミュニケーションをとるとき、ロボットがあなたの言っていることを理解してくれるのです。音声認識技術は、かつて人類が夢見ていたことを現実のものにした。音声認識は「機械の聴覚システム」のようなものです。この技術により、機械は音声信号を認識して理解し、対応するテキストやコマンドに変換することができます。

音声認識は、音声信号処理とパターン認識を通じて、機械が人間の話し言葉を自動的に認識して理解できるようにする音声を使用する研究分野です。音声認識技術は、機械が認識と理解のプロセスを通じて音声信号を対応するテキストまたはコマンドに変換できるようにするハイテク技術です。音声認識は、音響学、音声学、言語学、情報理論、パターン認識理論、神経生物学と密接に関連する、非常に幅広い学際的な分野です。音声認識技術は徐々にコンピュータ情報処理技術の重要な技術になりつつあり、音声技術の応用は競争力のある新興ハイテク産業となっています。

1. 音声認識の基本原理

音声認識システムは本質的にパターン認識システムであり、特徴抽出、パターンマッチング、参照パターンライブラリという 3 つの基本ユニットで構成されています。その基本構造を下図に示します。

未知の音声はマイクによって電気信号に変換された後、認識システムの入力に加えられます。まず前処理され、次に人間の音声の特性に基づいて音声モデルが確立されます。入力された音声信号が分析され、必要な特徴が抽出されます。これに基づいて、音声認識に必要なテンプレートが確立されます。認識プロセス中、コンピューターは、音声認識モデルに基づいて、コンピューターに保存されている音声テンプレートと入力音声信号の特性を比較し、特定の検索およびマッチング戦略に基づいて、入力音声に最も一致する一連のテンプレートを見つけます。そして、このテンプレートの定義に基づいて、テーブルを参照してコンピュータの認識結果を得ることができます。明らかに、この *** の結果は、機能の選択、音声モデルの品質、テンプレートの精度に直接関係しています。

音声認識システムを構築する全体的なプロセスには、トレーニングと認識という 2 つの部分が含まれます。トレーニングは通常オフラインで完了し、事前に収集された大量の音声および言語データベースに対して信号処理と知識マイニングを実行して、音声認識システムに必要な「音響モデル」と「言語モデル」を取得します。一方、認識プロセスは通常オンラインで完了し、ユーザーのリアルタイムの音声を自動的に認識します。認識プロセスは通常、「フロントエンド」と「バックエンド」という 2 つの主要モジュールに分けられます。「フロントエンド」モジュールの主な機能は、エンドポイント検出 (不要な無音と非音声音の除去)、ノイズ低減、特徴抽出などを実行することです。「バックエンド」モジュールの機能は、トレーニングされた「音響モデル」と「言語モデル」を使用して、ユーザーの音声の特徴ベクトルに対して統計パターン認識 (「デコード」とも呼ばれます) を実行し、それに含まれるテキスト情報を取得することです。さらに、バックエンド モジュールには、ユーザーの音声を自己学習できる「適応型」フィードバック モジュールもあり、これにより「音響モデル」と「音声モデル」に必要な「修正」が行われ、認識精度がさらに向上します。

音声認識はパターン認識の一分野であり、信号処理科学の分野に属しています。音声学、言語学、数理統計学、神経生物学などの分野とも密接に関連しています。音声認識の目的は、機械が人間の話し言葉を「理解」できるようにすることです。これには 2 つの意味があります。1 つは、書き言葉に変換せずに単語ごとに理解することです。もう 1 つは、すべての単語を正しく変換することにこだわらず、話し言葉に含まれる要件や質問を理解して正しい応答を行うことです。

自動音声認識技術には、3 つの基本原理があります。第 1 に、音声信号内の言語情報は、短時間振幅スペクトルの時間変化パターンに従ってエンコードされます。第 2 に、音声は判読可能であり、つまり、話者が伝えようとしている情報内容を考慮せずに、その音響信号を数十の異なる個別の記号で表すことができます。第 3 に、音声対話は認知プロセスであるため、言語の文法、意味、および語用論の構造から切り離すことはできません。

音響モデル

音声認識システムのモデルは通常、音響モデルと言語モデルの 2 つの部分で構成されます。これらは、音声から音節への確率の計算と音節から単語への確率の計算にそれぞれ対応します。音響モデリング、言語モデリング

検索

連続音声認識における検索は、入力音声信号を記述する単語モデルシーケンスを見つけて、単語デコードシーケンスを取得することです。検索は、数式内の音響モデル スコアと言語モデル スコアに基づいて行われます。実際の使用においては、経験に基づいて言語モデルに高い重みを追加し、長い単語のペナルティスコアを設定する必要があることがよくあります。

システム実装

音声認識システム用の認識プリミティブを選択するための要件は、正確な定義、トレーニングに十分なデータ、および汎用性があることです。英語では通常、文脈依存の音素モデリングを採用しています。中国語の共調音は英語ほど深刻ではないため、音節モデリングを採用することができます。システムに必要なトレーニング データのサイズは、モデルの複雑さに関係します。提供されたトレーニング データの能力に適合しないほど複雑なモデルを設計すると、パフォーマンスが大幅に低下します。

ディクテーション マシン: 大規模な語彙、話者に依存しない連続音声認識システムは、ディクテーション マシンと呼ばれることがよくあります。そのアーキテクチャは、前述の音響モデルと言語モデルに基づいた HMM トポロジ構造です。トレーニング中は、前方後方アルゴリズムを使用して各プリミティブのモデルパラメータが取得されます。認識中は、プリミティブが単語に連結され、単語間に無音モデルが追加され、単語間の遷移の確率として言語モデルが導入されて循環構造が形成され、ビタビアルゴリズムを使用してデコードされます。中国語はセグメント化が容易であるという事実を考慮すると、最初にセグメント化してから各セグメントをデコードすることは、効率を向上させるための簡略化された方法です。

対話システム: 人間とコンピュータ間の口頭による対話を実現するためのシステムを対話システムと呼びます。現在のテクノロジーの制限により、対話システムは、旅行の問い合わせ、チケットの予約、データベースの検索などのトピックで、狭い分野を対象とし、語彙が限られているシステムであることがよくあります。フロントエンドは音声認識装置であり、生成された N ベスト候補または単語候補グリッドを認識し、文法アナライザによって分析されて意味情報を取得し、次にダイアログ マネージャが応答情報を決定し、音声合成装置によって出力されます。現在のシステムでは語彙が限られていることが多いため、キーワード抽出を使用して意味情報を取得することもできます。

2. 音声認識技術の原理 - 動作原理の解釈

まず、音は実際には波であることがわかります。 mp3 などの一般的な形式は圧縮形式であるため、処理するには、一般に wav ファイルと呼ばれる Windows PCM ファイルなどの非圧縮の純粋な波形ファイルに変換する必要があります。ファイル ヘッダーに加えて、wav ファイルにはサウンド波形の個々のポイントが格納されます。下の図は波形の例です。

図では、各フレームの長さは 25 ミリ秒で、2 つのフレームの間には 25-10=15 ミリ秒の重なりがあります。これをフレーム長 25 ミリ秒、フレーム シフト 10 ミリ秒のフレーミングと呼びます。

フレーミング後、スピーチは多くの小さなセグメントになります。しかし、波形は時間領域ではほとんど記述能力がないため、波形を変換する必要があります。一般的な変換方法は、MFCC の特徴を抽出し、人間の耳の生理学的特性に基づいて各波形フレームを多次元ベクトルに変換することです。これは、音声のこのフレームのコンテンツ情報を含むベクトルとして簡単に理解できます。このプロセスは音響特徴抽出と呼ばれます。実際のアプリケーションでは、このステップには多くの詳細があり、MFCC 以外の音響機能も存在しますが、ここでは詳細には説明しません。

この時点で、音は 12 行 (音響特性が 12 次元であると仮定) と N 列を持つマトリックスになり、観測シーケンスと呼ばれます。ここで、N はフレームの総数です。観測シーケンスを下図に示します。図では、各フレームが 12 次元のベクトルで表現され、カラーブロックの色深度がベクトル値の大きさを表しています。

次にこの行列をテキストに変換する方法を紹介します。まず、2 つの概念を紹介する必要があります。

音素: 単語の発音は音素で構成されています。英語の場合、一般的に使用される音素セットは、カーネギーメロン大学の 39 個の音素のセットです。CMU 発音辞書を参照してください。中国語では一般的に、すべての頭子音と末尾子音が音素セットとして使用されます。また、中国語の認識は声調と非声調に分かれていますが、これについては詳しく説明しません。

ステータス: ここでは、音素よりも詳細な音声単位として理解してください。音素は通常、3 つの状態に分けられます。

音声認識はどのように機能するのでしょうか? 実のところ、それはまったく不思議なことではありません。ただ、次のようになります:

最初のステップは、フレームを状態に分類することです (難しい点)。

2 番目のステップは、状態を音素に結合することです。

3 番目のステップは、音素を組み合わせて単語を作成することです。

次の図に示すように:

図では、小さな縦棒がそれぞれ 1 つのフレームを表し、音声の複数のフレームが 1 つの状態に対応し、3 つの状態ごとに 1 つの音素が組み合わされ、複数の音素が 1 つの単語が組み合わされます。つまり、音声の各フレームがどの状態に対応するかがわかれば、音声認識の結果が出てくるのです。

では、音素の各フレームはどの状態に対応するのでしょうか? 簡単に考えることができます。特定のフレームがどの状態に対応する確率が最も高いかを調べ、このフレームがその状態に属するかどうかを確認します。たとえば、次の図では、状態 S3 におけるこのフレームの条件付き確率は *** なので、このフレームは状態 S3 に属していると推測されます。

では、これらの確率はどこで読み取るのでしょうか? 「音響モデル」と呼ばれるものがあり、これには多くのパラメータが格納されています。これらのパラメータを通じて、フレームと状態に対応する確率を知ることができます。この膨大なパラメータを取得する方法は「トレーニング」と呼ばれ、膨大な音声データが必要となりますが、トレーニング方法はかなり複雑なのでここでは説明しません。

しかし、これには問題があります。各フレームには状態番号が割り当てられますが、音声全体には乱雑な状態番号が割り当てられ、隣接する 2 つのフレーム間の状態番号は基本的に異なります。音声に 1000 フレームがあり、各フレームが 1 つの状態に対応し、3 つの状態ごとに 1 つの音素が結合されると仮定すると、結合される音素は約 300 個になりますが、この音声には実際にはそれほど多くの音素はありません。これを実行すると、結果の状態番号を音素にまったく結合できない可能性があります。実際、各フレームは非常に短いため、隣接するフレームの状態がほとんど同じになるのは当然です。

この問題を解決する一般的な方法は、隠れマルコフモデル (HMM) を使用することです。これは非常に高度な機能のように思えますが、実際には使い方は非常に簡単です。

最初のステップは、州のネットワークを構築することです。

2 番目のステップは、サウンドに最も一致するパスを状態ネットワークから見つけることです。

これにより、結果は事前に設定されたネットワークに制限され、前述の問題を回避できます。もちろん、制限も生じます。たとえば、設定したネットワークに「今日は晴れです」と「今日は雨です」という 2 つの文の状態パスのみが含まれている場合、何を言っても、認識される結果はこれら 2 つの文のいずれかになります。

任意のテキストを認識したい場合はどうすればよいでしょうか? 任意のテキストのパスを含めるのに十分な大きさのネットワークを作成してください。しかし、ネットワークが大きくなるほど、高い認識精度を達成することが難しくなります。したがって、ネットワークのサイズと構造は、実際のタスク要件に応じて適切に選択する必要があります。

状態ネットワークを構築するには、単語レベルのネットワークを音素ネットワークに拡張し、さらに状態ネットワークに拡張します。音声認識プロセスは、実際には状態ネットワーク内で完全なパスを検索しており、音声がこのパスに対応する確率は完全であり、これを「デコード」と呼びます。パス検索アルゴリズムは、グローバル最適パスを見つけるために使用される、ビタビ アルゴリズムと呼ばれる動的プログラミング プルーニング アルゴリズムです。

ここで言及する累積確率は、次の 3 つの部分で構成されます。

観測確率: 各フレームと各状態に対応する確率

遷移確率: 各状態がそれ自体または次の状態に遷移する確率

言語確率: 言語統計に基づいて得られる確率

このうち、最初の 2 つの確率は音響モデルから取得され、最後の確率は言語モデルから取得されます。言語モデルは大量のテキストを使用してトレーニングされ、言語の統計法則を使用して認識精度を向上させることができます。言語モデルは非常に重要です。言語モデルを使用しないと、状態ネットワークが大きい場合、認識結果は基本的に混乱したものになります。

このようにして、音声認識プロセスは基本的に完了し、これが音声認識技術の原理です。

3: 音声認識技術の原理 - 音声認識システムのワークフロー

一般的に、完全な音声認識システムの動作プロセスは 7 つのステップに分かれています。

①音声信号を分析・処理し、冗長な情報を削除します。

②音声認識に影響を与えるキー情報と言語の意味を表す特徴情報を抽出します。

③特徴情報に注目し、最小単位で単語を識別します。

④ さまざまな言語の文法に従って単語を順番に認識します。

⑤ 前後の意味を補助的な識別条件として用いることで、分析や識別が容易になる。

⑥意味解析に基づいて、重要情報を段落に分割し、認識された単語を取り出して接続し、文章の意味に応じて文構造を調整します。

⑦意味を組み合わせ、文脈間のつながりを注意深く分析し、現在処理中の文に適切な修正を加えます。

音声認識システムの基本原理ブロック図

音声認識システムの基本原理構造を図に示します。音声認識には、次の 3 つの原則があります。①音声信号内の言語情報は、振幅スペクトルの時間変化に従ってエンコードされます。②音声は判読可能であるため、つまり、話者が伝える情報内容を考慮せずに、音響信号を複数の異なる個別の記号で表すことができます。③音声対話は認知プロセスであるため、文法、意味論、用語から切り離してはなりません。

前処理には、音声信号のサンプリング、エイリアシング フィルタリングの克服、個々の発音の違いや環境によって発生するノイズの一部除去、音声認識とエンドポイント検出の基本単位の選択の検討が含まれます。反復トレーニングとは、認識前に話者に何度も音声を繰り返すよう依頼することで、元の音声信号サンプルから冗長な情報を削除し、重要な情報を保持し、特定のルールに従ってデータを整理してパターン ライブラリを形成することです。次はパターン マッチングです。これは音声認識システム全体の中核部分です。特定のルールに基づいて、入力された特徴とインベントリ パターンの類似性を計算し、入力された音声の意味を判断します。

フロントエンド処理では、まず元の音声信号を処理し、次に特徴抽出を実行して、ノイズの影響や異なる話者間の発音の違いを排除し、処理された信号が音声の本質的な特徴をより完全に反映できるようにします。

IV: 音声認識技術の原理 - 開発の歴史

コンピュータが発明されるずっと前から、自動音声認識のアイデアは議題に上がっており、初期のボコーダーは音声認識と合成の原型とみなすことができます。 1920年代に生産された「ラジオ・レックス」というおもちゃの犬は、おそらく最も初期の音声認識装置であり、名前を呼ぶと台座から飛び出すことができた。最も初期のコンピューターベースの音声認識システムは、AT&T ベル研究所が開発した Audrey 音声認識システムで、10 個の英語の数字を認識できました。認識方法は、音声内のフォルマントを追跡することです。システムは 98 パーセントの確率で正解しました。 1950 年代後半までに、ロンドン大学のデネスは音声認識に文法確率を取り入れました。

1960 年代には、音声認識用に人工ニューラル ネットワークが導入されました。この時代における 2 つの大きな進歩は、線形予測コーディング (LPC) とダイナミック タイム ワープ テクノロジーです。

音声認識技術における最も重要な進歩は、隠れマルコフモデルの応用です。カーネギーメロン大学の李開復氏は、バウム氏が提案した関連する数学的推論とラビナー氏らの研究に基づいて、隠れマルコフモデルに基づく初の大語彙音声認識システム「スフィンクス」を最終的に実現しました。厳密に言えば、音声認識技術はそれ以来 HMM フレームワークから逸脱していません。

1980 年代後半、実験室での音声認識研究に大きな進歩がもたらされました。実験室で、大語彙、連続音声、非特定話者という 3 つの大きな障害をようやく突破し、初めてこの 3 つの機能を 1 つのシステムに統合しました。その典型的な例が、カーネギーメロン大学の Sphinx システムです。これは、高性能な非特定話者、大語彙連続音声認識システムの最初のものです。

この期間中、音声認識の研究はさらに深まり、最も注目すべき特徴は、音声認識における HMM モデルと人工ニューラル ネットワーク (ANN) の成功した応用でした。 HMM モデルが広く応用されたのは、AT&T ベル研究所の Rabiner 氏などの科学者の努力によるものです。彼らは、もともと難しかった HMM の純粋数学モデルを、より多くの研究者が理解して認識できるように設計し、統計的手法を音声認識技術の主流にしました。

1990 年代初頭、IBM、Apple、AT&T、NTT などの多くの有名な大企業が音声認識システムの実用的な研究に多額の投資を行いました。音声認識技術には認識精度という優れた評価メカニズムがあり、この指標は 1990 年代中期から後半にかけて実験室研究で継続的に改善されてきました。代表的なシステムとしては、IBM が立ち上げた ViaVoice、DragonSystem の NaturallySpeaking、Nuance の NuanceVoicePlatform 音声プラットフォーム、Microsoft の Whisper、Sun の VoiceTone などがあります。

<<:  機械学習はデータに依存する

>>:  これらのよく知られた VR 音声テクノロジー ソリューションをご存知ですか?

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

科学記事:強化学習後、ロボット学習のボトルネックをどう突破するのか?

[[340407]]この記事はLeiphone.comから転載したものです。転載する場合は、Lei...

...

Python での機械学習 K-means アルゴリズムの実装

K平均法アルゴリズムの紹介K-means は、機械学習でよく使用されるアルゴリズムです。これは教師な...

Google Cloud と Hugging Face が AI インフラストラクチャ パートナーシップを締結

Google LLC のクラウド コンピューティング部門は本日、オープンソースの人工知能モデルを共有...

ハッシュアルゴリズムを使用した ASP.NET データ暗号化

ハッシュ アルゴリズムを使用して ASP.NET データ暗号化を実装するプロセスは何ですか?私たちの...

TIC 2018で人工知能が熱く議論され、AIが応用段階に突入

[51CTO.com からのオリジナル記事] クラウド コンピューティング、ビッグ データ、ブロック...

DeLu Deep Vision: 3Dマシンビジョンに焦点を当て、セキュリティの「スマートアイ」を照らす

[[283588]] [51CTO.comより]先日、「勢いの刷新と知能の統合」をテーマにした世界人...

ディープラーニングモデルを本番環境に簡単に導入

[51CTO.com クイック翻訳] データから学習し、パターンを識別し、人間の介入を最小限に抑えて...

GPT-LLMトレーナー: タスク固有のLLMトレーニングを1文で実装

人工知能の急速な発展を背景に、特定のタスクを実行するためのモデルのトレーニングは常に困難な作業となっ...

AIサイバーセキュリティの今後の課題:最初で最後の防衛線となる方法

ニューヨーク・タイムズ紙によると、世界の AI サイバーセキュリティの求人市場では、2021 年まで...

...

TIC 2018: クラウド サービスが人工知能の急速な発展を支援

[51CTO.comよりオリジナル記事] 中国の大手中立クラウドサービスプロバイダーUCloudが主...

ポストSORA時代において、CV実践者はどのようにモデルを選択するのでしょうか?畳み込みまたはViT、教師あり学習またはCLIPパラダイム

ImageNet の精度は常にモデルのパフォーマンスを評価するための主要な指標であり、ディープラーニ...