(57)【要約】  自動音声認識システムにおける、音声認識モデルおよびデータの使用を管理するための機能が開示される。モデルおよびデータは、それらが受信される際、または発話がより一般的なまたは異なるモデルで初期処理される後に、非同期に検索され、使用され得る。一旦受信されると、モデルおよび統計はキャッシュされ得る。モデルおよびデータを更新するために必要な統計もまた、それが利用可能になる際に、それがモデルおよびデータを更新するために使用され得るように非同期に検索され得る。更新されたモデルおよびデータは、発話を再処理するために即時に使用されてもよく、または後続して受信される発話の処理における使用のために保存されてもよい。ユーザの自動音声認識システムとの相互作用は、ユーザがいつシステムを利用する可能性があるかを予測するために追跡され得る。モデルおよびデータは、そのような予測に基づいて事前キャッシュされ得る。
2015537258.tif 000002
【特許請求の範囲】
【請求項１】
実行可能な命令を記憶するコンピュータ可読メモリと、
前記コンピュータ可読メモリと通信する１つ以上のプロセッサと、
を備えるシステムであって、
前記１つ以上のプロセッサは、前記実行可能な命令によって、
クライアント装置から、ユーザの発話を含む音声データを受信し、
追加の音声認識モデルが利用可能でないことを決定し、
前記音声データ上で基礎音声認識モデルを使用して、第１の音声認識処理を実行し、第１の音声認識結果を生成し、
前記追加の音声認識モデルをネットワークアクセス可能なデータストアから要求し、前記要求は、前記第１の音声認識処理の完了前に開始され、
前記追加の音声認識モデルを前記ネットワークアクセス可能なデータストアから受信し、
第２の音声認識処理を、前記追加の音声認識モデルを使用して、かつ、前記音声データおよび前記音声認識結果のうちの少なくとも１つを使用して実行し、
前記第２の音声認識処理に少なくとも部分的に基づき、応答を前記クライアント装置に送信する、
ようにプログラムされている、
システム。
【請求項２】
前記基礎音声認識モデルは、一般音響モデル、性別特定的音響モデル、および、一般言語モデルのうちの少なくとも１つを含み、
前記追加の音声認識モデルは、前記ユーザの発話に関連するユーザの特徴に少なくとも部分的に基づいて選択される、
請求項１に記載のシステム。
【請求項３】
前記１つ以上のプロセッサは、前記実行可能な命令によって、
前記クライアント装置から、第２のユーザの発話を含む第２の音声データを受信し、
前記追加の音声認識モデルが利用可能であることを決定し、
前記第２の音声データ上で前記追加の音声認識モデルを使用して、音声認識処理を実行する、
ようにさらにプログラムされている、
請求項１に記載のシステム。
【請求項４】
前記１つ以上のプロセッサは、前記実行可能な命令によって、マルチスレッド処理を使用して、前記第１の音声認識処理の実行と平行して、前記追加の音声認識モデルを検索するようにさらにプログラムされている、
請求項１に記載のシステム。
【請求項５】
前記１つ以上のプロセッサは、前記実行可能な命令によって、前記追加の音声認識モデルをキャッシュするようにさらにプログラムされている、
請求項１に記載のシステム。
【請求項６】
コンピュータ実装方法であって、前記方法は、特定のコンピュータ実行可能な命令で構成された１つ以上のコンピュータ装置の制御下で、
ユーザの発話に関する音声データ上で第１の音声処理を実行して、音声処理結果を生成するステップと、
ネットワークアクセス可能なデータストアから音声処理データを要求するステップであって、前記第１の音声処理の完了前に開始される要求ステップと、
前記ネットワークアクセス可能なデータストアから前記音声処理データを受信するステップと、
第２の音声処理を、前記音声処理データと、前記音声データおよび前記音声処理結果のうちの少なくとも１つと、を使用して実行するステップと、
を含むコンピュータ実装方法。
【請求項７】
前記ユーザの特徴に少なくとも部分的に基づいて、要求する音声処理データを選択するステップをさらに含む、
請求項６に記載のコンピュータ実装方法。
【請求項８】
前記ユーザの前記特徴は、前記ユーザの性別、年齢、地域的アクセント、または、身分を含む、
請求項７に記載のコンピュータ実装方法。
【請求項９】
前記音声処理データは、音響モデル、言語モデル、言語モデル統計、制約付き最尤線形回帰（「ＣＭＬＬＲ」）変換、声道長正規化（「ＶＴＬＮ」）伸縮係数、ケプストラル平均および分散データ、意図モデル、固有表現モデル、および、地名辞典のうちの少なくとも１つを含む、
請求項６に記載のコンピュータ実装方法。
【請求項１０】
前記音声処理データを更新するための統計を要求するステップであって、前記第１の音声処理の完了前に開始される要求するステップをさらに含む、
請求項９に記載のコンピュータ実装方法。
【請求項１１】
前記統計および前記第２の音声処理の結果に少なくとも部分的に基づいて、前記音声処理データを更新するステップをさらに含む、
請求項１０に記載のコンピュータ実装方法。
【請求項１２】
前記音声処理データをキャッシュするステップをさらに含む、
請求項６に記載のコンピュータ実装方法。
【請求項１３】
前記ユーザの第２の発話に関する第２の音声データを受信するステップと、
前記音声処理データをキャッシュから検索するステップと、
前記第２の音声データ上で前記音声処理データを使用して、音声処理を実行するステップと、
をさらに含む、
請求項１２に記載のコンピュータ実装方法。
【請求項１４】
前記音声認識データをキャッシュするステップは、
ユーザが音声認識セッションを開始する可能性がある時間を決定するステップと、
前記音声認識データを実質的に決定された時間でキャッシュするステップと、
を含む、
請求項１２に記載のコンピュータ実装方法。
【請求項１５】
前記ユーザによって操作されるクライアント装置から前記音声データを受信するステップと、
前記第２の音声認識処理に少なくとも部分的に基づく応答を、前記クライアント装置に送信するステップと、
をさらに含む、
請求項６に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
現代の音声認識システムは、音響モデルおよび言語モデルを典型的に含む。音響モデルは、発話の音響特性に基づいて、どの語または副語単位（例えば、音素）が発話に対応するかに関する仮説を発生させるために使用される。言語モデルは、発話が話される言語の語彙特性に基づいて、音響モデルを使用して発生させた仮説のうちのどれが、発話の最も可能性がある転写であるかを決定するために使用される。
【０００２】
音声認識において使用される音響モデル、言語モデル、および他のモデル（総じて音声認識モデルと称される）は、異なる程度に特殊化またはカスタマイズされ得る。例えば、音声認識システムは、いかなる特定の方法でもカスタマイズされない一般または基礎モデル、および特定の性別、年齢幅、地域的アクセント、またはこれらの任意の組み合わせのための、任意の数の追加モデルを有し得る。いくつかのシステムは、特定の主題（例えば、医学用語）、または特定のユーザのためのモデルさえをも有し得る。
【０００３】
音声認識システムは、クライアントに基づく、またはクライアント−サーバに基づくものであり得る。例えば、ラップトップコンピュータなどのコンピュータ装置は、音声入力を、テキスト出力、または音声入力の可能性がある転写のリストに処理するためのアプリケーションソフトウェアおよびデータを含み得る。いくつかの音声認識は、パーソナルまたは携帯コンピュータ装置を介して音声入力を受容し、音声入力が転写される、または他の処理が実行されるネットワークアクセス可能サーバに、音声入力を伝達する。
【０００４】
様々な発明的特性の実施形態が、以下の図面を参照してこれより記載される。図面を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に記載される例示的な実施形態を図示するために提供され、本開示の範囲を限定することが意図されない。
【図面の簡単な説明】
【０００５】
【図１】クライアント装置と、音声認識サーバと、モデル記憶サーバとの間の例示的な相互作用を示す、分散音声認識システムが実装され得る例示的ネットワーク環境のブロック図である。
【図２】様々なモジュールおよびデータストアを示す、例示的音声認識サーバのブロック図である。
【図３】分散音声認識システムにおいて音声認識セッションを管理するための、例示的処理の流れ図である。
【図４】分散音声認識システムにおいてモデルの事前キャッシュを利用するための、例示的処理の流れ図である。
【図５Ａ】クライアント装置と、音声認識サーバと、モデルキャッシュと、モデル記憶サーバとの間の例示的相互作用のブロック図である。
【図５Ｂ】クライアント装置と、音声認識サーバと、モデルキャッシュと、モデル記憶サーバとの間の例示的相互作用のブロック図である。
【発明を実施するための形態】
【０００６】
導入
一般的に記載して、本開示は、特殊化またはカスタマイズされた言語モデル、特殊化またはカスタマイズされた音響モデル、および総じて音声認識モデルと称される他のデータを含む、分散音声認識システムの動作を管理することに関する。音声認識システムは、音声認識モデルを使用して、ユーザの発話を転写または発話の可能性がある転写のリストに処理する。いくつかの音声認識システムは、多数のユーザに適用される一般化または基礎音声認識モデルを使用する。いくつかの場合、音声認識システムは、個人ユーザまたはユーザの集団に基礎モデルより正確な結果を提供するために、追加モデルを使用し得る。そのような追加モデルは、特定のユーザが典型的に使用する語彙を含んでも、または強調してもよく、あるいはそれらは、音声認識処理中に、特定のユーザの音声がデジタルで表される方法をより密接に整合させてもよい。しかしながら、追加モデル（および一般に音声認識モデル）は大量の記憶容量を消費し得るため、音声認識システムは、それらが、音声認識処理が行われる装置上にローカルで記憶し得るモデルの数において限定されている。更に、それらの大きいサイズのために、他の装置（例えば、記憶サーバ）からの追加モデルの検索は、ユーザによって知覚される実行に悪影響を与える。例えば、記憶サーバから大きい追加モデルを検索するために必要とされる時間は、ユーザが発話を話すことと結果を受信することとの間で経験する遅延を増加させる。
【０００７】
本開示の態様は、音声認識を発話上に実行することにおける使用のための、追加の音声認識モデルの非同期検索に関する。音声認識モデルの検索が初期処理と干渉しないように、音声認識サーバまたはエンジンは、発話の処理を開始する前に、またはそれと平行して、データストアから音声認識モデルを要求し得る。例えば、マルチスレッドシステムにおいて、音声認識モデルの検索を管理するスレッドは、処理するスレッドを妨害しない。
【０００８】
いくつかの実施形態において、音声認識システムは、音声認識を実行するための構成要素（例えば、音声認識サーバ）、および追加の音声認識モデルを記憶するための構成要素（例えば、長期記憶サーバ）を含む分散システムとして実装され得る。音声認識サーバは、ユーザから音声入力を受信し、記憶構成要素から、異なる程度にカスタマイズまたは特殊化された１つ以上の音声認識モデル（例えば、ユーザの性別のもの、ユーザの地域的アクセントのもの、特定のユーザのものなど）を検索し得る。音声認識サーバは、受信された音声入力を基礎音声認識モデルで処理する間にも、追加の音声認識モデルを検索し得る。いくつかの場合、追加モデルが要求される際、それらがネットワークを介して受信されるまで遅延が存在し得る。これは、転写を提供すること、またはユーザの発話に応答した動作を実行することにおける遅延を引き起こし得る。ユーザは、そのような遅延を、受容しがたいと考え得る。しかしながら、追加モデルが、満足のいく性能をユーザに依然として提供しながら、それらが使用され得るために十分に迅速に受信される場合（例えば、＜１００ｍｓ、＜５００ｍｓなどの遅延）、追加モデルは、音声認識の正確性を改良するために使用され得る。例えば、追加の音声認識モデルは、音声入力の基礎モデルでの処理を開始する前に受信されてもよく、そのような場合、追加の音声認識モデルは最初から使用され得る。別の例として、モデルは、音声入力の基礎モデルでの処理中、または処理が完了した後に到着してもよい。追加モデルは、そのような再処理が満足のいく性能をユーザに提供するために十分に迅速に行われ得る場合、音声入力または初期処理の結果を再処理するために使用され得る。
【０００９】
処理前または処理中に追加の音声認識モデルを要求することに加えて、音声認識サーバは、追加の音声認識モデルを更新するための統計および他のデータを、非同期に要求し得る。追加の音声認識モデルは、音声認識サーバが発話を処理した後に更新され得る。追加の音声認識モデルを更新するために使用されるデータの量は、しばしば追加の音声認識モデル自体のデータの量より実質的に大きい。有利なことに、追加の音声認識モデルを更新するための統計および他のデータを非同期に要求することによって、追加の音声認識モデルが、統計および他のデータが受信されるのと同時に更新され得る。更新された音声認識モデルは、その後より正確、またはさもなければ良好な結果を提供するために再使用され得る。例えば、更新された音声認識モデルは、更新がそれに基づく現在の発話を再処理するために使用されてもよく、または更新された音声認識モデルは、後続する発話を処理するために使用されてもよく、またはその両方でもよい。
【００１０】
本開示の追加の態様は、追加の音声認識モデルをキャッシュすることに関する。追加の音声認識モデルをキャッシュすることによって、それらは、後続して受信される発話の処理における使用のために、即時にまたは実質的により速くアクセスされることができ、発話の基礎音声認識モデルでの処理と実質的に同一量の時間で、より正確な結果を提供する。例えば、音声認識サーバは、クライアント装置から受信される発話に関する音声データを処理するために、追加の音声認識モデルを検索し得る。追加の音声認識モデルが、第１の発話を処理するために適時で到着するかどうかに関わらず、それらは、第２の発話に関する後続して受信される音声データを処理するために、キャッシュされ、使用され得る。
【００１１】
本開示の更なる態様は、どの追加モデルが要求され得るか、およびそれらがいつ要求され得るかの予測に基づいて、追加の音声認識モデルを事前キャッシュすることに関する。例えば、音声認識システムとのユーザ相互作用は、音声認識システムの構成要素が、パターンを検出する、またはユーザが音声認識システムを使用する可能性がある将来の時間を予測することができるように、監視され得る。そのような使用の予期において、要求される可能性がある追加の音声認識モデルは、事前キャッシュされ得る（例えば、長期記憶から検索され、音声認識サーバまたは何らかのネットワークアクセス可能キャッシュ構成要素上に記憶される）。
【００１２】
本開示に記載される実施形態の態様は、図示の目的のために、発話に関する音声データを受信し、音声データを処理するために追加の音声認識モデルを非同期に検索する音声認識サーバに注目するものの、当業者は、本明細書に開示される技術があらゆる数のソフトウェア工程または応用に適用され得ることを理解するであろう。例えば、ユーザのパーソナル携帯装置は、音声認識エンジンを含み、発話のローカル処理中に使用するための追加の音声認識モデルを非同期に要求し得る。本開示の様々な態様が、本開示を限定することではなく図示することが意図される、特定の実施例および実施形態に関して、これより記載される。
【００１３】
例示的な実施例を参照して、ユーザは、音声命令を発するか、または別の様式で、携帯電話またはタブレットコンピュータなどのクライアント装置と口頭で相互作用することができる。クライアント装置は、分散自動音声認識（「分散ＡＳＲ」）システムの一部として、ユーザの発話に関するデータをネットワークアクセス可能音声認識サーバに送信し得る。音声認識サーバは、音響モデルおよび言語モデルなどの様々な種類の音声認識モデルを使用して、発話を処理して、転写、またはさもなければユーザが言ったことを決定し得る。正確性を改良するために、モデルは、様々なレベルのユーザに対してカスタマイズされ得る。音声認識サーバは、基礎モデル、性別、年齢、地域的アクセント、用語などのモデルを使用し得る。音声認識モデルはまた、特定のユーザまたは特定の時間、曜日など（例えば、休日の用語の言語モデル）のためにカスタマイズされ得る。追加の音声認識モデルは大きくある可能性があり、結果として、音声認識サーバは、各追加モデルを記憶するのに十分な記憶容量を有さない可能性がある。追加の音声認識モデルを利用する分散ＡＳＲシステムは、音声認識エンジンが使用し得る各追加の音声認識モデルが、記憶され、必要に応じて音声認識エンジンに提供され得るように、追加モデルの長期記憶を実装し得る。
【００１４】
分散ＡＳＲシステムについてのユーザ経験は、質（例えば、結果の正確性）および知覚性能（例えば、発話を話すことと結果を受信することとの間の待ち時間および経過時間）の両方の観点から定義され得る。分散ＡＳＲシステムは、できるだけ速く結果を返すよう勤める。しかしながら、分散および他のネットワークシステムに特有の待ち時間は、ユーザ経験に直接影響を与える。結果として、追加の音声認識モデルの長期記憶からの検索によって引き起こされるあらゆる追加の遅延は、不満足なユーザ経験につながり得る。
【００１５】
追加の音声認識モデルの使用が分散ＡＳＲシステムに導入し得る、負の影響を最小化するために、追加モデルが非同期に要求され得る（例えば、追加の音声認識モデルの検索は、他のモデルでの音声認識工程の実行を妨害せず、逆もまた同様である）。例えば、音声認識サーバは追加モデルを要求し、平行して、または非同期で音声認識を基礎モデルで実行するために、マルチスレッド処理を利用し得る。発話または発話に関するデータが受信される際、音声認識サーバは話者の身分および／または話者の特徴（例えば、性別）を決定し得る。音声認識サーバは、発話の処理の前、平行して、または後続して追加の音声認識モデルを検索し得る。異なる種類の追加の音声認識モデルを検索することは、異なる待ち時間を有し得るため、音声認識サーバまたは分散ＡＳＲシステムのいくつかの他の構成要素は、任意の数の異なる追加モデルを要求し、モデルを使用し、ユーザ経験に悪影響を与えずに結果を返すために、適時に受信される最良のものを使用し得る。例えば、音声認識サーバは、個人ユーザのモデルおよびユーザの性別のモデルもまた要求し得る。性別のモデルが最初に受信される場合、音声認識サーバは、発話を性別特定的追加の音声認識モデルで処理することに進行し得る。しかしながら、特定のユーザのモデルが、不満足な遅延を引き起こすことなくそれを使用するために適時に受信される場合、音声認識サーバは、それが別のモデルでの音声認識処理を開始している、または完了している場合でも、そのよりカスタマイズされた追加モデルを使用し得る。
【００１６】
いくつかの実施形態において、コンテンツサーバは、発話を再処理し得る（例えば、単一の発話上に音声認識を複数回実行するように構成されたマルチパスＡＳＲシステム）。音声認識サーバ、またはＡＳＲを実行するいくつかの他の装置は、利用可能な少なくとも１組の基礎音声認識モデルを有してもよく、または利用可能な少数の追加の選択肢（例えば、性別特定的音声認識モデル）を有してもよい。利用可能なモデル（例えば、基礎モデル）で第１の音声認識処理パスを行う後、追加モデルが適時に検索される場合、第２のパスが行われ得る。追加のまたはより特定的な追加の音声認識モデルが、第１のパスの後に返されない場合、結果はクライアント装置に返され得る。
【００１７】
言語モデルなどの、多くのより大きい音声認識モデルについて、それを実時間の音声認識のために使用することができるように、十分に迅速に追加モデルを検索することは困難であり得る。追加の音声認識モデルをキャッシュすることは、それらがより迅速に検索されることを可能にする。例えば、任意のユーザ特定的または別の様式でカスタマイズされた追加の音声認識モデルは、大容量だが比較的遅い応答時間を有するデータストア内に記憶され得る。別のデータストアは、追加の音声認識モデルをより一層迅速に返すキャッシュとして使用され得る。キャッシュは、最近最も使われていない（「ＬＲＵ」）基準に基づいて追加の音声認識モデルを終了させ得る。
【００１８】
ユーザがクライアント装置に話す際、ＡＳＲシステムは、キャッシュからユーザ特定的音声認識モデルを積極的に要求し得る。キャッシュミスがある場合、ＡＳＲシステムは最良の利用可能モデル（例えば、音声認識サーバ上に記憶された基礎モデル、またはキャッシュ内で利用可能な異なる追加モデル）で進行し得る。キャッシュミスは、ユーザ特定的音声認識モデルがキャッシュに追加されることを引き起こすであろう。ユーザは、典型的に、短期間の複数の発話（例えば、２つ以上の発話の音声認識セッション）を処理するためにＡＳＲシステムを利用するため、あらゆる検索されたユーザ特定的モデルは、第１の相互作用以外の全てに利用可能であり得る。
【００１９】
更に、分散ＡＳＲシステムは、分散ＡＳＲシステムとのユーザ相互作用に関するデータを記録し得る。そのようなデータは、パターンを検出する、および／またはユーザがいつ分散ＡＳＲシステムを使用する可能性があるかに関する予測を行うために使用され得る。ユーザ特定的または他の追加の音声認識モデルは、それらが予測された時間に利用可能であるように事前キャッシュされ得る。例えば、ユーザは、平日毎朝午前８：００頃に、職場へと運転しながら分散ＡＳＲシステムを使用し得る。そのようなパターンを検出した後、分散ＡＳＲシステムは、ユーザの追加モデルを、音声認識サーバ上またはネットワークキャッシュサーバ内に積極的にキャッシュし得る（例えば、７：３０または７：５５に）。ユーザが午前８：００頃に音声認識セッションを開始する際、追加モデルが即時に利用可能となり、基礎モデルでより正確な方法で、しかしさもなければ追加の音声認識モデルに関連付けられたであろう待ち時間または検索遅延なく、第１の発話を処理するために使用することができる。
【００２０】
いくつかの場合、音響モデルまたは言語モデルの全体を検索するよりむしろ、特定のユーザのために基礎音響または言語モデルをカスタマイズするために、カスタマイズされた統計およびモデルの一部が検索され、使用され得る。例えば、分散ＡＳＲシステムは、制約付き最尤線形回帰（「ＣＭＬＬＲ」）変換、声道長正規化（「ＶＴＬＮ」）伸縮係数、ケプストラル平均および分散、複数のモデルを補間するための重さおよびベクトル等を使用し得る。有利なことに、モデルのそのような部分は、伝達されるデータの量の観点から、それらが使用され得る音響または言語モデルより典型的に小さい。したがって、モデルのカスタマイズまたは特殊化された部分の検索は、基礎モデルの使用を通して達成され得るより正確な結果を提供しながら、検索時間をより低減し、追加の音響または言語モデル全体の検索より少ない影響をユーザ知覚性能に与え得る。
【００２１】
更に、音声認識モデルおよびモデルの部分は、音声認識処理結果を使用して、更新される、または更にカスタマイズされ得る。モデルを更新するために、大きいデータセットが必要とされ得る。大きいデータセットの非同期検索は、音声認識モデルの非同期検索と同様に、ユーザ知覚性能に影響を与えずにデータセットを取得するために実装され得る。データセットが検索されると、それらは、追加の音声認識モデルおよびモデルの部分を更新するために使用され得る。更に、新しく更新されたモデルは、システム必要条件およびユーザ性能の期待に応じて、発話を処理する、または再処理するために、即時に使用され得る。
【００２２】
いくつかの実施形態において、本明細書に記載される技術は、ＡＳＲモデルの代わり、またはそれに加えて、追加の特殊化またはカスタマイズされた自然言語理解（「ＮＬＵ」）モデルを検索するために使用され得る。例示的に、追加のＮＬＵモデル（例えば、意図モデル、固有表現モデル、および地名辞典）は、基礎ＮＬＵモデルを使用してのテキストの処理と非同期に、または平行して、またはＮＬＵ処理の前に発生するＡＳＲ処理中に要求され得る。追加のＮＬＵモデルが検索される、または他の方法で利用可能になると、それらは、ＮＬＵ結果を再計算するために使用され得るか、またはそれらは後続するＮＬＵ処理中に使用され得る。
【００２３】
分散ＡＳＲシステム環境
分散ＡＳＲシステムにおける追加の音声認識モデルの使用を管理するための工程の実施形態を詳細に記載する前に、工程が実装され得る例示的環境が記載される。図１は、クライアント装置１０２、ＡＳＲサーバ１０４、およびＡＳＲモデル記憶サーバ１０６を含むネットワーク環境を図示する。
【００２４】
クライアント装置１０２は、幅広い電子機器に対応し得る。いくつかの実施形態において、クライアント装置１０２は、１つ以上のプロセッサ、およびプロセッサによって実行されるソフトウェアアプリケーションを含むメモリを含む携帯装置であり得る。クライアント装置１０２は、音声認識を実行するための音声入力を受容するためのマイクロフォンまたは他の音声入力装置を含み得る。例示的に、クライアント装置１０２は、携帯電話、パーソナルデジタル端末（「ＰＤＡ」）、携帯ゲーム装置、メディアプレーヤー、電子書籍リーダー、タブレットコンピュータ、ラップトップコンピュータ等であり得る。クライアント装置１０２のソフトウェアは、無線通信ネットワーク上の、または他のコンピュータ装置との直接の通信を確立するための構成要素を含み得る。
【００２５】
ＡＳＲサーバ１０４は、クライアント装置１０２から受信されるユーザの発話上に、自動音声認識を実行し得る。ＡＳＲサーバ１０４は、通信ネットワークを介して通信するように構成された任意のコンピュータシステムであり得る。例えば、ＡＳＲサーバ１０４は、複数のサーバコンピュータ装置、デスクトップコンピュータ装置、メインフレームコンピュータ等を含み得る。いくつかの実施形態において、ＡＳＲサーバ１０４は、音声認識を発話上に実行するように構成されたアプリケーションサーバコンピュータ装置、ならびに記録および音声認識モデルを記憶するように構成されたデータベースサーバコンピュータ装置などの、物理的または理論的にグループ化されたいくつかの装置を含み得る。いくつかの実施形態において、ＡＳＲサーバ１０４は、単一の装置上に組み合わされた様々なモジュールおよび構成要素、単一のモジュールまたは構成要素の複数の例などを含み得る。
【００２６】
図１に図示されるＡＳＲモデル記憶サーバ１０６は、ネットワークを介して、音声認識モデルを記憶し、モデルについての要求を行うための１つ以上のコンピュータ装置の論理結合に対応し得る。例えば、ＡＳＲモデル記憶サーバ１０６は、ＡＳＲサーバ１０４から音声認識モデルについての要求を取得し、処理するための、１つ以上のサーバコンピュータ装置に対応するデータベースサーバまたは記憶部品を含み得る。
【００２７】
ＡＳＲサーバ１０４は、通信ネットワークを介して、クライアント装置１０２および／またはＡＳＲモデル記憶サーバ１０６と通信し得る。ネットワークは、場合によっては、インターネットなどの様々な異なる個人によって操作される、連結されたネットワークの公開アクセス可能なネットワークであり得る。他の実施形態において、ネットワークは、それぞれがインターネットへの、および／またはそこからのアクセスを有する、プライベートネットワーク、パーソナルエリアネットワーク、ローカルエリアネットワーク、広域ネットワーク、有線ネットワーク、衛星ネットワークなど、またはこれらのいくつかの組み合わせを含み得る。例えば、ＡＳＲサーバ１０４およびＡＳＲモデル記憶サーバ１０６は、単一のデータセンター内に位置してもよく、法人または大学ネットワークなどのプライベートネットワークを介して通信してもよい。クライアント装置１０２は、インターネットを介してＡＳＲサーバ１０４と通信し得る。クライアント装置１０２は、有線またはＷｉＦｉ接続を介して、または携帯電話ネットワーク（例えば、ロングタームエボリューション、すなわちＬＴＥネットワーク）を介してインターネットへのアクセスを有し得る。いくつかの実施形態において、クライアント装置１０２は、ＡＳＲモデル記憶サーバ１０６に直接通信し得る。
【００２８】
いくつかの実施形態において、分散ＡＳＲシステムによって提供される機能およびサービスは、通信ネットワークを介して消費可能なウェブサービスとして実装され得る。更なる実施形態において、分散ＡＳＲシステムは、ホストコンピュータ環境において実装されるもう１つの仮想機械によって提供される。ホストコンピュータ環境は、コンピュータ、ネットワーク、および／または記憶装置を含み得る、１つ以上の迅速に設定され、解放される計算資源を含み得る。ホストコンピュータ環境はまた、クラウドコンピュータ環境とも称され得る。
【００２９】
動作中、クライアント装置１０２は、（Ａ）でユーザから音声入力を受信し得る。クライアント装置１０２は、音声入力を受信するためにユーザによって起動されるアプリケーションソフトウェアを実行し得る。クライアント装置１０２は、一体型マイクロフォン、音声入力ジャック、または何らかの他の音声入力インターフェースを介して音声入力を受信し得る。いくつかの実施形態において、クライアント装置１０２は、ユーザが話し始める際、ユーザによる音声入力または音声認識機能の起動なしでも音声入力を自動的に受容し得る。
【００３０】
（Ｂ）でクライアント装置１０２は、音声入力についての音声信号または音声データを、ＡＳＲサーバ１０４に送信する。例えば、クライアント装置１０２は、インターネットを介して、ＡＳＲサーバ１０４または分散ＡＳＲシステムの何らかの他の構成要素（例えば、管理要素）との直接の接続を確立し得る。例示的に、複数のＡＳＲサーバ１０４を有する分散ＡＳＲシステムにおいて、管理要素は、複数のＡＳＲサーバ１０４にわたる処理負荷を平衡化するために実装され得る。クライアント装置１０２（またはそのユーザ）は、音声認識セッションの間中、特定のＡＳＲサーバ１０４に割り当てられても、または別の様式でそれに接続されてもよい。いくつかの実施形態において、音声認識セッションは、所与の期間内、または近い時間的近接性内での処理のためにＡＳＲサーバ１０４に送信される複数の発話を含み得る。
【００３１】
音声入力についての音声入力またはデータの受信時、ＡＳＲサーバ１０４は、（Ｃ）でＡＳＲモデル記憶サーバ１０６からの様々な追加の音声認識モデルの検索を開始し得る。例えば、ＡＳＲサーバ１０４は、ユーザの性別、地域的アクセントなどの、発話を行ったユーザに関するデータにアクセスまたはそれを受信し得る。データは、ユーザプロファイルに記憶されてもよく、音声データと共に送信される、または何らかの他の方法において取得される。ＡＳＲサーバ１０４は、その後、基礎モデルより正確な結果を生成するために使用され得る１つ以上の追加の音声認識モデルまたは統計のセット、またはＡＳＲサーバ１０４が即時アクセスを有する他のモデルを特定し得る。追加の音声認識モデルへの要求は、ＡＳＲモデル記憶サーバ１０６に送信され得る。
【００３２】
（Ｄ）でＡＳＲサーバ１０４は、ＡＳＲサーバ１０４が現在アクセスを有する最良の音声認識モデル、統計、および他のデータを使用して、発話の処理を開始し得る。いくつかの実施形態において、ＡＳＲサーバ１０４は、基礎音声認識モデルを記憶し得る。更に、ＡＳＲサーバ１０４は、性別に基づくモデルなどのしばしば使用される様々な追加モデルを記憶し得る。音声認識モデルは大量の記憶容量を消費し得るため、典型的な実装例において、ＡＳＲサーバ１０４は、少数の最も基礎的な、または頻繁に使用されるモデルのみを記憶し得る。
【００３３】
ＡＳＲサーバ１０４が、それが現在アクセスを有するモデルを使用して発話を処理する間、（Ｃ）で要求された追加モデルおよび他のデータが（Ｅ）で受信され得る。ＡＳＲサーバ１０４は追加モデルを非同期に要求し、他のモデルでの処理を開始することを進行したため、追加モデルは、ＡＳＲサーバ１０４が他のモデルでの発話の処理を完了する中、または後に到着し得る。
【００３４】
追加モデルが受信されると、それらは（Ｆ）で初期結果を再処理する、または再記録するために使用され得る。多くの場合、第１のパス処理が、おそらく再記録される可能性がある結果を狭めたため、再記録は、初期第１のパス音声認識処理よりかなり速く実行され得る。結果として、初期結果は、より適当なモデルで、実質的な量の遅延または待ち時間をその発話の全体の音声認識処理に追加することなく、再記録され得る。再記録が不満足な性能につながる、または結果の正確性を顕著に改良しないことが決定される場合、あるいはモデルがＡＳＲモデル記憶サーバ１０６から適時で受信されない場合、初期結果は、（Ｇ）でクライアント装置１０２に送信され得る。さもなければ、結果が再記録される場合、再記録された結果が（Ｇ）でクライアント装置１０２に送信され得る。
【００３５】
ここで、図２を参照すると、例示的ＡＳＲサーバ１０４が記載される。ＡＳＲサーバ１０４は、ＡＳＲエンジン１４０、ＡＳＲモデル更新モジュール１４２、管理モジュール１４４、基礎モデルデータストア１４６、およびモデルキャッシュ１４８を含み得る。ＡＳＲサーバ１０４のモジュール、構成要素、およびデータストアのうちのそれぞれは別個の装置として実装されてもよく、または様々な個別のモジュール、構成要素、およびデータストアは様々な組み合わせで単一の装置に組み合わされてもよい。
【００３６】
ＡＳＲエンジン１４０は、当業者によって理解されるように、入力（例えば、話される発話に関する音声入力またはデータのストリーム）を受信し、様々な音声認識モデルおよび他のデータを使用して、最も可能性がある発話の転写、または最も可能性がある発話の転写のリストを決定し得る。ＡＳＲモデル更新モジュール１４２は、ＡＳＲエンジン１４０からの結果および他のデータを使用して、追加モデル、より正確な結果を生成するために使用され得るモデルの部分を更新し得る。例えば、ＡＳＲエンジン１４０は、複数の音声認識セッションの過程で発展された、モデルのユーザ特定的または別の様式でカスタマイズされた部分のセットを使用し得る。例示的に、ＡＳＲエンジン１４０によって使用されるモデルの部分は、制約付き最尤線形回帰（「ＣＭＬＬＲ」）変換、声道長正規化（「ＶＴＬＮ」）伸縮係数、ケプストラル平均および分散、複数のモデルを補間するための重さおよびベクトル等を含み得る。有利なことに、モデルのそのような部分は、完全な追加の音声認識モデル（例えば、言語モデルまたは音響モデル）と比較して、記憶、伝達、および使用中に、比較的少量の容量、帯域幅、処理容量、および他の資源を消費する。更に、モデルのそのような部分は、基礎音声認識モデル単独を使用することと比較して、依然として改良された正確性を音声認識工程に提供する。
【００３７】
最も最近の結果に基づいてモデルおよびモデルの部分を更新することは、大きいデータのセット（例えば、音響モデルが計算される、基礎データセット）へのアクセスを必要とし得る。ＡＳＲモデル更新モジュール１４２、またはＡＳＲサーバ１０４の他のモジュールまたは構成要素は、ＡＳＲエンジン１４０による音声認識処理中または後に、大きいデータセットを非同期に検索する。データセットが受信された際、それは、追加のユーザ特定的または別の様式でカスタマイズされたモデルおよびモデルの部分を更新するために使用され得る。その間、モデルおよびモデルの部分は、ＡＳＲ処理中使用され続け得る。
【００３８】
管理モジュール１４４は、ＡＳＲエンジン１４０の進展、および追加の音声認識モデルの検索を監視し得る。管理モジュール１４４が、追加モデル（またはモデルの部分）の受信を待つことが不満足な性能遅延を引き起こさないことを決定する場合、管理モジュール１４４は、ＡＳＲエンジン１４０に、ＡＳＲエンジン１４０が追加モデルで結果を再記録する機会を有するまでクライアント装置１０２に結果を提供することを控えさせ得る。しかしながら、管理モジュール１４４が、追加モデルの受信を待つことが不満足な性能遅延を引き起こす、または結果の正確性を顕著に改良しないことを決定する場合、管理モジュール１４４は、初期結果が最終結果としてクライアント装置１０２に提供されることを可能にし得る。
【００３９】
基礎モデルデータストア１４６は、よりカスタマイズされた、特殊化された、または別の様式のより正確な追加モデルの不在下で、ＡＳＲエンジン１４０によって使用される基礎音響モデルおよび言語モデルを記憶し得る。そのような基礎モデルは、より正確な結果を提供するために、ユーザ特定的統計およびモデルの部分によってカスタマイズされ得る。いくつかの実施形態において、最も頻繁に使用される、または広く適切な追加モデル（例えば、性別特定的モデル）のうちの１つ以上は、必要な際に、それらが別個のＡＳＲモデル記憶サーバ１０６から検索される必要がないように、ＡＳＲサーバ１０４の基礎モデルデータストア１４６内に記憶され得る。
【００４０】
モデルキャッシュ１４８は、音声認識処理における使用のために検索される、追加モデルおよびデータを記憶するために使用され得る。例えば、キャッシュは、所定の、または動的に決定される量のデータを記憶するために構成され得る。キャッシュは、新しく受信されるモデルのための場所を作るために、最近使用または要求されていないそれらのモデルを削除、終了、または解放する一方で、最も最近検索された、または最も最近検索されたモデルのうちのできるだけ多くを記憶し得る。有効期間（「ＴＴＬ」）および最近最も使われていない（「ＬＲＵ」）基準の使用を含む、様々なキャッシュ技術がモデルキャッシュ１４８に適用され得る。
【００４１】
モデル検索を管理するための工程
ここで、図３を参照すると、音声認識モデルの非同期検索、およびこれらのモデルの使用を管理するためのサンプル工程３００が記載される。有利なことに、ＡＳＲサーバ１０４は、工程３００を使用して、そうすることが音声認識結果の正確性を改良し、知覚性能に悪影響を与えない場合、追加の音声認識モデルおよび他のデータを利用し得る。
【００４２】
工程３００は、ブロック３０２で開始する。工程３００は、ＡＳＲセッションの開始時に自動的に開始し得る。工程３００は、負荷平衡化管理部または個別のＡＳＲサーバ１０４などの分散ＡＳＲシステムのコンピュータシステムのコンピュータ可読媒体（１つ以上のディスクドライブなど）上に記憶された実行可能なプログラム命令のセットにおいて実施され得る。工程３００が開始する際、実行可能なプログラム命令は、ＲＡＭなどのメモリ内に読み込まれ、コンピュータシステムの１つ以上のプロセッサによって実行され得る。
【００４３】
ブロック３０４で、ＡＳＲセッションは、特定のＡＳＲサーバ１０４に割り当てられ得る。追加の音声認識モデルの検索のため、同一のユーザまたは同一のクライアント装置１０２からのＡＳＲ処理のための後続する要求は、ＡＳＲセッションが終了するような時間（例えば、ある期間の経過後、または何らかの他の誘発事象の発生）まで同一のＡＳＲサーバ１０４に送信され得る。ＡＳＲサーバ１０４は、ユーザの性別、年齢、地域的アクセント、またはユーザの身分などのユーザに関するデータにアクセス、またはそれを取得し得る。この人口統計学または身分のデータを使用して、ＡＳＲサーバ１０４は、ブロック３０６で追加の音声認識モデルの検索を開始し得る。前述のように、いくつかの実施形態において、ＡＳＲサーバ１０４は、現在のユーザのために、完全な追加の音声認識モデルと比較すると、モデルの部分を検索し得る。そのような場合、ＡＳＲサーバ１０４はまた、ＡＳＲ処理の結果に基づいて、モデルおよびモデルの部分を更新するために使用され得るブロック３２０でデータセット（複数可）の検索を開始し得る。いくつかの実施形態において、モデルの部分を更新するためのデータの検索は、資源がそのために利用可能である際、およびそのような検索および更新がＡＳＲセッションの処理と干渉しない際、データセットが検索され、更新されるように、ＡＳＲ処理と非同期に行われる。
【００４４】
決定ブロック３０８において、ＡＳＲサーバ１０４は、要求された追加の音声認識モデルが、即時の使用に利用可能であるかどうかを決定し得る。例えば、要求されたモデルは、下記に詳述されるように、モデルキャッシュデータストア１４８において、または分散ＡＳＲシステムの別個のモデルキャッシュサーバにおいて利用可能であり得る。そのような場合、キャッシュされた追加モデルは、ブロック３１４での初期ＡＳＲ処理中に、ＡＳＲサーバ１０４に利用可能な任意の基礎モデル（例えば、基礎モデルデータストア１４６内のモデル）の使用の有無のいずれかでアクセスされ、使用され得る。どの追加の音声認識モデルも利用可能でない場合、またはそれにもかかわらずＡＳＲサーバ１０４が基礎音声認識モデルを使用する場合、ＡＳＲサーバ１０４はブロック３１０で初期ＡＳＲ処理パス中に基礎モデルを使用し得る。いくつかの実施形態において、要求された追加の音声認識モデルはキャッシュされ得るが、キャッシュからのモデルの検索における待ち時間のため、ＡＳＲサーバ１０４は基礎音声認識モデルを使用するであろう。
【００４５】
基礎音声認識モデルでの初期ＡＳＲ処理パスの後に到達される決定ブロック３１２で、ＡＳＲサーバ１０４は、追加モデルが利用可能になっているかどうかを決定し得る。そうである場合、工程３００は、ＡＳＲサーバ１０４が追加の音声認識モデルで第２のＡＳＲパス（例えば、初期結果を再記録する）を実行し得る、ブロック３１４に進行し得る。更に、任意の新しく受信された追加の音声認識モデルがキャッシュされ得る。
【００４６】
さもなければ、追加モデルがまだ受信されていない場合、あるいは追加モデルの使用が不満足な性能遅延を引き起こすこと、または正確性を顕著に改良しないことが決定される場合、工程３００は、ブロック３１６に進行し得る。
【００４７】
ブロック３１６で、ＡＳＲサーバ１０４は、最終結果をクライアント装置１０２に送信し得る。いくつかの実施形態において、ＡＳＲサーバ１０４は、結果をクライアント装置１０２に送信するよりむしろ、何らかの動作を実行しても、または別の装置にある動作を実行させてもよい。例えば、ＡＳＲ工程からの結果は、ユーザの発話からユーザの意図を決定するように構成された自然言語理解（「ＮＬＵ」）要素に提供され得る。ユーザの意図（例えば、道順を得る、航空券を予約する、音声ダイヤルを開始する）に基づいて、ＡＳＲサーバ１０４は何らかの動作を実行し得る。
【００４８】
クライアント装置１０２に結果を送信する（または、何らかの他の動作の実行を引き起こす）後、ＡＳＲサーバ１０４は、決定ブロック３１８で同一のＡＳＲセッション中に処理するための追加の発話を待ち得る。別の発話が受信される場合、工程３００は、ブロック３０６に戻り得る。さもなければ、ある期間別の発話が受信されない場合、または別の誘発事象が発生する（例えば、クライアント装置１０２の電源を切ることなどによって、ユーザがＡＳＲセッションを積極的に終了する）場合、工程３００はブロック３２４で終了し得る。
【００４９】
追加の発話を待つことに加えて、ＡＳＲモデル更新モジュール１４２またはＡＳＲサーバ１０４のいくつかの他の構成要素は、ＡＳＲ処理の結果に基づいてブロック３２２でデータセットを更新し得る。更新工程は、ブロック３２０で非同期に検索されたデータセットを利用し得る。その後、更新されたデータセットは、例えば、キャッシュされても、ＡＳＲモデル記憶サーバ１０６に送信されても、二次ＡＳＲ処理パス中に使用されてもよい。いくつかの実施形態において、追加モデルまたはモデルの部分は、ブロック３１６と平行して、またはブロック３１４の直後などのようにデータセットを更新するためのＡＳＲ結果が利用可能になるとすぐ、更新されたデータセットに基づいて更新または再計算され得る。
【００５０】
キャッシュモデルの工程および基本設計概念
ここで、図４を参照すると、ユーザ活動の予測に基づいて追加の音声認識モデルを事前キャッシュするためのサンプル工程４００が記載される。有利なことに、工程４００は、以前のユーザ活動を分析し、ユーザがいつ分散ＡＳＲシステムを利用する可能性があるかを予測し、それらが予測された時間に即時または実質的に即時の使用のために準備できているように追加モデルを事前キャッシュするために使用され得る。
【００５１】
工程４００はブロック４０２で開始する。工程４００は、ＡＳＲサーバ１０４または分散ＡＳＲシステムの何らかの他の構成要素の電源が入る際、自動的に開始してもよく、あるいはそれは手動で開始されてもよい。工程４００は、分散ＡＳＲシステムが関連するコンピュータシステムのコンピュータ可読媒体（１つ以上のディスクドライブなど）上に記憶された実行可能なプログラム命令のセットにおいて実施され得る。工程４００が開始する際、実行可能なプログラム命令は、ＲＡＭなどのメモリ内に読み込まれ、コンピュータシステムの１つ以上のプロセッサによって実行され得る。
【００５２】
ブロック４０４で、前述のように、分散ＡＳＲシステムは音声認識セッションを処理し得る。ブロック４０６で、特定のユーザのＡＳＲセッションに関する使用データは、ＡＳＲセッションが処理される際に記録され得る。例えば、音声認識セッションをホストするＡＳＲサーバ１０４の管理モジュール１４４は、ＡＳＲ要求の日付および時間、結果の内容、要求の主題または文脈等を含む、ユーザまたはクライアント装置１０２に関するデータを記録し得る。
【００５３】
ブロック４０８で、管理モジュール１４４あるいは分散ＡＳＲシステムの何らかの他のモジュールまたは構成要素は、記録されたデータにおけるパターンを検出すること、またはユーザがいつ分散ＡＳＲシステムにアクセスする可能性があるかに関する予測を決定すすることができる。例えば、特定のユーザは、平日の朝の午前８：００またはその頃の処理のために、音声データを分散ＡＳＲシステムに定期的に送信し得る。分散ＡＳＲシステムの構成要素は、そのようなパターンを検出し、それに応じて、ユーザが次の平日の朝の午前８：００に再度音声データを送信することを予測し得る。更に、ユーザは、これらの午前８：００のセッション中に、全地球測位システム（「ＧＰＳ」）の道順または音楽再生に関する音声命令を定期的に送信し得る。予測は、そのような詳細を含めることによってより特定的になり得る。そのような活動を標的とする追加の音声認識モデルは、詳細予測に基づいてキャッシュされ得る。
【００５４】
ブロック４１０で、分散ＡＳＲシステムは、次の平日の朝８：００の直前に、ユーザがＡＳＲセッションを開始することを予期してユーザの追加モデルを事前キャッシュし得る。例えば、ユーザは、ユーザがＡＳＲセッションを開始する前に、午前７：５５または午前７：５９に特定のＡＳＲサーバ１０４に積極的に割り当てられ得る。ユーザの追加モデルは、ユーザがセッションを開始する際それらが即時に使用され得るように、割り当てられたＡＳＲサーバ１０４で事前キャッシュされ得る。例えば、モデルは、ＡＳＲサーバ１０４のモデルキャッシュ１４８内に記憶され得る。事前キャッシュのために選択されたモデルは、ユーザの人口統計学または身分、予測されるセッションの主題、これらのいくつかの組み合わせなどに基づいて選択され得る。いくつかの実施形態において、下記に詳述されるように、追加モデルは、ＡＳＲモデル記憶サーバ１０６とＡＳＲサーバ１０４との間の中間キャッシュでキャッシュされ得る。そのような場合、複数のサーバが中間キャッシュからキャッシュされたモデルを検索し得るため、ユーザは特定のＡＳＲサーバ１０４に積極的に割り当てられなくてもよい。
【００５５】
いくつかの実施形態において、追加モデルがキャッシュされるべき時間は、特定の平均の予測またはアクセスの可能性がある時間よりむしろ、ユーザの以前のアクセス時間の分散に基づいて計算され得る。計算は、追加モデルが、ユーザの以前のまたは予測されるアクセス時間の閾値または割合に先行する時間に、キャッシュされることにつながる時間が選択されるようになされ得る。上記の例に戻ると、ユーザは、典型的に８：００頃にＡＳＲセッションを開始し得るが、時間の実際の分散は、午前７：３０〜午前８：３０まで延在する。管理モジュール１４４は、追加モデルを午前７：３０にキャッシュし、その時間にユーザを特定のＡＳＲサーバ１０４に割り当てることが、追加モデルがユーザの「午前８：００」ＡＳＲセッションのうちの９０％または９９％で利用可能であることにつながることを決定し得る。
【００５６】
ブロック４１２で、ユーザは、分散ＡＳＲシステムでＡＳＲセッションを開始し得る。負荷平衡化要素、または分散ＡＳＲシステムの何らかの他の構成要素は、ユーザが、セッションについて、特定のＡＳＲサーバ１０４に既に関連付けられていることを決定することができ、キャッシュが期限切れとなっていない場合または閾値期間の経過後、予想外にもユーザがＡＳＲセッションを開始していない場合、発話データは積極的に割り当てられたＡＳＲサーバ１０４に送信され得る。例えば、ユーザが午前７：３０〜午前８：３０の間の時間にセッションを開始する場合、ユーザは、積極的に割り当てられたＡＳＲサーバ１０４に接続し、事前キャッシュの利益を実現し得る。しかしながら、ユーザが午前９：００までセッションを開始しない場合、またはより最近要求または使用されたモデルのための場所を作るために、キャッシュされたモデルが解放された場合、例えば、図３に関して前述されるように、ユーザのＡＳＲセッションは、任意の他のユーザのＡＳＲセッションとして処理され得る。
【００５７】
いくつかの実施形態において、音声認識モデルは、最近のユーザ相互作用または環境要因に基づいて、断定的に読み込まれても、事前キャッシュされてもよい。例えば、クライアント装置１０２は、マイクロフォンからの入力を監視することができ、装置との物理的な相互作用なく（例えば、ボタンを押すこと、またはタッチスクリーンと相互作用することなく）ＡＳＲセッションを開始するために、ユーザによって話される特定の語または語句を認識するように構成される。いくつかの場合、ＡＳＲセッションの開始を示す語または語句がユーザによって発話されたかどうかを決定するために、マイクロフォンからの音声入力は、特定の条件が満たされる（例えば、予備分析は、それが環境騒音とは対照的に発話であることを示す）際、分散ＡＳＲシステムに送信され得る。いくつかの場合、部屋に入るユーザはクライアント装置１０２にすぐに話し得るため、クライアント装置１０２はユーザの存在の部屋を監視し得る。クライアント装置１０２が（例えば、感知器を使用して、ビデオ信号上への画像処理を使用して、または音声信号上への信号処理を使用して）ユーザの存在を検出する際、ユーザがクライアント装置１０２での音声認識をすぐに開始し得ることを示すメッセージが分散ＡＳＲシステムに送信され得る。これらの、および他の場合、追加の音声認識モデルは、完全な発話が処理のために分散ＡＳＲシステムに送信される前に、ユーザのために読み込まれ得る。
【００５８】
図５Ａおよび５Ｂは、分散ＡＳＲシステム１１０における多段ＡＳＲモデル記憶およびキャッシュのための例示的な基本設計概念を示す。分散ＡＳＲシステム１１０は、複数のＡＳＲサーバ１０４ａ、１０４ｂ、長期ＡＳＲモデル記憶サーバ１０６、および高速ＡＳＲモデルキャッシュ１０８を含み得る。ＡＳＲサーバ１０４ａ、１０４ｂは、物理的近接性で、または通信を交換するために必要とされる時間の量またはネットワークホップの数の観点からのいずれかで測定される、それらがＡＳＲモデル記憶サーバ１０８に対するより、高速ＡＳＲモデルキャッシュ１０８の近くに位置し得る。更に、ＡＳＲモデルキャッシュ１０８は、ＡＳＲモデル記憶サーバ１０６より少ない容量であるが、より速い性能を提供する異なるハードウェアを利用し得る。いくつかの実施形態において、分散ＡＳＲシステム１１０は、毎ｎＡＳＲサーバ１０４（ｎは任意の数であり得る）に対する１つのＡＳＲモデルキャッシュ１０８などの複数のＡＳＲモデルキャッシュ１０８を含み得る。
【００５９】
クライアント装置１０２ａは、（Ａ）での処理のために、音声データを分散ＡＳＲシステム１１０に送信し得る。追加の音声認識モデルに対する要求は、（Ｂ）でＡＳＲサーバ１０４ａから、ＡＳＲモデル記憶サーバ１０６の代わりにＡＳＲモデルキャッシュ１０８に対してなされ得る。ＡＳＲモデルキャッシュ１０８が要求されたモデルを利用可能に有している場合、キャッシュされたモデルは、それが長期ＡＳＲモデル記憶サーバ１０６から音声認識を検索するのにかかるより有意に速く、ＡＳＲサーバ１０４ａに返され得る。ＡＳＲモデルキャッシュ１０８が要求されたモデルを有していない場合、ＡＳＲモデルキャッシュ１０８は、（Ｃ）でＡＳＲモデル記憶サーバ１０６から要求されたモデルを検索し、（Ｄ）で音声認識モデルの複製をキャッシュし、（Ｅ）で要求するＡＳＲサーバ１０４ａに複製を転送し得る。様々なキャッシュ技術が、有効期間（「ＴＴＬ」）および最近最も使われていない（「ＬＲＵ」）基準の使用を含む、ＡＳＲモデルキャッシュ１０８によって適用され得る。ＡＳＲサーバ１０４ａは、（Ｆ）で結果をクライアント装置１０２ａに送信してもよく、またはＡＳＲ結果に基づいて何らかの動作を実行してもよい。
【００６０】
有利なことに、新しくキャッシュされた音声認識モデルに対する後続する要求は、ＡＳＲモデル記憶サーバ１０８からよりむしろ、ＡＳＲモデルキャッシュ１０８から行われ得る。例えば、クライアント装置１０２ａは、音声データを同一のＡＳＲサーバ１０４ａ、または異なるＡＳＲサーバ１０４ｂに提出してもよく、どちらの場合も、ＡＳＲモデル記憶サーバ１０６からの検索を必要とすることなく、追加の音声認識モデルはＡＳＲモデルキャッシュ１０８から検索され得る。別の例として、音声データは、異なるクライアント装置１０２ｂから受信され、同一のＡＳＲサーバ１０４ａまたは異なるＡＳＲサーバ１０４ｂによって処理され得る。図５Ｂに見られるように、第２のクライアント装置１０２ｂは、（Ｇ）で音声データを分散ＡＳＲシステム１１０に送信し得る。第２のＡＳＲサーバ１０４ｂは、音声データを処理することができ、（Ｈ）でＡＳＲモデルキャッシュ１０８から同一の追加の音声認識モデルを要求する。モデルは以前にキャッシュされているため、要求されたモデルは、（Ｉ）でＡＳＲモデル記憶サーバ１０６からそれらを検索することなく、ＡＳＲサーバ１０４Ｂに返され得る。ＡＳＲサーバ１０４ｂは、（Ｊ）で結果をクライアント装置１０２ｂに送信しても、またはＡＳＲ結果に基づいて何らかの動作を実行してもよい。
【００６１】
用語
実施形態に応じて、本明細書に記載されるいかなる工程またはアルゴリズムの特定の活動、事象、または機能も、異なる順序で実行されることができ、追加、結合、または完全に除外されることができる（例えば、記載される動作または事象の全てが、アルゴリズムの実行に必要ではない）。更に、実施形態において、動作または事象は、連続的によりむしろ、同時に、例えば、マルチスレッド処理、割り込み処理、あるいは複数のプロセッサまたはプロセッサコアを通して、または他の平行基本設計概念上で実行され得る。
【００６２】
本明細書に開示される実施形態に関連して記載される、様々な例示的論理的ブロック、モジュール、手順およびアルゴリズム段階は、電子ハードウェア、コンピュータソフトウェア、またはその両方の組み合わせとして実装され得る。ハードウェアおよびソフトウェアのこの互換性を明確に図示するために、様々な例示的構成要素、ブロック、モジュールおよび段階が、一般にそれらの機能性の観点から以上に記載されている。そのような機能性が、ハードウェアまたはソフトウェアとして実装されるかどうかは、特定のアプリケーションおよび全体のシステムに課される設計制約に依存する。記載される機能性は、各特定のアプリケーションのための異なる方法において実装され得るが、そのような実装決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００６３】
本明細書に開示される実施形態に関連して記載される方法、工程、手順、またはアルゴリズムの段階は、直接ハードウェア内で、プロセッサによって実行されるソフトウェアモジュール内で、またはこの２つの組み合わせにおいて実施され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または非一時的コンピュータ可読記憶媒体の任意の他の形態内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取れる、およびそこに情報を書き込めるように、プロセッサに結合され得る。代替手段において、記憶媒体は、プロセッサに不可欠であり得る。プロセッサおよび記憶媒体は、ＡＳＩＣ内に存在し得る。ＡＳＩＣは、ユーザ端末内に存在し得る。代替手段において、プロセッサおよび記憶媒体は、別々の構成要素としてユーザ端末内に存在し得る。
【００６４】
数ある中でも、「できる」、「できる」、「してもよい」、「し得る」、「例えば」等の、本明細書で使用される条件語は、別途具体的に述べられない、または使用される文脈内で別途理解されない限り、一般に、他の実施形態が含まない一方で、特定の実施形態は特定の特性、要素、および／または段階を含むことを伝えることが意図される。したがって、そのような条件語は、一般に、特性、要素、および／または段階が１つ以上の実施形態に何としても必要であること、あるいは１つ以上の実施形態が、筆者の情報提供または促進の有無に関わらず、これらの特性、要素、および／または段階が任意の特定の実施形態において含まれる、または実行されるべきであるかどうかを決定するための論理を必然的に含むことを含意することが意図されない。「含む（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する」等の用語は同義であり、無制限な方法で包括的に使用され、追加の要素、特性、活動、動作などを排除しない。また、「または」という用語は、（その排他的な意味ではなく）その包括的な意味で使用されて、例えば、要素のリストを接続するために使用される際、「または」という用語は、そのリスト内の要素のうちの１つ、いくつか、または全てを意味する。
【００６５】
「Ｘ、Ｙ、およびＺのうちの少なくとも１つ」という語句などの接続語は、特に別段に述べられない限り、項目、用語などが、Ｘ、Ｙ、またはＺ、またはこれらの組み合わせのいずれかであり得ることを伝えるために、一般に使用される文脈で理解されるものとする。したがって、そのような接続語は、特定の実施形態がＸのうちの少なくとも１つ、Ｙのうちの少なくとも１つ、およびＺのうちの少なくとも１つがそれぞれ存在することを必要とすることを含意することが一般に意図されない。
【００６６】
以上の詳述が、様々な実施形態に適用されるような新規の特性を示し、記載し、指摘している一方で、図示される装置またはアルゴリズムの形態および詳細における様々な省略、代用、および変更が、本開示の精神から逸脱することなくなされ得ることが理解され得る。認識され得るように、本明細書に記載される発明の特定の実施形態は、いくつかの特性は他とは別個に使用または実行され得るため、本明細書に説明される特性および利益の全てを提供しない形態内で実施され得る。本明細書に開示される特定の発明の範囲は、前述の記載によってよりむしろ添付の特許請求の範囲によって示される。特許請求の範囲の等価性の意味および範囲内にある全ての変更は、それらの範囲内に包含されるべきである。
【００６７】
付記：
１．実行可能な命令を記憶するコンピュータ可読メモリと、
該コンピュータ可読メモリと通信する１つ以上のプロセッサであって、該実行可能な命令によって、
クライアント装置から、ユーザの発話を含む音声データを受信することと、
追加の音声認識モデルが利用可能でないことを決定することと、
第１の音声認識処理を、該音声データ上に基礎音声認識モデルを使用して実行し、第１の音声認識結果を生成することと、
ネットワークアクセス可能なデータストアから該追加の音声認識モデルを要求することであって、該第１の音声認識処理の完了前に開始される、要求することと、
該ネットワークアクセス可能なデータストアから該追加の音声認識モデルを受信することと、
第２の音声認識処理を、該追加の音声認識モデルを使用して、かつ該音声データまたは該音声認識結果のうちの少なくとも１つを使用して実行することと、
該第２の音声認識処理に少なくとも一部基づく応答を、該クライアント装置に送信することと、を行うようにプログラムされた、１つ以上のプロセッサと、を備える、システム。
２．該基礎音声認識モデルが、一般音響モデル、性別特定的音響モデル、または一般言語モデルのうちの少なくとも１つを含み、該追加の音声認識モデルが、該ユーザの発話に関連するユーザの特徴に少なくとも一部基づいて選択される、付記１に記載のシステム。
３．該１つ以上のプロセッサが、該実行可能な命令によって、
該クライアント装置から、第２のユーザの発話を含む第２の音声データを受信することと、
該追加の音声認識モデルが利用可能であることを決定することと、
音声認識処理を、該第２の音声データ上に該追加の音声認識モデルを使用して実行することと、を行うように更にプログラムされている、付記１に記載のシステム。
４．該１つ以上のプロセッサが、該実行可能な命令によって、マルチスレッド処理を使用して、該第１の音声認識処理の実行と平行して、該追加の音声認識モデルを検索するように更にプログラムされている、付記１に記載のシステム。
５．該１つ以上のプロセッサが、該実行可能な命令によって、該追加の音声認識モデルをキャッシュするように更にプログラムされている、付記１に記載のシステム。
６．特定のコンピュータ実行可能な命令で構成された１つ以上のコンピュータ装置の制御下で、
第１の音声処理を、ユーザの発話に関する音声データ上に実行して、音声処理結果を生成することと、
ネットワークアクセス可能なデータストアから音声処理データを要求することであって、該第１の音声処理の完了前に開始される、要求することと、
該ネットワークアクセス可能なデータストアから該音声処理データを受信することと、
第２の音声処理を、該音声処理データ、および該音声データまたは該音声処理結果のうちの少なくとも１つを使用して実行することと、を含む、コンピュータ実装方法。
７．該ユーザの特徴に少なくとも一部基づいて、要求する音声処理データを選択することを更に含む、付記６に記載のコンピュータ実装方法。
８．該ユーザの該特徴が、該ユーザの性別、年齢、地域的アクセント、または身分を含む、付記７に記載のコンピュータ実装方法。
９．該音声処理データが、音響モデル、言語モデル、言語モデル統計、制約付き最尤線形回帰（「ＣＭＬＬＲ」）変換、声道長正規化（「ＶＴＬＮ」）伸縮係数、ケプストラル平均および分散データ、意図モデル、固有表現モデル、または地名辞典のうちの少なくとも１つを含む、付記６に記載のコンピュータ実装方法。
１０．該音声処理データを更新するための統計を要求することであって、該第１の音声処理の完了前に開始される、統計を要求することを更に含む、付記９に記載のコンピュータ実装方法。
１１．該統計および該第２の音声処理の結果に少なくとも一部基づいて、該音声処理データを更新することを更に含む、付記１０に記載のコンピュータ実装方法。
１２．該音声処理データをキャッシュすることを更に含む、付記６に記載のコンピュータ実装方法。
１３．該ユーザの第２の発話に関する第２の音声データを受信することと、
キャッシュから該音声処理データを検索することと、
音声処理を、該第２の音声データ上に該音声処理データを使用して実行することと、を更に含む、付記１２に記載のコンピュータ実装方法。
１４．該音声認識データをキャッシュすることが、該音声認識データを該ネットワークアクセス可能なデータストアとは別個のキャッシュサーバに記憶することを含む、付記１２に記載のコンピュータ実装方法。
１５．該音声認識データを検索することが、該音声認識データのキャッシュされた複製を検索することを含む、付記１２に記載のコンピュータ実装方法。
１６．該音声認識データをキャッシュすることが、
ユーザが音声認識セッションを開始する可能性がある時間を決定することと、
該音声認識データを実質的に決定された時間にキャッシュすることと、を含む、付記１２に記載のコンピュータ実装方法。
１７．該ユーザによって操作されるクライアント装置から該音声データを受信することと、
該第２の音声認識処理に少なくとも一部基づく応答を、該クライアント装置に送信することと、を更に含む、付記６に記載のコンピュータ実装方法。
１８．該第２の音声認識処理に少なくとも一部基づいて動作を実行することを更に含む、付記６に記載のコンピュータ実装方法。
１９．プロセッサによって実行される際、コンピュータ装置に、
第１の音声認識処理を、ユーザの発話に関する音声データ上に実行して、音声認識結果を生成することと、
ネットワークアクセス可能なデータストアから音声認識データを要求することであって、該第１の音声認識処理の完了前に開始される、要求することと、
該ネットワークアクセス可能なデータストアから該音声認識データを受信することと、
第２の音声認識処理を、該音声認識データおよび該音声データまたは該音声認識結果のうちの少なくとも１つを使用して実行することと、を含む工程を実行させる、実行可能なコードを含む非一時的コンピュータ可読媒体。
２０．該工程が、
音声データが受信される日付または時間のうちの１つに少なくとも一部基づいて、要求する音声認識データを選択することを更に含む、付記１９に記載の非一時的コンピュータ可読媒体。
２１．該工程が、
該ユーザに関連する特徴に少なくとも一部基づいて、要求する音声認識データを選択することを更に含む、付記１９に記載の非一時的コンピュータ可読媒体。
２２．該ユーザに関連する該特徴が、該ユーザの性別、年齢、地域的アクセント、身分、または該ユーザが関連する集団の身分のうちの１つを含む、付記２１に記載の非一時的コンピュータ可読媒体。
２３．該音声認識データが、音響モデル、言語モデル、言語モデル統計、制約付き最尤線形回帰（「ＣＭＬＬＲ」）変換、声道長正規化（「ＶＴＬＮ」）伸縮係数、ケプストラル平均および分散データ、意図モデル、固有表現モデル、または地名辞典を含む、付記１９に記載の非一時的コンピュータ可読媒体。
２４．該工程が、
該音声認識データを更新するための統計を要求することであって、該第１の音声認識処理の完了前に開始される、統計を要求することを更に含む、付記２３に記載の非一時的コンピュータ可読媒体。
２５．該工程が、
該第２の音声認識処理の該統計および結果に少なくとも一部基づいて、該音声認識データを更新することを更に含む、付記２４に記載の非一時的コンピュータ可読媒体。
２６．該工程が、
該音声認識データをキャッシュすることを更に含む、付記１９に記載の非一時的コンピュータ可読媒体。
２７．該音声認識データを検索することが、該音声認識データのキャッシュされた複製を検索することを含む、付記１９に記載の非一時的コンピュータ可読媒体。
２８．該工程が、
該ユーザによって操作されるクライアント装置から該音声データを受信することと、
該第２の音声認識処理に少なくとも一部基づく応答を、該クライアント装置に送信することと、を更に含む、付記１９に記載の非一時的コンピュータ可読媒体。
２９．該工程が、
該第２の音声認識処理に少なくとも一部基づいて動作を実行することを更に含む、付記１９に記載の非一時的コンピュータ可読媒体。
【図１】
2015537258.tif 000003
【図２】
2015537258.tif 000004
【図３】
2015537258.tif 000005
【図４】
2015537258.tif 000006
【図５Ａ】
2015537258.tif 000007
【図５Ｂ】
2015537258.tif 000008
【国際調査報告】
2015537258.tif 000009
2015537258.tif 000010