(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JP,KE,KG,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT,TZ,UA,UG
システムは複数の音声インタフェース装置を使用して、音声によってユーザと対話することができる。音声インタフェース装置の全体または一部は、ユーザ発言を検出することができ、音声処理を開始して発言の意味または意図を判定することができる。音声処理の中で調停が使用され、ユーザ発言に応答するために複数の音声インタフェース装置の1つを選択する。調停は、装置に対するユーザの近接度を直接または間接的に示すメタデータに部分的に基づくことができ、ユーザに最も近いと考えられる装置をユーザ発言に応答するために選択することができる。
前記第1の装置が前記発言に応答することになると判定することは、前記第1の装置によって前記発言と関連付けられる第1の時間が、前記第2の装置によって前記発言と関連付けられる第2の時間の前にあると判定することを含む、請求項1乃至8のいずれかに記載の方法。
前記第2のオーディオ信号が前記発言を表すと判定することは、前記第1の装置が前記発言を受信する前記第2の装置の定義済み時間の範囲内で前記発言を受信したと判定することを含む、請求項10に記載のシステム。
前記第2のオーディオ信号が前記発言を表すと判定することは、前記第1のオーディオ信号と前記第2のオーディオ信号の間の相互相関を算出することを含む、請求項10に記載のシステム。
前記第2のオーディオ信号が前記発言を表すと判定することは、前記第1のオーディオ信号及び前記第2のオーディオ信号が単語の一致するシーケンスを表すと判定することを含む、請求項10に記載のシステム。
【発明を実施するための形態】
【0005】
音声ベースのシステムは、音声によってユーザと対話してユーザから命令を受け取り、サービスをユーザに提供するように構成することができる。特定の実施形態では、システムは、部屋、住宅または別の環境内で異なる位置に配置される複数の音声インタフェース装置を含むことができる。各音声インタフェース装置は、ユーザ音声を受けるためのマイクロホンを備えており、いくつかの実施形態においては、応答するシステム音声を再生するための、一体化しているか付随するスピーカとともに動作することができる。
【0006】
各装置の特定の機能及び能力は、ネットワークベースのサービスによって少なくとも部分的には提供することができ、そして、装置はそれに、インターネットを含むデータ通信ネットワークによってアクセスすることができる。特に、ネットワークベースのサービスは音声処理及び対話能力を装置に提供することができ、その中には自動音声認識(ASR)、自然言語理解(NLU)、応答生成及びテキストから音声への変換(TTS)機能を含む。ユーザ音声によって表される意図を判断するとすぐに、ネットワークベースのサービスは、音声インタフェース装置を使用して機能を実行し、及び/またはオーディオを作成する。
【0007】
特定の実施形態では、音声インタフェース装置は、マイクロホン及びスピーカを含むことができる。他の実施態様においては、音声インタフェース装置はユーザ音声を受けるためのマイクロホンを含むことができ、応答するシステム生成の音声をスピーカ装置によって提供することができる。このようなスピーカ装置は、音声インタフェース装置の管理下に置くことができ、音声インタフェース装置により提供されるオーディオを再生することができる。あるいは、スピーカ装置は、ネットワークベースのサービスから応答する音声オーディオを受けることができる。
【0008】
複数の音声インタフェース装置が互いに近くに、例えば単一の部屋の中に、または、隣接する部屋にある状況においては、音声インタフェース装置はそれぞれが1つのユーザ発言を受けることがあり得て、各装置が独立してあたかもそれが2つの別々の発言であるかのように、その発言を処理して応答しようと試みることがあり得る。以下の開示は、とりわけ、このような二重の労力及び応答を回避することの技術に、関する。
【0009】
記載される実施形態において、各音声インタフェース装置は、ユーザがコマンドを話しており、その口頭のコマンドを表すオーディオ信号をネットワークベースの音声サービスに流す、ということを検出する。ネットワークベースの音声サービスは、オーディオ信号を受信し、ASR及びNLUを実行して、コマンドによって表される意図を判断し、応答を音声インタフェース装置の1つに提供する。例えば、応答は、ユーザコマンドに応答する音声インタフェース装置による音として作成されるべき単語を表すデータを、生成すること含むことができる。別の例として、応答は、音声インタフェースが音楽を再生し始めるかまたは別の機能を実行するための指示を、含むことができる。
【0010】
住居の中の複数の音声インタフェース装置からオーディオ信号を受け取ると、システムはユーザコマンドに応答(例えば、可聴応答を提供するかまたはそうでなければユーザコマンドに応答して動作)するべき装置の1つを選択する。選択は、オーディオ信号と関連するメタデータに基づいて行うことができる。1つの例として、システムは、異なる音声インタフェース装置に対するユーザの近接度を判定して、ユーザに最も近い音声インタフェース装置を選択することを試みることができる。近接度は、時間的及び物理的近接度を含むことができて、メタデータ属性、例えばオーディオ信号振幅、オーディオ信号において検出される音声存在のレベル、ユーザ音声が音声インタフェース装置によって検出された相対時間及び音声インタフェース装置によって作成するかまたは提供することができる他の属性によって示すことができる。例えば、第2の音声インタフェース装置に対する第1の音声インタフェース装置のより高いオーディオ信号振幅は、ユーザが第2の音声インタフェース装置に対するより第1の音声インタフェースに近い、ということを示すことができる。別の例として、最初にユーザ音声を検出するかまたは認識する音声インタフェース装置は、ユーザに最も近い装置であり得る。
【0011】
近接度は、ネットワークベースの音声サービスによって作成されるASR及びNLU信頼度レベルなどの属性によって示すこともできる。いくつかの場合では、近接度スコアは多数の属性に基づいて作ることができ、そして、異なるオーディオ信号に対応する近接度スコアは、最高メタデータスコアを有するオーディオ信号を選択するために、比較することができる。
【0012】
いくつかの場合では、複数の音声処理装置のうちいずれが受け取ったユーザ音声に応答することになるかの選択は、コマンドが話される文脈に基づいて行うことができる。例えば、新たに受信したコマンドは、特定の音声インタフェース装置が応答したその前のコマンドと同じ対象に関係し得て、従って、新たに受信コマンドに同じ音声インタフェース装置が応答するように選択することができる。別の例として、直近で作動した音声インタフェース装置がユーザコマンドに応答して動作または音声を提供するように選択することができる。更に別の例として、音声インタフェース装置の1つが適切な応答を音声コマンドに提供する能力を有しており、別の装置はその能力が無い場合、能力を有する装置は、応答を提供するために選択することができる。更に別の例として、音声コマンドは、音声インタフェース装置の1つが現在実行している活動に関係している可能性があり、従って、その音声インタフェース装置は、音声コマンドに従って動作するかまたはそれに応答するように、選択することができる。いくつかの場合では、第1の装置がその前のユーザコマンドに応答して活動を実行しており、その活動を修正する新たなコマンドが第2の装置によって検出される、ということが起こり得る。この場合、ネットワークベースの音声サービスは、新たなコマンドが第1の装置の現在の活動に関すると判定することができ、第1の装置をユーザコマンドに応答するように選択することができる。
【0013】
いくつかの実施形態において、音声コマンドを表すオーディオ信号は第1の音声インタフェース装置によって出力することができ、第2の音声インタフェース装置は、第2の音声インタフェース装置が現在実行している活動にコマンドが関連し得るとしても、音声コマンドを検出するかまたは送ることに失敗する場合がある。例えば、第2の装置は第1の装置がコマンド「停止」を受信するときに、音楽を再生している場合がある。システムは、第1の装置によって受信されたコマンドが第2の装置によって実行されている活動に関連すると判定することができて、第1の装置にではなく第2の装置に応答を向けることができる。この例では、「停止」コマンドは第2の装置に向けられ、そして、第2の装置は音楽の再生を止めることによってそれに応答する。
【0014】
図1は、口頭のコマンドに基づいてサービスを提供する例示システム100を示す。システムは、複数の音声インタフェース装置102を有する。音声インタフェース装置102は、本明細書において単に装置102と呼ぶ。説明のため、2つの装置102(a)及び102(b)が示されるが、システム100は2つ以上の装置102を含むことができる。各装置102は、ユーザ音声を捕えるために用いる1つ以上のマイクロホンならびに音声及びコンテンツを再生するために用いる1つ以上のスピーカを有する。いくつかの実施形態では、装置102は、固定位置から操作するように設計されていてもよい。他の実施態様において、装置102は、携帯型でもよい。例えば、装置102は、携帯用装置または他のモバイル機器例えばスマートフォン、タブレット型コンピュータ、メディアプレーヤ、パーソナルコンピュータ、着用可能装置、様々な形のアクセサリなどを含むことができる。
【0015】
ユーザ104は、装置102によってシステム100と対話しているものとして示される。装置102は互いに十分近くに置くことができ、それによって装置102の両方ともユーザ104の発言を検出することができる。
【0016】
特定の実施形態では、音声インタフェース装置102とのユーザ対話の主要なモードは、音声によるものであってもよい。例えば、音声インタフェース装置102は、ユーザ104から口頭のコマンドを受信することができ、コマンドに応答してサービスを提供することができる。ユーザ104は定義済みトリガー表現(例えば、「目を覚まして」)を話すことができ、それの後に指示または指令(例えば、「私は、映画を見に行きたいです。地域の映画館で何を上映しているかを私に教えて下さい。」)を続けることができる。提供されるサービスは、動作または活動を実行すること、媒体をレンダリングすること、情報を取得し及び/または提供すること、音声インタフェース装置102を介して生成されたか合成された音声を経て情報を提供すること、ユーザ104に代わってインターネットベースのサービスを開始することなどを含むことができる。
【0017】
口頭のユーザ要求106に対応する音は、各装置102によって受け取られる。特定の実装において、ユーザ要求106は、ユーザ104によって話される覚醒単語または他のトリガー表現で開始することができ、次のユーザ音声が装置102のうちの1つによって受け取られて、行動されることを意図していることを示すことができる。装置102は、覚醒単語を検出し、次のユーザ音声が装置102に向けられることと解釈することができる。特定の実施形態の覚醒単語は、音声インタフェース装置102によってローカルに検出される予約のキーワードでもよい。キーワードを検出すると即座に、音声インタフェース装置102は、次のユーザ発言を検出してそれに応じるために、遠隔のネットワークベースの音声認識システムにオーディオ信号を提供し始めることができる。
【0018】
特定の実装において、各装置102は、装置102のマイクロホンによって作成されるオーディオ信号を分析して、通常は定義済みの単語、フレーズまたは他の音であってもよい覚醒単語を検出することができる、表現検出器を備えることができる。このような表現検出器は、例えば、キーワードスポッティング技術を使用して実装することができる。キーワードスポッタは、オーディオ信号を評価して、オーディオの定義済み単語または表現が信号を送る存在を検出する関数コンポーネントまたはアルゴリズムである。音声の単語の写しを作るのではなく、キーワードスポッタは、定義済み単語か表現がオーディオ信号において表されたか否かを示すために、真/偽の出力を生成する。
【0019】
特定の実施形態では、オーディオ装置102の表現検出器は、オーディオ信号を分析して、覚醒単語がオーディオ信号においてされている可能性を示すスコアを作成するように構成することができる。それから、表現検出器は、スコアを閾値と比較して、覚醒単語が話されたことが宣言されることになるかを判定する。
【0020】
いくつかの場合では、キーワードスポッタは、簡略ASR(自動音声認識)技術を使用することができる。例えば、表現検出器は隠れマルコフモデル(HMM)認識器を使用することができ、これはオーディオ信号の音響モデリングを実行して、オーディオ信号のHMMモデルを特定のトリガー表現のための訓練によって作製された1つ以上の参照HMMモデルと比較する。HMMモデルは、単語を一連の状態として表す。概して、オーディオ信号の一部が、そのHMMモデルをトリガー表現のHMMモデルと比較することによって分析され、トリガー表現モデルに対するオーディオ信号モデルの類似性を表す特徴スコアを得る。
【0021】
実際には、HMM認識器は、HMMモデルの異なる特徴に対応する複数の特徴スコアを作成することができる。表現検出器は、HMM認識器によって作成される1つ以上の特徴スコアを受信するサポートベクターマシン(SVM)分類器を使用することができる。SVM分類器は、オーディオ信号がトリガー表現を含む可能性を示す信頼度スコアを作成する。信頼度スコアは信頼度閾値と比較されて、オーディオ信号の圧縮部分がトリガー表現の発言を表すかどうかに関して最終的な決定をする。オーディオ信号がトリガー表現の発言を表すと宣言すると即座に、オーディオ装置102は、次のユーザ発言を検出してそれに応じるために遠隔のネットワークベースの音声認識システムにオーディオ信号を発信し始める。
【0022】
各装置102は、ユーザ要求106を受信して、対応するオーディオ信号108及び関連メタデータ110を作成する。具体的には、第1の音声インタフェース装置102(a)は対応するオーディオ信号108(a)及び関連メタデータ110(a)を作成し、第2の音声インタフェース装置102(b)は対応するオーディオ信号108(b)及び関連メタデータ110(b)を作成する。各オーディオ信号108(a)及び108(b)は、ユーザ要求106に対応する同じユーザ音声を表す。
【0023】
メタデータ110は、それぞれの装置102に対するユーザ104の近接度を判定するかまたは推定するために用いることができ、更に一般的には、音声応答か他の動作が装置102のうちいずれを対象としなければならないかについて決定するために用いることができる、各種の情報を含むことができる。この環境での近接度は、物理的近接度及び時間的近接度のいずれかまたは両方ともに対応することができる。例えば、第1のメタデータ110(a)は、ユーザ音声106が第1の音声インタフェース装置102(a)によって受け取られた時間を示す第1のタイムスタンプを含むことができ、第2のメタデータ110(b)は、ユーザ音声106が第2の音声インタフェース装置102(a)によって受け取られた時間を示す第2のタイムスタンプを含むことができる。メタデータ110は、他の情報、例えばオーディオ信号108の信号エネルギー及び/または音声インタフェース装置102によって検出されるオーディオ信号108における音声存在のレベル)を含むことができる。
【0024】
オーディオ信号108及び関連メタデータ110は、分析及び応答動作のために音声サービス112に提供される。いくつかの場合では、音声サービス112は、多くの異なるユーザの住居または他の建物の装置102をサポートする複数のサーバコンピュータによって行うネットワークアクセス可能サービスでもよい。装置102は、インターネットなどの広域ネットワークの上の音声サービス112によって通信することができる。あるいは、装置102のうち1つ以上は、音声サービス112を含むことができるかまたは提供することができる。
【0025】
音声サービス112は、音声サービス112そのものによって作成できるメタデータ110及び他のメタデータに基づいて、音声インタフェース装置102のうちいずれがユーザ要求106を受信しそれに応答114を実行しなければならないかについて、判定する。これは、音声インタフェース装置102の特定の1つに話すユーザ104のありそうな意図を反映する方法で行われる。装置102のうちいずれがユーザ要求106に応じることをユーザ104が最も望みそうであるかを判定するための各種の技術を、以下に説明する。
【0026】
概して、音声サービス112は、複数の装置102から受け取られるオーディオ信号が同じ発言を表すかどうかを最初に判定することから始め、それは装置102がユーザ音声を受信した時間を比較することによって実行することができる。オーディオ信号が同じ発言を表す場合、例えば装置102がユーザ音声を受信した時間が互いに近い時間的近接度にあるケースであると考えられる場合、オーディオ信号によって表されるユーザ要求に応答を提供するために、装置102のうちいずれが用いなければならないかについて決定するために、調停が実行される。
【0027】
音声サービス112は、それぞれの音声処理パイプラインインスタンス116(a)及び116(b)を使用してオーディオ信号108(a)及び108(b)を処理するように構成される。各パイプラインインスタンス116は、装置102のうちの1つに、そして、パイプラインインスタンスにより提供される信号108に対応する。図の例では、第1の音声処理パイプラインインスタンス116(a)は、第1の装置102(a)に、そして、その対応する第1のオーディオ信号108(a)に対応する。第2の音声処理パイプラインインスタンス116(b)は、第2の装置102(b)に、そして、その対応する第2のオーディオ信号108(b)に対応する。
【0028】
各音声処理パイプラインインスタンス116は、受信オーディオ信号108を処理するように構成される順序づけられた一連のパイプライン処理コンポーネントを有する。第1の音声処理パイプラインインスタンス116(a)は第1のオーディオ信号108(a)及び対応する第1のメタデータ110(a)を処理し、それは第1の装置102(a)から受信される。第2の音声処理パイプラインインスタンス116(b)は第2のオーディオ信号108(b)及び対応する第2のメタデータ110(b)を受信して処理し、それは第2の装置102(b)から受信される。各パイプラインインスタンス116は、音声サービス112の異なるサーバによって行うことができる。
【0029】
各音声処理パイプラインインスタンス116の処理コンポーネントは、受信オーディオ信号108を分析して口頭のユーザ要求106の単語を判定するように構成される自動音声認識(ASR)コンポーネント118を含む。処理コンポーネントはまた、パイプラインインスタンスにおいてASRコンポーネント118の後に置かれる自然言語理解(NLU)コンポーネント120を含む。NLUコンポーネント120は、ASRコンポーネント118によって作成されるユーザ要求106の単語を分析して、ユーザ要求106によって表される意図を判定するように構成される。処理コンポーネントはまた、パイプラインインスタンスにおいてNLUコンポーネント120の後に置かれる応答ディスパッチャ122を含む。応答ディスパッチャ122は、NLUコンポーネント120によって判定される意図に基づいてユーザ要求106の意図に対応する音声応答または他の動作を判定して指定し、応答を対応する装置102に提供するかまたは対応する装置102にユーザ要求106に応答して動作を実行するように指示するように、構成される。
【0030】
各パイプラインインスタンス116は、対応する装置102からオーディオ信号108を受信して、パイプラインインスタンスが後述するように中止されない限り応答114を同じ装置102に提供する。動作において、パイプラインインスタンス116のうちの1つ以外の全ては完了の前に中止され、その結果パイプラインインスタンス116の単一の1つだけがその対応する装置102に応答114を返す。
【0031】
各パイプラインインスタンス116の処理コンポーネントは、パイプラインインスタンス116においてASRコンポーネント118の前に置かれる第1のソースアービタ124(a)、パイプラインインスタンス116においてASRコンポーネント118の後、そして、NLUコンポーネント120の前に置かれる第2のソースアービタ124(b)及びパイプラインインスタンス116においてNLUコンポーネント120の後、そして、応答ディスパッチャ122の前に置かれる第3のソースアービタ124(c)を含む。より具体的には、第1のソースアービタ124(a)は、ASRの開始前の時間に呼び出されるように、そして、ASRコンポーネントが出力を作成する第1のソースアービタ124(a)の結果として開始されるように、パイプラインインスタンス116に置かれる。第2のソースアービタ124(b)は、それがASRの完了の後に続き、かつNLUの開始の前の時間に呼び出されるように、パイプラインインスタンス116に置かれる。従って、第2のソースアービタ124(b)は出力を作成するASRコンポーネント118に基づいて開始され、そして、NLUコンポーネント120は出力を作成する第2のソースアービタ124(b)に基づいて開始される。第3のソースアービタ124(c)は、それがNLUの完了の後に続き、かつ応答ディスパッチャ122の呼出しの前の時間に呼び出されるように、パイプラインインスタンス116に置かれる。従って、第3のソースアービタ124(c)は出力を作成するNLUコンポーネント120に基づいて開始され、そして、応答ディスパッチャ122は出力を作成する第3のソースアービタ124(c)に基づいて開始される。
【0032】
各ソースアービタ124は、1つ以上の基準が満たされるかを判定するように構成され、そこにおいて基準は、パイプラインインスタンス116に対応する装置102が、応答をユーザ要求106に提供するために用いる装置でなければならないかまたはその装置になるか、に関するものであり、そのことを示す。基準は、対応する装置102から受信されるメタデータ110に、少なくとも部分的に基づくことができる。3つのアービタが本明細書においていくつかの実施形態に関連して示されて、論じられているにもかかわらず、他の実施形態は、1つまたは2つ以上のアービタ及び/または、ソースアービタ124(a)、124(b)及び/または124(c)に関連して述べられる機能性のサブセットに類似して機能するかそのサブセットを提供する、他の装置を含むことができる。
【0033】
1つの例として、第1のメタデータ110(a)は、ユーザ要求106が第1の装置102(a)によって受け取られた時間に対応する第1のタイムスタンプを含むことができ、そして、第2のメタデータ110(b)は、ユーザ要求106が第2の装置102(b)によって受け取られた時間に対応する第2のタイムスタンプを含むことができる。第1のパイプラインインスタンス116(a)の各アービタ124は、(a)第1のタイムスタンプと第2のタイムスタンプの差が閾値より小さく、ユーザ要求106を表す音が各装置102(a)及び102(b)のそれぞれでほぼ同時に受け取られたことを示すと判定すること、及び(b)第1のタイムスタンプが第2のタイムスタンプより大きく、第1の装置102(a)が第2の装置102(b)より後でユーザ発言を受信したかまたは検出したことを示すと判定することに応答して、パイプラインインスタンス116(a)を中止するように構成することができる。これらの例において、タイムスタンプは、前に置いている覚醒単語がそれぞれの装置102によって検出された時間に対応してもよいことに留意されたい。
【0034】
別の例として、メタデータ110は、1つ以上の信号属性を含むことができる。例えば、信号属性は、オーディオ信号の振幅、オーディオ信号の信号対雑音比、オーディオ信号において検出される音声存在のレベル、覚醒単語がオーディオ信号において検出された信頼度レベル、装置102からのユーザ104の物理的距離、などを示すことができる。第1のパイプラインインスタンス116(a)の各アービタ124は、第1のオーディオ信号108(a)に関する属性を第2のオーディオ信号108(b)の対応する属性と比較して、比較失敗の結果として第1のパイプラインインスタンス116(a)を中止するように、構成することができる。例えば、第1のパイプラインインスタンス116(a)は、第1のオーディオ信号108(a)が第2のオーディオ信号108(b)のそれより低い振幅を有する場合、中止することができる。同様に、第1のパイプラインインスタンス116(a)は、第1のオーディオ信号が第2のオーディオ信号108(b)のものより低い信号対雑音比、音声存在、覚醒単語検出信頼度レベルまたはユーザ距離を有する場合、中止することができる。
【0035】
具体例として、第1及び第2のオーディオ装置がそれぞれ第1及び第2のオーディオ信号を出力する場合、第1及び第2のオーディオ装置のうちいずれがユーザ発言に応じることになるかを判定することは、
第1のオーディオ信号及び第2のオーディオ信号のうちいずれがより高い強度か振幅を有するかを判定すること、
第1の装置及び第2の装置のうちいずれがより高いレベルの音声存在を検出するか、もしくは、第1のオーディオ信号及び第2のオーディオ信号のうちいずれがより高いレベルの音声存在を表すかを判定すること、
第1のオーディオ信号及び第2のオーディオ信号のうちいずれがより高い信号対雑音比測定値を有するかを判定すること、
第1の装置及び第2の装置のうちいずれがより高いレベルの信頼度を有するトリガー表現を検出するかを判定すること、
第1の装置及び第2の装置のうちいずれがトリガー表現を最初に検出するかを判定すること、
第1の装置及び第2の装置のうちいずれが特定の能力を有するかを判定すること、
第1のオーディオ信号及び第2のオーディオ信号のいずれの中で単語がより高いレベルの信頼度によって認識されるかを判定すること、
第1のオーディオ信号及び第2のオーディオ信号のいずれの中で単語によって表される意図がより高いレベルの信頼度によって判定されるかを判定すること、
第1の装置及び第2の装置のうちいずれがユーザに物理的により近いかを判定すること、
第1の装置及び第2の装置のうちいずれが発言への応答を最初に受信するかを判定すること、または
第1及び第2の装置のうちいずれが発言を最初に受信するかを判定すること
のうち1つ以上を含むことができる。
【0036】
更に一般的に言えば、各ソースアービタ124は、パイプラインインスタンス116と関連する装置102は応答が提供されなければならないものでないと判定すると即座に、そのパイプラインインスタンス116を中止することができる。処理パイプラインインスタンスの動作が中止されると、中止されたパイプラインインスタンスは応答114を対応する装置102に提供しない。中止されたパイプラインインスタンスはメッセージを装置102に提供して、装置102が応答をユーザ要求に提供するために用いられなくなることを示すことができる。それに応えて、装置は、オーディオ信号108を音声サービス112に提供するのを止めることができる。一例として、メッセージまたは他の指示は、装置がリスニングモードに入らせるか結果としてそうなる命令を備えるデータを含むことができる。リスニングモードは、装置が音声サービス112にオーディオ信号108を送っておらず、装置がその環境をモニタして覚醒単語の更なる発言を検出するモードである。いくつかの場合では、エラー応答を、中止されたパイプラインインスタンスに対応する装置102に返すことができる。いくつかの場合では、装置は、トーンを再生するか、LED照明を引き起こすか、または、装置がユーザ要求に応じる予定でないことを示すいくつかの他の措置をとるように、指示することができる。
【0037】
音声サービス112は、多くの異なるユーザの住居の音声インタフェース装置102をサポートすることができる。この記述においては、ユーザ104が、互いに関係しており、本明細書において記載されている方法で集合的に扱われるべき一群の装置102を示す構成情報を提供したと仮定する。例えば、ユーザ104は、ユーザの装置102のそれぞれまたは一般に配置されている一組のこのような装置を、単一ユーザまたは家庭のアカウントと関係しているとして登録することができる。より具体的には、ユーザは、音声サービス112を提供し、多くの異なる音声インタフェース装置の動作をサポートするネットワークベースのサービス提供者でのアカウントを維持することができる。アカウントは、家庭の異なるメンバーに対応して複数のユーザプロファイルのための情報を格納するように構成することができる。各ユーザプロファイルは、特定のユーザの特性及び嗜好を示すことができる。ユーザまたは家庭は、多くの異なるタイプの装置をアカウントと関係しているとして登録することができる。アカウントは、支払情報、購入情報、会費、連絡先情報などを格納するように構成することができる。アカウントは、家庭(例えばそれらの位置、それらの関連するプロフィールなど)内で音声インタフェース装置について情報を格納するように構成することもできる。
【0038】
本明細書において記載されている動作は、このような方法で互いに関連付けられた一群の装置102に関して実行される。更にまた、本明細書における記述は2つの装置102の文脈で与えられるが、いかなる数の2つ以上の装置102も用いることができて、同様に扱うことができる。
【0039】
音声サービス112は、「クラウド」サービスと呼ばれることのあるような、インターネットを介して維持されて、アクセス可能な、1つ以上のネットワークアクセス可能なコンピューティングプラットフォームの一部でもよい。概して、音声インタフェース装置102と音声サービス112の間の通信は様々な形のデータ通信ネットワークの組合せによって行うことができ、その中にはローカルエリアネットワーク、広域ネットワーク及び/または公共インターネットを含み、そして、それはWi−Fiネットワーク、ブルートゥースネットワーク及びセルラ通信ネットワークを含む様々な形の無線ネットワークを含むことができる。
【0040】
図2は、複数の音声インタフェース装置102が同じユーザ発言を処理して、それに応答することを試みることができる環境において、発言、例えばユーザ要求106に応答を提供する、例示方法200を示す。
図2の動作は、
図1に図示される音声サービス112などの、装置102に対するサポートを提供する1つ以上のサーバ及び/またはネットワークサービスの1つ以上の音声処理パイプラインインスタンス116によって、集合的に行うことができる。
【0041】
動作202は、第1の装置102(a)によって作成される第1のオーディオ信号108(a)を受信することを含み、そこにおいて、第1のオーディオ信号108(a)は第1のユーザ発言を表す。動作202は、第1のオーディオ信号108(a)と関連する第1のメタデータ110(a)を受信することも含む。
図1の文脈において、第1のオーディオ信号108(a)及び第1のメタデータ110(a)は、第1の処理パイプラインインスタンス116(a)によって受信することができる。メタデータ110は上記の通りに各種の属性を含むことができ、それは、対応するオーディオ信号に、オーディオ信号を提供する装置に、及び/またはユーザ104に関係し得る。
【0042】
動作204は第2の装置102(b)によって作成される第2のオーディオ信号108(b)を受信することを含み、そこにおいて、第2のオーディオ信号108(b)は第2のユーザ発言を表す。動作204は、第2のオーディオ信号108(b)と関連する第2のメタデータ110(b)を受信することも含む。
図1の文脈において、第2のオーディオ信号108(b)及び第2のメタデータ110(b)は、第2の処理パイプラインインスタンス116(b)によって受信することができる。第1の処理パイプラインインスタンス116(a)及び第2の処理パイプラインインスタンス116(b)は、音声サービス112の異なるサーバによって行うことができる。すなわち、各装置102は、音声サービス112の異なるサーバと通信し、それらからサポートを受けることができる。
【0043】
特定の実施形態では、第1のメタデータ110(a)は、ユーザ発言が受け取られた第1の時間またはユーザ発言の前の覚醒単語が受け取られた第1の時間を示す、第1のタイムスタンプを含むことができる。同様に、メタデータ110(b)は、ユーザ発言が受け取られた第2の時間またはユーザ発言の前の覚醒単語が受け取られた第2の時間を示す、第2のタイムスタンプを含むことができる。
【0044】
動作206は、第1及び第2のオーディオ信号108(a)及び108(b)が受け取られた第1及び第2の装置102(a)及び102(b)が、同じユーザか家庭のアカウントと関係しているかについて判定することを含む。そうでない場合には、動作208が実行され、オーディオ信号108(a)及び108(b)の両方ともを処理してそれに応答し、そこにおいて、各装置102(a)及び102(b)はそのそれぞれ受け取ったユーザ発言に応答して音声応答または他の動作を提供するために用いる。
【0045】
第1及び第2の装置102(a)及び102(b)が同じユーザまたは家庭のアカウントと関係している場合、動作210が実行される。装置102(a)及び102(b)のいずれかまたは両方ともに対応する処理パイプラインインスタンスの中で複数回実行することができる動作210は、第1及び第2のオーディオ信号が同じユーザ発言を表すかについて判定することを含む。いくつかの実施形態では、これは、第1及び第2のオーディオ信号と関連する第1及び第2のタイムスタンプをそれぞれ比較することによって判定することができる。より具体的には、第1及び第2のタイムスタンプの差は、算出することができて、閾値と比較することができる。差が閾値より小さい場合、第1及び第2のオーディオ信号は同じ発言を表すと宣言される。差が閾値を越える場合、第1及び第2のオーディオ信号は異なる発言を表すと宣言される。
【0046】
動作210は、第1及び第2のオーディオ信号108(a)及び108(b)が同じ発言を表すかどうかを判定するために、他の基準を使用することもできる。例えば、オーディオ信号は、それらが互いに類似しているかどうかを判定するために、互いに比較することができる。具体的には、動作210は、第1及び第2のオーディオ信号108(a)と108(b)の間の相互相関を算出することを含むことができる。信号間の強い相関がある場合、特に相互相関が予め定められた閾値を超える場合、信号は同じ発言を表すと宣言される。別の例として、第1及び第2のオーディオ信号108(a)及び108(b)に関するASR結果は、比較して、オーディオ信号が単語の一致するシーケンスを表すかどうかを判定することができる。2つのオーディオ信号のためのASR結果が同一であるか類似している場合、2つのオーディオ信号は同じ発言を表すために考慮することができる。更に別の例として、第1及び第2のオーディオ信号108(a)及び108(b)に関するNLU結果は、互いに比較することができる。NLU結果が、第1及び第2のオーディオ信号108(a)及び108(b)に対応する音声が共通の意図を表すことを示す場合、2つのオーディオ信号は同じ発言を表すと見なすことができる。
【0047】
動作210は、記載されている基準の1つ以上を使用することができる。例えば、オーディオ信号は、同じユーザ発言を表すと宣言されるためには基準の2つ以上を満たすことが必要とされてもよい。更にまた、予め定められた量より多く変化する関連するタイムスタンプを有する信号は、信号のいかなる類似点にも、信号に関するASR結果にも、または信号に関するNLU結果にも関係なく、2つの異なるユーザ発言を表すと見なすことができる。
【0048】
動作210が、第1及び第2のオーディオ信号108(a)及び108(b)が同じユーザ発言を表さないと判定する場合、動作208が実行されてオーディオ信号の両方ともを処理してそれに応答し、そこにおいて、各装置102(a)及び102(b)はそのそれぞれ受け取ったユーザ発言に応答して音声応答または他の動作を提供するために用いる。
【0049】
第1及び第2のオーディオ信号108(a)及び108(b)が同じユーザ発言を表すと動作210が判定する場合、動作212が実行されて、対応する装置102(a)と102(b)の間を調停して、装置のうちいずれが装置102(a)及び102(b)の両方ともによって検出されて提供された単一ユーザ発言に応答を提供することになるかについて判定する。動作212は、各オーディオ信号108のためのメタデータ110によって示される比較属性を含むことができる。オーディオ信号108が属性の最も強いセットを有する装置は、調停の勝者として選ばれる。
【0050】
第1の装置102(a)が調停に勝つ場合、動作214の処理が実行されて、第1のオーディオ信号108(a)に応答し、それは第1のオーディオ信号108(a)によって表されるユーザコマンドに第1の装置102(a)によって適切な応答を作成することを含む。動作216は、第2のオーディオ信号108(b)の処理をキャンセルすること、及びそうしなければ第2のオーディオ信号108(b)に基づいて提供された可能性のあるいかなる応答もキャンセルすることを含み、その中には、そうしなければ装置102(b)によってなされた可能性のあるいかなる応答も含む。いくつかの実装において、装置102(b)にメッセージが送信されて、装置102(b)が音声サービス112からの更なる応答を期待しないように知らせる。動作214及び216が並列に、または例示したものとは異なる順序で実行できることに留意されたい。例えば、動作216は、動作214の前に実行することができる。
【0051】
第2の装置102(b)が調停に勝つ場合、動作218の処理が実行されて、第2のオーディオ信号108(b)に応答し、それは第2のオーディオ信号108(b)によって表されるユーザコマンドに第2の装置102(b)によって適切な応答を作成することを含む。動作220は第1のオーディオ信号108(a)の処理をキャンセルすること、及びそうしなければ第1のオーディオ信号108(a)に基づいて提供された可能性のあるいかなる応答もキャンセルすることを含み、その中には、そうしなければ第1の装置102(a)によってなされた可能性のあるいかなる応答も含む。いくつかの実装において、装置102(a)にメッセージが送信されて、装置102(a)が音声サービス112からの更なる応答を期待しないように知らせることができる。動作218及び220が並列に、または例示したものとは異なる順序で実行できることに留意されたい。例えば、動作220は、動作218の前に実行することができる。
【0052】
調停動作212は1つには少なくとも第1及び第2のメタデータ110(a)及び110(b)に基づいて実行することができ、それはそれぞれ第1及び第2のオーディオ信号108(a)及び108(b)に関する1つ以上の属性を含むことができる。メタデータ110は、前述のタイムスタンプに加えて、対応する装置102に対するユーザ104の近接度を示すことができる。例えば、装置102は、マイクロホンアレイの空間的に分離されたマイクロホン素子によって作成されるマイクロホン信号に基づいて音源定位(SSL)を実行する能力を有することができる。SSLは、ユーザ104の音声に対応する受け取った音に基づいてユーザ104の距離を判定するように行うことができる。調停動作212は、装置102(a)及び102(b)のうちいずれがユーザ104に物理的に、または、音響的に最も近いかについて判定すること、及びユーザ要求106に応答を提供するために最も近い装置を選択することを含むことができる。
【0053】
あるいは、各装置102は、装置に対するユーザの実際の距離測定のためのプロキシとして使うことができる他のメタデータを提供することができる。例えば、オーディオ信号108と関連するメタデータ110はオーディオ信号108の振幅を含むことができ、そして、動作212は最高の振幅を有するオーディオ信号108を出している装置102を選択することを含むことができる。メタデータ110はオーディオ信号108において検出される人間の音声存在のレベルを含むことができるかまたは示すことができ、そして、動作212は検出される音声存在の最高のレベルを有するオーディオ信号108を出している装置102を選択することを含むことができる。同様に、メタデータはオーディオ信号108の信号対雑音比を含むことができるかまたは示すことができ、そして、動作212は最高の信号対雑音比を有するオーディオ信号108を出力している装置102を選択することを含むことができる。別の例として、メタデータ110は覚醒単語または他のトリガー表現が装置102によって検出された信頼度のレベルを含むことができるかまたは示すことができ、そして、動作212は最高レベルの信頼度を有するトリガー表現を検出した装置102を選択することを含むことができる。更に別の例として、メタデータ110はオーディオ信号を提供する装置102によってトリガー表現が検出された時間を示すタイムスタンプを含むことができ、そして、動作212は最も初期のタイムスタンプと関連するオーディオ信号を出している装置102を選択することを含むことができる。
【0054】
特定の実施形態では、メタデータはオーディオ信号を提供した装置の特別な能力、例えば全ての装置が有するというわけではない専門能力を示すことができ、そして、動作212はユーザ要求106に応じることができる装置102ののうちの1つを選択することを含むことができる。例えば、第1の装置102(a)はビデオを再生することができる一方で第2の装置102(b)は再生できなくてもよい。ビデオを再生するというユーザ要求に応答して、動作212は、第2の装置102(b)が要求された動作または活動をサポートしていないという理由で、第1の装置102(a)を選択することができる。
【0055】
メタデータ110はいくつかの場合では、ユーザ要求106に応じなければならない装置102のうちの1つの特定のユーザ指定を示すことができる。例えば、ユーザ要求そのものは装置102のうちの1つを言葉で識別することができ、または、ユーザは前もって装置を相対的な優先権を有するように構成することができ、その結果、装置102のうちの1つがユーザ要求に応じるために用いられる。動作212は、この場合、ユーザ要求106に応じるようにユーザが指定している装置を選択することを含むことができる。
【0056】
動作212は、別の実施例として、装置102のうちいずれが最初にユーザ要求106への応答114を受信するかに部分的に基づくことができ、それによって、応答114を最初に受信する装置102が選択されて応答114を示すかまたは実行し、一方で他の装置はそれが受信する応答を無視するかまたはキャンセルする。
【0057】
メタデータ110は、対応する装置102が最後に作動中だった時間を示すことができる。装置102は、それが音声応答を提供して、音楽を再生して、通知を提供して、動作を実行するなどの場合に、作動中であると見なすことができる。動作212はこの場合、直近に作動中だった装置を選択することを含むことができる。
【0058】
いくつかの場合では、動作212は、新規なユーザ発言が装置102のうちの1つが応答したその前のユーザ発言に関する要求であると判定すること及び、同じ装置102を新規なユーザ発言に応じるように選択することを含むことができる。例えば、その前のユーザ発言は、第1の装置102(a)が応答した気象レポートに対する要求であった場合がある。新規なユーザ発言は、天気に関するより具体的な要求、例えば5日間の予報に対する要求であり得る。その前の関連する要求が第1の装置102(a)によって応答されたので、動作208は第1の装置102(a)を関連する新規な要求に応答するように選択することもできる。
【0059】
いくつかの場合では、動作208は、ユーザ要求106が装置102のうちの1つによって現在実行されている活動に関すると判定することと、同じ装置102を要求106に応じるように選択することを含むことができる。例えば、第1の装置102(a)は音楽を再生している可能性があり、そして、ユーザ要求は「停止」コマンドを含み得る。ユーザ要求は第1の装置102(a)の現在の活動に関係すると解釈することができ、従って、第1の装置102(a)が「停止」要求に応じなければならない装置として選択される。
【0060】
いくつかの実装において、動作212は、他のメタデータ、例えば各処理パイプラインインスタンス116の中で作成されるメタデータに基づいてもよい。例えば、パイプラインインスタンス116のASRコンポーネント118は、ASRの結果に関してASR信頼度スコアまたはレベルを作成することができる。動作212は、最高のASR信頼度レベルが作成された装置102を選択することを含むことができる。同様に、NLUコンポーネント120は、NLU結果に関してNLU信頼度スコアまたはレベルを作成することができる。動作212は、最高のNLU信頼度レベルが作成された装置102を選択することを含むことができる。
【0061】
更に一般的にいえば、動作212は、複数のタイプのメタデータ及び他の情報を含む複数の基準に基づいてもよい。例えば、各基準はメタデータの特定の項目に関することができ、その基準は装置102ごとにコンポジットメタデータスコアを作成するために重み付けすることができ、そして、最高のメタデータスコアを有する装置102はユーザ要求106に応答する装置として選択することができる。
【0062】
図1に示される実装に関して、各パイプラインインスタンス116はアービタ124のいくつかのインスタンスを実施し、そこにおいて、各アービタインスタンス124は動作210及び212に類似するか同一の動作を実施する。しかしながら、各パイプラインインスタンス116が単一の対応する装置102と関係しているので、個々のパイプラインインスタンス116の中のアービタ124は、処理がそのパイプラインインスタンスの中で、そして、対応する装置102に関して継続しなければならないかどうかを判定するだけであり、他のパイプラインインスタンス116または他の装置102のいずれに関してもいかなる直接動作も行わない。別の形で述べるなら、各アービタ124は、それが含まれるパイプラインインスタンスの処理を中止するかまたはキャンセルするために動作することができるのであり、異なる装置102と関係している可能性のある他のいかなるパイプラインインスタンス116の処理も中止するかまたはキャンセルすることはない。
【0063】
ユーザ要求106を処理する異なるパイプラインインスタンスは、通常は互いに同期しない。従って、パイプラインインスタンス116のうちの1つはパイプラインインスタンスのもう一方が開始される前に、そのコンポーネントまたは動作のうち1つ以上を進行してしまっていることがあり得る。同様に、単一のユーザ要求106を処理している2つのパイプラインインスタンス116は、音声サービスによるオーディオ信号108の異なる到着時間のため、異なる時間に開始してしまっていることがあり得る。いかなる特定の時間にも、各パイプラインインスタンスは、その動作の異なる1つに進行してしまっていることがあり得る。
【0064】
単一の音声インタフェース装置102と関係している個々のパイプラインインスタンス116の中で、アービタ124は、現在利用可能である情報に基づいて続行/中止の決定を行う。いくつかの場合では、関連する装置102によって供給されるメタデータだけしか現在利用可能でない場合がある。他の場合では、他のパイプラインインスタンス116と関連する他の装置102と関連するメタデータが比較のために使用可能でもよい。ASR及びNLUに関する信頼度スコアなどのメタデータは、各パイプラインインスタンスの中の進展次第で、所定時間に利用可能であることも利用可能でないこともある。
【0065】
図3は例示方法300を示し、それぞれ対応する音声インタフェース装置102により提供される複数の受信オーディオ信号108のそれぞれに関して実行することができる一連の動作を説明する。方法300は、
図1の各音声処理パイプラインインスタンス116によって実行される。方法300は、対応する音声インタフェース装置102からオーディオ信号108を受信することに応答して、開始される。説明のため、方法300によって分析されているオーディオ信号は、「対象」オーディオ信号302と呼ぶこととする。方法300の他のインスタンスによって並行して分析される、他の装置102により提供されるオーディオ信号は、「他の」オーディオ信号と呼ぶこととする。同様に、対象オーディオ信号302と関連するメタデータは、対象装置メタデータ304と呼ぶこととする。オーディオ対象オーディオ信号302を出力している音声インタフェース装置102は、対象装置と呼ぶこととする。
【0066】
動作306は、口頭のユーザ要求106などのユーザ発言を表す対象オーディオ信号302を受信することを含む。動作306はまた、対象装置メタデータ304を受信することを含む。対象装置メタデータ304は、
図2の動作210及び212に関して上記で説明したように、対象オーディオ信号302の属性、例えば信号強度、検出音声レベル、信号対雑音比などを含むことができる。対象装置メタデータ304は、装置102からのユーザ104の物理的距離、ユーザ発言が受け取られたか覚醒単語が検出された時間に対応するタイムスタンプ、構成情報、接続性情報などの情報を含むことができる。
【0067】
対象オーディオ信号302及び対象装置メタデータ304を受信することに応答して実行される動作308は、対象装置メタデータ304を方法300の複数のインスタンスにアクセス可能な、例えば音声サービス112の複数サーバ及び多重処理パイプラインインスタンス116にアクセス可能である記憶場所に、キャッシュとして格納することを含む。方法300の全てのインスタンスは、各インスタンスが他のインスタンスによってキャッシュに登録されるメタデータにアクセスすることが可能であるように、共通の記憶場所にデータをキャッシュとして格納する。
【0068】
オーディオ信号302及び装置メタデータ304を受信することに応答してまた実行される動作310(a)は、二重の調停を実行することを含む。概して、方法300の異なる位置で実行される類似または同一の動作310(a)、310(b)及び310(c)は、以前に方法300の他のインスタンスによってキャッシュに登録された他のオーディオ信号のメタデータと比較して対象オーディオ信号302に関する対象装置メタデータ304及び他のメタデータを評価することを含む。評価は、対象装置及び他の装置のそれぞれの間において、対象装置が対象オーディオ信号302によって表される発言に応じなければならないかどうかを判定するために、実行される。そうでない場合には、動作312が実行されて対象装置に対応するパイプラインインスタンスを中止し、もうそれ以上、方法300の動作が対象オーディオ信号302に関して実行されないことを意味する。動作312はまた、パイプラインインスタンスが終了されてしまったこと、及び対象装置が対象オーディオ信号302への応答を期待してはならないことを対象装置に通知することを含むことができる。いくつかの場合では、動作312はまた、音声サービスに対象オーディオ信号302を送信するのを止めるように対象装置に指示することを含むことができる。
【0069】
図4は、動作310(a)、310(b)及び310(c)を実施するために用いることができる例示方法400を説明する。方法400の動作402は、対象オーディオ信号302の対象装置メタデータ304を取得することを含む。それから、一組の動作404は、方法300のインスタンスが開始された他のオーディオ信号のそれぞれのために、または、それに関して、実行される。
【0070】
動作404は、1つ以上の複数の他のオーディオ信号のそれぞれのために、または、それに関して実行されるプログラムループを含み、ここで、用語「他のオーディオ信号」は、対象オーディオ信号以外の各複数のオーディオ信号について参照するために用いる。それぞれの他のオーディオ信号は、他のオーディオ信号を生成したそれ自身のメタデータ及び対応する装置102に関連している。方法300のインスタンスは、各他のオーディオ信号に対して開始されたかまたは開始される。プログラムループ404は他のオーディオ信号の単一の1つに関して実行されると言えるが、但し、述べられるように、中止決定がなされない限り、それは各他のオーディオ信号に対して繰り返される。
【0071】
動作406は、他のオーディオ信号、例えば以前に他のオーディオ信号と関連する方法300のインスタンスによって取り入れられたメタデータと関連するメタデータを取得することを含む。他のオーディオ信号のメタデータは、装置メタデータ110及び他のオーディオ信号と関連するパイプラインインスタンス116の中で作成される他のあらゆるメタデータなどの、本明細書において記載されているメタデータまたは情報のいずれかを、含むことができる。
【0072】
動作408は、対象オーディオ信号302及び他のオーディオ信号が同じユーザ発言を表すかどうかを判定することを含む。動作408は、
図2の動作210を参照して上述したのと同じ技術を使用して実行することができる。2つのオーディオ信号が同じユーザ発言を表さない場合、もうそれ以上、措置は他のオーディオ信号に関してとられず、そして、一組の動作404が他のオーディオ信号の異なる1つに対してブロック410によって示されるように続けられる。
【0073】
2つのオーディオ信号が同じユーザ発言を表す場合、動作412が実行される。動作412は、方法300の別のインスタンスがその関連する装置102にユーザ発言に応じることをすでにコミットしたかどうかを判定することを含む。そうである場合は、動作414が実行されて、対象オーディオ信号と関連する方法300のインスタンスを中止する。方法300を中止することは、対象オーディオ信号302に関してもうそれ以上は措置がとられず、そして、応答が対象装置によって提供されない、ということを意味する。加えて、ループ404が終了する。
【0074】
別の装置がユーザ発言に応じることをまだコミットされていない場合、動作416が実行されて、1つ以上の中止基準が現在対象オーディオ信号及び他のオーディオ信号が利用できるメタデータによって満たされるかどうかを判定する。中止基準は、
図2の動作210を参照して上記で説明したように、対象オーディオ信号及び他のオーディオ信号のメタデータの間の関係を含むことができる。1つ以上の基準が満たされる場合、動作414が実行されて、対象オーディオ信号302と関連する方法のインスタンスを中止する。中止基準が満たされない場合、一組の動作404が、ブロック418によって示されるように、他のオーディオ信号の異なる1つのために繰り返される。
【0075】
図3に戻り、動作310(a)は結果として、中止するかまたは続行するという決定に至る。決定が中止することである場合、対象オーディオ信号の処理は終了され、そして、対象装置は応答をユーザ問い合わせに提供しない。対象装置に、対象オーディオ信号302を送信するのを止めるように指示することができる。
【0076】
動作310(a)の決定が続行することである場合、対象オーディオ信号302に自動音声認識(ASR)を実行することを含んで、動作314が実行される。ASR314は、対象オーディオ信号302によって表されるいかなるユーザ音声の単語のテキスト表現も作成する。ASRは、ユーザ音声の単語が判定された信頼度のレベルを示しているASR信頼度レベルを作成することもできる。動作316は、オーディオ信号302と関連付けられるASRメタデータとしてASR信頼度レベルをキャッシュに登録することを含む。
【0077】
ASR314の後、付加的な二重の調停動作310(b)が実行され、それは動作310(a)と類似しているか同一であってもよい。
【0078】
動作310(b)の決定が中止することである場合、対象オーディオ信号の処理は終了され、対象装置は応答をユーザ問い合わせに提供しない。動作310(b)の決定が続行することである場合、ASR314によって作成される単語のテキスト表現の自然言語理解(NLU)を実行することを含んで、動作318が実行される。動作318は、ユーザ音声によって表されるありそうな意図を判定し、意図が判定された信頼度のレベルを示しているNLU信頼度レベルを作成することもできる。動作320は、オーディオ信号302と関連付けられるNLUメタデータとしてNLU信頼度レベルをキャッシュに登録することを含む。
【0079】
NLU318の後、更にもう1つの二重の調停動作310(c)が実行され、それは動作310(a)及び310(b)と類似しているか同一であってもよい。動作310(c)の決定が中止することである場合、対象オーディオ信号の処理は終了され、対象装置は応答をユーザ問い合わせに提供しない。
【0080】
動作310(c)の決定が続行することである場合、動作322が実行されて、対象装置にユーザ問い合わせに応じることをコミットする。このコミットメントは、コミットメントフラグをキャッシュに登録する動作324を実行することによって知らせられ、対象オーディオ信号の処理は、対象オーディオ信号によって表される意図に応答して動作が対象装置にディスパッチされようとしているポイントまで進行したこと、及び、他のオーディオ信号の処理が中止されなければならないことを示す。方法300の他のインスタンスは、それらが二重調停310を実行するにつれてこのフラグを読むことができて、このフラグの存在に基づいてそれ自身を中止することができる。例えば、
図4の動作412は、このフラグを検討することによって実行することができる。
【0081】
動作326は動作をディスパッチすることを含み、それは対象装置への応答を生成して提供することを含むことができる。動作326は、判定されたユーザ要求に応答して他の動作を実行することを含むこともでき、その中には、命令を対象装置102に提供して音声を作り出すことの他に、または、それに加えて、音楽を再生する、音楽再生を停止する、タイマーを開始する、などの動作を実行することを含む。
【0082】
図5は、検出されたユーザ音声502に応答してオーディオ信号108及び関連メタデータ110を音声サービス112に提供するために、各装置102によって実施することができる例示方法500を説明し、それはユーザ要求106に対応することができる。
【0083】
動作504は複数の指向性オーディオ信号を作成するためにオーディオビーム形成を実行することを含み、ここで、各指向性オーディオ信号は装置102に対して異なる方向から到来する音を強調する。動作504は、到達時間差(TDOA)技術を使用して実行することができ、例えば、マイクロホンの複数のペアを使用して、音がマイクロホンの間の距離を進む時間に等しい量だけマイクロホンの1つからの信号を遅延させて、それによって、2つのマイクロホンに合わせられる音源を強調する。マイクロホンの異なるペアをこのように用いて、それぞれが異なる方向に対応する複数のオーディオ信号を取得することができる。
【0084】
動作506は、指向性オーディオ信号の音声の存在を検出する音声活動検出(VAD)を実行することを含む。指向性オーディオ信号の1つの音声存在を検出すると即座に、次の動作がその指向性オーディオ信号に関して実行される。いくつかの実施形態では、
図5の次の動作は、最高の音声存在を有する指向性オーディオ信号に関して実行される。
【0085】
VADは、オーディオ信号の一部を分析してオーディオ信号の信号エネルギー及び周波数分配などの特徴を評価することによって、オーディオ信号の音声存在のレベルを測定する。特徴は、定量化されて、人間の音声を含むことが分かっている基準信号に対応する基準特徴と比較される。比較によって、オーディオ信号の特徴と基準特徴の間の類似度に対応するスコアを作成する。スコアが、オーディオ信号の音声存在の検出あるいはありそうなレベルの表示として使われる。
【0086】
動作508は、音声活動が検出された指向性オーディオ信号上の、または、最高レベルの音声活動が検出された指向性オーディオ信号上の、覚醒単語検出を実行すること含む。上述のように、定義済み単語、表現または他の音を、次の音声が装置102によって受け取られて処理されることをユーザが意図している信号として使うことができる。
【0087】
説明する実施形態では、覚醒単語検出は、例えば、キーワードスポッティング技術を使用して行うことができる。キーワードスポッタは、オーディオ信号を評価して、オーディオの定義済み単語または表現が信号を送る存在を検出する関数コンポーネントまたはアルゴリズムである。音声の単語の写しを作るのではなく、キーワードスポッタは、定義済み単語か表現がオーディオ信号において表されたか否かを示すために、真/偽の出力を生成する。
【0088】
いくつかの場合では、キーワードスポッタは、簡略ASR(自動音声認識)技術を使用することができる。例えば、覚醒単語検出は、隠れマルコフモデル(HMM)認識器を使用することができ、これはオーディオの音響モデリングを実行して、HMMモデルを特定のトリガー表現のための訓練によって作製された1つ以上の参照HMMモデルと比較する。HMMモデルは、単語を一連の状態として表す。概して、オーディオ信号の一部が、そのHMMモデルをトリガー表現のHMMモデルと比較することによって分析され、トリガー表現モデルに対するオーディオ信号モデルの類似性を表す特徴スコアを得る。実際には、HMM認識器は、HMMモデルの異なる特徴に対応する複数の特徴スコアを作成することができる。
【0089】
覚醒単語検出は、HMM認識器によって作成される1つ以上の特徴スコアを受信するサポートベクターマシン(SVM)分類器を使用することもできる。SVM分類器は、オーディオ信号がトリガー表現を含む可能性を示す信頼度スコアを作成する。
【0090】
動作510は、近接度検出を実行して装置102からのユーザの距離を判定することを含む。近接度検出は、例えば、二次元のマイクロホンアレイと連動して音源定位(SSL)技術を使用して行うことができる。このようなSSL技術はマイクロホンアレイのそれぞれのマイクロホンで受け取った音の到着時間の差を分析して、受け取った音が生じた位置を判定する。あるいは、装置102は、装置102に対するユーザの位置を判定するためのカメラまたは専用センサを有することができる。
【0091】
方法500の動作のいずれも、メタデータ110の項目を作成することができる。例えば、VAD506は、人が装置102の近くで話しているという可能性を示す音声存在レベルを作成することができる。VAD506は、信号対雑音比測定値を作成することもできる。覚醒単語は、ユーザ104が覚醒単語を口にしたという可能性に対応する覚醒単語信頼度レベルを作成することができる。覚醒単語検出508は、覚醒単語が検出された時間を示すタイムスタンプを作成することもできる。近接度検出512は、装置102からのユーザ104の距離を示す距離パラメータを作成することができる。
【0092】
動作512は、オーディオ信号108及びメタデータ110を音声サービス112に送信することを含む。オーディオ信号108は、音声が検出されて覚醒単語が検出された指向性オーディオ信号などの、指向性オーディオ信号の1つを含むことができる。
【0093】
図6〜8は、記載されている方法が、どのように装置102(a)及び102(b)のいずれか一方がユーザ要求106に応答する結果となり得るかという例を図示する。これらのそれぞれの図において、第1の装置及び関連する第1のパイプラインインスタンスによって実行される動作、ならびに、第2の装置及び関連する第2のパイプラインインスタンスによって実行される動作を示し、動作は上から下に順に示される。集中化したキャッシュとの対話も図示する。各例では、第1及び第2の装置により提供されるオーディオ信号が共通のユーザ発言を表すと仮定する。すなわち、動作408は、記載されている技術を用いて2つのオーディオ信号がおそらく同じユーザ発言を表すと判定する。いくつかの実施形態では、これは、オーディオ信号と関連するタイムスタンプの差が定義済み閾値より小さいことを意味することができる。
図6〜8に示されるイベントは、概して
図3に示される動作に対応する。
【0094】
図6は、オーディオ信号が第1及び第2のパイプラインインスタンスによってほとんど同時に受信される状況を表す。この例では、第1の装置により提供されるオーディオ信号は第2の装置により提供されるオーディオ信号より高いメタデータスコアを有すると仮定する。例えば、第1のオーディオ信号の信号対雑音比または信号振幅は、第2のオーディオ信号のそれより高いものであり得る。オーディオ信号及び付随するメタデータがほとんど同時に受け取られるので、第2のパイプラインインスタンスによって実行される第1の調停は第1のオーディオ信号と関連するキャッシュに登録されたメタデータにアクセスすることが可能で、第1のオーディオ信号が第2のオーディオ信号より高いメタデータスコアを有すると判定することが可能である。この判定に基づいて、第2のパイプラインインスタンスはそれ自体を、ASRを開始する前に中止し、取り消し線テキストに示される動作は実行されない。むしろ、第1のパイプラインインスタンスは、完了の動作を行い、応答を第1の装置に提供する。
【0095】
図7は、第1のパイプラインインスタンスがそのオーディオ信号を受信するより著しく後で、第2のパイプラインインスタンスがそのオーディオ信号を受信する状況を表す。より具体的には、第2のパイプラインインスタンスは、そのオーディオ信号を分析する第1のパイプラインインスタンスのASRコンポーネントの後に、そのオーディオ信号を受信する。
図7はまた、第2の装置により提供されるオーディオ信号は第1のオーディオ装置により提供されるオーディオ信号より高いメタデータスコアを有する仮定する。この場合、第1のパイプラインインスタンスによって実行される第1の調停は第2のオーディオ信号に関していかなるキャッシュに登録されたメタデータにもアクセスすることが可能ではなく、その理由は、第2のオーディオ信号はまだ到着していないからである。むしろ、第1のパイプラインインスタンスの第2の調停は、第2のオーディオ信号と関連するキャッシュに登録されたメタデータにアクセスすることが可能で、そのポイントで第1のパイプラインインスタンスを中止する。この例での第2のパイプラインインスタンスは、完了へと続き、応答を第2の装置に提供する。
【0096】
図8は、第1のパイプラインインスタンスがそのオーディオ信号を受信するより著しく後で、第2のパイプラインインスタンスがそのオーディオ信号を受信する状況を表す。この場合、第2のパイプラインインスタンスは、第1のパイプラインインスタンスがユーザ発言に応じることをすでにコミットした後に、第2のオーディオ信号を受信する。この場合、第2のパイプラインインスタンスによって実行される第1の調停は、第2のオーディオ信号が第1のオーディオ信号より高いメタデータスコアと関連していた可能性がある場合であっても、第1のパイプラインインスタンスがユーザ発言に応じることをすでにコミットしており、ASRを実行する前にそれ自体を中止する、と判定する。
【0097】
図9は、例示音声インタフェース装置102の関連するコンポーネントを示す。音声インタフェース装置102は、ユーザ104とのオーディオ対話を容易にするマイクロホンアレイ902及び1つ以上のオーディオスピーカ904を有する。マイクロホンアレイ902は、音声インタフェース装置102(例えばユーザ104によって口にされる音)の環境からのオーディオを表すマイクロホンオーディオ信号を作成する。マイクロホンアレイ902によって作成されるマイクロホンオーディオ信号は、指向性オーディオ信号を含むことができるかまたは指向性オーディオ信号を作成するために用いることができ、ここで、各指向性オーディオ信号はマイクロホンアレイ902に対する異なる半径方向からのオーディオを強調する。
【0098】
音声インタフェース装置102が1つ以上の統合されたスピーカ904を有するとして説明しているが、他の実施形態で、音声インタフェース装置102はスピーカを含まなくてもよい。例えば、音声インタフェース装置102は、ユーザがコマンドを出すために話すマイクロホン装置を含むことができるか、またはテレビジョンなどの別の電気機器への接続のための装置を含むことができる。一体化したスピーカの代わりに、このような実施形態は、スピーカ及び異なるタイプの専用のスピーカコンポーネントを備えている他の音声インタフェース装置を含む、他の装置のスピーカ能力を使用することができる。1つの例として、音声インタフェース装置102は、外部スピーカを駆動するオーディオ出力信号を作成することができる。別の例として、音声インタフェース装置102は、ブルートゥース接続などの無線データ接続によって外部スピーカを操作するかまたは制御することができる。他の状況では、音声インタフェース装置102からよりはむしろ音声サービス102からオーディオ信号及び他の指示を受け取るスピーカ装置と連動して、音声インタフェース装置102を用いることができる。この場合、
図1の応答114は、音声インタフェース装置102に対してではなく、例えばスピーカ装置に対して提供することができる。
【0099】
音声インタフェース装置102は、処理ユニット906及び関連するメモリ908を含むことができる。処理ユニット906は1つ以上のプロセッサを含むことができ、それは汎用プロセッサ、専門プロセッサ、処理コア、デジタル信号プロセッサなどを含むことができる。音声インタフェース装置102の構成に応じて、メモリ908は、一種の非一時的コンピュータ記憶媒体でもよく、揮発性及び不揮発性のメモリを含むことができる。メモリ908は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術を含むことができるが、これに限定されるものではない。メモリ908は、取り外し可能であるか着脱可能なメモリを含むことができ、ネットワークアクセス可能メモリを含むこともできる。メモリ908は、フラッシュメモリドライブなどの携帯用記憶媒体を含むことができる。
【0100】
メモリ908は、処理ユニット906によって実行可能であるいかなる数のソフトウェアコンポーネントも格納するために用いることができる。メモリ908に格納されるソフトウェアコンポーネントは、音声インタフェース装置102内にある、そしてそれに連結したハードウェア及びサービスを管理するように構成される、オペレーティングシステム910を含むことができる。加えて、メモリ908によって格納される実行可能コンポーネントは、マイクロホンアレイ902を使用してオーディオ信号を作成するように構成されるオーディオ処理コンポーネント912を含むことができる。オーディオ処理コンポーネント912は、マイクロホンアレイ902によって生成されるマイクロホンオーディオ信号及び/またはスピーカ904に提供される出力オーディオ信号を処理するための機能を含むことができる。一例として、オーディオ処理コンポーネント912は、マイクロホンアレイ902とスピーカ904の間の音響結合によって発生する音響エコーを低減するための音響エコーキャンセルまたは抑止コンポーネント914を含むことができる。オーディオ処理コンポーネント912は、ユーザ音声以外のマイクロホンオーディオ信号の要素などの受信オーディオ信号の雑音を低減するための、雑音低減コンポーネント916を含むこともできる。
【0101】
オーディオ処理コンポーネント912は、異なる方向へ焦束される指向性オーディオ信号を生成するように構成される1つ以上の音声ビームフォーマまたはビーム形成コンポーネント916を含むことができる。より具体的には、ビーム形成コンポーネント916はマイクロホンアレイ902の空間的に分離されたマイクロホン素子からオーディオ信号に応答して、音声インタフェース装置102の環境の異なる領域から、または、音声インタフェース装置102と関連する異なる方向から生じている音を強調する指向性オーディオ信号を作成してもよい。ビーム形成コンポーネント916は、いくつかの場合では調停において用いることができるメタデータを作成することができる。例えば、ビーム形成コンポーネント916は、各指向性オーディオ信号に対応する音声活動レベルの信号強度を示すことができる。
【0102】
メモリ908に格納されて、プロセッサ906によって実行される実行可能コンポーネントは、指向性オーディオ信号のうち1つ以上をモニタしてトリガー表現のシステムのユーザ発言を検出する覚醒単語検出コンポーネント920を含むことができる。上述の通り、覚醒単語検出は、例えば、キーワードスポッティング技術を使用して行うことができる。覚醒単語検出コンポーネント920は、覚醒単語が検出された信頼度に対応する、信頼度スコアまたはレベルなどのメタデータを作成することができる。
【0103】
ソフトウェアコンポーネントは、ビーム形成コンポーネント918によって作成される指向性オーディオ信号の音声存在のレベルをモニタするように構成される音声活動検出器922を含むこともできる。音声存在のレベルは、上記で説明したように調停を目的としたメタデータとして用いることができる。
【0104】
装置102のソフトウェアコンポーネントは、装置102からのユーザ104の距離を判定するために用いることができる音源定位(SSL)コンポーネント924を含むこともできる。SSLコンポーネント924は、マイクロホンアレイ902のそれぞれのマイクロホンで受け取った音の到着時間の差を分析して、受け取った音が生じた位置を判定するように構成される。例えば、SSLコンポーネント924は到達時間差(TDOA)技術を使用して、音源の位置または方向を判定することができる。判定された位置は、上記で説明したように調停を実行する目的のためのメタデータとして用いることができる。
【0105】
装置102は、近接度検出コンポーネントまたはシステム926、例えばカメラ、測距装置または装置102に対するユーザ104の位置を判定するために用いる他のセンサを有することができる。ここでも、このようにして作成される位置情報は、調停を目的としたメタデータとして用いることができる。
【0106】
音声インタフェース装置102はまた、図示しない各種のハードウェアコンポーネント、例えば通信コンポーネント、電力コンポーネント、I/Oコンポーネント、信号処理コンポーネントインジケータ、コントロールボタン、増幅器などを有する。
【0107】
音声インタフェース装置102は、広域ネットワーク、ローカルエリアネットワーク、構内ネットワーク、公衆ネットワークなどを含む様々なタイプのネットワーク上の音声サービス112との通信のための通信インタフェース928、例えば無線またはWi−Fiネットワーク通信インタフェース、イーサネット通信インタフェース、携帯電話ネットワーク通信インタフェース、ブルートゥース通信インタフェースなどを備えることができる。無線通信インタフェースの場合には、このようなインタフェースは無線トランシーバ及び、適切な通信プロトコルを実装するための付随する制御回路と論理を含むことができる。
【0108】
図10は、音声サービス112を実施するために用いることができるサーバ1000の関連する論理または関数コンポーネントの例を説明する。概して、音声サービス112は、1つ以上のサーバ1000によって行うことができ、各種の機能は異なるサーバ全体にわたって様々な方法で複製されるかまたは分散される。サーバは、一緒に、または、別々に配置することができ、仮想サーバ、サーババンク及び/またはサーバファームとして構成することができる。本明細書において記載されている機能は、単一の実体または企業のサーバによって提供することができ、あるいは複数の実体または企業のサーバ及び/またはサービスを利用することができる。更にまた、記載されている音声サービスは様々なタイプの機能及びサービスを複数ユーザに提供するより大きな基盤の一部でもよく、本明細書において記載される機能及びサービスには限られていない。
【0109】
非常に基本的な構成において、例示サーバ1000は、処理ユニット1002及び関連するメモリ1004を含むことができる。処理ユニット1002は1つ以上のプロセッサを含むことができ、それは汎用プロセッサ、専用プロセッサ、処理コア、デジタル信号プロセッサなどを含むことができる。サーバ1000の構成に応じて、メモリ1004は、一種の非一時的コンピュータ記憶媒体でもよく、揮発性及び不揮発性のメモリを含むことができる。メモリ1004は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術を含むが、これに限定されるものではない。メモリ1004は、取り外し可能であるか着脱可能なメモリを含むことができ、ネットワークアクセス可能メモリを含むこともできる。メモリ1004は、フラッシュメモリドライブなどの携帯用記憶媒体を含むことができる。
【0110】
メモリ1004は、処理ユニット1002によって実行可能であるいかなる数のソフトウェアコンポーネントも格納するために用いることができる。メモリ1004に格納されるソフトウェアコンポーネントは、サーバ1000内にある、そしてそれに連結したハードウェア及びサービスを管理するように構成される、オペレーティングシステム1006を含むことができる。加えて、メモリ1004によって格納される実行可能ソフトウェアコンポーネントは、音声インタフェース装置102の音声ベースの動作をサポートするサービスコンポーネント1008を含むことができる。サーバ1000は、他のサーバ1000、他のネットワーク化されたコンポーネントと、そして、多くの異なるユーザの住居または他の建物に置くことができる複数の音声インタフェース装置102と通信するための、通信インタフェース1010、例えばイーサネット通信アダプタを備えることもできる。
【0111】
サービスコンポーネント1008のコンポーネントは、オーディオ処理コンポーネント912によって処理された1つ以上のオーディオ信号を受信して、ユーザ音声によって表される意図または意味を理解するために様々なタイプの処理を実行する。概して、音声コンポーネント1008は、(a)ユーザ音声を表す信号を受信して、(b)信号を分析してユーザ音声を認識して、(c)ユーザ音声を分析してユーザ音声の意味を判定して、(d)ユーザ音声の意味に応答する出力音声を生成するように、構成される。
【0112】
サービスコンポーネント1008は、受信したオーディオ信号の人間の音声を認識する自動音声認識(ASR)コンポーネント1012を含むことができる。ASRコンポーネント1012は、指向性オーディオ信号において表される単語の写しを作成する。サービスコンポーネント1008は、ユーザ104の認識された音声に基づいてユーザ意図を判定するように構成される自然言語理解(NLU)コンポーネント1014を含むこともできる。NLUコンポーネント1014は、ASRコンポーネント1012により提供される単語ストリームを分析して、単語ストリームの意味の表現を作成する。例えば、NLUコンポーネント1014は、パーサ及び関連する文法規則を使用して、文を分析し、コンピュータによって容易に処理される方法の概念を伝える形式的に定義された原語で、文の意味の表現を作成することができる。意味は、スロット及びスロット値の階層的なセットまたはフレームとして、意味論的に表すことができ、ここで各スロットは意味論的に定義済みの概念に対応する。NLUは、トレーニングデータから生成されて典型的音声の単語の間の統計依存度に影響を及ぼす統計モデル及びパターンを使用することもできる。
【0113】
サービスコンポーネント1008は、部分的には、スピーカ904でテキストをオーディオに変換して生成するためのテキスト音声変換または音声生成コンポーネント1016によって行うことができる。
【0114】
サービスコンポーネント1008は、NLUコンポーネント1014で判定されるユーザ音声の意味に応答してユーザ104と音声対話を行う役割を果たす対話管理コンポーネント1018を含むこともできる。対話管理コンポーネント1018は、ユーザ音声の意味を分析して、ユーザ音声に応じる方法を決定するために用いる領域論理を含むことができる。対話管理コンポーネント1018は、異なる情報または話題領域、例えばニュース、交通、天気、やることリスト、買い物リスト、音楽、ホームオートメーション、小売サービスなどに関する規則及び行動を定めることができる。領域論理は、口頭のユーザ文をそれぞれの領域にマップして、対話応答及び/または動作を判定してユーザ発言に応答して実行する役割を果たす。
【0115】
サービスコンポーネント1008は、応答がユーザ音声を表す受信オーディオ信号に提供されなければならないかどうかについて、上述のように他のオーディオ信号に関してキャッシュに登録されたメタデータに少なくとも部分的に基づいて判定する、アービタコンポーネント1020を含むことができる。
【0116】
サービスコンポーネント1008は、音声処理パイプラインインスタンス116を形成して、
図3の方法300を実行するために用いられる。
【0117】
メモリ1004は、異なる処理パイプラインインスタンスをインプリメントする複数サーバ1000によってメタデータをキャッシュに登録することができる、メタデータキャッシュ1024を含むことができる。実際には、メタデータキャッシュは、サーバ1000によって行う複数サーバ1000及び複数の音声処理パイプラインインスタンスに、アクセス可能である記憶装置サーバによって、行うことができる。
【0118】
また上述の事項は、以下の条項を考慮して理解することができる。
1. 第1の音声インタフェース装置から第1のオーディオ信号を受信する第1の音声処理パイプラインインスタンスであって、前記第1のオーディオ信号は音声発言を表し、前記第1の音声処理パイプラインインスタンスはまた覚醒単語が前記第1の音声インタフェース装置によって検出された第1の時間を示す第1のタイムスタンプを受信する、前記第1の音声処理パイプラインインスタンスと、
第2の音声インタフェース装置から第2のオーディオ信号を受信する第2の音声処理パイプラインインスタンスであって、前記第2のオーディオ信号は前記音声発言を表し、前記第2の音声処理パイプラインはまた前記覚醒単語が前記第2の音声インタフェース装置によって検出された第2の時間を示す第2のタイムスタンプを受信する、前記第2の音声処理パイプラインインスタンスと
を含み、
前記第1の音声処理パイプラインインスタンスは、
前記第1のオーディオ信号を分析して前記音声発言の単語を判定するように構成される自動音声認識(ASR)コンポーネントと、
前記第1の音声処理パイプラインインスタンスにおいて前記ASRコンポーネントの後に置かれる自然言語理解(NLU)コンポーネントであって、前記音声発言の前記単語を分析して前記音声発言によって表現される意図を判定するように構成される、前記NLUコンポーネントと、
前記第1の音声処理パイプラインインスタンスにおいて前記NLUコンポーネントの後に置かれる応答ディスパッチャであって、前記音声発言への音声応答を指定するように構成される、前記応答ディスパッチャと、
前記第1の音声処理パイプラインインスタンスにおいて前記ASRコンポーネントの前に置かれる第1のソースアービタであって、(a)前記第1のタイムスタンプと前記第2のタイムスタンプの差によって表される時間の量が閾値より小さいと判定し、(b)前記第1のタイムスタンプが前記第2のタイムスタンプより大きいと判定し、(c)前記第1の音声処理パイプラインインスタンスを中止するように構成される、前記第1のソースアービタと
を含む一連の処理コンポーネントを有する、
システム。
【0119】
2. 前記第1の音声処理パイプラインインスタンスは、前記第1のオーディオ信号を分析する前記ASRコンポーネントの後に前記第1のオーディオ信号を受信し、
前記一連の処理コンポーネントは、前記第1の音声処理パイプラインインスタンスにおいて前記ASRコンポーネントの後に第2のソースアービタを含み、前記第2のソースアービタは、(a)前記第1のタイムスタンプと前記第2のタイムスタンプの前記差によって表される前記時間の量が前記閾値より小さいと判定し、(b)前記第1のタイムスタンプが前記第2のタイムスタンプより大きいと判定し、(c)前記第1の音声処理パイプラインインスタンスを中止するように構成される、
条項1に記載のシステム。
【0120】
3. 前記第1の音声インタフェース装置に、前記第1の音声インタフェース装置が前記発言に応答しないことになるという指示を送信するように構成される、条項1に記載のシステム。
【0121】
4. 前記表示は前記第1の音声インタフェース装置に、前記第1のオーディオ信号を前記第1の音声処理パイプラインインスタンスに提供するのを止めさせ、前記第1の音声インタフェース装置が前記覚醒単語の更なる発言を検出するリスニングモードに入らせるデータを含む、条項3に記載のシステム。
【0122】
5. 前記第1の音声処理パイプラインインスタンスはまた、前記第1のオーディオ信号の第1の信号属性を受信し、そこにおいて前記第1の信号属性が、
前記第1のオーディオ信号において検出される音声存在のレベル、
覚醒単語が前記第1の音声インタフェース装置によって検出された信頼度、
前記第1のオーディオ信号の振幅、
前記第1のオーディオ信号の信号対雑音比測定値、または、
前記第1の音声インタフェース装置からのユーザの距離
のうち1つ以上を示し、
前記第2の音声処理パイプラインインスタンスはまた、前記第2のオーディオ信号の第2の信号属性を受信し、そこにおいて前記第2の信号属性が、
前記第2のオーディオ信号において検出される音声存在のレベル、
前記覚醒単語が前記第2の音声インタフェース装置によって検出された信頼度、
前記第2のオーディオ信号の振幅、
前記第2のオーディオ信号の第2の信号対雑音比測定値、または、
前記第2の音声インタフェース装置からの前記ユーザの距離
のうち1つ以上を示し、
前記第1のソースアービタは、前記第1の信号属性を前記第2信号属性と比較して、(a)前記ユーザが前記第1のユーザインタフェース装置より前記第2のユーザインタフェース装置により近接していると判定し、及び(b)前記第1の音声処理パイプラインインスタンスを中止するように、更に構成される、
条項1に記載のシステム。
【0123】
6. 第1の装置によって作成される第1のオーディオ信号を受信することと、
第2の装置によって作成される第2のオーディオ信号を受信することと、
前記第1のオーディオ信号が発言を表すと判定することと、
前記第2のオーディオ信号が前記発言を表すと判定することと、
前記第1のオーディオ信号と関連する1つ以上の第1の属性を受信することと、
前記第2のオーディオ信号と関連する1つ以上の第2の属性を受信することと、
前記1つ以上の第1の属性及び前記1つ以上の第2の属性に少なくとも部分的に基づいて、前記第1の装置が前記発言に応答することになると判定することと
を含む方法。
【0124】
7. 前記第1の装置によって作成される音声を指定するデータを前記第1の装置に送信することを更に含む、条項6に記載の方法。
【0125】
8. 前記第1の装置が結果としてリスニングモードに入ることになる命令を含むデータを前記第2の装置に送信することを更に含む、条項7に記載の方法。
【0126】
9. 前記第1の装置と前記第2の装置の間の関連を示す構成情報を受信すること更に含む、条項6に記載の方法。
【0127】
10. 前記第1の装置及び前記第2の装置がユーザアカウントと関連していると判定することを更に含む、条項6に記載の方法。
【0128】
11. 前記1つ以上の第1の属性を受信することは、前記第1の装置によって前記発言と関連付けられる第1の時間を受信することを含み、
前記1つ以上の第2の属性を受信することは、前記第2の装置によって前記発言と関連付けられる第2の時間を受信することを含み、
前記第2のオーディオ信号が前記発言を表すと判定することは、前記第1の時間と前記第2の時間の間の差によって表される時間が閾値より小さいと判定することを含む、
条項6に記載の方法。
【0129】
12. 前記第1のオーディオ信号上で自動音声認識(ASR)を実行して前記発言の1つ以上の単語を判定することと、
前記発言の前記1つ以上の単語上で自然言語理解(NLU)を実行して前記発言によって表される意図を判定することと
を更に含む、条項6に記載の方法。
【0130】
13. 前記1つ以上の第1の属性を受信することは、前記第1の装置に対するユーザの近接度を受信することを含む、条項6に記載の方法。
【0131】
14. 前記第1の装置が前記発言に応答することになると判定することは、
前記第1のオーディオ信号及び前記第2のオーディオ信号のうちいずれがより高い振幅を有するかを判定すること、
前記第1の装置及び前記第2の装置のうちいずれがより高いレベルの音声存在を検出するかを判定すること、
前記第1のオーディオ信号及び前記第2のオーディオ信号のうちいずれがより高い信号対雑音比測定値を有するかを判定すること、
前記第1の装置及び前記第2の装置のうちいずれがより高いレベルの信頼度を有するトリガー表現を検出するかを判定すること、
前記第1の装置及び前記第2の装置のうちいずれが前記トリガー表現を最初に検出するかを判定すること、
前記第1の装置及び前記第2のうちいずれが能力を有するかを判定すること、
前記第1のオーディオ信号及び前記第2のオーディオ信号のいずれの中で単語がより高いレベルの信頼度によって認識されるかを判定すること、または、
前記第1のオーディオ信号及び前記第2のオーディオ信号のいずれの中で単語によって表される意図がより高いレベルの信頼度によって判定されるかを判定すること
のうち1つ以上を含む、条項6に記載の方法。
【0132】
15. 前記第1の装置が前記発言に応答することになると判定することは、前記第1の装置によって前記発言と関連付けられる第1の時間が、前記第2の装置によって前記発言と関連付けられる第2の時間の前にあると判定することを含む、条項6に記載の方法。
【0133】
16. 1つ以上のプロセッサと、
前記1つ以上のプロセッサ上で実行されるときに、前記1つ以上のプロセッサに、
第1の装置によって作成される第1のオーディオ信号を受信することと、
第2の装置によって作成される第2のオーディオ信号を受信することと、
前記第1のオーディオ信号が発言を表すと判定することと、
前記第2のオーディオ信号が前記発言を表すと判定することと、
前記第1のオーディオ信号と関連する第1の属性を受信することと、
前記第2のオーディオ信号と関連する第2の属性を受信することと、
前記第1の属性及び前記第2の属性に少なくとも部分的に基づいて、前記第1の装置が前記発言に応答することになると判定することと
を含む動作を行わせるコンピュータ実行可能命令を格納する、1つ以上の非一時的コンピュータ可読媒体と
を含む、システム。
【0134】
17. 前記第2のオーディオ信号が前記発言を表すと判定することは、前記第1の装置が前記発言を受信する前記第2の装置の定義済み時間の範囲内で前記発言を受信したと判定することを含む、条項16に記載のシステム。
【0135】
18. 前記第2のオーディオ信号が前記発言を表すと判定することは、前記第1のオーディオ信号と前記第2のオーディオ信号の間の相互相関を算出することを含む、条項16に記載のシステム。
【0136】
19. 前記第2のオーディオ信号が前記発言を表すと判定することは、前記第1のオーディオ信号及び前記第2のオーディオ信号が単語の一致するシーケンスを表すと判定することを含む、条項16に記載のシステム。
【0137】
20. 前記第2のオーディオ信号が前記発言を表すと判定することは、
前記第1のオーディオ信号が第1のユーザ音声を表すと判定することと、
前記第2のオーディオ信号が第2のユーザ音声を表すと判定することと、
前記第1のユーザ音声及び前記第2のユーザ音声が共通の意図に対応すると判定することと
を含む、条項16に記載のシステム。
【0138】
21. 前記第1の装置が前記発言に応答することになると判定することは、
前記第1の装置及び前記第2の装置のうちいずれがユーザに物理的により近いかを判定することと、
前記第1のオーディオ信号及び前記第2のオーディオ信号のうちいずれがより高い信号振幅を有するかを判定することと、
前記第1のオーディオ信号及び前記第2のオーディオ信号のうちいずれがより高い信号振幅を有するかを判定することと、
前記第1のオーディオ信号及び前記第2のオーディオ信号のうちいずれがより高いレベルの音声存在を表すかを判定することと、
前記第1の装置及び前記第2の装置のうちいずれが前記発言への応答を最初に受信するかを判定することと、
前記第1及び第2の装置のうちいずれが前記発言を最初に受信するかを判定することと
のうち1つ以上を含む、条項16に記載のシステム。
【0139】
本主題は、構造的特徴に特有の言語で説明されているが、添付の特許請求の範囲で定義される本主題が必ずしも上述の特定の特徴に限定されないことを理解されたい。むしろ、特定の特徴は、請求項を実施する例示的な形態として開示される。