(57)【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
複数の仮説を決定するために音声データに対して音声認識処理を実行することと、
前記複数の仮説の中から最高の確率を有するトップスコア仮説を含む少なくとも１つの仮説のための休止を決定することであって、前記休止が、前記音声データの第１の点の直前である、ことと、
前記複数の仮説のそれぞれについて、前記第１の点の直前のそれぞれの休止持続時間を決定し、
前記複数の仮説のそれぞれについて前記休止持続時間を合計することによって前記第１の点に対応する前記音声データの予想休止持続時間を決定し、
前記予想休止持続時間を閾値と比較する
ことによって、スピーチのエンドポイントが前記音声データの前記第１の点で発生すると判断することと、
を含むコンピュータ実装方法。
【請求項２】
前記複数の仮説のそれぞれに対応する確率を決定することと、
前記予想休止持続時間を決定する前に、それぞれの休止持続時間を前記対応する確率で乗算することと、
をさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
第２の複数の仮説を決定することであって、
前記第２の複数の仮説が、前記複数の仮説の部分集合であり、
前記第２の複数の仮説のそれぞれが終了状態にある、
ことと、
前記第２の複数の仮説のそれぞれについて前記休止持続時間を合計することによって第２の予想休止持続時間を決定することと、
前記第２の予想休止持続時間が第２の閾値を超えると判断することと、
をさらに含む、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記休止を決定することが、前記第１の点の直前の連続する非スピーチフレームの数を決定することを含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
非スピーチ音声フレームの前記数を決定することが、前記第１の点の直前の連続する非スピーチフレームの数のカウンタを維持することを含む、請求項４に記載のコンピュータ実装方法。
【請求項６】
非スピーチ音声フレームの前記数を決定することが、前記第１の点の直前の連続する非スピーチノードの数を決定することを含む、請求項４に記載のコンピュータ実装方法。
【請求項７】
コンピューティングシステムであって、
少なくとも１つのプロセッサと、
前記システムに、
複数の仮説を決定するために音声データに対して音声認識処理を実行することと、
前記複数の仮説の中から最高の確率を有するトップスコア仮説を含む少なくとも１つの仮説のための休止を決定することであって、前記休止が、前記音声データの第１の点の直前である、ことと、
前記複数の仮説のそれぞれについて、前記第１の点の直前のそれぞれの休止持続時間を決定し、
前記複数の仮説のそれぞれについて前記休止持続時間を合計することによって前記第１の点に対応する前記音声データの予想休止持続時間を決定し、
前記予想休止持続時間を閾値と比較する
ことによって、スピーチのエンドポイントが前記音声データの前記第１の点で発生すると判断することと、
を含む動作を実行させるための、前記少なくとも１つのプロセッサによって実行するよう作動する命令を含むメモリと、を備えるコンピューティングシステム。
【請求項８】
前記動作は、
前記複数の仮説のそれぞれに対応する確率を決定することと、
前記予想休止持続時間を決定する前に、それぞれの休止持続時間を前記対応する確率で乗算することと、
をさらに含む、請求項７に記載のコンピューティングシステム。
【請求項９】
前記動作は、
第２の複数の仮説を決定することであって、
前記第２の複数の仮説が、前記複数の仮説の部分集合であり、
前記第２の複数の仮説のそれぞれが終了状態にある、
ことと、
前記第２の複数の仮説のそれぞれについて前記休止持続時間を合計することによって第２の予想休止持続時間を決定することと、
前記第２の予想休止持続時間が第２の閾値を超えると判断することと、
をさらに含む、請求項８に記載のコンピューティングシステム。
【請求項１０】
前記休止を決定することが、前記第１の点の直前の連続する非スピーチフレームの数を決定することを含む、請求項７に記載のコンピューティングシステム。
【請求項１１】
前記休止を決定することが、前記第１の点の直前の連続する非スピーチノードの数を決定することを含む、請求項７に記載のコンピューティングシステム。
【請求項１２】
非スピーチ音声フレームの前記数を決定することが、前記第１の点の直前の連続する非スピーチフレームの数のカウンタを維持することを含む、請求項１１に記載のコンピューティングシステム。
【請求項１３】
非スピーチ音声フレームの前記数を決定することが、前記第１の点の直前の連続する非スピーチノードの数を決定することを含む、請求項１１に記載のコンピューティングシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
音声認識システムは、人間が、完全に音声に依存しているコンピューティングデバイスと対話できるところまで進歩してきた。係るシステムは、受信された音声入力の多様な品質に基づいて、人間のユーザーにより話された単語を識別する技術を使用する。自然言語理解処理技術と組み合わされた音声認識は、ユーザーが話したコマンドに基づいてタスクを実行するための、スピーチをベースにしたユーザーによるコンピューティングデバイスの制御を可能にする。音声認識及び自然言語理解処理技術の組合せは、通常、音声処理と呼ばれる。また、音声処理はユーザーのスピーチを、次いで多様なテキストベースのソフトウェアアプリケーションに提供され得るテキストデータに変換もし得る。
【０００２】
音声処理は、人間とコンピュータの対話を改善するためにコンピュータ、ハンドヘルドデバイス、電話コンピュータシステム、キオスク、及び多種多様な他の装置によって使用されてよい。
【０００３】
本開示のより完全な理解のために、ここで添付図面と併せて解釈される以下の説明が参照される。
【図面の簡単な説明】
【０００４】
【図１】本開示の実施形態に係る自動音声認識（ＡＳＲ）のためのシステムを示す図である。
【図２】話された言葉が本開示の実施形態に従ってどのように処理され得るのかの概念図である。
【図３】本開示の一態様に係る音素処理及び単語処理を示す図である。
【図４】本開示の一態様に係る音声認識ラティスを示す図である。
【図５】本開示の一態様に係る音声認識ラティスを示す図である。
【図６】図４のラティスと関連付けられたいくつかの仮説を示す図である。
【図７】音声認識システムによって考慮され得るいくつかの仮説を示す図である。
【図８】本開示の実施形態に係る装置の例の構成要素を概念的に示すブロック図である。
【図９】本開示の実施形態に係るサーバの例の構成要素を概念的に示すブロック図である。
【図１０】システムで使用するためのコンピュータネットワークの例を示す図である。
【発明を実施するための形態】
【０００５】
自動音声認識（ＡＳＲ）は、スピーチと関連付けられた音声データをそのスピーチを表すテキストに変換することに関するコンピュータ科学、人工知能、及び言語学の分野である。同様に、自然言語理解（ＮＬＵ）は、コンピュータが自然言語を含むテキスト入力から意味を引き出すことを可能にすることに関するコンピュータ科学、人工知能、及び言語学の分野である。ＡＳＲ及びＮＬＵは、多くの場合音声処理システムの一部としてともに使用される。
【０００６】
ＡＳＲ及びＮＬＵは計算コストが高いことがある。すなわち、妥当な時間枠の中でＡＳＲ処理及びＮＬＵ処理を処理するためにはかなりのコンピューティングリソースが必要となることがある。このため、分散コンピューティング環境が音声処理を実行するときに使用されることがある。典型的な係る分散環境は、ユーザーの話から音を取り込み、それらの音を音声信号に変換するように構成されている１つ以上のマイクを有するローカルデバイスを必要とすることがある。音声信号は次いで、例えば音声信号を最終的なコマンドに変換する等、追加の処理のために下流のリモートデバイスに送信されてよい。該コマンドは、コマンド自体に応じてリモートデバイス及びローカルデバイスの組合せによって実行されてよい。
【０００７】
分散音声処理システムの一部として、ローカルデバイスは、検出されたすべての音声をリモートデバイスに継続的に送信するように構成されてよい。係る手法にはいくつかの欠点がある。１つの欠点は、係る通信がかなりの帯域幅及びネットワークリソースを必要とすることである。係る手法の別の欠点は、プライバシーの懸念により、ローカルデバイスがすべての取り込まれた音声をリモートデバイスに送信することが望ましくなくなる場合がある点である。さらに別の欠点は、大部分の音声でコマンドが発行されていないときに、リモートデバイスがすべての入信音声を処理するかなりのコンピューティングリソースを無駄にすることがある点である。
【０００８】
これらの問題を説明するために、ローカルデバイスは、ユーザーが追加のコマンドを話すことができるように、ユーザーがローカルデバイスをウェイクするために特定のウェイクコマンドを話すときにだけ起動するように構成されてよい。（ウェイクワードと呼ばれることがある）ウェイクコマンドは、システムが追加の処理を実行するための指示を含んでよい。ローカルデバイスはウェイクワードを求めて継続的に傾聴してよく、ウェイクワードを含まないいかなる検出音声も無視してよい。通常、システムはウェイクワードを検出し、次いでウェイクワードに続くあらゆる後続の音声（さらにおそらく固定されているが短時間の音声事前ウェイクワード）を処理して、後続の音声の中のあらゆるコマンドを検出するように構成される。一例として、ウェイクワードは、ユーザーがデバイスを参照する名前を含むことがある。したがって、デバイスが「Ａｌｅｘａ」と名付けられ、ウェイクワードが「Ａｌｅｘａ」であるならば、ユーザーは「Ａｌｅｘａ、なにか音楽を再生しなさい」と言うことによって音声制御デバイスに音楽を再生するように命令し得る。デバイスは、ウェイクワード「Ａｌｅｘａ」を認識すると、後続の音声（この例では「なにか音楽を再生しなさい」）がなんらかの種類のコマンドを含むと理解し、その音声に対して音声処理を実行して該コマンドが何の実行のためであるのかを判断するだろう。提供されるサービス／コマンドは、アクションまたは活動を実行すること、媒体をレンダリングすること、情報を入手及び／または提供すること、ローカルデバイスを介して生成または合成されたスピーチにより情報を提供すること、ユーザーの代わりにインターネットベースのサービスを開始すること等を含んでよい。
【０００９】
音声データの処理をいつ停止するかを決定するために、エンドポインティングと呼ばれるプロセスが使用されてよい。従来のエンドポインティング技術は、通常音声データで検出される休止に依存するが、係る技術は不正確であることがあり、特にユーザーが文の途中で話すのを休止してその後まもなく再開するときにエラーにつながることがある。現在のシステムは休止中のエンドポイントを決定し、その結果、不正確なときに音声処理を停止させることがある。
【００１０】
有望な発話エンドポイントを決定するときに仮説が検討される場合に、この問題を解決するシステムが提供される。
【００１１】
図１は、例えば上述されたシステムのようなシステムを示す。図示されるように、システム１００はユーザー１０の場所に音声制御デバイス１１０を含むことがある。デバイス１１０は、ネットワーク１９９を介して１つ以上のサーバ（複数可）１２０に接続されてよい。システム１００は、デバイス１１０がユーザー１０によって話される音声を取り込み、サーバ（複数可）が図２を参照して以下に説明されるように、該音声に対して音声処理を実行する分散音声処理システムであってよい。図１に示されるように、システムは入力音声に対応する音声データを決定してよく（１５２）、システムのデコーダ／音声認識エンジンによって検討されている複数のアクティブな仮説を決定するために該音声データに対してＡＳＲを実行してよい（１５４）。また、システムはアクティブな仮説ごとに休止長さを決定（１５６）してもよい。システムは、例えば、ラティスの特定のノードの直前の非スピーチの量を追跡し、継続的に休止長さ／休止持続時間を決定してよい。代わりに、システムは、処理中の特定のときにそれぞれのアクティブな仮説の終わりの直前の非スピーチの量をチェックしてよい。休止長さは、例えば各仮説の終わりの直前の非スピーチフレームの数によって決定されてよい。システムは次いで、それぞれのアクティブな仮説の重み付けされた休止長さを音声認識エンジンによって決定されるそれぞれの仮説の「ＡＳＲ確率」で乗算することによって重み付けされた休止長さを決定してよい（１５８）。システムは次いで、予想休止持続時間に達するためにアクティブな仮説の重み付けされた休止長さを互いに加算してよい（１６０）。また、システムは終了状態での予想休止持続時間に達するために終了状態でのアクティブな仮説の重み付けされた休止長さを加算してもよい（１６２）。システムは次いで、累積重み付き休止長さを１つ以上の閾値と比較してよい（１６４）。例えば、システムは、予想休止持続時間を第１の閾値と比較し、終了状態での予想休止持続時間を第２の閾値と比較してよい。システムは次いで、予想休止持続時間がそのそれぞれの閾値を超えるときエンドポイントを決定してよい（１６６）。したがって、エンドポイントの決定は、話されたコマンドが終了した旨の推定値であり、該推定値の信頼は予想休止持続時間に基づく。したがって、予想休止持続時間が閾値を超えるときにエンドポイントが決定される。システムは、このようにして１つ以上のＡＳＲ仮説によって見られる休止または非スピーチの量に基づいて有望なエンドポイントを指定してよい。有望なエンドポイントが決定されると、システムは、例えばＮＬＰ及び／または他のコマンド処理等、受聴された音声に対する他の動作を実行してよい。
【００１２】
図１のシステム１００は、図２に説明される多様な音声処理構成要素を使用し、動作してよい。図２は、話された言葉がどのように処理されるかの概念図である。示されている多様な構成要素は、同じまたは異なる物理的装置上に位置してよい。図２に示される多様な構成要素間の通信は直接的にまたはネットワーク１９９にわたって発生することがある。システムは、（携帯電話、タブレット等の）汎用装置または音楽を再生するように構成されたオーディオ装置のような特定の目的の装置であってよいデバイス１１０を含んでよい。以下の教示は多くの異なるタイプのデバイス１１０に当てはまるが、システムの動作は本目的のためにオーディオ装置１１０の例を使用し、示されてよい。オーディオ装置１１０は、サービス及び機能性を提供するためにオーディオ装置１１０の他の要素と連携して機能するように構成された複数のアプリケーションを含んでよい。アプリケーションは、例えば音楽プレーヤ等のメディアプレイバックサービスを含んでよい。アプリケーションによって実行または提供される他のサービスまたは動作は、例として、エンターテインメント（例えば、ゲーム、音楽、映画または他のコンテンツを発見し、再生すること）、個人管理（カレンダー、メモ取り等）、オンラインショッピング、金融取引、データベース照会等を要求し、消費することを含んでよい。いくつかの実施形態では、アプリケーションは、オーディオ装置１１０にプリインストールされてよく、オーディオ装置１１０の中心となる機能を実装してよい。他の実施態様では、アプリケーションの１つ以上は、ユーザー１０によってインストールされてよい、またはそれ以外の場合オーディオ装置１１０がユーザー１０によって初期化された後にインストールされてよく、ユーザー１０によって所望されるように追加の機能またはカスタマイズされた機能を実装してよい。
【００１３】
オーディオ装置１１０のマイク等の音声取込み構成要素は、話された言葉に相当する音声を取り込む。発話の始まり及び／または終わりを決定し、発話に相当する音声信号を構成する等の話された言葉を取り込むための詳細は以下に説明される。発話の表現を含む音声信号／音声データ１１１は、ＡＳＲ構成要素２５０に送信されてよい。ＡＳＲ構成要素２５０はオーディオ装置１１０に対してローカルであってよい、及び／またはリモートサーバ１２０に位置してよい。ＡＳＲ構成要素２５０は音声をテキストに変換する。ＡＳＲ構成要素２５０はこのようにして音声データを、音声データに含まれるスピーチの単語を表すテキストデータに転記する。テキストデータは次いで、システムコマンドを実行する、データを入力する等、多様な目的のために他の下流構成要素によって使用されてよい。下流構成要素は、ＡＳＲ出力で動作する任意の数の構成要素またはアプリケーションであってよい。説明のために、多くの係る下流アプリケーションがこれらの技術のために想定されているが、ＮＬＵプロセスは以下に説明されるように初期のＡＳＲ出力の利点を説明するので、この説明はＮＬＵプロセス及びアプリケーションを使用する。例えば、ＮＬＵプロセスはＡＳＲ出力を取り、早期ＡＳＲ出力の認識されたスピーチに基づいて、例えばアクション（コマンド、「アプリケーション応答」または「アプリ応答」と呼ばれることもある）を決定してよい。
【００１４】
音声データ内の話された言葉はＡＳＲを実行するするように構成されたプロセッサに入力され、該プロセッサは次いで、該言葉とＡＳＲ知識ベース（ＡＳＲモデル記憶装置２５２）に記憶された予め設定された言語モデル２５４との間の類似性に基づいて該言葉を解釈する。例えば、ＡＳＲプロセスは、入力された音声データを音（例えば、サブワード単位または音素）のモデル及び音のシーケンスと比較して、音声データ内の言葉で話された該音のシーケンスに一致する単語を識別してよい。
【００１５】
話された言葉が解釈される異なる方法（すなわち、異なる仮説）には、単語の特定の集合が言葉の中で話された単語と一致する可能性を表す確率または信頼スコアがそれぞれ割り当てられてもよい。信頼スコアは、例えば、言語音のモデル（例えば、ＡＳＲモデル記憶装置２５２に記憶された音響モデル２５３）に対する言葉の中の音の類似性、及び音と一致する特定の単語が（例えば、言語モデルもしくは文法モデルまたはダイアログベースの対話型音声応答（ＩＶＲ）システムを使用して）特定の場所で文に含まれる可能性を含むいくつかの要因に基づいてよい。したがって、話される言葉（仮説）のそれぞれの潜在的なテキスト解釈は信頼スコアと関連付けられる。検討された要因及び割り当てられた信頼スコアに基づいて、ＡＳＲプロセス２５０は、音声データで認識される最も可能性のあるテキストを出力する。また、ＡＳＲプロセスは、それぞれの仮説が信頼スコアまたは他のスコア（例えば確率スコア等）に対応する、ラティスまたはまたはＮベストリストの形で複数の仮説を出力してもよい。
【００１６】
ＡＳＲプロセス２５０を実行する１つまたは複数のデバイスは、音響フロントエンド（ＡＦＥ）２５６及び音声認識エンジン／デコーダ２５８を含んでよい。音響フロントエンド（ＡＦＥ）２５６は、マイクからの音声データを音声認識エンジンによる処理のためのデータに変換する。音声認識エンジン２５８は、音声認識データを音響モデル２５３、言語モデル２５４及び他のデータモデル、ならびに音声データで伝達されるスピーチを認識する情報と比較する。ＡＦＥは音声データのノイズを低減し、ＡＦＥがフレーム内の発話部分の特徴／品質を表す特徴ベクトルと呼ばれる値の集合を決定する時間間隔を表すフレームにデジタル化された音声データを分割してよい。メル周波数ケプストラム係数（ＭＦＣＣ）、知覚線形予測（ＰＬＰ）技術、ニューラルネットワーク特徴ベクトル技術、線形判別分析、半結合共分散行列、または当業者に既知の他の手法等、いくつかの手法が音声データを処理するためにＡＦＥによって使用されてよい。ＡＦＥ２５６は、デバイス１１０またはサーバ１２０に位置してよい。デバイス１１０にある場合、デバイスは追加の処理のために特徴ベクトル等のＡＦＥの出力をネットワーク１９９を介してサーバ１２０に送信してよい。
【００１７】
音声認識エンジン２５８は、スピーチ／モデル記憶装置（２５２）に記憶された情報を参照してＡＦＥ２５６からの出力を処理してよい。代わりに、（特徴ベクトル等の）フロントエンド処理後データは、内部ＡＦＥに加えて、別のソースからＡＳＲ処理を実行するデバイスによって受け取られてよい。例えば、機器１１０は音声データを特徴ベクトルに処理し、ＡＳＲ処理のためにその情報をネットワーク１９９上でサーバに送信してよい。特徴ベクトルは符号化されてサーバに達してよく、その場合特徴ベクトルは、音声認識エンジン２５８を実行するプロセッサによる処理の前に復号されてよい。処理のための特徴ベクトルを決定するためにスライディングウインドウ技術が使用されてよい。例えば、音声の各フレームは長さ２５ミリ秒（ｍｓ）であってよいが、次の音声フレームは前のフレームの終わりから１０ｍｓで開始する。したがって、特定の点からの音声データは複数のフレームに現れることがある。フレームに対応する短期振幅スペクトルを入手するために高速フーリエ変換（ＦＦＴ）が適用されてよい。次いで、例えば、フィルタバンクを適用して特徴量を入手することによってフレームデータの特徴値が決定されてよく、該特徴値は次いで音声フレームに対応する特徴ベクトルに含まれてよい。１つ以上の特徴ベクトルが単一のフレームに対応してよい。また、特徴ベクトルを入手するための他の技術も使用されてよい。
【００１８】
音声認識エンジン２５８は、受信された特徴ベクトルを、記憶された音響モデル２５３及び言語モデル２５４で既知の言語音素及び単語に一致させようと試みる。音声認識エンジン２５８は、音響情報及び言語情報に基づいて特徴ベクトルの認識スコアを計算する。音響情報は、特徴ベクトル群によって表される意図された音が言語音素と一致する可能性を表す音響スコアを計算するために使用される。言語情報は、どの音及び／または単語が互いにコンテキストで使用されるのかを検討することによって音響スコアを調整するために使用され、それによりＡＳＲプロセスが文法的に意味をなすスピーチ結果を出力する可能性を改善する。
【００１９】
音声認識エンジン２５８は、例えば、隠れマルコフモデル（ＨＭＭ）を使用する等、特徴ベクトルを音素に一致させるためのいくつかの技術を使用して、特徴ベクトルが音素と一致する確率を決定してよい。受聴された音はＨＭＭの状態間の経路として表されてよく、複数の経路は同じ音に対する複数の考えられるテキストの一致を表してよい。
【００２０】
ＡＳＲ処理に続いて、ＡＳＲ結果は音声認識エンジン２５８によって、ＡＳＲを実行するデバイスにローカルであってよい、及び／またはネットワーク（複数可）１９９にわたって分散されてよい他の処理構成要素に送信されてよい。例えば、スピーチの単一のテキスト表現、複数の仮説を含むＮベストリスト、及びそれぞれのスコア、ラティス等を含む形をとるＡＳＲ結果は、例えばデバイス１１０による、サーバ１２０による、または（例えばサーチエンジンを実行するサーバ等）別のデバイスのどちらかによる、実行のためのコマンドへのテキストの変換等の自然言語理解（ＮＬＵ）のためにサーバ１２０等のサーバに送信されてよい。
【００２１】
ＮＬＵ処理２６０を実行するデバイス（例えば、サーバ１２０）は、潜在的に専用プロセッサ（複数可）、メモリ、記憶装置等を含む多様な構成要素を含んでよい。ＮＬＵ処理のために構成されたデバイスは、固有表現認識（ＮＥＲ）モジュール２５２及び意図分類（ＩＣ）モジュール２６４、結果ランク付け及び分配モジュール２６６、ならびに知識ベース２７２を含んでよい。ＮＬＵプロセスは、エンティティライブラリ記憶装置２８２に記憶された案内書情報（２８４ａ〜２８４ｎ）を利用してもよい。案内書情報は、例えば、ＡＳＲ結果を異なるエンティティ（例えば曲名、連絡先名等）に一致させるエンティティレゾルーションに使用されてよい。案内書はユーザーにリンクされてよい（例えば、特定の案内書は特定のユーザーの音楽コレクションと関連付けられてよい）、（例えばショッピング等）特定のドメインにリンクされてよい、またはさまざまな他の方法で編成されてよい。
【００２２】
ＮＬＵプロセスは、（例えば発話１１に基づいてＡＳＲ２５０から処理される等）テキスト入力を取り、テキストの意味論的解釈を行おうとする。つまり、ＮＬＵプロセスは個々の単語に基づいてテキストの背後にある意味を決定し、その意味を実装する。ＮＬＵ処理２６０は、ユーザーからの意図または所望されるアクション、及びデバイス（例えば、デバイス１１０）がそのアクションを完了できるようにするテキスト内の情報の関連する部分を引き出すためにテキスト文字列を解釈する。例えば、話された言葉がＡＳＲ２５０を使用して処理され、テキスト「ママに電話しなさい」を出力する場合、ＮＬＵプロセスは、ユーザーが自分のデバイス内の電話機を起動させ、エンティティ「ママ」に一致する連絡先との電話を開始することを意図していたと判断してよい。
【００２３】
ＮＬＵは同じ発話に関係するいくつかのテキスト入力を処理してよい。例えば、ＡＳＲ２５０が（Ｎベストリストの一部として）Ｎ個のテキストセグメントを出力する場合、ＮＬＵはＮＬＵ結果を入手するためにすべてのＮ個の出力を処理してよい。
【００２４】
以下にさらに説明されるように、ＮＬＵプロセスはＮＬＵ処理の一部としてテキストに注釈を付けるために解析及びタグ付けされるように構成されてよい。例えば、テキスト「ママに電話しなさい」の場合、「電話をしなさい」が（電話呼び出しを実行するための）コマンドとしてタグ付けされ、「ママ」はコマンドの特定のエンティティ及びターゲットとしてタグ付けられてよい（ならびに連絡先リストに記憶された「ママ」に相当するエンティティの電話番号が注釈付きの結果に含まれてよい）。
【００２５】
スピーチ入力のＮＬＵ処理を正しく実行するために、ＮＬＵプロセス２６０は、エンドポイントデバイス（例えば、サーバ１２０またはデバイス１１０）によって提供されるどのサービスが関連性があり得るのかを判断し、絞り込むように、発話の「ドメイン」を決定するように構成されてよい。例えば、エンドポイントデバイスは、電話サービス、連絡先リストサービス、カレンダー／スケジューリングサービス、音楽プレーヤサービス等との対話に関係するサービスを提供してよい。単一のテキストクエリ内の単語は複数のサービスを暗示してよく、いくつかのサービスは機能的にリンクされてよい（例えば、電話サービスとカレンダーサービスの両方とも連絡先リストのデータを活用してよい）。
【００２６】
名前エンティティ認識モジュール２６２はＡＳＲ結果の形でクエリを受け取り、意味を解釈するために使用されてよい関連する文法及び語彙情報を識別しようとする。そうするために、名前エンティティ認識モジュール２６２は、受信されたクエリに関係することがある潜在的なドメインを識別することによって開始してよい。ＮＬＵ知識ベース２７２は、特定のデバイスと関連付けられたドメインを識別するデバイスのデータベース（２７４ａ〜２７４ｎ）を含む。例えば、デバイス１１０は、音楽、電話、カレンダー、連絡先リスト、及びデバイス特有の通信のためのドメインに関連付けられてよいが、ビデオには関連付けられないことがある。さらに、エンティティライブラリは、デバイスＩＤ、ユーザーＩＤ、もしくは世帯ＩＤによって索引付けられる、または他のなんらかの指標によって索引付けられるかのどちらかの特定のデバイスでの特定のサービスについてのデータベースエントリを含んでよい。
【００２７】
ドメインは、例えば「買い物」、「音楽」、「カレンダー」等の共通のテーマを有する活動の離散的な集合を表してよい。したがって、各ドメインは、特定の言語モデル及び／または文法データベース（２７６ａ〜２７６ｎ）、意図／アクションの特定の集合（２７８ａ〜２７８ｎ）、及び特定の個人化された語彙（２８６）に関連付けられてよい。各案内書（２８４ａ〜２８４ｎ）は、特定のユーザー及び／またはデバイスに関連付けられたドメイン索引語彙情報を含んでよい。例えば、案内書Ａ（２８４ａ）は、ドメイン索引語彙情報２８６ａａ〜２８６ａｎを含む。ユーザーの連絡先リスト語彙情報が連絡先の名前を含む可能性があるのに対し、例えば、ユーザーの音楽ドメイン語彙情報はアルバムタイトル、アーティスト名、曲名等を含む可能性がある。すべてのユーザーの音楽コレクション及び連絡先リストはおそらく異なるため、この個人化された情報はエンティティレゾルーションを改善する。
【００２８】
クエリは、識別された各ドメインに適用可能な規則、モデル、及び情報を適用して処理される。例えば、クエリが通信と音楽の両方を潜在的に暗示する場合、クエリは通信について文法モデル及び語彙情報を使用し、ＮＬＵ処理され、音楽について文法モデル及び語彙情報を使用し、処理される。モデルの各集合によって生成されたクエリに基づく応答が採点され（以下にさらに詳述される）、すべての適用されたドメインからの全体的に最高のランク付けされた結果が正しい結果であるように通常選択される。
【００２９】
意図分類（ＩＣ）モジュール２６４は、識別された各ドメインの１つまたは複数の意図を決定するためにクエリを解析し、意図はクエリに対応する、実行されるアクションに相当する。各ドメインは、意図にリンクされた単語のデータベース（２７８ａ〜２７８ｎ）と関連付けられる。例えば、音楽意図データベースは、例えば「静か」、「音量オフ」、「ミュート」等の単語及び句を「ミュート」意図にリンクしてよい。ＩＣモジュール２６４は、クエリ内の単語を意図データベース２７８内の単語及び句に比較することによって識別されたドメインごとに潜在的な意図を識別する。
【００３０】
特定の解釈された応答を生成するために、ＮＥＲ２６２はそれぞれのドメインと関連付けられた文法モデル及び語彙情報を適用する。案内書２８４からの語彙情報２８６はユーザー（複数可）及び／またはデバイスに対して個人化されるのに対し、各文法モデル２７６は、特定のドメインについて一般的にスピーチ（つまり一般用語）の中で発見されるエンティティ（つまり名詞）の名前を含む。例えば、ショッピングドメインに関連付けられた文法モデルは、人々が買い物について話し合うときに一般的に使用される単語のデータベースを含んでよい。
【００３１】
ＩＣモジュール２６４によって識別された意図は、埋められる「スロット」または「フィールド」を有する（２７６に含まれる）ドメイン特有の文法フレームワークにリンクされる。例えば、「音楽を再生する」が識別された意図である場合、１つまたは複数の文法（２７６）フレームワークは「再生する｛アーティスト名｝」、「再生する｛アルバム名｝」、「再生する｛曲名｝」、「再生する｛アーティスト名｝の｛曲名｝」等の文の構造に対応してよい。しかしながら、認識をより柔軟にするために、これらのフレームワークは通常、文として構成されるのではなく、むしろスロットを文法タグと関連付けることに基づくだろう。
【００３２】
例えば、ＮＥＲモジュール２６０は、名前付きエンティティを認識する前に、文法規則及びモデルに基づいて主語、目的語、動詞、前置詞等として単語を識別するためにクエリを解析してよい。識別された動詞は、フレームワークを識別するためにＮＥＲモジュール２６２によって次いで使用される意図を識別するためにＩＣモジュール２６４によって使用されてよい。「再生する」の意図のためのフレームワークは、識別された「目的語」を再生するために適用可能なスロット／フィールド、及び例えば｛アーティスト名｝、｛アルバム名｝、｛曲名｝等、任意の目的語修飾子（例えば、前置詞句）のリストを指定してよい。ＮＥＲモジュール２６０は次いで、文法上の目的語または目的語修飾子としてタグ付けされたクエリ内の単語及び句をデータベース（複数可）内で識別された単語及び句と一致させようとして、ドメインに特有で個人化された語彙（複数可）内の対応するフィールドを検索する。
【００３３】
このプロセスは、単語または単語の組合せの、そのタイプ／意味論的意味に従った標識化である意味論的タグ付けを含む。構文解析は発見的文法規則を使用して実行されてよい、またはＮＥＲモデルは、例えば隠れマルコフモデル、最大エントロピーモデル、対数線形モデル、条件付き確率場（ＣＲＦ）等の技術を使用し、構築されてよい。
【００３４】
例えば、「ローリングストーンズのマザーズ・リトル・ヘルパーを再生してください」のクエリは、｛動詞｝：「再生する」、｛目的語｝：「マザーズ・リトル・ヘルパー」、｛目的語前置詞｝：「の」、及び｛目的語修飾子｝：「ローリングストーンズ」として解析され、タグ付けされる可能性がある。プロセスのこの点で、「再生する」は、ＩＣモジュール２６４が「音楽を再生する」意図に相当すると判断する音楽ドメインに関連付けられた単語データベースに基づいて動詞として識別される。「マザーズ・リトル・ヘルパー」及び「ローリングストーンズ」の意味に関しては判断は下されていないが、文法の規則及びモデルに基づいて、これらの句はクエリの文法的目的語に関係すると判断される。
【００３５】
意図にリンクされたフレームワークは、次いでフレームワークスロットとの類似性がないかユーザーのガゼットを検索する等、これらの句の意味を決定するためにどのデータベースフィールドが検索されるべきかを判断するために使用される。したがって、「音楽を再生する意図」のフレームワークは、識別された目的語に基づいた｛アーティスト名｝、｛アルバム名｝、及び｛曲名｝を分解しようとすることを示す可能性があり、同じ意図のための別のフレームワークは、｛アーティスト名｝に基づいた目的語修飾子を分解し、識別された｛アーティスト名｝にリンクされた｛アルバム名｝及び｛曲名｝に基づいて目的語を分解しようとすることを示す可能性がある。案内書の検索が案内書情報を使用し、スロット／フィールドを分解しない場合、ＮＥＲモジュール２６２は（ＮＬＵの知識ベース２７２内の）ドメインに関連付けられた一般的な単語をデータベースで検索してよい。したがって、例えば、クエリが「ローリングスローンズの歌を再生する」ことであった場合、ＮＥＲ２６２は、「ローリングストーンズ」の「歌」と呼ばれるアルバム名または曲名を決定できなかった後に、単語「歌」がないかドメイン用語集を検索してよい。代替案では、一般的な単語が案内書情報の前にチェックされてよい、または両方とも試され、潜在的に２つの異なる結果を生じさせことがある。
【００３６】
ＮＥＲモジュール２６２によって使用される比較プロセスは、データベースエントリがタグ付けされたクエリの単語または句とどの程度密接に類似しているのか、クエリの文法構造が適用された文法フレームワークにどの程度密接に対応しているのかを、及びデータベースがエントリとフレームワークの他のスロットを埋めるために特定された情報との間の関係を示すかどうかに基づいて分類（つまり、採点）してよい。
【００３７】
また、ＮＥＲモジュール２６２はスロットを埋めるために文脈上の動作規則を使用してもよい。例えば、ユーザーが特定の歌を一時停止するように以前に要求し、その後、音声制御デバイスに「音楽の一時停止を解除してください」と要求していた場合、ＮＥＲモジュール２６２は、ユーザーが現在再生を希望している歌―つまりユーザーが該音楽を一時停止することを要求したときに再生していた歌―の名前と関連付けられたスロットを埋めるために推論に基づくルールを適用してよい。
【００３８】
ＮＬＵ処理の結果は、意味をクエリに起因するとするためにタグ付けされてよい。したがって、例えば、「ローリングストーンズのマザーズ・リトル・ヘルパーを再生してください」は、｛ドメイン｝音楽、｛意図｝音楽を再生する、｛アーティスト名｝「ローリングストーンズ」、｛媒体タイプ｝歌、及び｛歌の題名｝「マザーズ・リトル・ヘルパー」の結果を生じさせる可能性がある。別の例として、「ローリングストーンの歌を再生してください」は、｛ドメイン｝音楽、｛意図｝音楽を再生する、｛アーティスト名｝「ローリングストーンズ」、及び｛媒体タイプ｝歌を生じさせる可能性がある。
【００３９】
（タグ付けされたテキスト、コマンド等を含むことがある）ＮＬＵ処理からの出力は、次いでシステム１００の一部として同じサーバまたは別個のサーバ１２０に位置してよいコマンドプロセッサ２９０に送信されてよい。宛先コマンドプロセッサ２９０は、ＮＬＵ出力に基づいて決定されてよい。例えば、ＮＬＵ出力が音楽を再生するコマンドを含む場合、宛先コマンドプロセッサ２９０は、例えば音楽再生コマンドを実行するように構成された、オーディオ装置１１０または音楽再生機器に位置する音楽再生アプリケーション等の音楽再生アプリケーションであってよい。サーバは、（発話コマンドデータと呼ばれることもある）発話に含まれるコマンドに対応するデータを構成してよい。システム構成に応じて、発話コマンドデータはＮＬＵ２６０によって作成され、ＮＬＵ２６０から出力されてよく、この場合コマンドは（サーバ１２０、デバイス１１０に位置する、もしくは他のどこかに位置する）コマンドプロセッサ２９０によって実行されてよい、または発話コマンドデータはコマンドプロセッサ２９０によって作成され、コマンドプロセッサ２９０から出力されてよく、この場合発話コマンドデータは下流構成要素に送信されてよい。
【００４０】
ここで、音声データ１１１内のスピーチの識別を参照すると、例えばシステム１００は処理されるスピーチの始まり及び終わりを決定するための多様な技術を使用してよい。説明のために、システム１００では、スピーチの開始点はデバイス１１０によって決定されるとして説明され、スピーチのエンドポイントは（デバイス１１０からの対応する音声データの受信後に）サーバ１２０によって決定されるとして説明されるが、異なる構成要素が本開示から逸脱することなく開始点処理／エンドポインティングを実行してよい。
【００４１】
スピーチがデバイス１１０によって受聴された音声で検出されると、デバイスは、ユーザーがいつデバイス１１０に対しコマンドを話すのかを決定するためにウェイクワード検出を実行してよい。上述されたように、ウェイクワードは、デバイス１１０がデバイス１１０によって検出される多様な音声入力の中で認識するように構成される特別な単語である。ウェイクワードは、このようにして通常デバイス１１０及び／または全体的なシステム１００によって実行されるコマンドに関連付けられる。ウェイクワードの検出に続いて、デバイス１１０は、（ウェイクワード自体を含むことがある）発話に対応する音声データをサーバ（複数可）１２０に送信してよい。サーバ（複数可）１２０は次いで、エンドポイントが検出されるまで（以下に説明する）音声データ１１１に対して音声処理を実行してよく、発話に含まれる結果として生じるいかなるコマンドを実行してもよい。
【００４２】
音声コマンドの始まりまたは終わりを決定するために、いくつかの技術が使用されてよい。一実施形態では、システムは、話された単語の中の休止を判断し、それらの休止を会話の中の潜在的な中断として解釈してよい。したがって、本明細書の説明はエンドポイントを決定することまたは宣言することを参照することがあるが、システムが行うことは、本明細書に説明される多様な考察に基づいて、話されたコマンドが終了した（つまりエンドポイントに達した）旨の推定である。会話の中の中断は発話間の中断と見なされ、したがって、発話の始まり（開始点）または終わり（エンドポイント）と見なされてよい。また、発話の始まり／終わりはスピーチ／音声の特性を用いて検出されてもよい。発話の始まり（開始点処理とも呼ばれる）または発話の終わり（エンドポインティング）を決定するために他の技術が使用されてもよい。開始点処理／エンドポインティングは、例えば、無音／非スピーチ音声のフレームの数、例えば連続する無音／非スピーチフレームの数に基づいてよい。例えば、いくつかのシステムはエネルギーベースまたは音響モデルベースの音声活動検出（ＶＡＤ）技術を利用してよい。係る技術はスピーチが音声入力に存在するかどうかを、音声入力の１つ以上のフレーム間のスペクトル勾配、１つ以上のスペクトル帯での音声入力のエネルギーレベル（例えば、量、強度、振幅等）、ゼロ交差率、１つ以上のスペクトル帯での音声入力の信号対雑音比等の音声入力の多様な定量的な態様、または他の定量的な態様に基づいて判断してよい。これらの要因は、開始点／エンドポイントとして認定されるスピーチの中の中断が発生したかどうかを判断するために１つ以上の閾値と比較されてよい。係る閾値は、ユーザー入力に従って設定されることもあれば、デバイスによって設定されることもある。いくつかの実施形態では、開始点処理／エンドポインティングは、音声入力が少なくとも閾値持続時間の間、閾値を満たすエネルギーレベルを有すると判断するようにさらに構成されてよい。係る実施形態では、スピーチを含む可能性が相対的に低い突然のノイズに相当する比較的短い持続時間の高エネルギー音声入力は無視されてよい。開始点処理／エンドポインティングは、エネルギーレベルをエネルギーレベル閾値と（及び任意選択で閾値持続時間と）比較して、エネルギーレベル閾値が満たされるかどうかを判断してよい。
【００４３】
特定の実施形態では、隠れマルコフモデル（ＨＭＭ）またはガウス混合モデル（ＧＭＭ）技術が音声入力をスピーチ記憶装置の１つ以上の音響モデルと比較するために適用されてよく、該音響モデルはスピーチ、（例えば環境雑音または背景雑音等の）ノイズ、または無音／非スピーチに対応するモデルを含んでよい。スピーチが入力音声データで開始／終了するのかどうかを判断するためにさらに他の技術が使用されてよい。
【００４４】
多様な機械学習技術は、上述されたように発話の始まりまたは発話の終わりを判断するために使用されてよい。係る技術は、例えば、（ディープニューラルネットワーク及び／またはリカレントニューラルネットワーク等の）ニューラルネットワーク、推論エンジン、訓練された分類器等を含んでよい。訓練された分類器の例は、サポートベクターマシン（ＳＶＭ）、ニューラルネットワーク、決定木、決定木と組み合わされたＡｄａＢｏｏｓｔ（「適応ブースト」の略）、ランダムフォレストを含む。例としてＳＶＭに焦点を当てると、ＳＶＭは、データを分析し、データ内のパターンを認識し、一般的に分類及び回帰分析に使用される関連付けられた学習アルゴリズムを有する備えた教師付き学習モデルである。それぞれが２つのカテゴリの内の１つに属するとしてマークされる訓練例の集合を所与として、ＳＶＭ学習アルゴリズムは、新しい例を一方のカテゴリまたは他方のカテゴリに割り当て、それを非確率的二項線形分類器にするモデルを構築する。より複雑なＳＶＭモデルは２つ超のカテゴリを識別する訓練集合を用いて構築されてよく、ＳＶＭはどのカテゴリが入力データに最も類似するのかを決定する。ＳＶＭモデルは、別々のカテゴリの例が明確なギャップによって分けられるように写像されてよい。新しい例は次いでその同じ空間に写像され、新しい例がギャップのどちらの側に位置するのかに基づいてカテゴリに属すると予測される。分類器は、データがどのカテゴリに最も厳密に一致するかを示す「スコア」を発行してよい。スコアは、データが該カテゴリにどの程度厳密に一致するかの指標を提供してよい。
【００４５】
機械学習技術を適用するためには、機械学習プロセス自体を訓練する必要がある。この場合、例えば第１のモデルまたは第２のモデルの内の１つ等の機械学習構成要素を訓練するには、訓練例のための「基礎的な事実」を確立することが必要である。機械学習では、用語「基礎的な事実」は教師付き学習技術のための訓練集合の分類の精度を指す。バックプロパゲーション、統計学的学習、教師付き学習、半教師付き学習、確率論的学習、または他の既知の技法を含む多様な技法がモデルを訓練するために使用され得る。多くの異なる訓練例の発話が訓練中に使用されてよい。
【００４６】
サンプル発話音声の訓練例は、発話開始、発話終結、休止の存続／長さ等についての標識化された基礎的な事実とともに係る判断を下すために実行時での使用のために訓練機械学習モデルに対して使用されてよい。さらに、休止の長さ及び潜在的発話の意味内容を表すタグが、モデル訓練時の使用のために識別され、訓練データに挿入されてよい。実行時処理中、スピーチの中の休止の長さを表すモデル及び意味論的なタグは、例えば発話の終わりを決定する前にシステムがより多くのスピーチを待機すべきである可能性を決定するために使用されてもよい。決定に応じて、発声の始まりが確立される前に処理されてよい非スピーチのフレーム数が調整される。検出されたスピーチの前の非スピーチフレームの数は、デバイス／システムが発話の始まりまたは終わりをいつ決定するのかを決定してよい。
【００４７】
休止を開始点／エンドポイントとして認定するのに十分な休止の長さは、話者の身元に依存することがある。システムが話者識別（当技術分野で既知である技術）を実行するように構成される場合、システムは話者を識別し、それに応じてエンドポイントを決定するのに十分な休止長さを調整してよい。また、システムは異なる話者の休止傾向を学習し、それに応じてそのエンドポインティング処理を調整するように構成されてもよい。例えば、システム訓練／登録中、発話間またはトピック間の話者の休止傾向が記録され、システムのエンドポインティング処理を訓練するために使用されてよい。また、係る傾向は実行時に記録され、システムをさらに調整するために使用されてもよい。休止長さは、話される言語に応じて変わる可能性がある（例えば会話型の英語の休止は会話型のスペイン語の休止とは異なる場合がある）ため、異なる休止長さが話される異なる言語に対して構成されてもよい。また、発話の始まり／終わりは、デバイスの音声及び／またはスピーチ処理構成要素によって決定されるスピーチのピッチ、韻律、音量、リズム、ストレス、イントネーション、ケプストラム等を含むスピーチの多様な特性によって決定されてもよい。例えば、声の上昇調または下降調は、新しい発話、コマンドの終わり等を示すことがある。システムは、発話がいつ終了するのか、したがってスピーチの終わりがいつシステムによってマークされるべきなのかを示す（話者の身元に結び付けられることもあれば、結び付けられないこともある）声の特性に対して訓練してよい。これらの技術は、言語モデル（複数可）の予想される休止が話者の身元に基づいてよいように、上述の言語モデルを修正／カスタマイズするために使用されてよい。
【００４８】
上述の多様な技術を使用して、開始点処理／エンドポインティングは、その値が、問題の点（つまり開始点処理／エンドポインティングが発生する音声データ内の点）の位置が発話／コマンドの開始／終了を表す可能性に相当する信頼水準を決定してよい。信頼スコアは、マーカ、休止の長さ、話者の身元等を決定するために使用される技術等の要因に依存することがある。例えば、信頼水準が信頼水準閾値を満たす場合、検出された無音が十分である（例えば、スピーチの中の休止の長さが閾値を超える）こと、スピーチが音声入力に存在すること、及び発話の始まり／終わりがマークされ得ることが判断されてよい。しかしながら、信頼水準が信頼水準閾値を満たさない場合、システムは、音声入力にスピーチがないと判断してよい。
【００４９】
ウェイクワード／開始点が検出されると、デバイス１１０はサーバ１２０に音声データを送信し始めてよい。サーバ１２０は、エンドポイントが検出されるまで音声データに対する音声処理を継続する。したがって、開始点からエンドポイントへの音声データは、発話のために音声処理を実行するときにシステム１００によって検討される。
【００５０】
従来、エンドポインティングのプロセスは、上述されたよう開始点処理のプロセスに類似している。しかしながら、エンドポインティングと開始点処理の１つの相違点は、エンドポインティング時に、システムがエンドポインティングされている発話の内容に関するなんらかの知識を有する点である。したがって、開始点処理は事前のスピーチがないときに発生することがあるが、エンドポインティングは、事前のスピーチ、つまりそのエンドポイントが検出中である発話のスピーチがあるときに発生する。
【００５１】
さらに、現在のＶＡＤまたは単に休止長さに依存する他の技法の１つの欠点は、それらが発話中間休止と、それらが本当に発話の終わりを示す休止とを区別することが困難である点である。さらに、現在のシステムは、ノイズからスピーチを分離することが適切な休止検出に影響を与える雑音の多い環境では困難に遭遇することがある。
【００５２】
提供されているのは、発話のエンドポイントを決定するときにスピーチの内容を利用する音声処理システムである。本システムは、エンドポイントを決定するときに、音響モデル及び言語モデルからの情報を使用し、スピーチの内容を検討する。このシステムは、現在のＶＡＤまたは単に休止長さに依存する他の技法を改良し、このようにして発話中間休止と発話休止の終わりとを区別するシステムの能力を改善する。エンドポイント検出器は、音声認識エンジン２５８によって決定される異なる仮説に基づいてエンドポイントを決定してよい。個々の仮説に基づいて、システムは、エンドポイントを宣言するために、複数のアクティブなスピーチ仮説にわたる予想休止長さ、及び実際の休止長さが平均予想休止長さに一致するかどうかを判断する。文末を含むアクティブな仮説を検討することにより、システムは、その内の予想と文末休止持続時間とをよりロバストに区別できる。
【００５３】
エンドポインティング中の音響モデル及び言語モデルのデータの組込みを理解するために、一部の追加データが音声認識エンジン２５８の詳細な動作に関して以下に提供される。
【００５４】
上述のように、音声認識の間、ＡＳＲモジュール２５０／音声認識エンジン２５８は、入信音声データ特徴ベクトルに一致する考えられる音素または他の音声単位を決定するために音響モデル２５３を活用してよい。可能性のある音素及び関係する状態／状態遷移、例えばＨＭＭ状態は、潜在的な音素のラティスを横切る経路に形成されてよい。各経路は、特徴ベクトルによって表される音声データに潜在的に一致する音素の進行を表す。１つの経路は、音素ごとに計算された認識スコアに応じて、１つ以上の他の経路と重複してよい。特定の確率は、状態から状態への各遷移に関連付けられる。累積経路スコアが経路ごとに計算されてもよい。特徴ベクトルに基づいてスコアを決定するこのプロセスは、音響モデリングと呼ばれることがある。ＡＳＲ処理の一部としてスコアを結合するとき、スコアは所望の結合スコアに達するために互いに乗算（または他の方法で結合）されてよい、または確率が対数ドメインに変換されて処理を支援するために加算されてよい。
【００５５】
また、音声認識エンジン２５８は言語モデルまたは文法に基づいて経路の分岐のスコアを計算してもよい。言語モデリングは、まとまりのある単語または文を形成するためにどの単語がともに使用される可能性が高いのかのスコアを決定することを含む。言語モデルの適用は、ＡＳＲモジュール２５０が音声データに含まれるスピーチを正しく解釈する可能性を改善してよい。例えば、「ハロー」のように聞こえる入力音声の場合、「ＨＥＬＯ」、「ＨＡＬＯ」、及び「ＹＥＬＯ」の潜在的な音素経路を返す音響モデル処理は、話された言葉の中の各単語の言語コンテキストに基づいて、（単語「こんにちは」として解釈される）「ＨＥＬＯ」、（単語「後光」として解釈される）「ＨＡＬＯ」、及び（単語「黄色」として解釈される）「ＹＥＬＯ」の認識スコアを調整するために言語モデルによって調整されてよい。
【００５６】
図３は音響モデルと言語モデルとの関係を示す。図示されるように、経路３０２に含まれる処理された各音素は、ＡＭ１からＡＭ７までの音響モデルスコアと関連付けられる。次いで、言語モデルは経路３０４内の各単語を言語モデルスコアＬＭ１またはＬＭ２と関連付けるために適用される。
【００５７】
言語モデリングの一部として（またはＡＳＲ処理の他の段階で）、音声認識エンジン２５８は、計算リソースを節約するために、言語モデルに従って低い認識スコアのためまたは他の理由のためのどちらかによって、話された言葉に一致する可能性がほとんどない低認識スコア状態または経路を切り取り、破棄してよい。係る切り取られた経路／仮説は非アクティブと見なされる。アクティブな仮説は、音声認識エンジン２５８によって依然として検討されている仮説である。したがって、アクティブな仮説は、それらがこれまで切り取りを回避してきたので、特定の閾値を上回る信頼スコアを有することがある。ＡＳＲ処理が続行するにつれ、他の仮説が入信音声データ及び音響モデル処理に基づいてアクティブな検討から追加及び／または削除されるので、ＡＳＲ処理の異なる点で異なる仮説が「アクティブ」と見なされてよい。さらに、ＡＳＲ処理中、音声認識エンジン２５８は、以前に処理された発声部分に対して追加の処理パスを反復的に実行してよい。後のパスは、結果をさらに正確にして改善するために初期のパスの結果を組み込んでよい。現在処理中でシステムの潜在的な出力と見なされている経路は、このようにしてアクティブな仮説と見なされる。
【００５８】
音声認識エンジン２５８は、潜在的な経路を音声認識結果を表すラティスに結合してよい。サンプルラティスは図４に示される。ラティス４０２は、音声認識結果の複数の潜在的な経路を示す。大きいノード間の経路は潜在的な単語（例えば「こんにちは」、「黄色」等）を表し、より小さいノード間の経路は潜在的な音素（例えば「Ｈ］、「Ｅ」、「Ｌ」、「Ｏ」、及び「Ｙ」、「Ｅ」、「Ｌ」、「Ｏ］）を表す。説明のために、個々の音素はラティスの最初の２つの単語についてだけ示される。ノード４０４とノード４０６との間の２つの経路は、２つの可能性のある単語選択肢、「ハローハウ」または「イエローナウ」を表す。（例えば潜在的な単語等の）ノード間の各経路点は認識スコアと関連付けられる。また、ラティスを横切る各経路には、認識スコアが割り当てられてもよい。認識スコアが、音響モデルスコア、言語モデルスコア、及び／または他の因子の組み合わせである最高の認識スコア経路は、音声認識エンジン２５８によって関連特徴ベクトルのＡＳＲ結果として返されてよい。
【００５９】
図５に示されるのは、ラティス４０２に沿った異なる潜在的な経路である。図５に示されるように、経路５０２は「ハローハウアー」を生じさせ、経路５０４は「イエローナウアー」を生じさせ、経路５０６は「イエローワウアワ」を生じさせる。分かるように、多くの係る経路は小さい例のラティス４０２でも可能である。係る経路６０２〜６１０の一例は図６に示される。音声処理を行うときに何千もの異なる経路、つまり仮説を検討することは音声認識プロセスにとって珍しいことではない。各仮説はスコアと関連付けられ、他の仮説と比して該仮説にランク付けしてよい。スコアは、入力音声データ、音響モデルからの処理、言語モデルの訓練等に基づいてよい。
【００６０】
各仮説は、特定の仮説の発話の終わりを示す終了状態を含んでよい。終了状態は、例えばＨＭＭ状態等、特定の仮説が完了したことを示すために音響モデル及び／または言語モデルによって使用される状態である。システムがラティスを横切って潜在的な仮説を検討するにつれ、システムは、特定の仮説の信頼スコアに基づいて発話が終了状態に潜在的に達したかどうかを検討する。発話が終了状態に達した可能性は、このようにして終了状態に達した可能性のある特定の仮説の全体的な信頼に依存することがある。また、発話が終了状態に達した可能性はこのようにして、例えば仮説の個々の単語及びスピーチが続行するかどうかに依存することもある。例えば、「天気はどんなですか？」はそれ自体は完全な発話であってよいが、その後には「シアトルで」、「１月に」、「明日」等の追加の単語が続くことがある。これは図７に示される。図７に示されるすべての発話は、システムが単語「天気はどんなですか？」をすでに認識した後に前向きに検討中であってよい例の仮説である。多くの他の例も考えられる。追加の単語が認識されない場合、システムは終了状態に達したと判断し、７０２を最高スコアの発話として選択してよい。しかしながら、追加の単語が、システムに７０２を破棄させ、代わりに残りの仮説を検討させる可能性がある。したがって、システムがより多くの単語を処理するにつれて、個々の仮説はより可能性が高くなるまたはより可能性が低くなる（または完全に脱落して非アクティブ仮説になる）ことがある。逆に、休止が長く続くほど、システムはその時点での完全な仮説を選択し、まだ終了状態に達していない仮説を破棄する可能性が高くなる。従来の処理中では、文中休止と文末休止を区別することは困難である場合がある。例えば、「天気はどんなですか？」と話すとき、ユーザーは「シアトルの［休止］天気はどんなですか」または「明日の［休止］シアトルの［休止］天気はどんなですか」等のなんらかの休止後に追加情報を加えることがある。ＨＭＭベースのＡＳＲシステムでは、文末の確率は言語モデルの終了状態によってモデル化される。例えば、特定の仮説のエンドポイントを決定するために、音響モデルが特定数の非スピーチフレームを認識した場合、対応する仮説は、仮説の事前の単語が完全な発話を示すと仮定して終了状態を示すことがある。
【００６１】
音声認識エンジン２５８を使用するエンドポイント検出器は、仮説情報を利用できる。以下に詳細に説明されるように、システムはラティスを通って進むにつれて、エンドポイントに達した可能性は、全体的な休止持続時間及びＡＳＲエンジンによって検討中であるアクティブな仮説を検討することによって決定されてよい。（例えば、特定のフレームがスピーチを含むのか、それともスピーチを含まないのかに関して特定の仮説が異なる結果として）異なる仮説が経験される異なる休止持続時間に対応することがあるので、複数のアクティブ仮説にわたって休止持続時間を検討することが望ましいことがある。
【００６２】
ＡＳＲモジュール２５０は、スピーチを含まない、またはスピーチと見なされるのに十分な音声特徴を含まない受信音声フレームの数を追跡してよい。係るフレームは非スピーチフレーム、つまり休止フレームと見なされてよい。非スピーチフレームまたは休止フレームは、フレームに関連付けられた１つ以上の特徴ベクトル（複数可）からのデータを１つ以上の閾値と比較して、特徴ベクトル（複数可）が、処理されるスピーチに相当する可能性がある音声を表すのか、それともノイズ、無音、背景の会話（つまり処理されないスピーチ）等の他の音声等に相当する可能性がある音声を表すのかを判断することによって決定されてよい。したがって、非スピーチ／休止フレームは、それぞれのフレームの音声データがＡＳＲ処理のための発話に相当しないと判断されるフレームである。機械学習技術（例えば本明細書に説明されている技術）は、モデルを訓練して入信音声データが非スピーチ／休止フレームにいつ一致するかを決定するために使用されてよい。非スピーチフレームの追跡は、例えばノード（複数可）／経路（複数可）が、例えば１つ以上の非スピーチ／休止フレーム等、非スピーチの特定の持続時間を表すアクティブな仮説の終わりに係るノード（複数可）／経路（複数可）を追加することによって音響モデル及び／または言語モデルによる処理に組み込まれてよい。係るノード（複数可）／経路（複数可）は、非スピーチノード（複数可）／経路（複数可）または休止ノード（複数可）／経路（複数可）と見なされてよい。係る休止ノード（複数可）／経路（複数可）は、休止または非スピーチを含んでいた音声の特定の持続時間を示すことがある。係るノード（複数可）／経路（複数可）は、意味論的なタグ、状態インジケータ、または他の非スピーチアイテム等の他の非スピーチを含んでもよい他のノード（複数可）／経路（複数可）から区別されてよい。
【００６３】
代わりにまたはさらに、ＡＳＲモジュール２５０は、例えば仮説ごとに１つ、その仮説によって予測された直前の非スピーチフレームの数をカウントする１つ以上のカウンタを実行してよい。システムは、処理中に係るカウンタを参照して、どれほど多くの非スピーチが特定の仮説に関連付けられるのかを決定してよい。また、システムは、休止ノード（複数可）／経路（複数可）に遭遇したとき、特に、休止ノード（複数可）／経路（複数可）が継続中の休止の持続時間を追跡しない場合に係るカウンタを参照してもよい。カウンタはシステムに対して、休止がどれほど長く継続中であるのかを示す。処理のためにスピーチを含むフレームを予測すると、その特定の仮説に対するカウンタはリセットされてよい。さらに、仮説の終わりがもはや非スピーチに関連付けられた経路及び／またはノードでなくてよいように、音素経路／ノードが仮説に追加されてよい。一例として、第１の仮説が非スピーチフレームを予測する場合、第１の仮説に関連付けられたカウンタは１に設定されよい、及び／または経路／ノードは非スピーチを示す第１の仮説の終わりに追加されてよい。第１の仮説がさらに５つ非スピーチフレームを予測する場合、カウンタが最終的に６という値に達するまで、カウンタは毎回インクリメントされてよい。さらに、非スピーチ経路／非スピーチノード（つまり非スピーチを示す経路またはノード）は、さらに５つの非スピーチのフレームを示す第１の仮説の終わりに追加されてよい。第１の仮説が次いでスピーチを含むフレームを予測する場合、カウンタはゼロにリセットされてよく、音素経路／ノードが第１の仮説の終わりに追加されてよい。したがって、音声処理の任意の特定の点で、システムは特定のカウンタを見て、特定の点の直前の仮説によって予測された非スピーチの量を決定してよい。また、システムは仮説によって予測された非スピーチの量を決定するために、特定のポイントの直前の非スピーチの経路／ノードの数をカウントしてもよい。ＡＳＲ処理の現在の点に対する単一の仮説の休止持続時間は、仮説が現在の点の直前の非スピーチ状態にあった連続フレームの数、または仮説が現在スピーチ状態にある場合はゼロとして計算されてもよい。特定の仮説について予測／確かめられた非スピーチを決定／推定するための他の方法も考えられる。さらに、（例えば、フレームを超える）非スピーチの持続時間のための他の測定基準も使用されてよい。
【００６４】
システムは、仮説によって予測された非スピーチに基づいてエンドポイントを決定してよい。例えば、システムは、単一の仮説（例えば、トップスコア仮説）が非スピーチ（例えば、閾値を超えた一定量の非スピーチ）を示すと判断してよく、したがってシステムはエンドポイントを宣言してよい。しかしながら、多くの異なる仮説によって予測された非スピーチに基づいてエンドポインティングの決定を下し、それにより異常値仮説の潜在的影響を平滑化することが望ましいこともある。したがって、エンドポイント処理の決定を単一の仮説の単一の休止持続時間に基づかせる代わりに、システムは、複数の仮説を見て、それぞれの休止持続時間のそれぞれの仮説と関連付けられた信頼に基づいてそれぞれの休止持続時間に潜在的に重み付けすることによって計算される推定休止持続時間である予想休止持続時間を決定してよい。複数の仮説にわたる発話の予想休止持続時間を入手するために、システムはこのようにして各個々の仮説の確率またはスコアを検討し、仮説のそれぞれの確率を使用し、各仮説の休止持続時間に重み付けしてよい。システムは次いで、検討中の音声データの全体的な休止持続時間を決定するために重み付けされたすべての休止持続時間をグループ化してよい。この全体的な休止持続時間は、予想休止持続時間と呼ばれることがある。したがって、仮説に確率を割り当て、アクティブな仮説にわたる休止持続時間の加重平均を計算することによって、システムは予想休止持続時間を導き出してよい。システムは、現在、言語モデルの終了状態にある仮説に対してのみ予想休止持続時間を計算することによって発話の終わりでの予想休止持続時間をさらに定義してよい。以下で説明されるように、終了状態での仮説のための全体的な予想休止時持続時間及び／または予想休止持続時間が特定の閾値（複数可）を超えるとき、システムはエンドポイントを決定し、このようにしてシステムが音声処理を完了し、発話全体の認識結果を返してよい。予想休止持続時間、終了状態での仮説の予想休止持続時間、及び他のエンドポインティングの決定は、例えばＡＳＲモジュール２５０と通信するエンドポインティングモジュール８９０によって実行されてよい。
【００６５】
0006772198.tif 000002
【００６６】
0006772198.tif 000003
【００６７】
0006772198.tif 000004
【００６８】
言語モデルのトップスコア仮説に基づいてエンドポインティングを決定するこの説明された方法は、入力された発話に対する言語モデルの動作を検討しつつ、エンドポイント検出の効果的な手法を提供する。
【００６９】
しかしながら、この手法の１つの難点は、上記の手法が、どの仮説がトップスコア仮説と見なされるのかに左右され、トップスコア仮説が処理されたフレーム間で急速に変化する可能性がある点である。例えば、ＨＭＭベースのＡＳＲデコーダでは、言語モデルは、音声処理エンジン２５８の動作を通じて特定の仮説を補正することがある。さらに、音声処理エンジン２５８の最適化は、非平滑ステップ関数の形をとるラティスの特定の経路に沿った言語モデルスコアの分散をもたらすことがある。ノイズ等の他の要因は「トップ」仮説間の迅速な切替えの一因となることがある。トップスコア仮説である異なる仮説間の変動、及びエンドポインティングシステムに対する対応する複雑な事態を説明するために、システムは、以下に説明するように、予想される休止に基づくエンドポイント検出に達するために複数のアクティブ仮説を検討してよい。以下の予想される休止に基づくエンドポイント検出は、すべてのアクティブ仮説を使用するものとして説明されるが、アクティブ仮説の部分集合、例えば特定のスコア閾値を超えるアクティブな仮説、特定数のアクティブな仮説だけ等も検討されてよい。これらの変形形態は、以下では明示的に説明されるのではなく、以下に例示されるようなすべてのアクティブな仮説を検討する代わりに、説明された方法の一部として検討されるべきである。
【００７０】
0006772198.tif 000005
【００７１】
0006772198.tif 000006
【００７２】
方程式６の発話の終わりＤｅｎｄでの予想休止持続時間は、終了状態でのアクティブな仮説全体での加重平均予想休止持続時間と見なされてよい。理解できるように、ＤとしてのＤ≧Ｄｅｎｄはアクティブな仮説を含むが、Ｄｅｎｄだけが終了状態にあるアクティブな仮説を含む。発話の途中の休止の場合、Ｄｅｎｄという値は小さいままである。しかし、入力音声の休止の長さが長くなるにつれ、検討中のより多くのアクティブな仮説が終了状態に達し、Ｄｅｎｄという値はＤという値に収束し、このようにしてすべてのアクティブな仮説が終了状態になると、Ｄ＝Ｄｅｎｄに達する。
【００７３】
0006772198.tif 000007
【００７４】
条件２は、最善の仮説に基づいたエンドポインティングを参照して上述されたものと同様に、エンドポインティングの安全弁として働く。音声認識エンジン２５８がエラーに遭遇する場合、システムは、エンドポインティングが絶対に起こらないループを経験したくない。したがって、安全閾値Ｔは、すべてのアクティブな仮説が閾値Ｔを超える場合にエンドポイントが宣言されるように構成されてよい。Ｔ、Ｔ’、及びＴｅｎｄという値は所望されるシステム性能に達するように構成できるが、Ｔが安全閾値としての機能を果たすためにＴがＴ’及びＴｅｎｄよりも大きいことが理解できる。多様な閾値は、上述された機械学習技術を使用して開発訓練データ集合に対して最適化されてよい。さらに、上記の技術は既存の言語モデルとともに使用されてよいが、言語モデルの訓練中に、言語モデルは仮説の中の終了状態を慎重に選択するために最適化されてよい。例えば、既知のエンドポイントを有する発話の訓練集合が使用されてよく、言語モデルはエンドポイントを見逃すことのコスト関数を最小限に抑えるように訓練されてよい。他の係る訓練構成も可能である。
【００７５】
上記の言語モデルに基づくエンドポインティング技術は、他のエンドポインティング技術、例えばＶＡＤ技術と組み合わされてよい。一例として、発話の始まりの処理中、システムは偽のエンドポインティングトリガを経験することがある。これを説明するために、音声処理の開始時（すなわち一定の持続時間）、システムはＶＡＤ技術を使用してエンドポイントがないかチェックし、該持続時間の経過後上述のような言語モデル技術に切り替えてよい。
【００７６】
別のエンドポインティング機構は、上述の複数の機械学習技術を使用してよい。例えば、（ＳＶＭ等の）分類器または他のモデルは、最善仮説の休止と（潜在的に終了状態にあるアクティブな仮説を含む）複数のアクティブな仮説にわたる予想休止持続時間の両方に基づいてエンドポイントを決定するように訓練されてよい。分類器は、音声データ、休止持続時間等を表すいくつかの異なる訓練発話／エンドポイントとともにいくつかのサポートベクトルを使用し、訓練されてよい。
【００７７】
図８は、特定の音声受聴能力／処理能力を組み込んでよいローカルデバイス１１０を概念的に示すブロック図である。図９は、ＡＳＲ処理及び／またはＮＬＵ処理を支援してよいリモートサーバ１２０等のリモートデバイスの例の構成要素を概念的に示すブロック図である。ＡＳＲ用の１つのリモートデバイス、ＮＬＵ用の１つのリモートデバイス等、複数の係るリモートデバイスがシステムに含まれてよい。動作中、これらのデバイスのそれぞれは、以下でさらに説明されるように、それぞれのデバイス（１１０／１２０）に常駐するコンピュータ可読命令及びコンピュータ実行可能命令を含んでよい。
【００７８】
これらのデバイス（１１０／１２０）のそれぞれは、データ及びコンピュータ可読命令を処理するための中央演算処理装置（ＣＰＵ）ならびにそれぞれのデバイスのデータ及び命令を記憶するためのメモリ（８０６／９０６）をそれぞれ含んでよい１つ以上のコントローラ／プロセッサ（８０４／９０４）を含んでよい。メモリ（８０６／９０６）は、揮発性ランダムアクセスメモリ（ＲＡＭ）、不揮発性読出し専用メモリ（ＲＯＭ）、不揮発性磁気抵抗（ＭＲＡＭ）、及び／または他のタイプのメモリを個々に含んでよい。また、各デバイスは、データ及びコントローラ／プロセッサ実行可能命令を記憶するためのデータ記憶装置構成要素（８０８／９０８）も含んでよい。各データ記憶装置構成要素は、磁気記憶、光学式記憶、ソリッドステート記憶等の１つ以上の不揮発性記憶装置タイプを個々に含んでよい。また、各デバイスは、それぞれの入出力装置インタフェース（８０２／９０２）を通して（例えばリムーバブルメモリカード、メモリキードライブ、ネットワーク化された記憶装置等の）リムーバブルメモリまたは外付け不揮発性メモリ及び／またはストレージに接続されてもよい。
【００７９】
各デバイス（１１０／１２０）及びその多様な構成要素を動作させるためのコンピュータ命令は、実行時にメモリ（８０６／９０６）を一時「作業用」記憶装置として使用して、それぞれのデバイスのコントローラ（複数可）／プロセッサ（複数可）（８０４／９０４）によって実行されてよい。デバイスのコンピュータ命令は、不揮発性メモリ（８０６／９０６）、記憶装置（８０８／９０８）、または外付けデバイス（複数可）に非一過性で記憶されてよい。代わりに、実行可能命令のいくつかまたはすべては、ソフトウェアに加えて、またはソフトウェアの代わりにそれぞれのデバイスのハードウェアまたはファームウェアに埋め込まれてもよい。
【００８０】
各デバイス（１１０／１２０）は入出力装置インタフェース（８０２／９０２）を含む。以下でさらに説明されるように、さまざまな構成要素は入出力装置インタフェースを通して接続されてよい。さらに、各デバイス（１１０／１２０）は、それぞれのデバイスの構成要素の間でデータを伝達するためのアドレスバス／データバス（８２４／９２４）を含んでよい。また、デバイス（１１０／１２０）の中の各構成要素は、バス（８２４／９２４）をわたって他の構成要素に接続されるのに加えて（接続される代わりに）他の構成要素に直接的に接続されてもよい。
【００８１】
図８の音声制御機器１１０を参照すると、入出力装置インタフェース８０２は、例えばマイク８１８またはマイクアレイ、スピーカまたはスピーカ（複数可）８１６、無線通信をサポートする１つ以上のアンテナ８１４等のさまざまな構成要素に接続する。アンテナ（複数可）によって、入出力装置インタフェース８０２は、（ＷｉＦｉ等の）ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）無線機、ブルートゥース、及び／または例えばロングタームエボリューション（ＬＴＥ）ネットワーク、ＷｉＭＡＸネットワーク、３Ｇネットワーク等の無線通信ネットワークと通信できる無線機等のワイヤレスネットワーク無線機を介して１つ以上のネットワーク１９９に接続してよい。イーサネットなどの有線接続もサポートされてよい。ネットワーク（複数可）１９９を通して、音声処理システムはネットワーク化された環境全体に分散されてよい。
【００８２】
デバイスはＡＳＲモジュール２５０を含んでよい。記憶装置８０８は、ＡＳＲモジュール２５０によって使用されるＡＳＲモデル２５２を含んでよい。ＡＳＲモジュール２５０は、デバイスのウェイクワード等の限られた数の単語を識別するように構成されることもあれば、はるかに大きい範囲の単語を認識するために拡張音声認識を実行するように構成されることもある。また、デバイスは特定のＮＬＵ機能を含むことがある限定されたまたは拡張されたＮＬＵモジュール２６０を含むこともあれば、ＮＬＵモジュール２６０に関して上述されたような拡張されたＮＬＵ機能を含むこともある。また、記憶装置８０８はＮＬＵ知識ベース２７２及び／またはエンティティライブラリ２８２を含んでもよい。また、デバイスは上述の仮説を使用し、エンドポインティングを実行するためにエンドポインティングモジュール８９０を含んでもよい。また、デバイスは、話されたコマンドの追加の実行のためにコマンドプロセッサ２９０を含んでもよい。
【００８３】
図９に示されるように、１つ以上のサーバ１２０はＡＳＲモジュール２５０、ＮＬＵモジュール２６０、エンドポインティングモジュール８９０、及び／またはコマンドプロセッサ２９０を含んでよい。コマンドプロセッサ２９０は、発話と関連付けられたコマンドを実行するように構成されてよい。
【００８４】
上述のように、複数のデバイスが単一の音声処理システムで利用されてよい。係るマルチデバイスシステムでは、デバイスのそれぞれが音声処理の異なる態様を実行するための異なる構成要素を含んでよい。複数のデバイスは重複する構成要素を含んでよい。図８及び図９に示されるデバイス１１０及びサーバ１２０の構成要素は例示的であり、スタンドアロンデバイスとして配置されてよい、またはより大きなデバイスもしくはシステムの構成要素として全体もしくは一部として含まれてよい。  
【００８５】
図１０に示されるように、複数のデバイス（１１０ａ〜１１０ｄ、及び１２０ａ〜１２０ｃ）はシステム１００の構成要素を含んでよく、デバイスはネットワーク１９９を介して接続されてよい。ネットワーク１９９は、データネットワーク及び／または音声ネットワークを含む任意のタイプの通信ネットワークを表し、有線インフラ（例えばケーブル、ＣＡＴ５、光ファイバケーブル等）、無線インフラ（例えばＷｉＦｉ、ＲＦ、セルラー、マイクロ波、衛星、ブルートゥース等）、及び／または他の接続技術を使用し、実装されてよい。デバイスはこのようにして、有線接続または無線接続のどちらかを通してネットワーク１９９に接続されてよい。ネットワーク１９９はローカルネットワークもしくはプライベートネットワークを含むこともあれば、インターネット等の広域ネットワークを含むこともある。例えば、音声制御装置１１０ａ、タブレットコンピュータ１１０ｂ、スマートフォン１１０ｃ、及び冷蔵庫１１０ｄは、ＷｉＦｉネットワーク接続またはセルラーネットワーク接続等を介して無線サービスプロバイダを通してネットワーク１９９に接続されてよい。他のデバイスは、ラップトップコンピュータ１２０ａ、デスクトップコンピュータ１２０ｂ、及びサーバ１２０ｃ等のネットワーク接続されたサポートデバイスとして含まれる。サポートデバイス１２０は、有線接続または無線接続を通してネットワーク１９９に接続してよい。ネットワーク化されたデバイス１１０は、例えば１つ以上のサーバ１２０ｃのＡＳＲ２５０、ＮＬＵ２６０等の同じデバイスまたはネットワーク１９９を介して接続された別のデバイスのＡＳＲ、ＮＬＵ，または他の構成要素により実行される処理を用いて１つ以上の内蔵もしくは接続されたマイク８１８または音声取込み装置を使用し、音声を取り込んでよい。
【００８６】
本明細書に開示される概念は、例えば汎用コンピューティングシステム、音声処理システム、及び分散コンピューティング環境を含むいくつかの異なるデバイス及びコンピュータシステム内で適用されてよい。したがって、上述のモジュール、構成要素及び／またはプロセスは、本開示の範囲から逸脱することなく結合または再編成されてよい。上述の任意のモジュールの機能は、複数のモジュールの間で割り当てられることもあれば、異なるモジュールと結合されることもある。上述したように、モジュールのいずれかまたはすべては１つ以上の汎用マイクロプロセッサで、または１つ以上の特殊用途のデジタルシグナルプロセッサもしくは他の専用マイクロプロセッシングハードウェアで具現化されてよい。また、１つ以上のモジュールが処理装置によって実装されるソフトウェアで具現化されてもよい。さらに、モジュールの１つ以上がプロセスから完全に省略されてよい。
【００８７】
本開示の上記の態様は例示的であることが意図されている。該態様は、開示の原則及び応用を説明するために選ばれたものであり、網羅的であることまたは本開示を制限することを意図するものではない。開示された態様の多くの修正形態及び変形形態が当業者にとって明らかである場合がある。コンピュータ及び音声処理の分野の当業者は、本明細書に説明された構成要素及びプロセスステップが他の構成要素もしくはステップ、または構成要素もしくはステップの組合せと交換可能であり、依然として本開示の利点及び優位点を達成することを認識すべきである。さらに、本開示が、本明細書に開示される特定の詳細及びステップの一部またはすべてなしで実施され得ることが当業者に明らかであるべきである。
【００８８】
開示されたシステムの態様は、コンピュータ方法として、またはメモリデバイスもしくは非一過性のコンピュータ可読記憶媒体等の製造品として実施されてよい。コンピュータ可読記憶媒体は、コンピュータにより読取り可能であってよく、コンピュータまたは他のデバイスに本開示に説明されるプロセスを実行させるための命令を含んでよい。コンピュータ可読記憶媒体は、揮発性コンピュータメモリ、不揮発性コンピュータメモリ、ハードドライブ、ソリッドステートメモリ、フラッシュドライブ、リムーバブルディスク、及び／または他の媒体により実装されてよい。さらに、モジュール及びエンジンの１つ以上の構成要素は、とりわけアナログフィルタ及び／またはデジタルフィルタ（例えばデジタルシグナルプロセッサ（ＤＳＰ）に対するファームウェアとして構成されたフィルタ）を含む音響フロントエンド２５６等のファームウェアまたはハードウェアとして実装されてよい。
【００８９】
例えばとりわけ「できる」、「できるだろう」、「可能性がある」、「してよい」、「例えば」等の本明細書で使用される条件言語は、特に明記しない限り、または使用される文脈の中で他の意味で理解されない限り、特定の実施形態が特定の特徴、要素、及び／またはステップを含み、一方他の実施形態は特定の特徴、要素、及び／またはステップを含まないことを概して伝えることを意図している。したがって、係る条件言語は、特徴、要素、及び／もしくはステップが１つ以上の実施形態にいずれにせよ必要とされること、または１つ以上の実施形態が必ず、著者のインプットまたはプロンプトありでまたはなしで、これらの特徴、要素、及び／もしくはステップが含まれるのか、それとも任意の特定の実施形態で実行されるべきかを決定するための論理を含むことを概して暗示することを意図していない。用語「ｃｏｍｐｒｉｓｉｎｇ（含む、備える）」、「ｉｎｃｌｕｄｉｎｇ（含む）」、「有する」等は同義語であり、オープンエンド方式で包括的に使用され、追加の要素、特徴、行為、動作等を排除しない。また、用語「または」は、使用されるとき、例えば要素のリストを接続するために、用語「または」がリスト中の要素の１つ、いくつか、またはすべてを意味するようにその包括的な意味で（及びその排他的な意味ではなく）使用される。
【００９０】
句「Ｘ、Ｙ、及びＺの少なくとも１つ」等の接続的言語は、特に明記しない限り、項目、用語等がＸ、Ｙ、もしくはＺ、またはその組合せのどちらかであってよいことを伝えるために一般的に使用される文脈で理解される。したがって、係る接続的言語は概して、特定の実施形態がＸの少なくとも１つ、Ｙの少なくとも１つ、及びＺの少なくとも１つがそれぞれ存在することを必要とすることを暗示することを意図していない。
【００９１】
本開示において使用されるように、用語「ａ」、または「ｏｎｅ」は、特に明記しない限り１つ以上の項目を含んでもよい。さらに、句「に基づき」は、特に明記しない限り「少なくとも部分的に基づき」を意味することが意図される。
【００９２】
条項
１．自動音声認識（ＡＳＲ）処理中にエンドポイントを決定するためのコンピュータ実装方法であって、
スピーチを表す音声データを受信することと、
前記音声データに対してＡＳＲ処理を行って複数の仮説を決定することと、
前記複数の仮説のそれぞれについて、前記それぞれの仮説が前記音声データに対応するそれぞれの確率を決定することと、
前記複数の仮説のそれぞれについて、第１の点の直前の非スピーチ音声フレームのそれぞれの数を決定することと、
前記複数の仮説のそれぞれについて、それぞれの仮説の前記確率を前記それぞれの仮説の非スピーチ音声フレームの前記数で乗算することによって重み付けされた休止持続時間を決定することと、
前記複数の仮説のそれぞれについて前記重み付けされた休止持続時間を合計することによって累積的な予想休止持続時間を決定することと、
前記予想休止持続時間が閾値を超えると判断することと、
前記第１の点を可能性のあるエンドポイントに対応するとして指定することと、を含む前記コンピュータ実装方法。
【００９３】
２．第２の複数の仮説を決定することであって、
前記第２の複数の仮説が、前記複数の仮説の部分集合であり、
前記第２の複数の仮説のそれぞれが、それぞれの終了状態にある、前記決定することと、
前記第２の複数の仮説のそれぞれについて前記重み付けされた休止持続時間を合計することによって第２の予想休止持続時間を決定することと、
前記第２の予想休止持続時間が第２の閾値を超えると判断することと、をさらに含む、条項１に記載のコンピュータ実装方法。
【００９４】
３．それぞれの仮説ごとに非スピーチ音声フレームの前記数を決定することが、仮説ごとに、前記第１の点の直前の連続する非スピーチノードの数を決定することを含む、条項１に記載のコンピュータ実装方法。
【００９５】
４．それぞれの仮説ごとに非スピーチ音声フレームの前記数を決定することが、仮説ごとに、前記第１の点の直前の連続する非スピーチフレームの数のカウンタを維持することを含む、条項１に記載のコンピュータ実装方法。
【００９６】
５．コンピュータ実装方法であって、
少なくとも１つの仮説を決定するために音声データに対して音声認識処理を実行することと、
前記少なくとも１つの仮説の休止を決定することであって、前記休止が前記音声データの第１の点の直前に位置する、前記決定することと、
前記スピーチのエンドポイントが前記音声データの前記第１の点で発生すると判断することと、を含む前記コンピュータ実装方法。
【００９７】
６．前記少なくとも１つの仮説が、複数の仮説の中から最高の確率を有するトップスコア仮説を含む、条項５に記載のコンピュータ実装方法。
【００９８】
７．前記少なくとも１つの仮説が複数の仮説を含み、前記方法がさらに、
前記複数の仮説のそれぞれについて、前記第１の点の直前のそれぞれの休止持続時間を決定することと、
前記複数の仮説のそれぞれについて前記休止持続時間を合計することによって前記第１の点に対応する前記音声データの予想休止持続時間を決定することと、
前記予想休止持続時間を閾値と比較することと、をさらに含む、条項５に記載のコンピュータ実装方法。
【００９９】
８．前記複数の仮説のそれぞれについて、各それぞれの仮説に対応する確率を決定することと、
前記予想休止持続時間を決定する前に、各休止持続時間を前記対応する仮説の前記確率で乗算することと、をさらに含む、条項７に記載のコンピュータ実装方法。
【０１００】
９．第２の複数の仮説を決定することであって、
前記第２の複数の仮説が、前記複数の仮説の部分集合であり、
前記第２の複数の仮説のそれぞれが、それぞれの終了状態にある、前記決定することと、
前記第２の複数の仮説のそれぞれについて前記休止持続時間を合計することによって第２の予想休止持続時間を決定することと、
前記第２の予想休止持続時間が第２の閾値を超えると判断することと、をさらに含む、条項８に記載のコンピュータ実装方法。
【０１０１】
１０．前記休止を決定することが、前記第１の点の直前の連続する非スピーチフレームの数を決定することを含む、条項５に記載のコンピュータ実装方法。
【０１０２】
１１．非スピーチ音声フレームの前記数を決定することが、仮説ごとに、前記第１の点の直前の連続する非スピーチフレームの数のカウンタを維持することを含む、条項１０に記載のコンピュータ実装方法。
【０１０３】
１２．非スピーチ音声フレームの前記数を決定することが、前記第１の点の直前の連続する非スピーチノードの数を決定することを含む、条項１０に記載のコンピュータ実装方法。
【０１０４】
１３．コンピューティングシステムであって、
少なくとも１つのプロセッサと、
前記システムに、
少なくとも１つの仮説を決定するために音声データに対して音声認識処理を実行することと、
前記少なくとも１つの仮説の休止を決定することであって、前記休止が前記音声データの第１の点の直前に位置する、前記決定することと、
前記スピーチのエンドポイントが前記音声データの前記第１の点で発生すると判断することと、を含むアクションのセットを実行させるために前記少なくとも１つのプロセッサによって実行するよう作動する命令を含むメモリと、を備える前記コンピューティングシステム。
【０１０５】
１４．前記少なくとも１つの仮説が、複数の仮説の中から最高の確率を有するトップスコア仮説を備える、条項１３に記載のコンピューティングシステム。
【０１０６】
１５．前記少なくとも１つの仮説が複数の仮説を含み、アクションの前記セットがさらに、
前記複数の仮説のそれぞれについて、前記第１の点の直前のそれぞれの休止持続時間を決定することと、
前記複数の仮説のそれぞれについて前記休止持続時間を合計することによって前記第１の点に対応する前記音声データの予想休止持続時間を決定することと、
前記予想休止持続時間を閾値と比較することと、をさらに含む、条項１３に記載のコンピューティングシステム。
【０１０７】
１６．アクションの前記セットが、
前記複数の仮説のそれぞれについて、各それぞれの仮説に対応する確率を決定することと、
前記予想休止持続時間を決定する前に、各休止持続時間を前記対応する仮説の前記確率で乗算することと、をさらに含む、条項１３に記載のコンピューティングシステム。
【０１０８】
１７．アクションの前記セットが、
第２の複数の仮説を決定することであって、
前記第２の複数の仮説が、前記複数の仮説の部分集合であり、
前記第２の複数の仮説のそれぞれが、それぞれの終了状態にある、前記決定することと、
前記第２の複数の仮説のそれぞれについて前記休止持続時間を合計することによって第２の予想休止持続時間を決定することと、
前記第２の予想休止持続時間が第２の閾値を超えると判断することと、をさらに含む、条項１６に記載のコンピューティングシステム。
【０１０９】
１８．前記休止を決定することが、前記第１の点の直前の連続する非スピーチフレームの数を決定することを含む、条項１３に記載のコンピューティングシステム。
【０１１０】
１９．非スピーチ音声フレームの前記数を決定することが、前記第１の点の直前の連続する非スピーチフレームの数のカウンタを維持することを含む、条項１８に記載のコンピューティングシステム。
【０１１１】
２０．非スピーチ音声フレームの前記数を決定することが、前記第１の点の直前の連続する非スピーチノードの数を決定することを含む、条項１８に記載のコンピューティングシステム。
【図１】
0006772198.tif 000008
【図２】
0006772198.tif 000009
【図３】
0006772198.tif 000010
【図４】
0006772198.tif 000011
【図５】
0006772198.tif 000012
【図６】
0006772198.tif 000013
【図７】
0006772198.tif 000014
【図８】
0006772198.tif 000015
【図９】
0006772198.tif 000016
【図１０】
0006772198.tif 000017