【文献】
山田武志 他,"適応型アレーを用いた3次元ビタビ探索に基づくハンズフリー音声認識",情報処理学会論文誌,1999年 2月15日,Vol.40,No.2,pp.460-468
(58)【調査した分野】(Int.Cl.,DB名)
前記音声認識の実行の後に、前記第1チャンネルの音声の特性に少なくとも部分的に基づいて将来の処理のために前記第1チャンネルを選択することを更に含む、請求項1に記載の前記方法。
前記少なくとも1つのプロセッサが、更に、前記第1特徴ベクトル及び前記第2特徴ベクトルを実質的に同時に処理するように構成にされた、請求項6記載の前記コンピューティング装置。
前記少なくとも1つのプロセッサが、更に、前記第1の結合された特徴ベクトルを処理してニューラルネットワークの音声認識モデルを使用することによって前記少なくとも1つの第1音声認識仮説を生成するように構成された、請求項6記載の前記コンピューティング装置。
前記少なくとも1つのプロセッサが、更に、前記少なくとも1つの第1音声認識仮説及び前記少なくとも1つの第2音声認識仮説から音声認識結果ネットワークを生成するように構成された、請求項6記載の前記コンピューティング装置。
結合された特徴で訓練された音響モデルを使用する前記第1の結合された音響的特徴を処理するプログラムコードを更に含む、請求項10に記載の前記非一時的コンピュータ可読記憶媒体。
前記第1の音響的特徴に対応する第1音声認識仮説を生成し、前記第2の音響的特徴に対応する第2音声認識仮説を生成することによって、前記第1の結合された音響的特徴を処理するプログラムコードを更に含む、請求項11に記載の前記非一時的コンピュータ可読記憶媒体。
前記少なくとも1つの第1音声認識仮説及び前記少なくとも1つの第2音声認識仮説を含む音声認識結果ネットワークを生成するプログラムコードを更に含む、請求項10に記載の前記非一時的コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0004】
自動音声認識(ASR)技術手法は、ユーザが音声取込装置(例えば、音声入力/取込要素及び/またはマイクロフォン)に話しかけることができ、音声を含む音声信号がASR装置によって認識されるコマンドに変換される。装置への音声入力は、一人または複数のユーザからの音声を含みながら、他のソースからの音声(例えば、他の個人、家庭用電気機器からのバックグラウンド音声)などのバックグラウンドノイズを含む場合がある。他のソースからの音声は、異なる方向から生じて、所望の音声の受け取りと処理を複雑にする。また、これら他のソースからの音声は、ASR装置がユーザからの処理音声の解釈をさらに困難にする。
【0005】
本開示では、ビーム形成器から受信された多チャンネルの音声に基づく音声処理方法を提供する。本開示の一態様では、ASR装置がマイクロフォンアレイ及びビーム形成器を備えてもよく、ビーム形成器は、各チャネルが特定の方向に音声を分離するように多チャネルの音声を出力できる。ASR装置は、ビーム形成器から多チャンネルの音声を受信する。多チャンネルの音声信号は、1つまたは複数のスピーカからの発声/発言の他に、家庭用電気機器からの騒音などの不要な音声を含むことがある。ASR装置は、より正確な音声認識結果を提供するために、多チャンネル音声の音声認識を同時に行うことができる。
【0006】
図1は、本開示の態様による音声処理方法を図示している。
図1は、ビーム形成器モジュール128を含むマイクロフォンアレイ126を有するASR装置100、ユーザ120、食器洗浄機122及びASR装置100の周囲に配置されたステレオスピーカ124を示す。マイクロフォンアレイは、円形の構成で示されているが、マイクロフォンアレイは異なる方向からの音声信号の受信を容易にするために、他のマイクロフォンアレイ構成(多くのアレイを有するものを含む)で配置されてもよい。ブロック102において示すように、ASR装置100は、多数の方向から、ユーザからの発言及び/または食器洗浄機122、ステレオ出力124などを含む音声を受信することができる。ユーザからの発言の受信及び他のソースからの音声の受信は同時であってもよい。線110によって図示されているビームの数は、ビーム形成器128によって分離できる方向を表している。本開示の一態様では、ASR装置100は、音声認識の結果を改善するために、多チャネルの音声データについて音声認識を同時に実行する。
【0007】
本開示において記述する技術手法は、ASR装置100のようなローカルデバイス、ネットワーク装置、または異なるデバイスのいくつかの組み合わせで実行できる。例えば、ローカルデバイスは多チャンネルの音声データを受信し、処理のためにリモートデバイスは音声にデータを送信できる。リモートデバイスは、音声認識を決定するために多チャンネルの音声についてASR処理を実行することができる。また、ローカルデバイスとリモートデバイスは、他の方法で協働することができる。これらの多くのASR装置は、ネットワークを介して接続されていてもよい。
図2に図示するように、多くのデバイスがネットワーク202を介して接続されていてもよい。ネットワーク202は、ローカルまたはプライベートネットワークを含み、あるいはインターネットのようなワイドネットワークを含むことができる。デバイスは、有線または無線接続を介してネットワーク202に接続されてもよい。例えば、無線デバイス204は、ワイヤレスサービスプロバイダを介して、ネットワーク202に接続されてもよい。コンピュータ212などの他のデバイスは、有線接続を介して、ネットワーク202に接続することができる。家庭やショッピング施設などに配置されている冷蔵庫218は、有線または無線接続を介して、ネットワーク202に接続することができる。ラップトップ208またはタブレットコンピュータ210などの他の装置は、無線サービスプロバイダ、WiFi(登録商標)接続などを含む接続を介して、様々な接続方法を使用してネットワーク202に接続可能であってもよい。ネットワークデバイスは、ヘッドセット206または214を含むいくつかの音声入力デバイスなどを介して、発声音声を入力できる。音声入力装置は、有線または無線の接続を介して、ネットワークデバイスに接続されてもよい。ネットワーク装置は、ラップトップ208内の内蔵マイクロフォン(図示せず)、無線装置204またはテーブルコンピュータ210などの埋め込み音声入力装置を含んでもよい。
【0008】
特定のASRシステム構成では、1つのデバイスは音声信号を取り込み、別のデバイスはASRの処理を行うことができる。例えば、ヘッドセット214に入力された音声は、コンピュータ212によって取り込まれ、処理のためにコンピュータ220またはサーバ216にネットワーク202を介して送信される。また、コンピュータ212は、ネットワーク202を介して、音声信号を送信する前に、それを部分的に処理してもよい。ASR処理は、ストレージと処理能力の両方の点で、かなりの計算リソースを含む可能性があるため、音声を取り込むデバイスは、リモートデバイスより低い処理能力を有し、より高品質のASR結果が求められた場合に音声信号を処理する分割構成が採用される。音声の取り込みは、ユーザの近くで行われ、取り込まれた音声信号は処理のために別のデバイスに送信される。例えば、1つ以上のマイクロフォンアレイは、ASR装置において異なる位置に配置されてもよく、取り込まれた音声は、処理のためにアレイからASR装置に送信されてもよい。
【0009】
図3は、音声認識を実行するための自動音声認識装置(ASR)302を図示している。本開示の態様は、ASR装置302にあり得るコンピュータ可読及びコンピュータ実行可能命令が含まれている。
図3は、ASR装置302に含まれるいくつかの構成要素を図示しているが、他の図示しない構成要素が含まれてもよい。図示の構成要素のいくつかは、本開示の態様を採用することが可能なあらゆる装置中になくてもよい。さらに、ASR装置302において単一の構成要素として示されたいくつかの構成要素は、単一の装置内に多数回含まれることがある。例えば、ASR装置302は、多くの入力装置306、出力装置307、または多くのコントローラ/プロセッサ308を含んでもよい。
【0010】
単一の音声認識システムでは、多くのASR装置が採用されてもよい。このようなマルチデバイスシステムでは、ASR装置は、音声認識プロセスのさまざまな態様を実行するために別の構成要素を含んでもよい。多くのデバイスは重なり合う構成要素を含んでもよい。
図3に図示するASR装置は、例示的であり、スタンドアローンデバイスであってもよく、より大きな装置またはシステムの構成要素として、全体的または部分的に、含まれてもよい。
【0011】
本開示の教示は、例えば、汎用コンピューティングシステム、サーバクライアントコンピューティングシステム、メインフレームコンピューティングシステム、電話コンピューティングシステム、ラップトップコンピュータ、携帯電話機、パーソナルデジタルアシスタント(PDA)、タブレットコンピュータ、他のモバイルデバイスなどの様々なデバイス及びいくつかのコンピュータシステムの中に適用することができる。ASR装置302は、例えば、現金自動預け払い機(ATM)、キオスク、家電用製品(冷蔵庫、オーブン、など)、自動車(車、バス、オートバイ、など)、及び/または運動器具などの音声認識機能を提供できる他の装置またはシステムの構成要素であってもよい。
【0012】
図3に図示するように、ASR装置302は、処理のために発声を取り込む音声取込装置304を含んでもよい。音声取込装置304は、音を取り込むためのマイクロフォンまたは他の適切な構成要素を含むことができる。音声取込装置304は、ASR装置302に内蔵されてもよく、ASR装置302から分離されてもよい。ASR装置302は、ASR装置302の構成要素間でデータを送信するアドレス/データバス324を含んでもよい。ASR装置302内の各構成要素は、バス324を経由して他の構成要素に接続されていることに加えて(または代わりに)、直接に他の構成要素に接続されてもよい。
図3では、特定の構成要素が直接に接続されているように図示されているが、これは単なる例示であり、他の構成要素が直接お互いに接続されてもよい(例えば、ASRモジュール314がコントローラ/プロセッサ308に接続されているように)。
【0013】
ASR装置302は、データ処理及びコンピュータ可読命令のための中央処理装置(CPU)であるコントローラ/プロセッサ308及びデータと命令を保存するメモリ310を含んでもよい。メモリ310は、揮発性ランダムアクセスメモリ(RAM)、不揮発性読み出し専用メモリ(ROM)、及び/または他のタイプのメモリを含むことができる。ASR装置302は、データ及び命令を保存するためのデータストレージコンポーネント312を含んでもよい。データストレージコンポーネント312は、磁気記憶装置、光学記憶装置、固体記憶装置などの1つ以上の記憶装置タイプを含んでもよい。ASR装置302は、入力装置306または出力装置307を介して取り外し可能な、または外部メモリ及び/または記憶装置(例えば、リムーバブルメモリカード、メモリーキードライブ、ネットワークストレージなど)に接続されてもよい。ASR装置302及びその様々な構成要素を操作するためのコントローラ/プロセッサ308による処理のコンピュータ命令は、コントローラ/プロセッサ308によって実行されてもよく、そして以下に説明するASRモジュール314に含まれるメモリ310、記憶装置312、外部デバイス、またはメモリ内/記憶装置に保存されてもよい。選択的に、実行可能命令の一部または全ては、ソフトウエアに代えてまたはその代わりに、ハードウエアまたはファームウエアに埋め込まれてもよい。本開示の教示は、例えば、ソフトウエア、ファームウエア及び/またはハードウエアの様々な組合せで実行され得る。
【0014】
ASR装置302は、入力装置306及び出力装置307を含んでいる。様々な入力/出力装置が装置に含まれてもよい。例示的な入力装置306は、例えば、マイクロフォン(別個の構成要素として表示)のような音声取込装置304、タッチ入力装置、キーボード、マウス、スタイラスまたはその他の入力装置を含む。例示的な出力装置307は、例えば、視覚ディスプレイ、触覚ディスプレイ、音声スピーカ、ヘッドホン、プリンタまたは他の出力装置を含んでいる。入力装置306及び/または出力装置307は、例えば、ユニバーサルシリアルバス(USB)、ファイヤーワイヤー、サンダーボルトまたは他の接続プロトコルのような接続のために外部周辺機器用インターフェースを含んでもよい。入力装置306及び/または出力装置307は、イーサネット(登録商標)のポート、モデムなどのネットワーク接続を含んでもよい。入力装置306及び/または出力装置307は、無線周波数(RF)、赤外線、ブルートゥース、無線ローカルエリアネットワーク(WLAN)(例えば、WiFi)などの無線通信装置、またはロングタームエボリューション(LTE)ネットワーク、WiMAXネットワーク、3Gネットワークなど無線通信ネットワークと通信可能な無線などの無線ネットワークの無線機を含んでいる。入力装置306及び/または出力装置307を介してASR装置302は、分散コンピューティング環境を含むことができ、インターネットやプライベートネットワークなどのネットワークに接続することができる。
【0015】
当該装置は、発声音声データをテキストに処理するためにASRモジュール314を含んでもよい。ASRモジュール314は、音声データを音声データに含まれている発言の言葉を表すテキストデータに転写する。テキストデータは、システムコマンド、データ入力など様々な目的のために、他の構成要素によって使用されてもよい。発声を含めた音声データは、リアルタイムに処理されてもよく、保存して後の時点で処理してもよい。音声データに含まれた発声は、ASRモジュール314に入力され、ASRモジュール314が発声とASRモジュール314に知られているモデルとの間の類似性に基づいて、発声を解釈する。例えば、ASRモジュール314は、入力された音声データを音(例えば、音声単位または音素)のモデル及び音のシーケンスと比較してもよく、音声データの発声における話された音のシーケンスに一致する単語を識別する。発声が解釈できる異なる方法は、それぞれに単語の特定のセットが発声に話された単語に一致する尤度を表す確率または認識スコアを割り当てることができる。認識スコアは、例えば、発声中の音と言語の音のモデル(例えば、音響モデル)との類似度及び音に一致する特定の単語は文章の特定の場所に含まれる(例えば、言語モデルまたは文法を使用して)尤度を含む多くの要因に基づいてもよい。考慮される要因及び割り当てられた認識スコアに基づいて、ASRモジュール314は音声データに認識される最も可能性の高い単語を出力してもよい。ASRモジュール314は、多くの代りとして認識された単語を格子またはN個ベストリストの形で出力できる(以下でより詳細に記述する)。
【0016】
認識スコアは、音声データの一部が特定の音素または単語に対応する確率を表す一方、認識スコアは、他の音声データのASR処理との相対的なスコアが割り当てられた音声データのASR処理品質を示す他の情報を組み込むことができる。認識スコアは、1から100の尺度の数字、0から1の確率、対数確率またはその他の指標として表すことができる。認識スコアは、音声データのセクションで特定の音素、単語などに対応する相対的な正確度を示してもよい。
【0017】
ASRモジュール314は、バス324、入力装置306及び/または出力装置307、音声取込装置304、エンコーダ/デコーダ322、コントローラ/プロセッサ308及び/またはASR装置302の他の構成要素に接続できる。ASRモジュール314に送信される音声データは、音声取込装置304から入力されるか、入力装置306によって受信される、例えば、リモートエンティティによって取り込まれた音声データはネットワークを介してASR装置302に送信される。音声データは、発声のオーディオ波形のデジタル表現の形態であってもよい。サンプリングレート、フィルタリング、及びアナログからデジタルへの変換処理の他の態様は、音声データの全体的な品質に影響を与えることがある。音声取込装置304及び入力装置306の各種設定は、品質とデータサイズとの典型的なトレードオフまたはその他の考慮事項に基づいて、音声データを調整するように構成されてもよい。
【0018】
ASRモジュール314は、音響フロントエンド(AFE)316、音声認識エンジン318及び音声記憶装置320を含んでいる。AFE316は、音声データを音声認識エンジン318によって処理するデータに変換する。音声認識エンジン318は、元の音声データに含まれている音声を認識するために、音声認識データを音声記憶装置320に記憶された音響、言語及びその他のデータモデルと情報を比較する。AFE316及び音声認識エンジン318は、例えば、独自のコントローラ/プロセッサ及びメモリを含むか、またはASR装置302のコントローラ/プロセッサ308及びメモリ310を使用することができる。同様に、AFE316及び音声認識エンジン318を動作させるための命令は、ASR装置302のASRモジュール314、メモリ310及び/または記憶装置312内に配置されてもよく、外部デバイス内に配置されてもよい。
【0019】
受信した音声データは、処理のためにAFE316に送信されてもよい。AFE316は、音声データの雑音を低減し、処理のための発声を含む音声データの部分を識別し、識別された音声成分を区分して処理してもよい。AFE316は、デジタル化された音声データをフレームまたは音声セグメントに区分し、各フレームが、例えば、10ミリ秒(ms)の時間間隔を表してもよい。フレームの間に、AFE316は、フレーム内の部分の発声の機能/品質を表す特徴ベクトルと呼ばれる値のセットを決定する。特徴ベクトルは、変化するいくつかの値、例えば、40を含むことができる。特徴ベクトルは、フレーム内の音声データの異なる性質を表してもよい。
図4は、最初の単語404が処理されている間に、最初の単語404の多数の点406を有するデジタル化された音声データの波形402を示している。これらの点の音声品質は、特徴ベクトルに保存されてもよい。特徴ベクトルは発声の時間期間を表現するマトリックスにストリーミングまたは組み合わせることができる。これらの特徴ベクトルマトリックスは、次いで処理のために、音声認識エンジン318に送られてもよい。音声データを処理するために、いくつのアプローチがAFE316によって使用されてもよい。それらのアプローチは、メル周波数ケプストラム係数(MFCC)、知覚線形予測(PLP)技術手法、ニューラルネットワークの特徴ベクトルの技術手法、線形判別分析、半結共分散行列、またはこの分野の通常の知識を有する者に周知の他の方法の使用を含むことができる。
【0020】
処理された特徴ベクトルは、ASRモジュール314から出力され、更なる処理のために別のデバイスに送信する出力装置407に送信されてもよい。特徴ベクトルは、送信前にエンコーダ/デコーダ322によって符号化及び/または圧縮されてもよい。エンコーダ/デコーダ322は、デジタル化された音声データ、特徴ベクトルなどのASRデータを符号化及び復号化するためにカスタマイズできる。エンコーダ/デコーダ322は、例えば、.zipのような一般的な符号化スキームを使用して、ASR装置302の非ASRデータを符号化できる。エンコーダ/デコーダ322の機能性は、
図3に図示されているように別個の構成要素内に配置されてもよく、コントローラ/プロセッサ308、ASRモジュール314、または他の構成要素によって実行されてもよい。
【0021】
音声認識エンジン318は、音声記憶装置320に保存されている情報を参照して、AFE316からの出力を処理してもよい。代替的に、フロントエンド処理された後のデータ(特徴ベクトルなど)は、内部AFE316の他に別のソースからASRモジュール314によって受信されてもよい。例えば、別のエンティティは、音声データを特徴ベクトルに処理して、入力装置306を介して、その情報をASR装置302に送信してもよい。特徴ベクトルが符号化された形でASR装置302に到達することがあり、その場合、音声認識エンジン318(例えば、エンコーダ/デコーダ322)によって処理される前に復号化される。
【0022】
音声記憶装置320は、音素の発音を特定の単語に一致するデータなど音声認識の様々な情報が含まれている。このデータは、音響モデルとも呼ばれる。音声記憶装置は単語の辞書または語彙を含んでもよい。音声記憶装置は、特定の文脈内において一緒に使用される可能性が高い単語を記述するデータを含んでもよい。このデータは、言語または文法モデルとも呼ばれる。音声記憶装置320は、記録された音声及び/または対応する転写を含んでもよい訓練コーパスを含んでもよく、この訓練コーパスは音声認識においてASRモジュール314によって使用されるモデルを訓練し改善するために使用されてもよい。訓練コーパスは、事前に、音響モデルと言語モデルを含む音声認識モデルを訓練するために使用されてもよい。モデルは、次に、ASR処理中に使用されてもよい。
【0023】
訓練コーパスは、関連する特徴ベクトル及び関連する正しいテキストを有するいくつかのサンプル発声を含んでもよく、これらは、例えば、音響モデルと言語モデルを作成するために使用することができる。サンプル発声は、特定の音声単位の予想される音声に対応する数学的モデルを作成するために使用されてもよい。これらの音声単位は、音素、音節、音節の一部、単語の一部などを含んでもよい。音声単位は、トライフォン、キンフォンなど文脈内の音素を含んでもよい。音声の中に定期的に使用される文脈内の音素は独自のモデルと関連付けられる場合がある。一般的にあまり使用されていない文脈内の音素は、グループモデルに所属するように、一緒にクラスタ化することができる。このように、音素グループをクラスタ化することによって、より少ないモデルが訓練コーパスに含まれてもよく、ASR処理を容易にする。訓練コーパスは、ASRモジュール314に異なる発声の比較を提供するために、異なる話者から同じ発声の多くのバージョンを含むことができる。訓練コーパスは、正しいと認識された発声だけでなく、正しくないと認識された発声を含んでもよい。これらの正しくないと認識された発声には、例えば、文法の間違い、不正確な認識エラー、雑音、またはASRモジュール314にエラーの種類とそれに対応する訂正の例を提供する他のエラーを含んでもよい。
【0024】
他の情報も、音声認識に使用する音声記憶装置320に記憶することができる。音声記憶装置320の内容は、一般的な使用のASRのために設定されてもよく、または特定のアプリケーションで使用される可能性がある音や単語を含むようにカスタマイズしてもよい。例えば、ATM(現金自動預け払い機)におけるASR処理のために、音声記憶装置320は、銀行取引に固有のカスタマイズされたデータを含んでもよい。特定の例では、音声記憶装置320は、ユーザの個別の音声入力に基づいて、個々のユーザのためにカスタマイズされてもよい。性能を改善するために、ASRモジュール314は、ASR処理の結果のフィードバックに基づいて、音声記憶装置320の内容を修正/更新し、これにより、ASRモジュール314が訓練コーパスに提供される機能を越えて音声認識を改善することを可能にする。
【0025】
音声認識エンジン318は、受信した特徴ベクトルを音声記憶装置320に知られている単語やサブワード単位に一致させようとする。サブワード単位は、音素、文脈内の音素、音節、音節の一部、文脈での音節、または単語の他の部分であってもよい。音声認識エンジン318は、音響情報と言語情報に基づいて、特徴ベクトルの認識スコアを計算する。音響情報は、特徴ベクトルの集合で表される意図された音が、サブワード単位と一致する尤度を表す音響スコアを計算するために使用される。言語情報は、どの単語が一緒に文脈において使用されているかを考慮することにより、音響スコアを調整するために使用され、それにより、ASRモジュールが文法的に意味のある音声を出力して尤度を改善する。
【0026】
音声認識エンジン318は、特徴ベクトルを音素またはバイフォン、トライフォンなどの他の音声単位と一致させるために多くの技術手法を使用してもよい。隠れマルコフモデル(HMM)の使用は、1つの一般的な技術手法である。HMMは、特徴ベクトルが音素と一致する確率を判定するために使用される。HMMを使用して、いくつかの状態が表現され、これらの状態は一緒に潜在的な音素(またはトライフォンなどの他の音声単位)を表し、各状態がガウス混合モデルなどのモデルと関連付けられる。状態間の遷移は、関連付けられた確率を有し、現状の状態が以前の状態から到達できる尤度を表現する。受信された音は、HMMの状態間の経路として表現されてもよく、そして多数の経路は同じ音に対する多数の一致する可能性があるテキストを表してもよい。各音素は、音素とその部分(発声の音の最初、中間、最後など)の異なる既知の発音に対応する多数の潜在的な状態によって表現されてもよい。潜在的な音素の確率に関する初期の決定は、1つの状態に関連付けられてもよい。新たな特徴ベクトルは、音声認識エンジン318によって処理される間に、状態は、新たな特徴ベクトルの処理に基づいて、変更する場合と変化しない場合がある。ビタビアルゴリズムは、処理された特徴ベクトルに基づいて、状態の最も可能性の高いシーケンスを検索するために使用されてもよい。
【0027】
一実施例では、音声認識エンジン318は、「こんにちは、今日はお元気ですか」(“Hello,how are you?“)を発言するユーザに対応する音の一連の特徴ベクトルを受けてもよい。音声認識エンジン318は、各特徴ベクトルを音声認識データベース320にある音素と一致するように試みてもよい。例えば、
図5は、X0からX9まで10個の特徴ベクトルを含む音素PN(「hello」の「e」の音を表す)に対応する特徴ベクトル502のシリーズを図示している。第1の特徴ベクトルを処理すると、音声認識エンジン318は、
図5にスコアとして示されているように、特徴ベクトルが音素に一致している確率を予備的に決定する。特徴ベクトルに基づいて、音素/E/に0.43の初期スコア、音素/e/(/E/とは異なる発音)に0.24のスコアなどが割り当てられてもよい。スコアは、特徴ベクトルが音声記憶装置320に記憶された1つ以上の音響モデル内の音素の状態に関連付けられている分布にどの程度一致していかに基づいてもよい。特徴ベクトルには、特徴ベクトルが雑音または無音を表すスコアを割り当ててもよい。
図5の例では、特徴ベクトルが雑音を表すスコアは0.05である。
【0028】
図5に示す音素/E/のスコア0.43を有する特徴ベクトルを例にすると、音声認識エンジン318は、
図6に示す隠れマルコフモデルでの状態S
0として示される、特徴ベクトルが音素/E/の最初の状態と一致するスコア0.43を最初に割り当てる。さらに処理すると、音声認識エンジン318は、状態が同じのままにするか、または新しい状態に変更するかどうかを決定する。例えば、状態はそのまま604でいいかどうかは、対応する遷移確率(P(S
0|S
0)と記述し、状態S
0からS
0に遷移する確率を意味する)及び後続のフレームがS
0とS
1と一致することに依存してもよい。状態S
1は、最も可能性が高い場合、計算は状態S
1に移動し、そこから継続する。その後のフレームについて、音声認識エンジン318は、同様に、P(S
1|S
1)608で表される遷移確率を使用して、状態はS
1のままでいいかどうか、またはP(S
2|S
1)610で表される遷移確率を使用して、次の状態へ移動するかを決定する。処理を継続すると、音声認識エンジン318は、S
2の状態のままの確率612、または示された音素/E/の状態から他の音素の状態に移動するかを含む確率の計算を継続する。状態S
2のための特徴ベクトルを処理した後で、音声認識は、発声の次の音素に移動してもよい。
【0029】
確率と状態は、多くの技術手法を用いて計算することができる。例えば、各状態の確率は、ガウスモデル、ガウス混合モデル、または特徴ベクトル及び音声記憶部320の内容に基づく他の技術を用いて計算することができる。例えば、音素状態の確率を推定するために最尤推定(MLE)などを使用することができる。
【0030】
1音素の潜在的な状態を特徴ベクトルと潜在的に一致するとして計算することに加えて、音声認識エンジン318は、特徴ベクトルが潜在的に一致するとして、
図5に示す実施例の音素/e/及び/または音素/a/などの他の音素の潜在的な状態を計算することができる。このように、多くの状態と状態遷移確率が計算されてもよい。
【0031】
音声認識エンジン318によって計算された可能性の高い状態及び可能性の高い状態遷移が、経路に形成される。各経路は、特徴ベクトルで表される音声データと潜在的に一致する音素の進行を示している。1つの経路は、各音素について計算された認識スコアに応じて、1つまたは複数の他の経路と重複する場合がある。一定の確率は、状態から状態への各遷移に関連付けられている。累積経路スコアが、また、各経路に対して計算されてもよい。ASR処理の一部として、スコアを組み合わせた場合、所望の組み合わせスコアに到達するために、スコアが乗算(または他の方法で結合)され、または確率が対数領域に変換され、処理を支援するために加算されてもよい。
【0032】
音声認識エンジン318は、また、言語モデルや文法に基づいて、経路のブランチのスコアを計算することができる。言語のモデルを作るには、理路整然とした単語や文を形成するために、どの単語が一緒に使用される可能性があるかについてスコアを決定することを伴う。言語モデルを適用すると、ASRモジュール314が音声データに含まれている音声を正しく解釈する尤度を改善させる可能性がある。例えば、「HELO」、「HALO」、「YELO」の潜在的な音素経路を戻す音響モデルの処理は、発声内の各単語の言語文脈に基づいて、「HELO」(「hello」という単語として解釈)、「HALO」(「halo」という単語として解釈)、と「YELO」(「yellow」という単語として解釈)の認識スコアを調整するために、言語モデルによって調整することができる。言語のモデル作りは、音声記憶装置320に保存された訓練コーパスから決定され、特定の用途のためにカスタマイズすることができる。
【0033】
言語のモデル作り(またはASR処理の他の段階)の一環として、音声認識装置318は、計算リソースを節約するために、言語モデルに基づく低い認識スコア、またはその他の理由のいずれかによる発声に対応する低い尤度を有する低い認識スコア状態または経路を取り除いて廃棄することができる。さらに、ASR処理中に、音声認識エンジン318は、反復して、追加の処理段階を以前に処理した発声部分に対して実行してもよい。後の段階は、結果を改善するために、以前の段階の結果を組み込むことができる。音声認識エンジン318が入力音声から潜在的な単語を決定すると共に、多くの潜在的な音や単語が入力音声について潜在的に一致していると考えられるため、格子が非常に大きくなることがある。潜在的な一致は単語結果ネットワークとして示され得る。音声認識結果ネットワークは、認識できる音声単位の可能なシーケンス及び各シーケンスの尤度を表現するアークとノードの接続ネットワークである。単語結果ネットワークは、単語レベルでの音声認識結果ネットワークである。他のレベルの音声認識ネットワークも可能である。結果ネットワークは、音声認識デコーダ(またはエンジン)の任意のタイプによって生成されてもよい。例えば、以下でより詳細に記述されるように、結果ネットワークは、FSTに基づくデコーダによって生成されてもよい。結果ネットワークは、最高のスコア結果の格子、またはN個ベストリストとしての音声認識結果の最終セットを作成するために使用されてもよい。
【0034】
図7は、本開示のいくつかの態様に従って、音声を認識する音声認識エンジン318によって使用される単語結果ネットワークの実施例を図示するものである。単語結果ネットワークは、認識できる単語のシーケンス及び各シーケンスの尤度から構成されてもよい。単語結果ネットワーク内の任意の経路の尤度は、音響モデル及び言語モデルによって決定されてもよい。
図7において、示された経路は、例えば、「head」、「hello I」、「hello I’m」、「hen」、「help I」、「help I’m」「hem」、「Henry I」、「Henry I’m」及び「hedge」を含んでいる。
【0035】
図7に図示するように、単語結果ネットワークは初期ノード710で開始してもよい。ノード710において、音声認識エンジン318が処理を開始するので、単語はまだ認識されていないかもしれない。ノード710から、音声認識エンジン318は、アーク及び追加のノードを作成し、各アークが認識できる潜在的な単語に関連付けられ得る。いくつかの用途では、単語は、ノードの代わりに、アークによって表すことができる。
図7では、ノード710からノード720までのアーク、ノード726までのアークには、音声認識エンジン318によって認識できる例語が付されている。
【0036】
初期ノード710から、音声認識エンジン318は、ノード710を去る最も発生する可能性が高いアークを決定するために音響モデル及び言語モデルを適用することができる。HMMを採用する音響モデルのために、音声認識エンジン318は、ノード710を去る各アークについて別々のHMMを作成できる。音響モデルと言語モデルを適用して、音声認識エンジン318は、ノード710を去るアークのために、いくつかのサブセットの追求を決定することができる。例えば、
図7では、音声認識エンジン318は、アークのそれぞれのスコアに基づき、正しい結果をもたらす可能性が最も高いアークにコンピューティングリソースを集中しようと努力して、音声認識エンジン318が高いスコアを持つアークのみを追求し、「hello」、「help」、「Henry」で始まる経路に従うことを決定して、「head」、「hen」及び「hedge」で始まる経路の追求停止を決定することができる。
【0037】
音声認識エンジン318は、経路のN個ベストリストと共に、音声認識エンジン318によって決定された上位N個経路に対応するそれぞれの認識スコアを戻してもよい。N個ベストリストを受けたアプリケーション(ASR装置302の内部または外部の構成要素またはプログラムなど)は、受けたリスト及び関連付けられた認識スコアに対して更なる操作または解析を行う。例えば、N個ベストリストは、誤りの訂正及びASRモジュール314の様々なオプションと処理条件を訓練するために使用することができる。音声認識エンジン318は、実際の正しい発声を最高の結果及びN個ベストリスト上の他の結果と比較し、どうして誤った認識が特定の認識スコアを受けたかを決定できる。音声認識エンジン318は、将来の処理の試行における誤ったアプローチの認識スコアを削減するために、そのアプローチを訂正(音声記憶装置320内の情報を更新)することができる。
【0038】
本開示の一態様では、音声認識エンジン318は、有限状態トランスデューサ(FST)を使用することができる。FSTは、音声認識エンジン318によって認識できる全ての可能な単語を含むグラフである。事前に作成されたため、FSTは静的であってもよく、同じFSTが全ての発声を認識するために使用することができる。
【0039】
FSTは、認識され得る全ての単語シーケンスの経路を含んでもよい。FSTは、サイズを低減するために、決定がなされ及び/または最小化される。FSTの各ノードについて、ノードから出る各アークが異なるラベルを持っている場合に、FSTが決定されてもよい。可能なノードの最小数を有する場合、FSTを最小化することができる。例えば、アプリケーションに応じて、与えられた単語は、FSTに一度だけ表示され、FSTの与えられたアークは、単一の発声に対して複数回横断することができるように、FSTが周期的であってもよい。他のアプリケーションでは、単語の文脈を識別できるように、単語が一回以上FSTに表れてもよい。上記の例では、言葉のFSTを考察しているが、FSTはHMMのシーケンスやHMM状態のような他の種類のシーケンスを表すことができる。他のFSTと合成することによって、より大きなFSTを作成することができる。例えば、単語や単音を含むFSTは、単語のFSTを単音のFSTと合成することによって作成され得る。
【0040】
音声認識エンジン318は、音声認識結果を表す格子の中に潜在的な経路を組み合わせることができる。サンプル格子は、
図8に図示されている。格子802は、音声認識結果の多数の潜在的経路を示している。大きなノード間の経路は、潜在的な単語(例えば、「hello」、「yellow」、など)を表現し、小さいノード間の経路は、潜在的な音素(例えば、「H」、「E」、「L」、「O」と「Y」、「E」、「L」、「O」)を表現している。例示のために、格子の最初の2つの単語の個々の音素のみが示されている。ノード804とノード806の間にある2つの経路は、2つの潜在的な単語の選択肢、つまり「hello how」または「yellow now」を表している。ノード(潜在的な単語など)間の各経路のポイントは、認識スコアと関連付けられている。格子を横切る各経路は、認識スコアが割り当てられてもよい。認識スコアは、音響モデルのスコア、言語モデルスコア及び/または他の要因の組み合わせの場合、最高の認識スコア経路は、音声認識エンジン318によって関連付けられた特徴ベクトルのASR結果として戻されてもよい。
【0041】
ASR処理後、ASRの結果は、更なる処理(解釈のテキストに含むコマンドの実行など)のために、ASRモジュール314によってコントローラ/プロセッサ308などのASR装置302の別の構成要素または外部デバイスに送信する出力装置307に送信されてもよい。
【0042】
ニューラルネットワークも、音響モデル処理及び言語処理モデル処理を含むASR処理を実行するために使用されてもよい。ASRのためのニューラルネットワークの実施例は、
図9に図示されている。ニューラルネットワークは、入力レイヤ902、中間レイヤ904及び出力レイヤ906によって構成されてもよい。中間レイヤは、隠れレイヤとして知られているものでもよい。隠れレイヤの各ノードは、入力レイヤ内の各ノードと出力レイヤ内の各ノードに接続されている。
図9に図示されているが、単一の隠れレイヤによりニューラルネットワークは、多数の中間レイヤを含むことができる。この場合、隠れレイヤの各ノードは、次の上位レイヤ及び次の下レイヤの各ノードとつながる。入力レイヤの各ノードはニューラルネットワークへの潜在的な入力を表し、出力レイヤの各ノードはニューラルネットワークの潜在的な出力を表している。次のレイヤにおけるあるノードから別のノードへの各接続は、重量またはスコアに関連付けられてもよい。ニューラルネットワークは、単一出力または可能な出力の重み付けセットを出力してもよい。
【0043】
一態様では、ネットワークの隠れレイヤの出力が、次のセットの入力のために、再び隠れレイヤにフィードバックするように、ニューラルネットワークが回帰接続で構築されてもよい。このようなニューラルネットワークは、
図10に示されている。入力レイヤ1002の各ノードは、隠れレイヤ1004の各ノードに接続している。隠れレイヤ1004の各ノードが出力レイヤ1006の各ノードに接続している。図示されているように、隠れレイヤ1004の出力は、次の入力のセットを処理するために隠れレイヤにフィードバックされている。
【0044】
音響モデルがニューラルネットワークを利用する場合には、ニューラルネットワークの入力レイヤの各ノードは、AFE316によって出力されるような音響的特徴の特徴ベクトルの音響的特性を表現してもよく、出力レイヤの各ノードは、特徴ベクトルで表される音に対応するサブワード単位(音素、トライフォンなど)及び/または関連付けられた状態に対応するスコアを表現している。ニューラルネットワークに与えられた特定の入力のために、そのネットワークは、特定の出力が特定の入力に対して与えられた正しい出力である旨の確率を表す割り当てられたスコアをそれぞれ有する多くの潜在的な出力を提供する。音響モデルニューラルネットワークのトップスコアの出力は、言語モデルに結果を渡す前に音の間の遷移を決定してもよいHMMに供給される。
【0045】
言語モデルがニューラルネットワークを利用する場合には、訓練されたニューラルネットワーク言語モデルによって決定された通り、ニューラルネットワークの入力レイヤの各ノードは、前の単語を表し、ニューラルネットワークの出力レイヤの各ノードは、次の潜在的な単語を表すことができる。言語モデルは、
図10に示すネットワークのように、ニューラルネットワークによって処理された単語のある履歴を組み入れる回帰性ニューラルネットワークとして構成され得るので、潜在的な次の単語の予測は最新の単語だけでなく、以前の発声内の単語に基づくことができる。言語モデルニューラルネットワークは、次の単語の重み付けの予測を出力してもよい。
【0046】
ニューラルネットワークによる処理は、各ノードの入力とネットワークの構造で学習した重みによって決定される。特定の入力が与えられると、ニューラルネットワークは、ネットワーク全体の出力レイヤが計算されるまで1レイヤずつの出力を決定する。
【0047】
接続の重みは、初期状態では、訓練中にニューラルネットワークによって学習されてもよく、この訓練では指定された入力が既知の出力に関連付けられている。訓練データセットでは、様々な訓練例がネットワークに供給される。それぞれの例では、一般的に入力から出力への正しい接続の重みを1に設定し、全ての接続には0の重みを与える。訓練データにおける例がニューラルネットワークによって処理中に、ネットワークのパフォーマンスと目標パフォーマンスとの比較方法を決定するために、入力がネットワークに送信され、関連付けられている出力と比較されてもよい。バックプロパゲーションのような訓練手法を使用して、ニューラルネットワークの重みは、訓練データを処理中にニューラルネットワークによって起こされたエラーを低減するために更新されてもよい。ニューラルネットワークの訓練は、一般的に事前に行われている。つまり、音響モデリング、言語モデルなど呼び出された機能を実行するために、ニューラルネットワークが訓練された後に、ASRシステムに展開されることを意味する。
【0048】
音声認識処理のための音声を受信するとき、ASR装置は、ユーザから発話のような所望の音声と、他の人からお互いに話をする音声や家庭用電気機器からの騒音などのような望ましくない音声の両方を受信することがある。特定の状況では、音声は、騒音とは異なる方向から到来することがある。異なる方向から到来する音声を分離するために、装置は、ビームフォーミングという多くの音声入力デバイスを使用して、特定の音声入力を分離する処理を実行することができる。ビームフォーミングを行うために、装置はマイクロフォンアレイ及び関連する構成要素など、方向に基づく処理の構成要素を含んでもよい。方向に基づく処理構成要素は、マイクロフォンアレイに結合されていれば、マイクロフォンアレイに対して局所であっても及び/または別個であってもよい。マイクロフォンアレイは、固定であっても、方向が変えられてもよい。方向が変えられる場合、マイクロフォンアレイは電子焦点合わせを可能にし、ビームとして周知である特定の方向から到来する音声にマイクロフォンアレイの焦点をあわせるデータ処理の技術手法が使用されてもよい。そのように方向が変えられると、ユーザの方向から受ける音声にASR処理を集中することによって、ユーザの発話を分離するために使用され得る。
【0049】
ユーザからの音声の方向が既知である場合、マイクロフォンアレイは、その既知の方向に変えることができる。所望の位置からの音声は、所望の音声の質を改善するために処理され得る。例えば、装置は、話者の方向からの音声信号の信号対雑音比を増加させることができる。残響、エコーキャンセルなど他の技術手法も、所望の音声を受けることを改善するために使用できる。
【0050】
しかし、ユーザからの音声の方向が不明な場合は、幾つかの技術手法及び検討が、所望の音声の方向を決定するために使用され得る。例えば、所望のユーザの発話は、ASR装置の特定の位置においてより高い強度を有し得る。ASR装置に対して話者の相対的な位置が未知の場合、最大音量(または最高強度)の音声源が所望の話者である前提で、ビームフォーミングが一般的に行われる。この場合、低い強度の異なる方向から他の音声は減衰されるが、より高い強度を持つ音声は増幅される。しかし、より高容量の音声は、所望の音声(例えば、ユーザからの音声)ではないかもしれない。例えば、異なる方向の家庭用電気機器に由来する騒音は、ユーザからの音声よりも高い強度を有する場合がある。その結果、音声の最高強度に基づいて、所望の音声の検出は、誤った結果を出す場合がある。
【0051】
所望の音声を決定するために、受信された音声の強度にのみ依存するよりも、本開示の態様は、所望の音声を分離するために多チャンネルの音声の復号に基づいて、異なる方向で音声認識を同時に行うことにより、所望の音声の識別を改善する。装置は、異なる方向からの音声を受け取り、音声検出及び/または音声認識の技術手法を使用して音声を処理することができる。この装置は次いで、ユーザから所望の発声に対応する最も近い音声を含む方向を決定してもよく、更なる処理のために、その方向からの音声認識結果/音声に焦点を置くものである。多チャネルの音声を復号するために、1つまたは複数のASR装置は、
図3に示すビーム形成器モジュール128を含むことができる。ビーム形成器モジュール128は、異なる方向から複数の音源から音声信号を受け、所望の発声を分離するために同時に異なる方向の音声認識を実行することができる。
【0052】
本開示のいくつかの態様では、所望の方向からの発声とそれ以外の方向からの音声との関係(例えば、類似度)を決定するために、音声認識は異なる方向に対して同時に行われる。例えば、音声がそれぞれの方向から受信されたかどうかを決定するために、音声認識(各方向についての仮説の生成を含む)は同時に異なる方向で行われている。異なる方向の仮説の生成を含む音声認識は、ローカルASR装置及び/またはリモートデバイスで並列に実行され得る。従って、所望の発声の最も可能性の高い方向は、全ての方向の音声認識結果(例えば、仮説)の少なくとも一部が生成された後に識別される。
【0053】
本開示の一態様では、音声の異なる方向のそれぞれについて得られた各音声認識結果には、特定の結果がユーザからの最も可能性の高い方向及び最も可能性の高い発声に対応している確率を表す信頼度スコアが割り当てられている。いくつかの態様では、信頼度スコアは、パーセンテージとして表されてもよい。信頼度スコアは、例えば、異なる方向からの音/音声と言語音のモデル(例えば、音響モデル)との類似度、音声と一致する特定の単語が文の特定の位置に含まれる尤度(例えば、言語モデルまたは文法モデルを使用)及び特定の方向に対応するビーム強度を含むいくつかの要因に基づくことができる。例えば、所望の音声のための最強ビームエネルギーに対応する方向は、より高い信頼度スコアが割り当てられてもよい。いくつかの例では、最も高い信頼度スコアは、ユーザの方向を表すために選択できる。特定の態様において、閾値信頼度スコアを得ていない結果を廃棄し、より高いスコアリングの結果のために、処理リソースの制限をなくする。
【0054】
音声認識は、上述したような音声認識モデルによって実行されてもよい。方向の特徴が、特定の方向からの音声が音声を含んでいるかどうかを判定するために、ASR装置を支援する方向性モデル(例えば、軌道モデル)に従って実行されてもよい。音声認識モデルと方向性モデルは、多くの方向で音声認識結果を同時に評価するために、共同でまたは別々に実行することができる。モデルが共同で実行された場合は、ASRシステムは、方向を分離し、同時に音声認識の使用を試みることができる。このような同時処理が同時に音声の発信の方向だけでなく、音声のトランスクリプト(例えば、仮説)の識別を実行することができる。音声認識結果は、全ての方向について評価され得るので、システムは、その音声認識結果に基づいて、最も可能性が高い方向を決定できる。方向モデルは、音声と最も類似している音を含む方向、音声エネルギーまたはその他の音響情報(例えば、話者検出など)などの他の要因、あるいはカメラ、ジャイロスコープ、コンパス、GPS、加速度計、モーションセンサまたは音声入力装置に対してユーザの相対的な方向の決定を支援する他の装置の構成要素から得られた情報に基づくことができる。同時に異なる方向に音声を処理することによって、ASR装置は、ユーザが異なる方向に移動している場合に、ユーザの方向検出を改善することができる。
【0055】
本開示の一態様において、ユーザの話を聴くために選択された方向が、別方向の同時音声認識に基づいて識別されると、その選択された方向からの以降のビームの方が、他の方向からのビームに比べてユーザの方向をより表していると思われる。その結果、以前に選定された方向に対応する以降のビームには、その他の方向からのビームに比べてより信頼度の高いスコアが割り当てられ得る。
【0056】
本開示の一態様において、各々異なった方向について同時に得られる各々の音声認識結果は、有限状態トランスデューサ(FST)において使用されてもよい。この態様では、復号グラフは、異なった方向について音声認識が同時に実行された結果を表している。その復号グラフは、あり得る仮説または単語の探索空間と、それらに対応した方向を表すことができる。例えば、N個の復号グラフが、N本の異なるビームによる多方向の同時復号を促進し、かつ結果のプルーニングを促進するために提供されてもよい。この態様において、音声の異なった方向については、FSTのグラフ上の音声認識の結果(例えば、書写または仮説)が一対にされてもよく、そのため復号グラフは、異なった方向を介して遷移する。従って、ユーザの方向と対応する音声認識の結果が、復号グラフ上で同時に明らかにされる。本開示の一態様において、音声の方向は、ユーザから発声されている期間変化し、グラフを通して探索で決定される隠れた変数として実行されてもよい。
【0057】
ASR装置及び/またはネットワークにおいて音声認識を行う1つの方法は、単語のシーケンスW=(W
1、W
2、W
1...)を識別する予測(例えば、確率)を提供する言語モデルと音声/音響信号XのメッセージWを符号化する確率密度関数p(X|W)によって表現される音響モデルを提供することを含んでいる。音声認識は、観察された音響信号によって与えられる最も相応しい単語シーケンスを識別するために行われる。例えば、音声認識は、音声信号Xで与えられる確率W(つまり、p(W))を最大化するか、または、等価的に、確率Wと方程式p(X,W)=p(X|W)p(W)で示される確率密度関数の積を最大化するために行われる。
【0058】
本開示の態様は、ユーザの方向Dを表す変数またはASR装置に関する所望の音声の起点を導入することによって、音声認識の実行性を改善するものである。例えば、方向Dが、隠れた変数として提供されてもよい。次の方程式は、ユーザの方向、並びに全方向のユーザの発話を表す音声信号の特徴を説明する改善された音声認識の実行性を表している。
p(X’,W)=max
Dp(X’,W,D)=max
Dp(X’|D,W)p(W)p(D)
ここで、X’は、全方向または多方向のユーザからの音声信号を表し、Dはユーザの方向を表している。
【0059】
本開示の一態様では、ユーザの方向Dは、発声中静止としてもよい。本開示の別の態様では、ユーザの方向Dは、時間に依存し、またはD=d
1,...,D
tと示されるように静止していなくてもよい。注釈されている通り、音声認識エンジン318は、特徴ベクトルをバイフォン、トリフォンなどの音素または他の音声単位に整合する多くの技術手法を使用することができる。1つの共通の技術手法は、ハイデンマルコフモデル(HMM)を使用することである。本開示の態様によっては、p(D)〜p(d
t|d
t−1)としてマルコフチェーンとして具現化されてもよいものもある。話者の方向p(d
1)を表す(初期)分布は、前の相互作用におけるユーザの場所に基づいてもよい。
【0060】
本開示の一態様では、確率密度関数p(X’|D,W)は、p(X(D)|W)p(E|D)で近似されてもよく、ここで、X(D)は、方向Dのビーム形成信号から抽出された標準音響的特徴であり、Eは、エネルギー分布(または音声活動の大きさ)である。近似された表記p(X(D)|W)p(E|D)は、ビーム形成信号のコンテンツ依存及び方向依存態様の分離を考慮している。第1要因p(X(D)|W)は、標準の無方向を意識している音響モデルに基づくものであって、かつ、従来通り訓練され得るものである。第2要因p(E|D)は、受信されたビーム形成信号源が方向Dにあるものである。この場合、ユーザが方向Dから話している場合、EはDで最高となるはずと仮説される。場合によっては、より高いビーム強度またはより大きな声の話者が、p(E|D)モデルに基づく望ましい話者とみなされてもよい。
【0061】
多チャンネルの音声を復号する異なった方法もまた可能である。一態様において、静止スピーカを仮説し、N個の別々のデコーダが各方向dに備えられている。時間依存の方向d
tがHMMデコーダの追加の潜在的または隠れた変数として具現化されてもよい。時間依存の方向d
tの実施は、静止ではないスピーカを考慮に入れている。ビームプルーニングを通して、ありそうもない方向が探索空間から除外され得ることになり、以前の実行に比べて多数方向の実施効率(例えば、運用時間効率)が改善する。態様によっては、d
tは、独立で、かつ、識別できるように分布する(iid)。われわれは、Σ
dp(e
t|d)p(x
t(d)|s
t)、つまりフレームについて重み付けスコアの組み合わせを得ており、ここで、e
tは、特定時間のある方向のエネルギーであり、s
tは、特定時間のHMM状態である。
【0062】
本開示の一態様では、各音声認識タスクが単一方向からのデータを使用する多くの音声認識タスクが行われてもよい。例えば、音声認識タスクは、多チャンネルのビーム形成器の各チャンネルについて実行され得る。音声認識モデルは、音声を識別するために訓練を受けるので、入力として最高品質の音声信号を有する音声認識タスクは、一般に、音声認識結果に最高スコアを提供することになる。音声認識タスクが終了すると、ユーザの方向と音声認識結果は、最高尤度を生じた音声認識タスクを選択することによって決定され得る。
【0063】
本開示の一態様では、方向は音声認識期間に動的に選択されてもよい。例えば、ユーザが歩いているとき、最善の方向は変化するかもしれない。この場合、よりよい音声認識結果は、音声が受信されるに従って方向を更新することによって得ることができる。所与の時間に処理されている音声入力のために、音声入力は各チャンネルについて処理することができ、ユーザの発話を含んでいる最も可能性のあるチャンネルを決定する。そのチャンネルは違った技術手法を使用して選択されてもよい。例えば、最高のエネルギーを有しているチャンネルが選択されてもよい。更に、音声を含んでいそうなチャンネルが音声活性検出器によって決定されてもよい。代わりとして、音声認識が最高尤度を提示したチャンネルを使用し、その他のチャンネルの処分を継続しながら、音声認識が各チャンネル(現行時間に関して)から入力された音声について逐次的に実行されてもよい。更に、チャンネルについては、あるチャンネルが他のチャンネルよりも可能性を高めるために、重み付けられてもよい。例えば、より高い重み付けが、余りにも多くのチャンネル変更を防ぎきれないために、現行のチャンネルに置かれてもよく、従って、ユーザが部屋の他の側に対応している遠いチャンネルよりも、近くのチャンネルに歩いていることがもっともらしいという状況に応じて、もっと遠いチャンネルよりも近くのチャンネルに高い重み付けがなされてもよい。実施態様によっては、チャンネルの重みは、マルコフチェーンとして具現化されてもよい。
【0064】
本開示の一態様では、同時音声認識が多チャンネルについて実行されてもよい。従来の音声認識システムにおいては、1チャンネルが一度に処理され、そのチャンネルに対応するフレームは順次処理される。多チャンネルの同時音声認識を実行する可能な実施策は、(1)各チャンネルの連結特徴ベクトルからなるスーパーベクトルに関して訓練された音声認識モデルを使用すること、(2)従来の音声認識を使用するが、結果ネットワークを生成するときに、選択肢として各チャンネルからの特徴ベクトルを使用すること、及び(3)方向を選択し音声認識結果を同時に決定するため、ニューラルネットワークを使用することを含んでいる。
【0065】
結果のネットワークは、認識期間に作成され得る構造である。結果のネットワークは、入力データを使用して作成されてもよく、データから認識される音声認識ユニットの適当なシーケンス(例えば、HMM状態、文脈の音素または音素)を示してもよい。結果のネットワークは、適切な形態で表現されてもいので、本開示は結果のネットワークの特定の構造を全く限定するものではない。態様によっては、HMM結果のネットワークがノードやアークで表され、認識されているHMM状態がアーク及び/またはノードに関連付けられることもあり得る。態様によっては、結果のネットワークは、ツリー、ラチスまたは有向グラフであってもよい。結果ネットワーク経路のノード及び/またはアークは、重みを持っており、その重みは尤度、または結果ネットワークの経路あるいは経路の一部のコストを示している。
【0066】
音声認識の処理は、単語のネットワーク、言語モデル、音声ユニットネットワーク、ガウシアンミクスチャモデル(GMM)ネットワーク及びHMMネットワークなどの多くのネットワークに関与していてもよい。例えば、単語結果のネットワークは、上述の
図7を参照して記述されている。音声認識パラメータ、例えば、コンテキスト中の音声ユニットは、多くの状態から構成されているHMMとして具現化され、各音声パラメータに異なったHMMがあってもよい。HMMネットワークは、認識されているHMM状態のシーケンスを示すHMM結果ネットワークを含むこともできる。HMMネットワークはASRシステムによって知られているHMM状態を示すセットのトークンを含むこともできる。HMM結果は、HMMモデルを含むことができ、各HMMの状態シーケンスを示し、グラフとして表現されてもよい。HMMの各状態は、ガウシアン確率密度の混合から構成されてもよい。
【0067】
スーパーベクトルアプローチに関して、各チャンネルについて計算された特徴ベクトルが連結されてより長いベクトルになってもよい。例えば、各チャンネルが40の長さの特徴ベクトルを有し、6チャンネルあれば、スーパーベクトルは長さ240となる。音声認識モデルは、そのスーパーベクトルに対応して生成され得る。例えば、多チャンネルデータのコーパスが、スーパーベクトルに基づいた音響モデルを訓練するために使用され得る。スーパーベクトルとして多チャンネルを有する音声認識モデルを訓練することによって、音声認識モデルは、雑音がそれらのチャンネルにあっても、音声を認識するために学習し、ユーザがチャンネルを越えて動いているときも、音声を認識するために学習し、多くの発言者がいる場合にも、音声を認識するために学習することができる。スーパーベクトルで訓練された声認識モデルは、スーパーベクトルに基づいた音声認識を実行するシステムに備えられてもよい。
【0068】
多チャンネルの同時音声認識は、また、異なったチャンネルからの特徴ベクトルによっても実行され得る。異なったチャンネルからの特徴ベクトルは、結果ネットワークを生成するとき、代替として使用されてもよい。
図7は単一のチャンネルの音声について作用する従来の音声認識エンジンを使用して構築され得る単語結果ネットワークを図示している。
図7の単語結果ネットワークは、単一のチャンネルから特徴ベクトルの単一のシーケンスに基づいて構築される。しかし、多チャンネルの音声を処理するとき、各チャンネルの音声はフレームのシーケンスを有することができるので、各チャンネルの音声のフレームは、結果ネットワークを構築する際に同時に処理されてもよい。多チャンネルの音声に関する例示的なHMM結果ネットワークは、
図11によって図示されている。
【0069】
図11は、多チャンネルの音声を同時に処理する場合に作成される例示の結果ネットワークを示している。異なった線スタイルは、異なったチャンネルから生成され得る仮説を示している。例えば、実線はチャンネル1を表し、破線はチャンネル2を表し、そして点線はチャンネル3を表すことができる。各チャンネルは、潜在的なHMM状態の指示を提示している。
図11はHMM状態に基づく結果ネットワークを示しているが、実際はいかなるタイプの結果ネットワークでも使用され得る。HMM結果ネットワーク1100は、左から右へ進行し、左端ノードは発声の開始を示している。HMM結果ネットワーク1100の各アークは、HMM状態を表し、アークのシーケンスは、HMM状態のシーケンスを表すことができる。
【0070】
図11の最初の過程(時間1)では、状態S1からS5までに対応する多くのアークがある。状態S1は、チャンネル1に対応し、状態S2、S3及びS4は、チャンネル2に対応し、状態S4及びS5は、チャンネル3に対応する。各時間過程、例えば、時間1は、音声フレームを表す所定の時間(例えば、10ms)に対応してもよい。図示されているように、時間1の終わりの可能なHMM状態は、S1、S2、S3、S4及びS5であり、時間2の終わりの可能なHMM状態は、S1、S7、S8、S9及びS10であり、時間5の終わりの可能な状態は、S11、S13、S14及びS15であり、時間6の終わりの可能な状態は、S21、S22、S23、S24及びS25である。確率値及び/またはスコアは、各潜在的HMM状態に関係付けられてもよい。態様によっては、各潜在的HMM状態に関係付けられた確率値及び/またはスコアに基づいて、システムは潜在的HMM状態を選択できる。しかし、場合によっては、チャンネルのHMM状態が実質的に類似しているか、または類似結果を指しているとき、選択は不要となることもある。例えば、同じ音素に対する各チャンネルの潜在的HMM状態パターンが同じ音素を指しており、音素が同じ単語を指しているとき、選択は不要となろう。
【0071】
説明を目的として、受信音声の始期(すなわち、時間1)で、ユーザはチャンネル2及び3の間であり、ユーザの発話は両チャンネル2及び3によって取り上げられている結果となってもよい。しかし、チャンネル1は、食器洗浄機からの音声などの発話以外の音声を取り上げているのみであるかもしれない。どの時間過程でも、最高のスコアとなる仮説のみが維持され得る。例えば、重要な音声を有しない他のチャンネル(チャンネル4、5などのように)または音声モデルに一致しない音声が存在することもあろう。次の幾らかの時間過程(例えば、時間2ないし時間4(図示せず))の間に、ユーザは同じ場所にとどまり、チャンネル1が食器洗浄機に対応するフレームを生成し続けるが、HMM状態がチャンネル2及び3に対応するフレームから生成される場合、当該状態はユーザの発話に対応して示される。
【0072】
時間5で、ユーザは食器洗浄機に歩み寄り、次の幾らかの時間過程の間(例えば、時間5及び時間6)、チャンネル1及び2からのフレームは、ユーザの発話に対応する状態を生成し、チャンネル3は、もはやフレームを生成しない。各時間過程で、音声を導く各チャンネルからのフレームがHMMに対して評点され、フレームとHMM状態の最高スコアの組み合わせが結果ネットワークに加えられてもよい。ユーザの発話の音声認識の実行が終了すると、最高スコアの仮説が、ユーザの発話に対応する可能性が最もあるとして選択され、3チャンネルの各々からのフレームがその仮説を生成するために使用されてもよい。
【0073】
態様によっては、異なったチャンネルによって生成されたHMM状態に置かれる制約がある場合もない場合もある。態様によっては、2チャンネルが反対方向を示しているとしても、制約が全くなく、チャンネル1によって生成されたHMM状態が、チャンネル4によって生成されたHMM状態で追随されてもよいこともある。態様によっては、制約が課せられることもある。例えば、ペナルティがチャンネル間の距離に基づいて課せられ得ることもある。同じチャンネルにはペナルティはなく、近接チャンネルにはより小さなペナルティがあり、近接していないチャンネルにはより酷なペナルティがあり得る。
【0074】
態様によっては、チャンネルの事前選択が、音声認識のチャンネルからの音声のフレームを使用する前に実行されてもよいものもある。例えば、エネルギー検出または音声活動性検出のような技術手法が音声を最も含んでいそうなチャンネルを選択するために使用されてもよい。チャンネルを事前に選択することによって、音声認識の計算効率がより上がることがある。
【0075】
態様によっては、同時に多チャンネルの音声を処理することによって、人が部屋を歩き回ると、音声認識システムがその人を追跡させることもある。他の態様では、異なった方向から到来する騒々しい音(例えば、食器洗浄機など)があっても、多チャンネルの同時音声処理により、音声認識システムがユーザの発話を認識するようにできる。態様によっては、同時に多チャンネルの音声を処理することによって、多くの話者について同時に認識をすることができる。例えば、第1ユーザがチャンネル1及び2にいて、第2ユーザがチャンネル4及び5にいる場合、結果ネットワークは、第1ユーザについて完全な音声認識結果を含み、第2ユーザについてもう一つの完全な音声認識結果を含むことができる。
【0076】
他の選択肢として、異なった方向の同時音声認識が、ニューラルネットワークに関連して実行されてもよい。従来、ニューラルネットワークは、単一チャンネルまたは方向のデータによって訓練される。その代わりに、ニューラルネットワークは、各チャンネルがマイクロフォンアレイとは違った方向である場合のように、多チャンネルデータによって訓練されてよい。ニューラルネットワークが、多チャンネルデータについて訓練を受けると、ニューラルネットワークについては、同時に音声方向の選択と音声認識の実行をする訓練がなされ得る。訓練データは、例えば、音楽または音声ではない雑音のように、音声以外のデータを含むことができる。例えば、音声は異なった方向から発しながら、音楽は一方向の源から発するようにしてもよい。このような方法で訓練を受けるニューラルネットワークは、ユーザが部屋を歩き回るに従って、そのユーザを追跡できるようにしてもよい。ユーザの動きに応じて、ニューラルネットワークは、ユーザの発話をよりよく認識するために、各チャンネルから最も関連するデータを自動的に選択することができるようにする。
【0077】
図12は、本開示の態様に従って、多チャンネルの音声に基づく音声の処理方法を図示している。この方法は、ビーム形成器モジュール128、マイクロフォンアレイ126、ASR装置100及び/または遠隔音声処理置(例えば、ASR装置302)において実装され得る。ブロック1202で、ASR装置100は、第1チャンネル及び第2チャンネルを含んでいる多チャンネルの音声信号を受信することができる。第1チャンネル及び第2チャンネルは、ビーム形成器及びマイクロフォンアレイを使用して作成されてもよい。第1チャンネルは、第1方向からの音声を表し、第2チャンネルは、第2方向からの音声を表している。ブロック1204では、ASR装置100は、第1チャンネルの第1シーケンスの特徴ベクトルを作成し、第2チャンネルの第2シーケンスの特徴ベクトルを作成することができる。ブロック1206においては、ASR装置100は、の第1シーケンスの特徴ベクトルと第2シーケンスの特徴ベクトルを使用して音声認識を実行することができる。音声認識の実行は、音声認識モデルと特徴ベクトルの第1シーケンスの第1特徴ベクトルを使用して、ブロック1208において、第1仮説を生成することを含んでもよい。音声認識の実行は、また、ブロック1210において、音声認識モデルと特徴ベクトルの第2シーケンスの第2特徴ベクトルを使用して、第2仮説を生成することを含んでもよい。第2仮説は、音声認識結果ネットワークの第1仮説に続いて生じる。
【0078】
本開示の上述の態様は、例示的であることが意図されている。当該態様は、開示の原理と応用を明らかにするために選択されたものであり、本開示がこれに尽きるという意図でも本開示を限定する意図でもない。開示された態様の多くの修正や変形が、この分野の通常の知識を有する者にとって明らかであろう。例えば、ここで記述されたASR技術手法は、音声記憶装置に保存された言語情報に基づき、多くの異なった言語に応用されてもよい。
【0079】
本開示の態様は、コンピュータ実装方法、システムあるいはメモリ装置または非一時的コンピュータ可読記憶媒体などの製品として実施されてもよい。コンピュータ可読記憶媒体は、コンピュータによって可読であり、コンピュータまたは他のデバイスに本開示に開示されたプロセスを実行させる命令から構成できる。コンピュータ可読記憶媒体は、揮発性コンピュータメモリ、不揮発性コンピュータメモリ、ハードドライブ、固体メモリ、フラッシュドライブ、リムーバブルディスク及び/または他のメモリで実装されてもよい。
【0080】
本開示の態様は、異なった形式のソフトウエア、ファームウエア及び/またはハードウエアで実行されてもよい。更に、本開示による教示は、例えば、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のコンポーネントによって実行されてもよい。
【0081】
本開示の態様は、単一の装置で実行され、または多くの装置で実行されてもよい。例えば、ここで記述された1つまたは複数のコンポーネントを含むプログラムモジュールが異なったデバイスに配置され、または本開示の1つまたは複数の態様のそれぞれを実行してもよい。この開示で使用されているように、用語「a」または「1つ」は、特にそれに反する記述がない限り、1つまたは複数の項目を含むことができる。更に、単語「基づく」は、特にそれに反する記述がない限り、「少なくとも部分的に基づく」を意図している。
まとめ
1.音声認識実行方法であって、この方法は第1チャンネル及び第2チャンネルから成る多チャンネルの音声信号を受信することであって、第1チャンネル及び第2チャンネルはビーム形成器及びマイクロフォンアレイを使用して作成され、第1チャンネルは第1方向からの音声を表し、第2チャンネルは第2方向からの音声を表す、受信することと、第1チャンネルの第1シーケンスの特徴ベクトル及び第2チャンネルの第2シーケンスの特徴ベクトルを作成することと、第1シーケンスの特徴ベクトル及び第2シーケンスの特徴ベクトルを使用して音声認識を実行することであって、その音声認識の実行は音声認識モデルと第1シーケンスの特徴ベクトルの第1特徴ベクトルを使用して第1仮説を生成し、音声認識モデルと第2シーケンスの特徴ベクトルの第2特徴ベクトルを使用して第2仮説を生成することとを含み、第2仮説は音声認識結果ネットワークの第1仮説に続いている、実行することとを含む方法。
2.第1チャンネルの音声の特性に少なくとも部分的に基づいて第1チャンネルを選択することを更に含む、節1に記載の方法。
3.当該特性が第1チャンネルの音声エネルギーまたは第1チャンネルの音声に発話が存在する、節2に記載の方法。
4.当該多チャンネルの音声信号が、更に、第3チャンネルを含み、当該方法は、更に、第3シーケンスの第3チャンネルの特徴ベクトルを作成することを含み、音声認識の実行は、更に、音声認識モデル及び第3シーケンスの特徴ベクトルの第3特徴ベクトルを使用して第3仮設を生成することを含み、第3仮設は音声認識結果ネットワークの第1仮説と並列である、節1に記載の方法。
5.第1仮説が隠れマルコフモデルの状態、文脈の音素または単語から構成されている、節1に記載の方法。
6.少なくとも1つのプロセッサと、アクションセットを実行する少なくとも1つのプロセッサによって実行されるように作動する命令を含んでいるメモリデバイスを含み、少なくとも1つのプロセッサが第1チャンネル及び第2チャンネルから成る多チャンネルの音声信号を受信し、第1チャンネル及び第2チャンネルはビーム形成器及びマイクロフォンアレイを使用して作成され、第1チャンネルの第1シーケンスの特徴ベクトル及び第2チャンネルの第2シーケンスの特徴ベクトルを作成し、第1シーケンスの特徴ベクトルの第1フレーム及び第2シーケンスの特徴ベクトルの第2フレームを処理して少なくとも1つの第1音声認識仮説を生成し、第1フレーム及び第2フレームは第1時間に対応し、第1シーケンスの特徴ベクトルの第3フレーム及び第2シーケンスの特徴ベクトルの第4フレームを処理して少なくとも1つの第2音声認識仮説を生成し、第3フレーム及び第4フレームは第2時間に対応し、第1フレーム及び第2フレームを処理した後で第3フレーム及び第4フレームを処理する、コンピューティング装置。
7.少なくとも1つのプロセッサが、更に、第1フレーム及び第2フレームを実質的に同時に処理するように構成にされた、節6に記載のコンピューティング装置。
8.少なくとも1つのプロセッサが、更に、第1フレーム及び第2フレームを結合して結合されたフレームを作成し、その結合されたフレームを処理することによって第1フレーム及び第2フレームを処理する構成にされている、節6に記載のコンピューティング装置。
9.少なくとも1つのプロセッサが、更に、結合されたフレームで訓練された音響モデルを使用して第1フレーム及び第2フレームを処理するように構成された、節8に記載のコンピューティング装置。
10.少なくとも1つのプロセッサが、更に、第1フレーム及び第2フレームを処理して、第1フレームに対応する音声認識仮説を生成し、第2フレームに対応する音声認識仮説を生成することによって、少なくとも1つの第1音声認識を生成するように構成された、節9に記載のコンピューティング装置。
11.少なくとも1つのプロセッサが、更に、第1フレーム及び第2フレームを処理し、ニューラルネットワーク音声認識モデルを使用して少なくとも1つの第1音声認識を生成する構成にされている、節6に記載のコンピューティング装置。
12.少なくとも1つのプロセッサが、更に、少なくとも1つの第1音声認識仮説及び少なくとも1つの第2音声認識仮説から成る音声認識結果ネットワークを生成する構成にされている、節6に記載のコンピューティング装置。
13.第1チャンネルが第1方向に対応し、第2チャンネルが第2方向に対応し、音声認識結果ネットワークの第3音声認識仮説及び第4音声認識仮説の間の接続は第1方向及び第2方向の間の距離に少なくとも部分的に依存する構成にされている、節12に記載のコンピューティング装置。
14.第1チャンネル及び第2チャンネルから成る多チャンネルの音声信号を受信するプログラムコードと、第1チャンネルは第1方向からの音声から成り、第2チャンネルは第2方向からの音声から成り、第1チャンネルの第1シーケンスの音響的特徴及び第2チャンネルの第2シーケンスの音響的特徴を作成するプログラムコードと、第1時間フレームに対応する第1シーケンス及び第1時間フレームに対応する第2シーケンスからの音響的特徴を処理して少なくとも1つの第1音声認識仮説を生成するプログラムコードと、第2時間フレームに対応する第1シーケンス及び第2時間フレームに対応する第2シーケンスからの音響的特徴を処理して少なくとも1つの第2音声認識仮説を生成するプログラムコードから構成されており、第1時間フレームに対応する音響的特徴処理することは第2時間フレームに対応する音響的特徴を処理する後で生じる構成にされている、コンピューティング装置を制御するプロセッサ実行可能命令を保存する非一時的コンピュータ可読記憶媒体。
15.第1時間フレームに対応する音響的特徴を実質的に同時に処理するプログラムコードを更に含む、節14に記載の非一時的コンピュータ可読記憶媒体。
16.第1時間フレームに対応する音響的特徴を結合して結合された特徴を作成し、その結合された特徴を処理して第1時間フレームに対応する音響的特徴を処理するプログラムコードを更に含む、節14に記載の非一時的コンピュータ可読記憶媒体。
17.結合された特徴によって訓練された音響モデルを使用して第1時間フレームに対応する音響的特徴を処理するプログラムコードを更に含む、節16に記載の非一時的コンピュータ可読記憶媒体。
18.第1時間フレームに対応する第1シーケンスから音響的特徴に対応する第1音声認識仮説を生成し、第1時間フレームに対応する第2シーケンスから音響的特徴に対応する第2音声認識仮説を生成することによって第1フレームに対応する音響的特徴を処理するプログラムコードを更に含む、節17に記載の非一時的コンピュータ可読記憶媒体。
19.ニューラルネットワークの音声認識モデルを使用して第1時間フレームに対応する音響的特徴を処理するプログラムコードを更に含む、節14に記載の非一時的コンピュータ可読記憶媒体。
20.少なくとも1つの第1音声認識仮説及び少なくとも1つの第2音声認識仮説を含む音声認識結果ネットワークを生成するプログラムコードを更に含む、節14に記載の非一時的コンピュータ可読記憶媒体。
21.音声認識結果ネットワークの第3音声認識仮説及び第4音声認識仮説の間の接続が第1方向及び第2方向の間の距離に少なくとも部分的に依存するように構成された、節20に記載の非一時的コンピュータ可読記憶媒体。