(57)【要約】  テキスト非依存話者認識モデルが、特定のユーザが口頭の発話をしたことを確認するためおよび/または口頭の発話をしたユーザを特定するために自動化されたアシスタントによって利用され得る。実装は、特定のユーザによる以前の発話に基づいて特定のユーザに関する話者埋め込みを自動的に更新することを含み得る。追加的にまたは代替的に、実装は、テキスト非依存話者認識モデルとテキスト依存話者認識モデルとの両方によって生成された出力を使用して特定のユーザが口頭の発話をしたことを確認することを含み得る。さらに、実装は、追加的にまたは代替的に、どのユーザが口頭の発話をしたかを判定する前に口頭の発話に関連する何人かのユーザのためのコンテンツをプリフェッチすることを含み得る。
2021520511.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実行される方法であって、
クライアントデバイスからネットワークを介して、自動化されたアシスタントの要求を受信するステップであって、前記自動化されたアシスタントの要求が、
前記クライアントデバイスの特定のユーザに関するテキスト非依存(TI)話者埋め込みと、
前記特定のユーザの口頭の入力をキャプチャするオーディオデータであって、前記オーディオデータが、前記クライアントデバイスの1つまたは複数のマイクロフォンによってキャプチャされる、オーディオデータとを含む、ステップと、
TI話者埋め込みがTI話者認識モデルの古いバージョンを使用して生成されたと判定するステップと、
前記TI話者埋め込みが前記TI話者認識モデルの前記古いバージョンを使用して生成されたとの判定に応じて、
TI出力を生成するために、前記TI話者認識モデルの前記古いバージョンを使用して前記オーディオデータの少なくとも一部を処理するステップと、
前記TI出力を前記特定のユーザの前記TI話者埋め込みと比較することによって、前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップと、
前記特定のユーザが前記口頭の入力を言ったとの判定に応じて、
前記オーディオデータに基づく1つまたは複数のアクションを実行するステップと、
更新された話者埋め込みを生成するために、前記TI話者認識モデルの更新されたバージョンを使用して前記特定のユーザの以前の口頭の入力をキャプチャする以前のオーディオデータを処理するステップと、
将来の自動化されたアシスタントの要求によって送信するために前記更新された話者埋め込みを前記クライアントデバイスにローカルに記憶させるために、前記特定のユーザに関する前記更新された話者埋め込みを前記クライアントデバイスに送信するステップとを含む、
方法。
【請求項２】
前記方法を実行する前記1つまたは複数のプロセッサが、前記クライアントデバイスの遠隔にある1つまたは複数のコンピューティングデバイスにあり、
前記方法は、
前記特定のユーザに関する前記更新された話者埋め込みを前記クライアントデバイスに送信したことに応じて、
前記1つまたは複数のコンピューティングデバイスから前記更新された話者埋め込みのすべてのインスタンスを削除するステップをさらに含む、
請求項1に記載の方法。
【請求項３】
TI出力を生成するために、前記TI話者認識モデルの前記古いバージョンを使用して前記オーディオデータの少なくとも一部を処理するステップが、
前記TI出力を生成するために、前記TI話者認識モデルの前記古いバージョンを使用して前記オーディオデータの呼び出しフレーズ部分に加えて前記オーディオデータの追加的な部分を処理することを含む、
請求項1または2に記載の方法。
【請求項４】
TI出力を生成するために、前記TI話者認識モデルの前記古いバージョンを使用して前記オーディオデータの少なくとも一部を処理するステップが、
前記TI出力を生成するために、前記TI話者認識モデルの前記古いバージョンを使用して前記オーディオデータの呼び出しフレーズ部分および前記オーディオデータの追加的な部分を処理することを含む、
請求項1から3のいずれか一項に記載の方法。
【請求項５】
更新された話者埋め込みを生成するために、前記TI話者認識モデルの更新されたバージョンを使用して前記特定のユーザの以前の口頭の入力をキャプチャする前記以前のオーディオデータを処理するステップが、
前記更新された話者埋め込みを生成するために前記TI話者認識モデルの前記更新されたバージョンを使用して前記以前のオーディオデータの複数のインスタンスを処理するステップであって、前記以前のオーディオデータの前記インスタンスの各々が前記特定のユーザの以前の口頭の入力をキャプチャする、ステップを含む、
請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記以前のオーディオデータの複数のインスタンスが1つまたは複数の基準を満たすことに基づいて、前記以前のオーディオデータの前記複数のインスタンスを選択するステップをさらに含む、
請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記1つまたは複数の基準が、前記以前のオーディオデータの前記複数のインスタンスの各々に関する長さの基準および前記以前のオーディオデータの前記複数のインスタンスに関する多様性の基準のうちの1つまたは複数を含む、
請求項6に記載の方法。
【請求項８】
前記以前のオーディオデータの前記インスタンスの中の以前のオーディオデータのインスタンスを、前記特定のユーザの前記口頭の入力をキャプチャする前記オーディオデータによって置き換えるステップであって、前記置き換えるステップが、
複数の以前のオーディオデータの中の以前のオーディオデータの各インスタンスの長さを決定し、
前記特定のユーザの前記口頭の入力をキャプチャする前記オーディオデータの長さを決定し、
前記オーディオデータの前記長さを以前のオーディオデータの各インスタンスの前記長さと比較し、
比較に基づいて前記オーディオデータが以前のオーディオデータの1つまたは複数のインスタンスよりも長いとの判定に応じて、最も短い長さを有する以前のオーディオデータの前記インスタンスを前記オーディオデータによって置き換えることによって行われる、ステップをさらに含む、
請求項5に記載の方法。
【請求項９】
前記TI話者埋め込みが前記TI話者認識モデルの古いバージョンを使用して生成されたと判定するステップが、
前記TI話者埋め込みに関するバージョン識別子に少なくとも部分的に基づき、前記バージョン識別子が、前記自動化されたアシスタントの要求に含まれる、
請求項1から8のいずれか一項に記載の方法。
【請求項１０】
前記オーディオデータに基づく1つまたは複数のアクションを実行するステップが、
前記オーディオデータに基づいて1つまたは複数の周辺デバイスを制御することを含む、
請求項1から9のいずれか一項に記載の方法。
【請求項１１】
前記オーディオデータに基づく1つまたは複数のアクションを実行するステップが、
前記特定のユーザのためにカスタマイズされ、前記オーディオデータに基づく応答コンテンツを生成するステップと、
前記クライアントデバイスに前記応答コンテンツに基づく出力をレンダリングさせるステップとを含む、
請求項1から10のいずれか一項に記載の方法。
【請求項１２】
前記更新された話者埋め込みを生成することが、前記クライアントデバイスに前記応答コンテンツに基づく出力をレンダリングさせた後に完了される、
請求項11に記載の方法。
【請求項１３】
前記自動化されたアシスタントの要求が、前記クライアントデバイスのローカルに記憶されたテキスト依存(TD)話者認識モデルを使用しておよび前記クライアントデバイスのローカルに記憶されたTD話者埋め込みを使用して前記クライアントデバイスのローカルで生成されたTDユーザ測定値をさらに含み、
前記TD話者埋め込みが、前記特定のユーザに関するものであり、
前記TI出力を前記特定のユーザの前記話者埋め込みと比較することによって、前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップが、
前記TI出力を前記話者埋め込みと比較することによってTIユーザ測定値を決定するステップと、
前記TDユーザ測定値と前記TIユーザ測定値との両方を使用して前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップとをさらに含む、
請求項1から12のいずれか一項に記載の方法。
【請求項１４】
前記TDユーザ測定値と前記TIユーザ測定値との両方を使用して前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップが、
前記TDユーザ測定値と前記TIユーザ測定値とを組み合わせることによって、前記特定のユーザが前記口頭の入力を言った確率を示す特定のユーザの確率の測定値を決定するステップと、
前記特定のユーザの確率の測定値が閾値を満たすかどうかを判定することによって、前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップとを含む、
請求項13に記載の方法。
【請求項１５】
前記方法は、
前記話者埋め込みが前記TI話者認識モデルの前記古いバージョンを使用して生成されたとの判定に応じて、
第1のユーザプロファイルおよび第2のユーザプロファイルが前記自動化されたアシスタントの要求に関連すると判定するステップと、
前記第1のユーザプロファイルおよび前記第2のユーザプロファイルが前記自動化されたアシスタントの要求に関連するとの判定に応じて、
第1のユーザのためにカスタマイズされかつ前記口頭の入力に応答する第1の応答コンテンツの生成を開始するステップと、
第2のユーザのためにカスタマイズされかつ前記口頭の入力に応答する第2の応答コンテンツの生成を開始するステップと、
前記第1の応答コンテンツおよび前記第2の応答コンテンツの生成を完了する前に、TI出力を生成するために前記TI話者認識モデルを使用してオーディオデータの少なくとも前記一部を処理するステップと、
前記TI出力を前記第1のユーザの話者埋め込みと比較することによって、前記特定のユーザが前記第1のユーザであるかどうか、および前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップとをさらに含み、
前記方法は、
前記特定のユーザが前記口頭の入力を言ったとの判定に応じて、
前記第2の応答コンテンツを前記クライアントデバイスに送信することなく前記第1の応答コンテンツを前記クライアントデバイスに送信するステップをさらに含む、
請求項11に記載の方法。
【請求項１６】
1つまたは複数のプロセッサによって実行される方法であって、
クライアントデバイスからネットワークを介して、自動化されたアシスタントの要求を受信するステップであって、前記自動化されたアシスタントの要求が、
ユーザの口頭の入力をキャプチャするオーディオデータであって、前記オーディオデータが、前記クライアントデバイスの1つまたは複数のマイクロフォンにおいてキャプチャされる、オーディオデータと、
前記クライアントデバイスのローカルに記憶されたテキスト依存(TD)話者認識モデルを使用して、かつ前記クライアントデバイスのローカルに記憶されたTD話者埋め込みを使用して、前記クライアントデバイスのローカルで生成されたTDユーザ測定値であって、前記TD話者埋め込みが、特定のユーザに関するものである、TDユーザ測定値とを含む、ステップと、
テキスト非依存(TI)出力を生成するために、TI話者認識モデルを使用して前記オーディオデータの少なくとも一部を処理するステップと、
TI出力を、前記自動化されたアシスタントの要求に関連付けられかつ前記特定のユーザに関するものであるTI話者埋め込みと比較することによってTIユーザ測定値を決定するステップと、
前記TDユーザ測定値と前記TIユーザ測定値との両方を使用して、前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップと、
前記口頭の入力が前記特定のユーザによって言われたとの判定に応じて、
前記口頭の入力に応答し前記特定のユーザのためにカスタマイズされる応答コンテンツを生成するステップと、
前記クライアントデバイスに前記応答コンテンツに基づく出力をレンダリングさせるために前記クライアントデバイスに前記応答コンテンツを送信するステップとを含む、
方法。
【請求項１７】
前記クライアントデバイスから前記ネットワークを介して受信された前記自動化されたアシスタントの要求が、前記特定のユーザに関する前記TI話者埋め込みをさらに含む、
請求項16に記載の方法。
【請求項１８】
前記TDユーザ測定値と前記TIユーザ測定値との両方を使用して、前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップが、
前記TDユーザ測定値と前記TIユーザ測定値とを組み合わせることによって、前記特定のユーザが前記口頭の入力を言った確率を示す特定のユーザの確率の測定値を決定するステップと、
前記特定のユーザの確率の測定値が閾値を満たすかどうかを判定することによって、前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップとを含む、
請求項16または請求項17に記載の方法。
【請求項１９】
前記TDユーザ測定値と前記TIユーザ測定値とを組み合わせることが、組み合わせる際に前記TDユーザ測定値のために第1の重みを利用することと、組み合わせる際に前記TIユーザ測定値のために第2の重みを利用することとを含む、
請求項18に記載の方法。
【請求項２０】
前記オーディオデータまたは前記口頭の入力の長さに基づいて、前記第1の重みおよび前記第2の重みを決定するステップをさらに含む、
請求項19に記載の方法。
【請求項２１】
前記TDユーザ測定値の大きさに基づいて、前記第1の重みおよび前記第2の重みを決定するステップをさらに含む、
請求項19または請求項20に記載の方法。
【請求項２２】
前記方法は、
前記TDユーザ測定値が閾値を満たすことができないと判定するステップをさらに含み、
TI出力を生成するために前記オーディオデータの前記一部を処理するステップ、前記TIユーザ測定値を決定するステップ、および前記TDユーザ測定値と前記TIユーザ測定値との両方を使用して前記特定のユーザが前記口頭の入力を言ったかどうかを判定するステップが、前記TDユーザ測定値が前記閾値を満たすことができないとの判定に応じてのみ実行される、
請求項16から21のいずれか一項に記載の方法。
【請求項２３】
1つまたは複数のプロセッサによって実行される方法であって、
クライアントデバイスからネットワークを介して、自動化されたアシスタントの要求を受信するステップであって、前記自動化されたアシスタントの要求が、
口頭の入力をキャプチャするオーディオデータであって、前記オーディオデータが前記クライアントデバイスの1つまたは複数のマイクロフォンにおいてキャプチャされる、オーディオデータを含む、ステップと、
第1のユーザプロファイルおよび第2のユーザプロファイルが前記自動化されたアシスタントの要求に関連すると判定するステップと、
前記第1のユーザプロファイルおよび前記第2のユーザプロファイルが前記自動化されたアシスタントの要求に関連するとの判定に応じて、
第1のユーザのためにカスタマイズされかつ前記口頭の入力に応答する第1の応答コンテンツの生成を開始するステップと、
第2のユーザのためにカスタマイズされかつ前記口頭の入力に応答する第2の応答コンテンツの生成を開始するステップと、
前記第1の応答コンテンツおよび前記第2の応答コンテンツの生成を完了する前に、テキスト非依存(TI)出力を生成するためにTI話者認識モデルを使用して前記オーディオデータの少なくとも一部を処理するステップと、
前記第1のユーザプロファイルに対応する第1のユーザの話者埋め込みをTI出力と比較することによって、前記第1のユーザが前記口頭の入力を言ったと判定するステップと、
前記第1のユーザが前記口頭の入力を言ったとの判定に応じて、
前記第2の応答コンテンツを前記クライアントデバイスに送信することなく前記第1の応答コンテンツを前記クライアントデバイスに送信するステップとを含む、
方法。
【請求項２４】
前記第1のユーザが前記口頭の入力を言ったと判定するステップが、前記第2のユーザのためにカスタマイズされた前記第2の応答コンテンツの生成を完了する前に行われ、
前記方法は、
前記第1のユーザが前記口頭の入力を言ったとの判定に応じて、
前記第2のユーザのためにカスタマイズされた前記第2の応答コンテンツの生成を停止するステップをさらに含む、
請求項23に記載の方法。
【請求項２５】
前記第1のユーザプロファイルおよび前記第2のユーザプロファイルに加えて第3のユーザプロファイルが前記自動化されたアシスタントの要求に関連すると判定するステップと、
前記第3のユーザプロファイルが前記自動化されたアシスタントの要求に関連するとの判定に応じて、
第3のユーザのためにカスタマイズされかつ前記口頭の入力に応答する第3の応答コンテンツの生成を開始するステップとをさらに含む、
請求項23または請求項24に記載の方法。
【請求項２６】
前記第1のユーザが前記口頭の入力を言ったと判定するステップが、前記自動化されたアシスタントの要求に含まれる前記第1のユーザプロファイルに関するテキスト依存(TD)ユーザ測定値にさらに基づく、
請求項23から25のいずれか一項に記載の方法。
【請求項２７】
前記自動化されたアシスタントの要求が、前記第1のユーザプロファイルに関する第1のテキスト依存(TD)測定値および前記第2のユーザプロファイルに関する第2のTD測定値をさらに含み、
前記第1の応答コンテンツの生成を開始するステップおよび前記第2の応答コンテンツの生成を開始するステップが、第1のTD測定値および前記第2のTD測定値が1つまたは複数の閾値を満たすことができないことにさらに応じて行われる、
請求項23から26のいずれか一項に記載の方法。
【請求項２８】
1つまたは複数の自動化されたアシスタントサーバであって、前記アシスタントサーバは、
1つまたは複数のプロセッサと、
請求項1から27のいずれか一項に記載の方法を、前記1つまたは複数のプロセッサに実行させるための命令を記憶するメモリとを含む、
アシスタントサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、テキスト非依存話者認識に関する。
【背景技術】
【０００２】
自動化されたアシスタント(「パーソナルアシスタント」、「モバイルアシスタント」などとしても知られる)は、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、自動車システム、スタンドアロンのパーソナルアシスタントデバイスなどの様々なクライアントデバイスを介してユーザによってインタラクションされる可能性がある。自動化されたアシスタントは、口頭の自然言語入力(つまり、発話)を含むユーザからの入力を受け取り、アクションを行うことによって、別のデバイスを制御することによって、ならびに/または応答コンテンツ(たとえば、視覚的および/もしくは可聴自然言語出力)を提供することによって応答する可能性がある。クライアントデバイスを介してインタラクションされる自動化されたアシスタントは、クライアントデバイス自体によって、および/またはクライアントデバイスとネットワーク通信する1つもしくは複数の遠隔のコンピューティングデバイス(たとえば、クラウドのコンピューティングデバイス)によって実装される可能性がある。
【０００３】
自動化されたアシスタントは、ユーザの口頭の発話に対応するオーディオデータを対応するテキスト(またはその他の意味表現)に変換することができる。たとえば、オーディオデータは、自動化されたアシスタントを含むクライアントデバイスの1つまたは複数のマイクロフォンによるユーザの口頭の発話の検出に基づいて生成され得る。自動化されたアシスタントは、口頭の発話によって生成された音(たとえば、音素)、発音された音の順序、話のリズム、イントネーションなどのオーディオデータ内でキャプチャされた口頭の発話の様々な特徴を認識しようと試みる音声認識エンジンを含み得る。さらに、音声認識エンジンは、そのような特徴によって表されるテキストの単語またはフレーズを識別することができる。それから、テキストは、口頭の発話に関する応答コンテンツを決定する際に(たとえば、自然言語理解エンジンおよび/または対話状態エンジンを使用して)自動化されたアシスタントによってさらに処理され得る。音声認識エンジンは、クライアントデバイスによって、ならびに/またはクライアントデバイスの遠隔にあるがクライアントデバイスとネットワーク通信する1つもしくは複数の自動化されたアシスタント構成要素によって実装され得る。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書において説明される技術は、口頭の発話をキャプチャするオーディオデータの処理に基づくテキスト非依存(TI)話者認識を対象とする。しかし、応答コンテンツを提供することに加えてまたは応答コンテンツを提供する代わりに、スマートロック、スマートアラームシステム、スマートスイッチ、および/またはスマートサーモスタットなどであるがこれらに限定されないその他のデバイスの制御などのその他のアクションが実行される/実行されるようにされ得ることは、もちろん理解されるであろう。そのような例において、その他のデバイスは、特定の認可されたユーザが特定の口頭の発話をしたことを確認することに応じて制御されるようにされるのみである可能性がある。話者認識が、ユーザが特定の口頭の発話をしたことを確認するためにユーザの許可を得て使用され得る。ユーザが特定の口頭の発話をしたことを確認することに応じて、特定の口頭の発話に応答してコンテンツが提供されることが可能であり、そのコンテンツは特定の口頭の発話に応じ、かつユーザのためにカスタマイズされる。話者認識は、出力を生成するために口頭の発話をキャプチャするオーディオデータを話者認識モデルを使用して処理することと、出力をユーザに関する話者埋め込み(たとえば、ユーザのユーザプロファイルに関連する埋め込み)と比較することとを含み得る。たとえば、生成された出力とユーザに関する話者埋め込みとの間の距離測定基準が閾値を満たす場合、ユーザは、特定の口頭の発話をしたユーザとして確認され得る。ユーザに関する話者埋め込みは、ユーザからのものである口頭の発話を含むオーディオデータの1つまたは複数のインスタンスの処理に基づいて生成された出力に基づいて生成され得る。たとえば、話者埋め込みは、ユーザからの対応する口頭の発話を含むオーディオデータの対応するインスタンスの処理に基づいてそれぞれ生成される複数の異なる埋め込みの平均(またはその他の組合せ)に基づき得る。
【０００５】
テキスト依存(TD)話者認識において、ユーザの話者埋め込みは、1つもしくは複数の特定の単語および/または1つもしくは複数の特定のフレーズのみを含む口頭の発話に基づいて生成される。さらに、使用するとき、ユーザは、話者埋め込みに十分に一致するTD話者認識モデルを使用して出力が生成されるために1つまたは複数の特定の単語/フレーズを言わなければならない。一例として、TD話者認識の1つまたは複数の特定の単語/フレーズは、自動化されたアシスタントを呼び出すように構成された1つまたは複数の呼び出しフレーズに制約され得る。自動化されたアシスタントのための呼び出しフレーズは、たとえば、「ヘイ、アシスタント」、「OK、アシスタント」、および/または「アシスタント」などの1つまたは複数のホットワード/トリガワードを含む。
【０００６】
対照的に、TI話者認識において、TI話者認識モデルを使用して処理される口頭の発話は、特定の単語および/または特定のフレーズに制約されない。言い換えると、実質的に任意の口頭の発話に基づくオーディオデータが、口頭の発話が特定のユーザからのものであるかどうかを判定するために特定のユーザに関するTI話者埋め込みと効果的に比較され得る出力を生成するためにTI話者認識モデルを使用して処理され得る。さらに、様々な実装において、TI話者認識で利用されるユーザに関する話者埋め込みは、全く異なる単語および/またはフレーズを含む口頭の発話に基づいて生成される。
【０００７】
様々な実装において、特定のユーザに関する1つまたは複数の話者埋め込みは、特定のユーザに関連するクライアントデバイスに記憶される(たとえば、クライアントデバイスが、特定のユーザに関するユーザプロファイルに関連付けられ、ローカルに記憶された話者埋め込みが、ユーザプロファイルに関連付けられる)。さらに、複数のユーザが、同じクライアントデバイスに関連付けられることが可能であり、したがって、何人かの特定のユーザに関する複数の話者埋め込みが、クライアントデバイスに記憶されることが可能である(たとえば、クライアントデバイスが、何人かの特定のユーザに関するユーザプロファイルに関連付けられ、各ユーザプロファイルが、関連する特定のユーザに関する少なくとも1つの話者埋め込みを含む)。(話者埋め込みをサーバなどの遠隔のコンピューティングデバイスに記憶することとは対照的に)話者埋め込みをクライアントデバイスに記憶することは、データセキュリティを守るのに役立ち得る。様々な実装において、TD話者認識は、クライアントデバイスにおいて行われ得る。一方、TI話者認識は、計算コストが高く(たとえば、プロセッサおよび/もしくはメモリリソース)なり得る、ならびに/または大量の記憶空間を必要とするTI話者認識モデルに依拠し得る。したがって、多くの実装において、TI話者認識は、遠隔のコンピューティングデバイスのより堅牢なリソースを利用することができる遠隔のコンピューティングデバイス(たとえば、1つまたは複数のサーバ)により適し得る。追加的にまたは代替的に、多くの実装において、TI話者認識は、クライアントデバイスにおいて行われ得る。たとえば、クライアントデバイスにおいてTI話者認識を実行するとき、漸進的な確認の結果が、クライアントデバイスからサーバに送信され得る。さらに、様々な実装において、TI話者埋め込みは、クライアントデバイスのローカルに記憶され、発話の話者の(遠隔のコンピューティングデバイスによる)確認のためのTI話者埋め込みの使用を可能にするために、口頭の発話をキャプチャするオーディオデータとともに遠隔のコンピューティングデバイスに送信され得る。様々な実装において、遠隔のコンピューティングデバイスにおいてオーディオデータとともに受信され、TI話者認識に利用される話者埋め込みは、それらが話者認識プロセスに使用された後直ちに遠隔のコンピューティングデバイスから削除されることが可能であり、したがって、データセキュリティを守り、悪意のある行為を行う者がコンテンツにアクセスするまたはデバイスを制御することを認可されることなくそのようなことを行うために話者埋め込みを利用する目的で話者埋め込みにアクセスする機会を減らす。
【０００８】
本明細書において開示される一部の実装は、話者認識にTD話者認識モデルとTI話者認識モデルとの両方を少なくとも選択的に利用することを対象とする。たとえば、口頭の発話をキャプチャするオーディオデータの呼び出し部分が、TD出力を生成するためにTD話者認識モデルを使用して処理され得る。そして、TD出力が、所与のユーザに関するTDユーザ測定値を生成するために所与のユーザに関するTD話者埋め込みと比較され得る。たとえば、TDユーザ測定値は、TD出力とTD話者埋め込みとの間の(埋め込み空間内の)距離に基づくことが可能である。さらに、口頭の発話をキャプチャするオーディオデータの少なくとも追加的な部分が、TI出力を生成するためにTI話者認識モデルを使用して処理され得る。そして、TI出力が、所与のユーザに関するTIユーザ測定値を生成するために所与のユーザに関するTI話者埋め込みと比較され得る。たとえば、TIユーザ測定値は、TI出力とTI話者埋め込みとの間の(埋め込み空間内の)距離に基づくことが可能である。
【０００９】
TDユーザ測定値とTIユーザ測定値との両方が、所与のユーザが口頭の発話の話者であるかどうかを判定する際に組み合わせて少なくとも選択的に利用され得る。たとえば、TDユーザ測定値およびTIユーザ測定値は、所与のユーザが口頭の発話の話者であるかどうかを判定する際に、それぞれの閾値とそれぞれ比較されることが可能であり、平均され(もしくはその他の方法で組み合わされ)、閾値と比較されることが可能であり、および/またはそれ以外の方法で組み合わせて考慮されることが可能である。TDユーザ測定値とTIユーザ測定値との両方の利用は、話者認識の堅牢性および/または正確性を高めることができる。これは、(たとえば、データの)セキュリティを損なう可能性がある誤検出を減らす、および/またはそれぞれのユーザが口頭の発話を再び与える必要がある結果となり得る検出漏れを減らす--計算およびネットワークリソースが口頭の発話を再び処理し、送信することに浪費されることを防止することができる。
【００１０】
一部の実装において、TI話者認識モデルは、TDユーザ測定値が閾値を満たすことができないときにのみ話者認識に利用される。たとえば、所与のユーザに関するTDユーザ測定値が所与のユーザが口頭の入力の話者であることを高い信頼性で示す場合、TI話者認識は、省かれ得る。これは、TD話者認識が単独で高い信頼性で話者を認識するときにTI話者認識の実行を回避することによって計算リソースを節約することができる。一部の実装においては、TIユーザ測定値とTDユーザ測定値との両方が話者認識に利用されるとき、2つの測定値に関するそれぞれの重みが、話者が認識されている要求の1つまたは複数の特徴に基づいて動的に決定され得る。そのような特徴は、たとえば、要求の口頭の発話の長さ(たとえば、全体の長さ、もしくは少なくとも要求の任意の呼び出しでない部分の長さ)、および/またはTDユーザ測定値の大きさを含み得る。たとえば、TIユーザ測定値は、要求「OK、アシスタント。何かあった」と比較して要求「OK、アシスタント。次の5つの予定は何」に関してより重く重み付けされ得る。そのようなより重い重み付けは、--TI話者認識モデルを使用してより長いオーディオデータを処理することがより正確なTIユーザ測定値の生成につながり得るので--「次の5つの予定は何」が「何かあった」よりも(継続時間の点でおよび/または語/文字の点で)長いことに少なくとも部分的に基づき得る。別の例として、TIユーザ測定値は、TDユーザ測定値が高い度合いの信頼性を示さないときと比較して、TDユーザ測定値が高い度合いの信頼性を示すときにより軽く重み付けされ得る。TIおよびTDユーザ測定値のそのような動的な重み付けは、正確な話者認識につながる可能性がより高い方法で重み付けを変えることによって誤検出および/または検出漏れを減らすことができる。
【００１１】
上述の例は、単一のユーザに関連する埋め込みおよび測定値に関連して説明されている。しかし、本明細書において説明されるように、様々な状況において、クライアントデバイスは、それぞれが別個の話者埋め込みを有する(たとえば、それぞれのTI話者埋め込みおよびそれぞれのTD話者埋め込みをそれぞれ有する)複数のユーザに関連付けられ得る。それらの状況において、複数のユーザの各々に関するそれぞれのTDユーザ測定値およびそれぞれのTIユーザ測定値が、複数のユーザのうちの誰が口頭の発話をしたかを認識する際に利用され得る。
【００１２】
本明細書において開示される一部の実装は、追加的にまたは代替的に、要求に関連する複数のユーザの各々のための応答コンテンツの決定を開始することを対象とし、開始することは、複数のユーザのうちの誰が要求のオーディオデータ内でキャプチャされた口頭の発話をしたのかを(たとえば、TI話者認識モデルを使用して)判定することを完了する前に行われる。そして、特定のユーザのための応答コンテンツは、特定のユーザが要求のオーディオデータ内でキャプチャされた口頭の発話をしたとの判定に応じて、要求に応じてレンダリングされるようにされ得る。複数のユーザの各々のための応答コンテンツの決定を開始することは、複数のユーザのうちの誰が口頭の発話をしたのかが判定される前に応答コンテンツが生成され始めることを可能にし得る。結果として、特定のユーザのための応答コンテンツは、特定のユーザのための応答コンテンツの生成を開始する前に特定のユーザの認識を待つのと比較して削減されたレイテンシーで生成され得るおよび/もしくはレンダリングされ得る(またはアクションが実行され得る)。任意で、特定のユーザがその他のユーザのための応答コンテンツの生成の完了前に認識される場合、その他のユーザのための応答コンテンツの生成は、いかなるさらなる計算および/またはネットワークリソースもその他のユーザのそのような応答コンテンツを生成し続けることに利用されないようにするために停止され得る。
【００１３】
さらに、様々な実装において、要求に関連する複数のユーザの各々のための応答コンテンツの決定を開始することは、それらの複数のユーザに関する最初に決定されたTD測定値が1つまたは複数の閾値を満たすことに応じてのみ行われる。たとえば、本明細書において説明されるように、TD測定値は、様々な状況においてTI測定値の前に生成されることが可能であり、および/または受信された要求に含まれる(もしくは少なくとも示される)ことが可能である。要求に関連する3人のユーザのうちの2人に関するTD測定値が閾値を満たす場合、それら2人のユーザのための応答コンテンツの生成が、先に開始され得る(しかし、応答コンテンツの生成は、閾値を満たすことができないTD測定値を有するその他のユーザに関しては先に開始されない)。ユーザのうちの1人に関するTD測定値のみが閾値を満たす場合、任意で、応答コンテンツの生成は、その1人のユーザのみに関して先に開始され得る。要求に関連する3人のユーザ全員に関するTD測定値が閾値を満たす場合、3人のユーザ全員のための応答コンテンツの生成が、先に開始され得る。
【００１４】
一部の実装は、追加的にまたは代替的に、所与のユーザに関するTI話者埋め込みの更新されたバージョンを更新されたTI話者認識モデルを使用して自動的に生成することを対象とする。それらの実装の一部においては、要求が、クライアントデバイスから受信され、要求は、所与のユーザの口頭の入力をキャプチャするオーディオデータを含み、所与のユーザに関する話者埋め込みのあるバージョンを含む。それらの実装の一部のバージョンにおいては、話者埋め込みのそのバージョンが古いTI話者認識モデルを使用して生成されたとの判定に応じて、所与のユーザに関する話者埋め込みの更新されたバージョンが、生成される。たとえば、話者埋め込みのそのバージョンは、要求に含まれる話者埋め込みのバージョンに関するバージョン識別子に基づいて古いTI話者認識モデルを使用して生成されたと判定され得る。話者埋め込みの古いバージョンは、それでもなお、所与のユーザを要求のオーディオデータに含まれる口頭の入力を言ったものとして認識する際に利用されることが可能であり、口頭の入力に応答し所与のユーザのためにカスタマイズされた応答コンテンツが、生成されることが可能である。話者埋め込みの古いバージョンは、出力を生成するためにオーディオデータの少なくとも一部を処理する際にTI話者認識モデルの古いバージョンを利用し、生成された出力を話者埋め込みの古いバージョンと比較することによって所与のユーザの認識に利用され得る。応答コンテンツは、要求に応じてクライアントデバイスに送信されることが可能であり、それによって、クライアントデバイスにおいて応答コンテンツ(またはその変換)のレンダリングを引き起こす。TI話者認識モデルの古いバージョンの利用は、更新された話者埋め込みの生成を待つ必要なしに古い話者埋め込みを含む要求に対して話者認識が実行されることを可能にする。これは、更新された話者埋め込みモデルの展開にもかかわらず古い話者埋め込みの継続されたサポートを可能にし得る。さらに、これは、--ユーザを確認するために更新された話者埋め込みの生成を待たなければならない(この場合、更新された話者埋め込みの生成が望ましくないレイテンシーをもたらし得る)代わりに--話者を認識するためにおよび任意で認識された話者のためにカスタマイズされたコンテンツを送信するために古い話者埋め込みが利用され得るので、古い話者埋め込みを含む要求への応答を生成する際のレイテンシーを減らし得る。加えて、技術は、すべてのユーザに関する更新された話者埋め込みの生成および提供に関連する計算負荷を分散させながら、所与のユーザに関するTI話者埋め込みの最新のバージョンが大抵の場合使用されることを保証する。さらに、TI話者埋め込みのそのバージョンが所与のユーザからコンテンツを含む要求を受信するときにのみ生成されるので、TI話者埋め込みの更新されたバージョンは、アシスタントシステムをもはや利用しないかまたはほんのたまにしか利用しないユーザに関して自動的に生成および提供されない。
【００１５】
話者埋め込みの更新されたバージョンは、(ユーザの許可を得て)記憶され、ユーザによって言われたと判定された過去の口頭の発話をそれぞれキャプチャするオーディオデータの過去のインスタンスに基づいて生成され得る。それらの様々な実装の一部において、話者埋め込みを生成するために選択されるオーディオデータの過去のインスタンスは、埋め込みの堅牢性を高めようとする1つまたは複数の基準に基づいて選択される(それによって、話者埋め込みに基づく堅牢なTI話者認識を保証する)。たとえば、オーディオデータのインスタンスの集合が集合的に多様である発話(たとえば、音声学的に多様な、単語が多様な、および/またはその他の多様な特徴)を含むことに基づいて選択されること、オーディオデータの1つまたは複数のインスタンスが少なくとも閾値の長さである発話を含むことに基づいて選択されることなどが可能である。やはり、1つまたは複数の基準を満たすオーディオデータの過去のインスタンスを利用することは、より堅牢な埋め込みをもたらし得る。さらに、過去のインスタンスを利用することは、ユーザが時間がかかり得る、ならびに登録の発話を処理する際の計算リソースおよび/または登録の発話に対応するオーディオデータを送信する際のネットワークリソースなどのリソースを不必要に消費し得る複数の登録の発話を再び与える必要を減らすことができる。生成されると、更新された話者埋め込みは、将来の要求と一緒に送信するために更新された話者埋め込みをクライアントデバイスにローカルに記憶させるためにクライアントデバイスに送信され得る。更新された話者埋め込みが古い話者埋め込みを含むと判定される要求に応じて生成されるとき、更新された話者埋め込みは、要求に応答し、古いTI話者埋め込みを利用して生成される応答コンテンツの送信後に任意で送信され得る。上述のように、古いTI話者認識モデルの利用は、更新されたTI話者埋め込みの生成がまだ行われている間に、応答コンテンツ(またはアクション)が迅速に、削減されたレイテンシーで生成され、提供されることを可能にし得る。
【００１６】
上の説明は、本明細書において開示される様々な実装の概要として提供されている。それらの様々な実装および追加的な実装が、本明細書においてより詳細に説明される。
【００１７】
一部の実装においては、1つまたは複数のプロセッサによって実行される方法であって、クライアントデバイスから、ネットワークを介して、クライアントデバイスの特定のユーザに関するテキスト非依存(TI)話者埋め込み、および特定のユーザの口頭の入力をキャプチャするオーディオデータであって、オーディオデータがクライアントデバイスの1つまたは複数のマイクロフォンによってキャプチャされる、オーディオデータを含む自動化されたアシスタントの要求を受信するステップを含む、方法が提供される。方法は、TI話者埋め込みがTI話者認識モデルの古いバージョンを使用して生成されたと判定するステップをさらに含む。方法は、話者埋め込みがTI話者認識モデルの古いバージョンを使用して生成されたとの判定に応じて、TI出力を生成するためにTI話者認識モデルの古いバージョンを使用してオーディオデータの少なくとも一部を処理するステップをさらに含む。方法は、TI出力を特定のユーザの話者埋め込みと比較することによって特定のユーザが口頭の入力を言ったかどうかを判定するステップをさらに含む。方法は、特定のユーザが口頭の入力を言ったとの判定に応じて、オーディオデータに基づく1つまたは複数のアクションを実行するステップと、更新された話者埋め込みを生成するためにTI話者認識モデルの更新されたバージョンを使用して特定のユーザの以前の口頭の入力をキャプチャする以前のオーディオデータを処理するステップと、クライアントデバイスに、将来の自動化されたアシスタントの要求によって送信するために更新された話者埋め込みをローカルに記憶させるために特定のユーザに関する更新された話者埋め込みをクライアントデバイスに送信するステップとをさらに含む。
【００１８】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、以下の特徴のうちの1つまたは複数を含み得る。
【００１９】
一部の実装において、方法を実行する1つまたは複数のプロセッサは、クライアントデバイスの遠隔にある1つまたは複数のコンピューティングデバイスにあり、方法は、特定のユーザに関する更新された話者埋め込みをクライアントデバイスに送信したことに応じて、1つまたは複数のコンピューティングデバイスから更新された話者埋め込みのすべてのインスタンスを削除するステップをさらに含む。
【００２０】
一部の実装において、TI出力を生成するためにTI話者認識モデルの古いバージョンを使用してオーディオデータの少なくとも一部を処理するステップは、TI出力を生成するためにTI話者認識モデルの古いバージョンを使用してオーディオデータの呼び出しフレーズ部分に加えてオーディオデータの追加的な部分を処理することを含む。
【００２１】
一部の実装において、TI出力を生成するためにTI話者認識モデルの古いバージョンを使用してオーディオデータの少なくとも一部を処理するステップは、TI出力を生成するためにTI話者認識モデルの古いバージョンを使用してオーディオデータの呼び出しフレーズ部分およびオーディオデータの追加的な部分を処理することを含む。
【００２２】
一部の実装において、更新された話者埋め込みを生成するためにTI話者認識モデルの更新されたバージョンを使用して特定のユーザの以前の口頭の入力をキャプチャする以前のオーディオデータを処理するステップは、更新された話者埋め込みを生成するためにTI話者認識モデルの更新されたバージョンを使用して以前のオーディオデータの複数のインスタンスを処理することであって、以前のオーディオデータのインスタンスの各々が特定のユーザの以前の口頭の入力をキャプチャする、ことを含む。
【００２３】
一部の実装において、方法は、以前のオーディオデータの複数のインスタンスが1つまたは複数の基準を満たすことに基づいて以前のオーディオデータの複数のインスタンスを選択するステップをさらに含む。
【００２４】
一部の実装において、1つまたは複数の基準は、以前のオーディオデータの複数のインスタンスの各々に関する長さの基準および以前のオーディオデータの複数のインスタンスに関する多様性の基準のうちの1つまたは複数を含む。それらの実装の一部のバージョンにおいて、方法は、複数の以前のオーディオデータの中の以前のオーディオデータの各インスタンスの長さを決定することによって以前のオーディオデータのインスタンスの中の以前のオーディオデータのインスタンスを特定のユーザの口頭の入力をキャプチャするオーディオデータによって置き換えるステップをさらに含む。方法は、特定のユーザの口頭の入力をキャプチャするオーディオデータの長さを決定するステップをさらに含む。方法は、オーディオデータの長さを以前のオーディオデータの各インスタンスの長さと比較するステップをさらに含む。方法は、比較に基づいてオーディオデータが以前のオーディオデータの1つまたは複数のインスタンスよりも長いとの判定に応じて、最も短い長さを有する以前のオーディオデータのインスタンスをオーディオデータによって置き換えるステップをさらに含む。
【００２５】
一部の実装において、TI話者埋め込みがTI話者認識モデルの古いバージョンを使用して生成されたと判定するステップは、TI話者埋め込みに関するバージョン識別子に少なくとも部分的に基づき、バージョン識別子は、自動化されたアシスタントの要求に含まれる。
【００２６】
一部の実装において、オーディオデータに基づく1つまたは複数のアクションを実行するステップは、オーディオデータに基づいて1つまたは複数の周辺デバイスを制御することを含む。
【００２７】
一部の実装において、オーディオデータに基づく1つまたは複数のアクションを実行するステップは、特定のユーザのためにカスタマイズされ、オーディオデータに基づく応答コンテンツを生成することと、クライアントデバイスに応答コンテンツに基づく出力をレンダリングさせることとを含む。それらの実装の一部のバージョンにおいて、更新された話者埋め込みを生成することは、クライアントデバイスに応答コンテンツに基づく出力をレンダリングさせた後に完了される。
【００２８】
一部の実装において、自動化されたアシスタントの要求は、クライアントデバイスのローカルに記憶されたテキスト依存(TD)話者認識モデルを使用しておよびクライアントデバイスのローカルに記憶されたTD話者埋め込みを使用してクライアントデバイスのローカルで生成されたTDユーザ測定値をさらに含み、TD話者埋め込みは、特定のユーザに関するものであり、TI出力を特定のユーザの話者埋め込みと比較することによって特定のユーザが口頭の入力を言ったかどうかを判定するステップは、TI出力を話者埋め込みと比較することによってTIユーザ測定値を決定することと、TDユーザ測定値とTIユーザ測定値との両方を使用して特定のユーザが口頭の入力を言ったかどうかを判定することとをさらに含む。それらの実装の一部のバージョンにおいて、方法は、TDユーザ測定値とTIユーザ測定値とを組み合わせることによって特定のユーザが口頭の入力を言った確率を示す特定のユーザの確率の測定値を決定することと、特定のユーザの確率の測定値が閾値を満たすかどうかを判定することによって特定のユーザが口頭の入力を言ったかどうかを判定することとによってTDユーザ測定値とTIユーザ測定値との両方を使用して特定のユーザが口頭の入力を言ったかどうかを判定するステップをさらに含む。それらの実装の一部のバージョンにおいて、話者埋め込みがTI話者認識モデルの古いバージョンを使用して生成されたとの判定に応じて、方法は、第1のユーザプロファイルおよび第2のユーザプロファイルが自動化されたアシスタントの要求に関連すると判定するステップをさらに含む。方法は、第1のユーザプロファイルおよび第2のユーザプロファイルが自動化されたアシスタントの要求に関連するとの判定に応じて、第1のユーザのためにカスタマイズされ、口頭の入力に応答する第1の応答コンテンツの生成を開始するステップをさらに含む。方法は、第2のユーザのためにカスタマイズされ、口頭の入力に応答する第2の応答コンテンツの生成を開始するステップをさらに含む。方法は、第1の応答コンテンツおよび第2の応答コンテンツの生成を完了する前に、TI出力を生成するためにTI話者認識モデルを使用してオーディオデータの少なくとも一部を処理するステップをさらに含む。方法は、TI出力を第1のユーザの話者埋め込みと比較することによって特定のユーザが第1のユーザであるかどうかおよび特定のユーザが口頭の入力を言ったかどうかを判定するステップをさらに含む。方法は、特定のユーザが口頭の入力を言ったとの判定に応じて、第2の応答コンテンツをクライアントデバイスに送信することなく第1の応答コンテンツをクライアントデバイスに送信するステップをさらに含む。
【００２９】
一部の実装においては、1つまたは複数のプロセッサによって実行される方法であって、クライアントデバイスから、ネットワークを介して、ユーザの口頭の入力をキャプチャするオーディオデータであって、オーディオデータがクライアントデバイスの1つまたは複数のマイクロフォンにおいてキャプチャされる、オーディオデータ、ならびにクライアントデバイスのローカルに記憶されたテキスト依存(TD)話者認識モデルを使用しておよびクライアントデバイスのローカルに記憶されたTD話者埋め込みを使用してクライアントデバイスのローカルで生成されたTDユーザ測定値であって、TD話者埋め込みが特定のユーザに関するものである、TDユーザ測定値を含む自動化されたアシスタントの要求を受信するステップを含む、方法が提供される。方法は、テキスト非依存(TI)出力を生成するためにTI話者認識モデルを使用してオーディオデータの少なくとも一部を処理するステップをさらに含む。方法は、TI出力を、自動化されたアシスタントの要求に関連付けられ、特定のユーザに関するものであるTI話者埋め込みと比較することによってTIユーザ測定値を決定するステップをさらに含む。方法は、TDユーザ測定値とTIユーザ測定値との両方を使用して特定のユーザが口頭の入力を言ったかどうかを判定するステップをさらに含む。方法は、口頭の入力が特定のユーザによって言われたとの判定に応じて、口頭の入力に応答し特定のユーザのためにカスタマイズされる応答コンテンツを生成するステップをさらに含む。方法は、クライアントデバイスに応答コンテンツに基づく出力をレンダリングさせるためにクライアントデバイスに応答コンテンツを送信するステップをさらに含む。
【００３０】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、以下の特徴のうちの1つまたは複数を含み得る。
【００３１】
一部の実装において、クライアントデバイスからネットワークを介して受信された自動化されたアシスタントの要求は、特定のユーザに関するTI話者埋め込みをさらに含む。
【００３２】
一部の実装において、TDユーザ測定値とTIユーザ測定値との両方を使用して特定のユーザが口頭の入力を言ったかどうかを判定するステップは、TDユーザ測定値とTIユーザ測定値とを組み合わせることによって特定のユーザが口頭の入力を言った確率を示す特定のユーザの確率の測定値を決定することを含む。方法は、特定のユーザの確率の測定値が閾値を満たすかどうかを判定することによって特定のユーザが口頭の入力を言ったかどうかを判定するステップをさらに含む。それらの実装の一部のバージョンにおいて、TDユーザ測定値とTIユーザ測定値とを組み合わせることは、組み合わせる際にTDユーザ測定値のために第1の重みを利用することと、組み合わせる際にTIユーザ測定値のために第2の重みを利用することとを含む。それらの実装の一部のバージョンにおいて、方法は、オーディオデータまたは口頭の入力の長さに基づいて第1の重みおよび第2の重みを決定するステップをさらに含む。
【００３３】
一部の実装において、方法は、TDユーザ測定値の大きさに基づいて第1の重みおよび第2の重みを決定するステップをさらに含む。
【００３４】
一部の実装において、方法は、TDユーザ測定値が閾値を満たすことができないと判定するステップをさらに含み、TI出力を生成するためにオーディオデータの一部を処理するステップ、TIユーザ測定値を決定するステップ、およびTDユーザ測定値とTIユーザ測定値との両方を使用して特定のユーザが口頭の入力を言ったかどうかを判定するステップは、TDユーザ測定値が閾値を満たすことができないとの判定に応じてのみ実行される。
【００３５】
一部の実装においては、1つまたは複数のプロセッサによって実行される方法であって、クライアントデバイスから、ネットワークを介して、口頭の入力をキャプチャするオーディオデータであって、オーディオデータがクライアントデバイスの1つまたは複数のマイクロフォンにおいてキャプチャされる、オーディオデータを含む自動化されたアシスタントの要求を受信するステップを含む、方法が提供される。方法は、第1のユーザプロファイルおよび第2のユーザプロファイルが自動化されたアシスタントの要求に関連すると判定するステップをさらに含む。方法は、第1のユーザプロファイルおよび第2のユーザプロファイルが自動化されたアシスタントの要求に関連するとの判定に応じて、第1のユーザのためにカスタマイズされ、口頭の入力に応答する第1の応答コンテンツの生成を開始するステップをさらに含む。方法は、第2のユーザのためにカスタマイズされ、口頭の入力に応答する第2の応答コンテンツの生成を開始するステップをさらに含む。方法は、第1の応答コンテンツおよび第2の応答コンテンツの生成を完了する前に、テキスト非依存(TI)出力を生成するためにTI話者認識モデルを使用してオーディオデータの少なくとも一部を処理するステップをさらに含む。方法は、第1のユーザプロファイルに対応する第1のユーザの話者埋め込みをTI出力と比較することによって第1のユーザが口頭の入力を言ったと判定するステップをさらに含む。方法は、第1のユーザが口頭の入力を言ったとの判定に応じて、第2の応答コンテンツをクライアントデバイスに送信することなく第1の応答コンテンツをクライアントデバイスに送信するステップをさらに含む。
【００３６】
本明細書において開示されるテクノロジーのこれらのおよびその他の実装は、以下の特徴のうちの1つまたは複数を含み得る。
【００３７】
一部の実装において、第1のユーザが口頭の入力を言ったと判定するステップは、第2のユーザのためにカスタマイズされた第2の応答コンテンツの生成を完了する前に行われ、方法は、第1のユーザが口頭の入力を言ったとの判定に応じて、第2のユーザのためにカスタマイズされた第2の応答コンテンツの生成を停止するステップをさらに含む。
【００３８】
一部の実装において、方法は、第1のユーザプロファイルおよび第2のユーザプロファイルに加えて第3のユーザプロファイルが自動化されたアシスタントの要求に関連すると判定するステップをさらに含む。方法は、第3のユーザプロファイルが自動化されたアシスタントの要求に関連するとの判定に応じて、第3のユーザのためにカスタマイズされ、口頭の入力に応答する第3の応答コンテンツの生成を開始するステップをさらに含む。
【００３９】
一部の実装において、第1のユーザが口頭の入力を言ったと判定するステップは、自動化されたアシスタントの要求に含まれる第1のユーザプロファイルに関するテキスト依存(TD)ユーザ測定値にさらに基づく。
【００４０】
一部の実装において、自動化されたアシスタントの要求は、第1のユーザプロファイルに関する第1のテキスト依存(TD)測定値および第2のユーザプロファイルに関する第2のTD測定値をさらに含み、第1の応答コンテンツの生成を開始するステップおよび第2の応答コンテンツの生成を開始するステップは、第1のTD測定値および第2のTD測定値が1つまたは複数の閾値を満たすことができないことにさらに応じて行われる。
【００４１】
加えて、一部の実装は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサ(たとえば、中央演算処理装置(CPU))、グラフィックス処理ユニット(GPU)、および/またはテンソルプロセッシングユニット(TPU)を含み、1つまたは複数のプロセッサは、関連するメモリに記憶された命令を実行するように動作可能であり、命令は、本明細書において説明される方法のいずれかの実行を引き起こすように構成される。一部の実装は、本明細書において説明される方法のいずれかを実行するために1つまたは複数のプロセッサによって実行され得るコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読ストレージ媒体も含む。
【００４２】
上述の概念および本明細書においてより詳細に説明される追加的な概念のすべての組合せは、本明細書において開示される対象の一部であると考えられることを理解されたい。たとえば、本開示の最後に現れる特許請求の対象のすべての組合せは、本明細書において開示される対象の一部であると考えられる。
【図面の簡単な説明】
【００４３】
【図１】様々な実装が実装され得る例示的な環境を示すブロック図である。
【図２】本明細書において開示される実装による例示的なプロセスを示す流れ図である。
【図３】本明細書において開示される実装による別の例示的なプロセスを示す別の流れ図である。
【図４】本明細書において開示される実装による別の例示的なプロセスを示す別の流れ図である。
【図５】コンピューティングデバイスの例示的なアーキテクチャを示すブロック図である。
【発明を実施するための形態】
【００４４】
話者認識が、ユーザが特定の口頭の発話をしたことを確認するためにユーザの許可を得て使用され得る。ユーザが特定の口頭の発話をしたことを確認することに応じて、特定の口頭の発話に応答してコンテンツが提供されることが可能であり、そのコンテンツは特定の口頭の発話に応じ、かつユーザのためにカスタマイズされる。話者認識は、出力を生成するために口頭の発話をキャプチャするオーディオデータを話者認識モデルを使用して処理することと、出力をユーザに関する話者埋め込み(たとえば、ユーザのユーザプロファイルに関連する埋め込み)と比較することとを含み得る。たとえば、生成された出力とユーザに関する話者埋め込みとの間の距離測定基準が閾値を満たす場合、ユーザは、特定の口頭の発話をしたユーザとして確認され得る。ユーザに関する話者埋め込みは、ユーザからのものである口頭の発話を含むオーディオデータの1つまたは複数のインスタンスの処理に基づいて生成された出力に基づいて生成され得る。たとえば、話者埋め込みは、ユーザからの対応する口頭の発話を含むオーディオデータの対応するインスタンスの処理に基づいてそれぞれ生成される複数の異なる埋め込みの平均(またはその他の組合せ)に基づき得る。
【００４５】
TD話者認識において、ユーザの話者埋め込みは、1つもしくは複数の特定の単語および/または1つもしくは複数の特定のフレーズのみを含む口頭の発話に基づいて生成される。さらに、使用するとき、ユーザは、話者埋め込みに十分に一致するTD話者認識モデルを使用して出力が生成されるために1つまたは複数の特定の単語/フレーズを言わなければならない。一例として、TD話者認識の1つまたは複数の特定の単語/フレーズは、自動化されたアシスタントを呼び出すように構成された1つまたは複数の呼び出しフレーズに制約され得る。自動化されたアシスタントのための呼び出しフレーズは、たとえば、「ヘイ、アシスタント」、「OK、アシスタント」、および/または「アシスタント」などの1つまたは複数のホットワード/トリガワードを含む。
【００４６】
対照的に、TI話者認識において、TI話者認識モデルを使用して処理される口頭の発話は、特定の単語および/または特定のフレーズに制約されない。言い換えると、実質的に任意の口頭の発話に基づくオーディオデータが、口頭の発話が特定のユーザからのものであるかどうかを判定するために特定のユーザに関するTI話者埋め込みと効果的に比較され得る出力を生成するためにTI話者認識モデルを使用して処理され得る。さらに、様々な実装において、TI話者認識で利用されるユーザに関する話者埋め込みは、全く異なる単語および/またはフレーズを含む口頭の発話に基づいて生成される。
【００４７】
本明細書において説明されるように、一部の実装において、口頭の発話は、呼び出しフレーズおよび呼び出しフレーズに続く後続部分を含むことが可能であり、自動化されたアシスタントは、口頭の発話の後続部分に基づいて応答コンテンツを生成することができる。たとえば、「ヘイ、アシスタント。私の名前は何」は、呼び出しフレーズ「ヘイ、アシスタント」および追加的な部分「私の名前は何」を含む。多くの実装において、自動化されたアシスタントは、追加的な部分に応答し、特定のユーザが口頭の発話をしたことを確認することに基づいて特定のユーザのためにカスタマイズされる応答コンテンツを生成することができる。たとえば、「私の名前は何」が要求元のユーザの記憶された名前を要求すると判定することに基づいて、および口頭の発話が記憶された名前「スーザン」を有するユーザからのものであると確かめることに基づいて、応答「スーザン」が、「ヘイ、アシスタント。私の名前は何」に応答して生成され得る。一部の実装においては、口頭の発話の呼び出しフレーズの部分と追加的な部分との両方が、TI話者認識モデルを使用して生成された出力が所与のユーザに関する話者埋め込みと一致するかどうかを判定する際にTI話者認識モデルによって処理され得る。一部のその他の実装においては、オーディオデータの追加的な部分(または追加的な部分のより小さな部分)のみが、TI話者認識モデルを使用して処理され得る。さらに、様々な状況で、口頭の発話は、いかなる呼び出しフレーズもなく、したがって、TI話者認識モデルを使用して処理されるオーディオデータの部分が、呼び出しフレーズを含むいかなる部分も含まない。
【００４８】
様々な実装において、特定のユーザに関する1つまたは複数の話者埋め込みは、特定のユーザに関連するクライアントデバイスに記憶される(たとえば、クライアントデバイスが、特定のユーザに関するユーザプロファイルに関連付けられ、ローカルに記憶された話者埋め込みが、ユーザプロファイルに関連付けられる)。さらに、複数のユーザが、同じクライアントデバイスに関連付けられることが可能であり、したがって、何人かの特定のユーザに関する複数の話者埋め込みが、クライアントデバイスに記憶されることが可能である(たとえば、クライアントデバイスが、何人かの特定のユーザに関するユーザプロファイルに関連付けられ、各ユーザプロファイルが、関連する特定のユーザに関する少なくとも1つの話者埋め込みを含む)。(話者埋め込みをサーバなどの遠隔のコンピューティングデバイスに記憶することとは対照的に)話者埋め込みをクライアントデバイスに記憶することは、データセキュリティを守るのに役立ち得る。様々な実装において、TD話者認識は、クライアントデバイスにおいて行われ得る。一方、TI話者認識は、計算コストが高く(たとえば、プロセッサおよび/もしくはメモリリソース)なり得る、ならびに/または大量の記憶空間を必要とするTI話者認識モデルに依拠し得る。したがって、多くの場合、TI話者認識は、遠隔のコンピューティングデバイスのより堅牢なリソースを利用することができる遠隔のコンピューティングデバイス(たとえば、1つまたは複数のサーバ)により適し得る。さらに、様々な実装において、TI話者埋め込みは、クライアントデバイスのローカルに記憶され、発話の話者の(遠隔のコンピューティングデバイスによる)確認のためのTI話者埋め込みの使用を可能にするために、口頭の発話をキャプチャするオーディオデータとともに遠隔のコンピューティングデバイスに送信され得る。様々な実装において、遠隔のコンピューティングデバイスにおいてオーディオデータとともに受信され、TI話者認識に利用される話者埋め込みは、それらが話者認識プロセスに使用された後直ちに遠隔のコンピューティングデバイスから削除されることが可能であり、したがって、データセキュリティを守る。
【００４９】
多くの実装において、遠隔のコンピューティングデバイスは、クライアントデバイスから自動化されたアシスタントの要求を受信し得る。自動化されたアシスタントの要求は、口頭の発話をキャプチャするオーディオデータ(たとえば、オーディオデータが要求内でストリーミングされ得る)、1つもしくは複数のTI話者埋め込み、1つもしくは複数のTD話者埋め込み、1つもしくは複数の話者埋め込みを使用して決定された1つもしくは複数の測定値(たとえば、要求を送信したクライアントデバイスのローカルで決定されたTD話者測定値)、TI話者埋め込みを生成するために使用されたTI話者認識モデルのバージョンのインジケーション、TD話者埋め込みを生成するために使用されたTD話者認識モデルのバージョンのインジケーション、ならびに/または自動化されたアシスタントによって話者認識、自動音声認識(ASR)、自然言語理解(NLU)、および/もしくはその他のプロセスに使用される追加的な情報を含む様々な情報を含み得る。
【００５０】
話者埋め込みは、特定のユーザの1つまたは複数の記憶された以前の発話を使用して生成されることが可能であり、したがって、特定のユーザを記憶された以前の発話を使用して話者認識システムに登録する。特定のユーザは、多くの実装によれば、話者認識システムに自動的に登録される(および/またはユーザの明確な許可を得て登録される)ことが可能である。たとえば、自動化されたアシスタントは、受信された話者埋め込みがTI話者認識モデルの古いバージョンを使用して生成されたとの判定に応じて、更新された話者埋め込みを生成することができる。多くの実装において、システムは、システムが話者埋め込みの更新されたバージョンを生成している間に話者認識モデルの古いバージョンを使用してユーザを確認する(およびユーザのためにカスタマイズされる応答コンテンツを生成する)ことができる。様々な実装において、更新された話者埋め込みは、(ユーザの許可を得て)記憶され、ユーザによって言われたと判定された過去の口頭の発話をそれぞれキャプチャするオーディオデータの過去のインスタンスに基づいて生成される。それらの様々な実装の一部において、話者埋め込みを生成するために選択されるオーディオデータの過去のインスタンスは、埋め込みの堅牢性を高めようとする1つまたは複数の基準に基づいて選択される。たとえば、オーディオデータのインスタンスの集合が集合的に多様である発話(たとえば、音声学的に多様な、単語が多様な、および/またはその他の多様な特徴)を含むことに基づいて選択されること、オーディオデータの1つまたは複数のインスタンスが少なくとも閾値の長さである発話を含むことに基づいて選択されることなどが可能である。
【００５１】
様々な実装において、話者認識システムは、(TI話者認識モデルを使用して生成された)TIユーザ測定基準を(TD話者認識モデルを使用して生成された)TDユーザ測定基準と組み合わせることによって口頭の発話が特定のユーザによるものであったかどうかを確認することができる。たとえば、自動化されたアシスタントの要求は、口頭の発話に基づくオーディオデータと、特定のユーザに関するTI話者埋め込みと、出力を生成するためにTD話者認識モデルを使用して口頭の発話の呼び出しフレーズ部分を処理すること、および出力をTD話者埋め込みと比較することによって決定されたTDユーザ測定値とを含み得る。追加的にまたは代替的に、自動化されたアシスタントの要求は、TD話者埋め込み自体を含むことが可能であり、TDユーザ測定値は、遠隔のコンピューティングデバイスにおいて決定されることが可能である。様々な実装において、オーディオデータは、TIユーザ測定値を生成するためにTI話者埋め込みと比較され得る追加的な出力を生成するためにTI話者認識モデルを使用して処理されることが可能である。TDユーザ測定値およびTIユーザ測定値は、特定のユーザが口頭の発話をしたかどうかを確認するために組み合わされ得る。様々な実装において、TDおよびTIユーザ測定値のそれぞれの重み付けは、所与の自動化されたアシスタントの要求の1つまたは複数の特徴に基づいて所与の自動化されたアシスタントの要求に関して動的に決定され得る。
【００５２】
追加的にまたは代替的に、様々な実装による話者認識システムは、TI話者認識モデルがどのユーザが口頭の発話をしたのかを判定するために使用される間に、クライアントデバイスに関連する何人かのユーザのためにカスタマイズされた応答コンテンツの生成を開始し得る。たとえば、3人のユーザが、クライアントデバイスに関連付けられ得る。自動化されたアシスタントの要求は、3人のユーザのうちの1人による口頭の発話をキャプチャするオーディオデータに加えて3人のユーザの各々に関する話者埋め込みを含み得る。システムは、どのユーザが発話したのかを判定する前に3人のユーザの各々のためにカスタマイズされた応答コンテンツの生成を開始し得る。システムがTI話者認識モデルを使用して3人の話者埋め込みの各々を処理することによってどのユーザが発話したのかを判定すると、システムは、その他の2人のユーザのためにカスタマイズされた応答コンテンツを送信することなく発話したユーザのためにカスタマイズされた応答コンテンツをクライアントデバイスに送信することができる。
【００５３】
多くの実装において、特定のユーザに関する更新された話者埋め込みをそのユーザの記憶された以前の発話を使用して自動的に生成すること(つまり、TI話者認識システムの更新されたバージョンにユーザを自動的に登録すること)は、応答コンテンツがユーザのために生成され得る前にユーザが1つまたは複数の登録の発話をしなければならない長引いた登録プロセスを避けることができる。そのような登録プロセスは、ネットワークリソースを消費するそれらの発話に対応するオーディオデータの送信を必要とし、様々な促し(prompt)がユーザに提供されることを必要とする可能性があり、これは、ネットワークリソースおよびクライアントデバイスのリソースをさらに消費する。追加的にまたは代替的に、本明細書において説明される実装によるユーザの自動登録は、ユーザがTI話者認識モデルの更新されたバージョンを使用して再登録することを最初に要求することなく、および/または記憶された発話を使用する更新された話者埋め込みの生成を最初に待つことなく、TI話者認識モデルの古いバージョンに基づくユーザの即時の確認を可能にし、それによって、応答コンテンツがより迅速に提供されることを可能にすることができる。言い換えると、ユーザに応答コンテンツを提供する際のレイテンシーが、話者埋め込みの古いバージョンを含む自動化されたアシスタントの要求に関して最小化され得る。
【００５４】
追加的にまたは代替的に、TI話者認識モデルを使用して生成されたユーザ測定値とTD話者認識モデルを使用して生成されたユーザ測定値との両方を使用して話者のアイデンティティを確認することは、コンテンツが口頭の入力を言ったユーザのためにカスタマイズされることを保証し、それによって、データセキュリティの低下を引き起こす可能性がある別のユーザのためのコンテンツの誤った提供を減らす、および/またはスマートロックまたはスマートホームアラームシステムの制御などのアクションの無認可の実行を誤って引き起こすことを減らすことができる。追加的にまたは代替的に、別のユーザのためのコンテンツを誤って提供することは、口頭の発話をしたユーザが自分のためにカスタマイズされたコンテンツを得ようと試みるために入力を再び言うことを必要とする結果としてシステムリソースを無駄にし得る。多くの実装においては、TDユーザ測定値が閾値のレベルの信頼性を示す場合、オーディオデータは、TI話者認識モデルを使用して処理されず、それによって、場合によってはTIユーザ測定値を決定するためのリソースの不必要な使用を防止する。
【００５５】
多くの実装において、何人かのユーザのためにカスタマイズされた応答コンテンツをプリフェッチすることは、N人のユーザのうちの特定のユーザが自動化されたアシスタントの要求の口頭の発話の発言者であると特定される前にN人のユーザのためのコンテンツの生成を開始することによって自動化されたアシスタントの要求に基づいて応答コンテンツを生成するおよび/または送信するレイテンシーを削減する。
【００５６】
ここで図に目を向けると、図1は、様々な実装が実装され得る例示的な環境100を示す。例示的な環境100は、1つまたは複数のクライアントデバイス102を含む。各クライアントデバイスは、自動化されたアシスタントクライアント104のそれぞれのインスタンスを実行する可能性がある。話者認識モジュール120および/または自然言語プロセッサ122などの1つまたは複数のクラウドベースの自動化されたアシスタント構成要素114が、全体が112として示される1つまたは複数のローカルエリアおよび/または広域ネットワーク(たとえば、インターネット)を介してクライアントデバイス102に通信可能なように結合される(集合的にクラウドコンピューティングシステムと呼ばれる)1つまたは複数のコンピューティングシステムに実装される可能性がある。
【００５７】
様々な実装において、自動化されたアシスタントクライアント104のインスタンスは、1つまたは複数のクラウドベースの自動化されたアシスタント構成要素114とのそのインスタンスのインタラクションによって、ユーザの観点から見てユーザが対話に従事する可能性がある自動化されたアシスタント110の論理的なインスタンスであるように見えるものを形成する可能性がある。自動化されたアシスタント110の1つのそのようなインスタンスが、図1に破線によって示される。したがって、クライアントデバイス102上で実行される自動化されたアシスタントクライアント104と関わり合う各ユーザは、実際には、自動化されたアシスタント110のそのユーザ独自の論理的なインスタンスと関わり合う可能性があることを理解されたい。簡潔で単純にするために、特定のユーザに「サービスを提供する」ものとして本明細書において使用される用語「自動化されたアシスタント」は、多くの場合、ユーザによって操作される自動化されたアシスタントクライアント104と(複数の自動化されたアシスタントクライアント104の間で共有される可能性がある)1つまたは複数のクラウドベースの自動化されたアシスタント構成要素114との組合せを指す可能性がある。一部の実装において、自動化されたアシスタント110は、ユーザが自動化されたアシスタント110のその特定のインスタンスによって実際に「サービスを提供される」かどうかに関係なく任意のユーザからの要求に応答する可能性があることも理解されたい。追加的にまたは代替的に、1人または複数のユーザが、クライアントデバイスに関連付けられる可能性がある。たとえば、同じ家庭で生活する5人のユーザが、全員(スタンドアロンのインタラクティブスピーカなどの)クライアントデバイスを共有する可能性があり、3人のユーザの各々に関連する話者埋め込みなどのユーザの特徴が、クライアントデバイスに記憶される可能性がある。
【００５８】
クライアントデバイス102は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、タッチ感知式コンピューティングデバイス(たとえば、ユーザのタッチによる入力を受け取ることができるコンピューティングデバイス)、モバイル電話コンピューティングデバイス、ユーザの乗り物のコンピューティングデバイス(たとえば、車載通信システム、車載エンターテインメントシステム、車載ナビゲーションシステム)、スタンドアロンのインタラクティブスピーカ、スマートテレビなどのスマート家電、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザのメガネ、仮想もしくは拡張現実コンピューティングデバイス)のうちの1つまたは複数を含む可能性がある。追加的なおよび/または代替的なクライアントコンピューティングデバイスが、提供される可能性がある。
【００５９】
様々な実装において、クライアントデバイス102は、様々な形態を取る可能性がある1つまたは複数のセンサー(図示せず)を含む可能性がある。センサーは、口頭による、テキストによる、グラフィックスによる、物理的な(たとえば、タッチ感知式のプロジェクタおよび/もしくはコンピューティングデバイスのタッチ感知式のスクリーンを含むディスプレイデバイスへのタッチ)、ならびに/または視覚(たとえば、ジェスチャ)に基づく入力などの自動化されたアシスタント110への様々な種類の入力を感知することができる。一部のクライアントデバイス102は、視野内で検出された動きをキャプチャし、その動きを示す信号を提供するように構成される1つまたは複数のデジタルカメラを備える可能性がある。追加的にまたは代替的に、一部のクライアントデバイスは、1つまたは複数のマイクロフォンなどの音響(または圧力)波を検出するセンサーを備える可能性がある。
【００６０】
クライアントデバイス102および/またはクラウドベースの自動化されたアシスタント構成要素114は、1つまたは複数のデバイス(図示せず)と通信し得る。デバイスは、スマート家電、スマートサーモスタット、スマートコーヒーメーカー、スマートロックなどのモノのインターネットデバイスを含む様々なデバイスのいずれかを含み得る。デバイスは、クライアントデバイス102(および/またはクライアントデバイス102の特定のユーザ)とリンクされ、互いにリンクされる。たとえば、デバイスは、クライアントデバイス102(および任意でその他のクライアントデバイス)に割り振られたプロファイルにリンクされることが可能であり、ならびに/またはクライアントデバイス102のユーザに割り振られたプロファイルにリンクされることが可能である。集合的に、クライアントデバイス102、その他のクライアントデバイス、およびそれらのデバイスは、デバイスの協調的なエコシステムを定義し得る。様々な実装において、デバイスは、ユーザによって作成されるおよび/または自動的に作成されることが可能であり、様々なアシスタントクライアントデバイス、様々なスマートデバイス、それぞれに関する識別子、および/またはそれぞれに関するその他の属性を定義する可能性があるデバイストポロジー表現によって互いにリンクされる。たとえば、デバイスに関する識別子は、デバイスがある構造物の部屋(および/もしくはその他のエリア)(たとえば、居間、台所)を指定することができ、ならびに/またはデバイスのニックネームおよび/もしくは別名(たとえば、カウチランプ、玄関のドアロック、寝室のスピーカ、台所のアシスタントなど)を指定することができる。このようにして、デバイスのアイデンティティは、ユーザがそれぞれのデバイスに関連付ける可能性が高いそれぞれのデバイスの名前、別名、および/または位置であることが可能である。
【００６１】
多くの実装において、自動化されたアシスタント110は、1つまたは複数のクライアントデバイス102のユーザインターフェース入力および出力デバイスを介して1人または複数のユーザとの対話セッションに従事する可能性がある。一部の実装において、自動化されたアシスタント110は、クライアントデバイス102のうちの1つの1つまたは複数のインターフェース入力デバイスを介してユーザによって与えられたユーザインターフェース入力に応答してユーザとの対話セッションに従事する可能性がある。それらの実装の一部において、ユーザインターフェース入力は、明示的に自動化されたアシスタント110を対象とする。たとえば、ユーザは、自動化されたアシスタント110にアクティブなリスニングを開始させる「OK、アシスタント」または「ヘイ、アシスタント」などの所定の呼び出しフレーズを言う可能性がある。
【００６２】
一部の実装において、自動化されたアシスタント110は、ユーザインターフェース入力が明示的に自動化されたアシスタント110を対象としないときでさえもそのユーザインターフェース入力に応答して対話セッションに従事する可能性がある。たとえば、自動化されたアシスタント110は、ユーザインターフェース入力のコンテンツを調べ、ユーザインターフェース入力の中に特定の語が存在することに応じておよび/またはその他の手掛かりに基づいて対話セッションに従事する可能性がある。多くの実装において、自動化されたアシスタント110は、音声認識を利用してユーザからの発話をテキストに変換し、たとえば、視覚的な情報を提供することによって、検索結果を提供することによって、全般的な情報を提供することによって、および/または1つもしくは複数の応答アクションを行うこと(たとえば、メディアを再生すること、ゲームを起動すること、食べ物を注文することなど)によってテキストに相応に応答する可能性がある。一部の実装において、自動化されたアシスタント110は、追加的にまたは代替的に、発話をテキストに変換することなく発話に応答し得る。たとえば、自動化されたアシスタント110は、音声入力を埋め込み、(音声入力内に存在する1つのエンティティ/複数のエンティティを示す)エンティティ表現、および/またはその他の「非テキスト」表現に変換し、そのような非テキスト表現によって働き得る。したがって、音声入力から変換されたテキストに基づいて動作するものとして本明細書において説明される実装は、追加的におよび/または代替的に、直接的に音声入力によっておよび/または音声入力のその他の非テキスト表現によって動作する可能性がある。
【００６３】
クライアントコンピューティングデバイス102およびクラウドベースの自動化されたアシスタント構成要素114を動作させるコンピューティングデバイスの各々は、データおよびソフトウェアアプリケーションを記憶するための1つまたは複数のメモリと、データにアクセスし、アプリケーションを実行するための1つまたは複数のプロセッサと、ネットワークを介した通信を容易にするその他の構成要素とを含む可能性がある。1つまたは複数のコンピューティングデバイス102および/または自動化されたアシスタント110によって実行される動作は、複数のコンピュータシステムに分散される可能性がある。自動化されたアシスタント110は、たとえば、ネットワークを通じて互いに結合される1つまたは複数の場所で実行される1つまたは複数のコンピュータ上で実行されるコンピュータプログラムとして実装される可能性がある。
【００６４】
上述のように、様々な実装において、クライアントコンピューティングデバイス102は、自動化されたアシスタントクライアント104を動作させる可能性がある。様々な実装において、それぞれの自動化されたアシスタントクライアント102は、音声キャプチャ/テキストトゥスピーチ(TTS)/スピーチトゥテキスト(STT)エンジン106、話者認識モジュール107、および追加的なエンジンおよび/またはモジュール(図示せず)を含む可能性がある。その他の実装において、音声キャプチャ/TTS/STTエンジン106および/または話者認識モジュール107の1つまたは複数の態様は、自動化されたアシスタントクライアント104とは別に実装される可能性がある。
【００６５】
各音声キャプチャ/TTS/STTエンジンは、1つまたは複数の機能を実行する、つまり、たとえば、マイクロフォンによってユーザの音声をキャプチャし、キャプチャされたオーディオをテキスト(および/もしくはその他の表現もしくは埋め込み)に変換し、ならびに/またはテキストを音声に変換するように構成される可能性がある。たとえば、一部の実装においては、クライアントデバイス102はコンピューティングリソース(たとえば、プロセッササイクル、メモリ、バッテリなど)の観点で比較的制約される可能性があるので、各クライアントデバイス102のローカルにある音声キャプチャ/TTS/STTエンジンは、有限個の異なる口頭のフレーズ--特に自動化されたアシスタント110を呼び出すフレーズ--をテキスト(またはその他の形態)に変換するように構成される可能性がある。その他の音声入力が、クラウドベースエンジン116および/またはクラウドベースSTTエンジン118を含む可能性があるクラウドベースの自動化されたアシスタント構成要素114に送信される可能性がある。
【００６６】
クラウドベースSTTエンジン118は、音声キャプチャ/TTS/STTエンジン106によってキャプチャされたオーディオデータをテキストに変換するためにクラウドの実質的に制限のないリソースを利用するように構成される可能性がある(それから、テキストは、自然言語プロセッサ122に提供される可能性がある)。クラウドベースエンジン116は、テキストデータ(たとえば、自動化されたアシスタント110によって作られた自然言語応答)を、たとえば、1つまたは複数のスピーカを使用して直接出力されるクライアントデバイス102へのコンピュータによって生成される音声出力に変換するためにクラウドの実質的に制限のないリソースを利用するように構成される可能性がある。その他の実装において、自動化されたアシスタント110によって生成されたテキストデータ(たとえば、自然言語応答)は、音声キャプチャ/TTS/STTエンジン106に提供される可能性があり、それから、音声キャプチャ/TTS/STTエンジン106が、テキストデータを、ローカルで出力されるコンピュータによって生成される音声に変換する可能性がある。
【００６７】
自動化されたアシスタント110(たとえば、クラウドベースの自動化されたアシスタント構成要素114)は、自然言語プロセッサ、TTSエンジン116、STTエンジン118、話者認識モジュール120、およびその他の構成要素を含む可能性があり、それらの一部が、以下でより詳細に説明される。一部の実装において、自動化されたアシスタント110の1つまたは複数のエンジンおよび/またはモジュールは、省略されるか、組み合わされるか、および/または自動化されたアシスタント110とは別である構成要素に実装される可能性がある。一部の実装においては、データセキュリティを守るために、自然言語プロセッサ122、TTSエンジン116、STTエンジン118、話者認識モジュール120などの自動化されたアシスタント110の構成要素のうちの1つまたは複数は、(たとえば、クラウドではなく)クライアントデバイス102に少なくとも部分的に実装される可能性がある。
【００６８】
一部の実装において、自動化されたアシスタント110は、自動化されたアシスタント110との人とコンピュータとの対話セッション中にクライアントデバイス102のユーザによって生成された様々な入力に応答して応答コンテンツを生成する。自動化されたアシスタント110は、対話セッションの一部としてユーザに提示するための応答コンテンツを(たとえば、ユーザのクライアントデバイスと別であるときは1つまたは複数のネットワークを介して)提供する可能性がある。たとえば、自動化されたアシスタント110は、クライアントデバイス102を介して与えられた自由形式の自然言語入力に応答して応答コンテンツを生成する可能性がある。本明細書において使用されるとき、自由形式の入力は、ユーザによって作られ、ユーザによる選択のために提示される一群の選択肢に制約されない。
【００６９】
自動化されたアシスタント110の自然言語プロセッサ122は、クライアントデバイス102を介してユーザによって生成された自然言語入力を処理し、自動化されたアシスタント110の1つまたは複数の構成要素による使用のために注釈付きの出力を生成する可能性がある。たとえば、自然言語プロセッサ122は、クライアントデバイス102の1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって生成される自然言語の自由形式の入力を処理する可能性がある。生成される注釈付きの出力は、自然言語入力の1つまたは複数の注釈と、任意で、自然言語入力の語のうちの1つまたは複数(たとえば、すべて)とを含む。
【００７０】
一部の実装において、自然言語プロセッサ122は、自然言語入力内の様々な種類の文法的情報を特定し、注釈を付けるように構成される。たとえば、自然言語プロセッサ122は、語にそれらの語の文法的役割によって注釈を付けるように構成された音声タガーの一部を含む可能性がある。また、たとえば、一部の実装において、自然言語プロセッサ122は、追加的におよび/または代替的に、自然言語入力内の語の間の統語的関係を決定するように構成された依存関係パーサ(図示せず)を含む可能性がある。
【００７１】
一部の実装において、自然言語プロセッサ122は、追加的におよび/または代替的に、(たとえば、文学のキャラクター、有名人、著名人などを含む)人、組織、(現実のおよび架空の)場所などへの言及などの1つまたは複数のセグメント内のエンティティの言及に注釈を付けるように構成されたエンティティタガー(図示せず)を含む可能性がある。自然言語プロセッサ122のエンティティタガーは、(たとえば、人などのエンティティのクラスへのすべての言及の特定を可能にするための)高レベルの粒度および/または(たとえば、特定の人物などの特定のエンティティへのすべての言及の特定を可能にするための)より低いレベルの粒度でエンティティへの言及に注釈を付ける可能性がある。エンティティタガーは、特定のエンティティを解決するために自然言語入力のコンテンツに依拠する可能性があり、および/または特定のエンティティを解決するためにナレッジグラフもしくはその他のエンティティデータベースと任意で通信する可能性がある。
【００７２】
一部の実装において、自然言語プロセッサ122は、追加的におよび/または代替的に、1つまたは複数の状況から得られる手掛かり(contextual cue)に基づいて同じエンティティへの言及をグループ分けするかまたは「クラスタリングする」ように構成された同一指示リゾルバ(図示せず)を含む可能性がある。たとえば、同一指示リゾルバは、自然言語入力「I liked Hypothetical Cafe last time we ate there.」内の語「there」を「Hypothetical Cafe」に解決するために利用される可能性がある。
【００７３】
多くの実装において、自然言語プロセッサ122の1つまたは複数の構成要素は、自然言語プロセッサ122の1つまたは複数の構成要素からの注釈に依拠する可能性がある。たとえば、一部の実装において、固有表現(named entity)タガーは、特定のエンティティへのすべての言及に注釈を付ける際に同一指示リゾルバおよび/または依存関係パーサからの注釈に依拠する可能性がある。また、たとえば、一部の実装において、同一指示リゾルバは、同じエンティティへの言及をクラスタリングする際に依存関係パーサからの注釈に依拠する可能性がある。多くの実装においては、特定の自然言語入力を処理する際に、自然言語プロセッサ122の1つまたは複数の構成要素が、1つまたは複数の注釈を決定するために関連する以前の入力および/または特定の自然言語入力外のその他の関連するデータを使用する可能性がある。
【００７４】
多くの実装において、自動化されたアシスタント110は、自動化されたアシスタントクライアント104の話者認識モジュール107と、クラウドベース話者認識モジュール120と、話者埋め込み108と、(TI話者認識モデルおよび/もしくはTD話者認識モデルなどの)話者認識モデル124と、1人もしくは複数のユーザの以前の発話126をキャプチャするオーディオデータとを含み得る。自動化されたアシスタントクライアント104の話者認識モジュール107は、クラウドベース話者認識モジュール120などの1つまたは複数のクラウドベース構成要素に送信する自動化されたアシスタントの要求を決定することができる。多くの実装において、自動化されたアシスタントの要求は、1つまたは複数の話者埋め込み108(たとえば、TI話者埋め込み、TD話者埋め込み、クライアントデバイス102に関連する複数のユーザに関する話者埋め込みなど)、口頭の入力をキャプチャするオーディオデータ(たとえば、音声キャプチャ/TTS/STTモジュール106によってキャプチャされたオーディオデータ)、1つまたは複数のTD話者認識モデル、1つまたは複数のTI話者認識モデル、クライアントデバイスのローカルに記憶された話者認識モデルを使用して口頭の入力をキャプチャするオーディオデータを処理することによって決定された1つまたは複数の測定値(たとえば、特定のユーザが口頭の発話をした確率を示す測定値など)、およびクライアントデバイスに関連する1人または複数のユーザについての情報を含む1つまたは複数のユーザプロファイルを含み得る。
【００７５】
多くの実装において、クラウドベース話者認識モジュール120は、ユーザの以前の発話126をキャプチャするオーディオデータに基づいて更新された話者埋め込みを自動的に生成する(および/または明示的なユーザの許可を得て生成する)際に利用され得る。多くの実装において、クラウドベース話者認識モジュール120は、TI話者認識モデルによって生成されたユーザのスコアとTD話者認識モデルによって生成されたユーザのスコアとの両方を使用して特定のユーザが口頭の発話をしたかどうかを確認することができる。追加的にまたは代替的に、クラウドベース話者認識モジュール120は、発話したユーザのアイデンティティがTI話者認識モデルを使用して決定される間にクライアントデバイスに関連する何人かのユーザのためのコンテンツをプリフェッチする際に使用され得る。
【００７６】
ここで図2に目を向けると、本明細書において開示される様々な実装によるTI話者認識モデルの更新されたバージョンを使用して更新された話者埋め込みを生成するプロセス200を示す流れ図が、提供される。便宜上、流れ図の動作は、動作を実行するシステムに関連して説明される。このシステムは、1つまたは複数のプロセッサ(たとえば、CPU、GPU、および/またはTPU)などの1つまたは複数の構成要素を含む可能性がある。プロセス200の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、および/または追加される可能性がある。
【００７７】
ブロック202において、システムは、クライアントデバイスから自動化されたアシスタントの要求を受信する。多くの実装において、自動化されたアシスタントの要求は、特定のユーザに関するTI話者埋め込みおよび口頭の発話をキャプチャするオーディオデータを含む。いくつかの実装において、口頭の発話は、クライアントデバイスの1つまたは複数のマイクロフォンによってキャプチャされる。
【００７８】
ブロック204において、システムは、TI話者認識モデルの古いバージョンが自動化されたアシスタントの要求の一部として受信されたTI話者埋め込みを生成したかどうかを判定する。そうである場合、システムは、ブロック206に進み、出力を生成するためにTI話者認識モデルの古いバージョンを使用してオーディオデータを処理する。システムがTI話者認識モデルの現在のバージョンが話者埋め込みを生成したと判定する場合、プロセスは、TI話者認識モデルの現在のバージョンを使用して特定の話者が発話したと確認することができ、プロセスは、終了することができる。
【００７９】
ブロック208において、システムは、特定のユーザが口頭の発話をしたかどうかを判定する。そうである場合、システムは、ブロック210に進む。特定のユーザが口頭の発話をしたかどうかを判定する際、システムは、出力を生成するために古いTI話者認識モデルを使用してオーディオデータを処理することができる。システムは、特定のユーザが口頭の発話をしたかどうかを判定するために生成された出力を特定のユーザに関するTI話者埋め込みと比較することができる。多くの実装において、システムは、口頭の発話全体を処理し得る。いくつかの実装において、システムは、口頭の発話の一部のみを処理し得る。たとえば、システムは、話者埋め込みと比較する出力を生成するために、口頭の発話の呼び出しフレーズ部分に続く後続部分のみを処理し得る。しかし、特定のユーザが口頭の発話をしなかったとシステムが判定する場合、一部の実装において、システムは、口頭の発話がゲストユーザによって与えられたと判定することが可能であり、システムは、いかなる特定のユーザのためにもカスタマイズされていない応答コンテンツを生成することが可能である。
【００８０】
ブロック210において、システムは、オーディオデータに基づいて特定のユーザのためにカスタマイズされた応答コンテンツを生成する。多くの実装において、システムは、クライアントデバイスに応答コンテンツに基づく出力をレンダリングさせる。たとえば、システムは、「アシスタント。今日の予定はどうなってる」という口頭の発話に応答して特定のユーザのその日の1つまたは複数の日程表のイベントの詳細を含むコンテンツをレンダリングすることができる。
【００８１】
ブロック212において、システムは、TI話者認識モデルの更新されたバージョンを使用して特定のユーザの以前の口頭の入力をキャプチャする以前のオーディオデータを処理することによって更新された話者埋め込みを生成する。いくつかの実装においては、特定のユーザに関する以前のオーディオデータの1つまたは複数のインスタンスが、遠隔のコンピューティングデバイスに記憶され(たとえば、サーバに関連するデータベースに記憶され)得る。いくつかの実装においては、特定のユーザに関する以前のオーディオデータの1つまたは複数のインスタンスが、クライアントデバイスに記憶され、自動化されたアシスタントの要求の一部として送信され得る。
【００８２】
様々な実装においては、以前のオーディオデータのインスタンスが、長さ、多様性、および/またはその他の1つの基準/複数の基準などの1つまたは複数の基準に基づいて選択され得る。たとえば、以前のオーディオデータのインスタンスは、インスタンスの各々が(たとえば、単語数および/またはユーザが口頭の発話をした時間の長さに基づいて)少なくとも閾値の長さであることに基づいて選択され得る。また、たとえば、以前のオーディオデータのインスタンスは、追加的にまたは代替的に、以前のオーディオデータのインスタンスの間の多様性を大きくするために以前の発話内の単語、音素などを分析することによって選択され得る。言い換えると、以前のオーディオデータのインスタンスは、以前のオーディオデータのインスタンスの間の重複する単語および/または音の数を減らすために選択され得る。
【００８３】
ブロック214において、システムは、更新された話者埋め込みをクライアントデバイスに送信する。多くの実装において、クライアントデバイスは、将来の自動化されたアシスタントの要求と一緒に送信するために更新された話者埋め込みをローカルに記憶することができる。多くの実装において、話者埋め込みの更新されたバージョンは、その更新されたバージョンがデータセキュリティを助けるためにクライアントデバイスに送信された後、遠隔のコンピューティングデバイスにおいて削除され得る。
【００８４】
ここで図3に目を向けると、本明細書において開示される様々な実装による、TI話者認識モデルによって生成された出力およびTD話者認識モデルによって生成された出力に基づいて特定のユーザが発話したかどうかを判定するプロセス300を示す流れ図が、提供される。便宜上、流れ図の動作は、動作を実行するシステムに関連して説明される。このシステムは、1つまたは複数のプロセッサ(たとえば、CPU、GPU、および/またはTPU)などの1つまたは複数の構成要素を含む可能性がある。プロセス300の動作は特定の順序で示されるが、これは限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、および/または追加される可能性がある。
【００８５】
ブロック302において、システムは、クライアントデバイスから自動化されたアシスタントの要求を受信する。多くの実装において、自動化されたアシスタントの要求は、口頭の発話をキャプチャするオーディオデータおよび特定のユーザに関するTDユーザ測定値を含む。多くの実装において、口頭の発話は、クライアントデバイスの1つまたは複数のマイクロフォンによってキャプチャされる可能性がある。多くの実装において、TDユーザ測定値は、出力を生成するためにTD話者認識モデルを使用して口頭の発話の呼び出しフレーズ部分を処理し、出力をTD話者埋め込みと比較することによってクライアントデバイスのローカルで生成され得る。
【００８６】
ブロック304において、システムは、出力を生成するためにTI話者認識モデルを使用してオーディオデータを処理する。多くの実装において、システムは、口頭の発話全体を処理し得る。いくつかの実装において、システムは、口頭の発話の一部のみを処理し得る。たとえば、システムは、話者埋め込みと比較する出力を生成するために、口頭の発話の呼び出しフレーズ部分に続く後続部分のみを処理し得る。
【００８７】
ブロック306において、システムは、TI話者認識モデルを使用して生成された出力を特定のユーザに関するTI話者埋め込みと比較することによってTIユーザ測定値を決定する。
【００８８】
ブロック308において、システムは、特定のユーザが口頭の発話をしたかどうかを判定する。そうである場合、システムは、ブロック310に進む。多くの実装において、システムは、TIユーザ測定値およびTDユーザ測定値を使用して特定のユーザが口頭の発話をしたかどうかを判定することができる。たとえば、TIユーザ測定値およびTDユーザ測定値は、連結される可能性があり、連結が閾値を超えている場合、特定のユーザは、口頭の発話をした。追加的にまたは代替的に、TDユーザ測定値および/またはTIユーザ測定値は、重み付けされ得る。たとえば、TDユーザ測定値および/またはTIユーザ測定値がユーザが口頭の発話をした非常に高い確率を示す場合、ユーザ測定値は、より重く重み付けされ得る(たとえば、TIユーザ測定値がユーザが口頭の発話をした95%の確実性を示す場合、TIユーザ測定値は、TDユーザ測定値よりも重く重み付けされ得る)。逆に、ユーザが口頭の発話をした低い確率を示すTIユーザ測定値および/またはTDユーザ測定値が、より重く重み付けされ得る(たとえば、ユーザが口頭の発話をした10%の確率を示すTIユーザ測定値が、TDユーザ測定値よりも重く重み付けされ得る)。多くの実装においては、ユーザ測定値が閾値を超えているかまたは閾値未満である場合、他方のユーザ測定値が無視され得る。追加的にまたは代替的に、TDユーザ測定値が閾値を超えているかまたは閾値未満である場合、TDユーザ測定値のみが計算され、TIユーザ測定値は無視される。TDユーザ測定値およびTIユーザ測定値を重み付けする別の例として、様々な実装において、TIユーザ測定値の重み付けは、口頭の発話の少なくとも一部(たとえば、呼び出しでない部分)が閾値の長さ未満であるときよりも少なくとも一部が少なくとも閾値の長さ(たとえば、4秒および/または3語)であるときにより大きくなり得る。
【００８９】
ブロック310において、システムは、口頭の発話に応答し、特定のユーザのためにカスタマイズされる応答コンテンツを生成する。
【００９０】
ブロック312において、システムは、応答コンテンツをクライアントデバイスに送信する。多くの実装において、応答コンテンツをクライアントデバイスに送信することは、クライアントデバイスに応答コンテンツに基づく出力をレンダリングさせる。レンダリングされるコンテンツは、応答コンテンツ自体または応答コンテンツの変換を含むことが可能である(たとえば、応答コンテンツは、テキストを含むことが可能であり、レンダリングされるコンテンツは、(たとえば、テキストトゥスピーチプロセッサを使用して生成された)テキストに関して生成された音声を含むことが可能である)。
【００９１】
ここで図4に目を向けると、本明細書において開示される様々な実装による、どのユーザが口頭の発話をしたのかを判定する前にクライアントデバイスの何人かのユーザのための応答コンテンツをプリフェッチするプロセス400を示す流れ図が、提供される。便宜上、流れ図の動作は、動作を実行するシステムに関連して説明される。このシステムは、1つまたは複数のプロセッサ(たとえば、CPU、GPU、および/またはTPU)などの1つまたは複数の構成要素を含む可能性がある。プロセス400の動作は特定の順序で示されるが、これは限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、および/または追加される可能性がある。
【００９２】
ブロック402において、システムは、クライアントデバイスから自動化されたアシスタントの要求を受信する。多くの実装において、自動化されたアシスタントの要求は、口頭の発話をキャプチャするオーディオデータを含む。
【００９３】
ブロック404において、システムは、第1のユーザプロファイルおよび第2のユーザプロファイルが自動化されたアシスタントの要求に関連すると判定する。多くの実装において、システムは、第1のユーザプロファイルおよび第2のユーザプロファイルに加えて第3のユーザプロファイル(および任意で第4の、第5のなど)が自動化されたアシスタントの要求に関連付けられると判定し得る。多くの実装において、ユーザプロファイルは、1つまたは複数の自動化されたアシスタントクライアントに関連付けられ得る。たとえば、5人世帯が、第1のクライアントデバイスおよび第2のクライアントデバイスを有する可能性がある。5人世帯の各人が、第1のクライアントデバイスと第2のクライアントデバイスとの両方に関連付けられ得る。多くの実装において、各ユーザプロファイルは、ユーザに関する話者埋め込みを含み、自動化されたアシスタントに関連するすべてのユーザに関する話者埋め込みが、自動化されたアシスタントの要求の一部として送信され得る。一部の実装においては、すべての利用可能な話者埋め込みのサブセットのみが、自動化されたアシスタントの要求の一部として送信される。たとえば、5つの利用可能な話者埋め込みのうちの2つが、その他の3つに関するTD測定値は閾値を満たさないがそれら2つに関するTD測定値が閾値を満たすことに基づいて送信され得る。
【００９４】
ブロック406において、システムは、第1のユーザのためにカスタマイズされ、口頭の発話に応答する第1の応答コンテンツの生成を開始する。
【００９５】
ブロック408において、システムは、第2のユーザのためにカスタマイズされ、口頭の発話に応答する第2の応答コンテンツの生成を開始する。多くの実装において、応答コンテンツの生成は、自動化されたアシスタントの要求に関連する任意のさらなるユーザに関しても開始され得る。たとえば、第3の応答コンテンツの生成が、開始されることが可能であり、第3の応答コンテンツは、要求内で示された第3のユーザプロファイルのためにカスタマイズされ、口頭の発話に応答する。
【００９６】
ブロック410において、第1の応答コンテンツの生成および第2の応答コンテンツの生成を完了する前に、システムは、出力を生成するためにTI話者認識モデルを使用してオーディオデータを処理する。言い換えると、システムが第1のユーザのためにカスタマイズされた応答コンテンツをプリフェッチし、第2のユーザのためにカスタマイズされた応答コンテンツをプリフェッチしている間に、システムは、TI話者認識モデルを使用して話者を特定することができる。追加的にまたは代替的に、システムは、クライアントデバイスに関連する任意のさらなるユーザのためにカスタマイズされた応答コンテンツをプリフェッチし得る(たとえば、第3のユーザのためにカスタマイズされた応答コンテンツをプリフェッチする)。
【００９７】
ブロック412において、システムは、どのユーザが口頭の発話をしたのかを判定する。たとえば、システムは、ブロック410において生成された出力を第1のユーザの話者埋め込みと比較することによって第1のユーザが口頭の発話をしたと判定し得る。
【００９８】
ブロック414において、システムは、その他のユーザのための応答コンテンツを送信することなくブロック412において口頭の発話をしたと判定されたユーザのための応答コンテンツをクライアントデバイスに送信する。たとえば、ブロック412においてシステムが第1のユーザが口頭の発話をしたと判定する場合、システムは、第2のユーザのためにカスタマイズされた応答コンテンツを送信することなく(および任意のさらなるユーザのための応答コンテンツを送信することなく)第1のユーザのためにカスタマイズされた応答コンテンツをクライアントデバイスに送信する。追加的にまたは代替的に、システムは、クライアントデバイスに判定されたユーザのための応答コンテンツに基づく出力をレンダリングさせる。たとえば、ブロック412においてシステムが第1のユーザが口頭の発話をしたと判定した場合、システムは、クライアントデバイスに第1の応答コンテンツに基づく出力をレンダリングさせる。
【００９９】
図5は、本明細書において説明される技術の1つまたは複数の態様を実行するために任意で利用される可能性がある例示的なコンピューティングデバイス510のブロック図である。一部の実装においては、クライアントコンピューティングデバイスおよび/またはその他の構成要素のうちの1つまたは複数が、例示的なコンピューティングデバイス510の1つまたは複数の構成要素を含む可能性がある。
【０１００】
概して、コンピューティングデバイス510は、バスサブシステム512を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ514を含む。これらの周辺デバイスは、たとえば、メモリサブシステム525およびファイルストレージサブシステム526を含むストレージサブシステム524と、ユーザインターフェース出力デバイス520と、ユーザインターフェース入力デバイス522と、ネットワークインターフェースサブシステム516を含む可能性がある。入力および出力デバイスは、コンピューティングデバイス510とのユーザインタラクションを可能にする。ネットワークインターフェースサブシステム516は、外部ネットワークへのインターフェースを提供し、その他のコンピューティングデバイスの対応するインターフェースデバイスに結合される。
【０１０１】
ユーザインターフェース入力デバイス522は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/またはその他の種類の入力デバイスを含む可能性がある。概して、用語「入力デバイス」の使用は、コンピューティングデバイス510または通信ネットワークに情報を入力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
【０１０２】
ユーザインターフェース出力デバイス520は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的表示を含む可能性がある。ディスプレイサブシステムは、ブラウン管(「CRT」)、液晶ディスプレイ(「LCD」)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための何らかのその他のメカニズムを含む可能性がある。ディスプレイサブシステムは、たとえばオーディオ出力デバイスを介して、非視覚的表示を与える可能性もある。概して、用語「出力デバイス」の使用は、コンピューティングデバイス510からユーザまたは別のマシンもしくはコンピューティングデバイスに情報を出力するすべての可能な種類のデバイスおよび方法を含むように意図される。
【０１０３】
ストレージサブシステム524は、本明細書において説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造体を記憶する。たとえば、ストレージサブシステム524は、図2〜図4のプロセスのうちの1つまたは複数の選択された態様を実行するためおよび図1に示された様々な構成要素を実装するための論理を含む可能性がある。
【０１０４】
これらのソフトウェアモジュールは、概して、プロセッサ514のみによって、またはその他のプロセッサとの組合せで実行される。ストレージサブシステム524において使用されるメモリ525は、プログラムの実行中の命令およびデータの記憶のための主ランダムアクセスメモリ(「RAM」)530と、決まった命令が記憶される読み出し専用メモリ(「ROM」)532とを含むいくつかのメモリを含み得る。ファイルストレージサブシステム526は、プログラムおよびデータファイルのための永続的ストレージを提供することができ、ハードディスクドライブ、関連する取り外し可能な媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能なメディアカートリッジを含む可能性がある。特定の実装の機能を実装するモジュールは、ストレージサブシステム524内のファイルストレージサブシステム526によって、またはプロセッサ514によりアクセスされ得るその他のマシンに記憶される可能性がある。
【０１０５】
バスサブシステム512は、コンピューティングデバイス510の様々な構成要素およびサブシステムに意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム512は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装は複数のバスを使用する可能性がある。
【０１０６】
コンピューティングデバイス510は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意のその他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類であり得る。コンピュータおよびネットワークの変わり続ける性質が原因で、図5に示されたコンピューティングデバイス510の説明は、いくつかの実装を示すことを目的とする特定の例としてのみ意図される。図5に示されたコンピューティングデバイスよりも多くのまたは図5に示されたコンピューティングデバイスよりも少ない構成要素を有するコンピューティングデバイス510の多くのその他の構成が、可能である。
【０１０７】
いくつかの実装が本明細書において説明され、図示されたが、本明細書において説明された機能を実行するならびに/あるいは結果および/または利点のうちの1つもしくは複数を得るための様々なその他の手段および/または構造が利用される可能性があり、そのような変更および/または修正の各々は本明細書において説明された実装の範囲内にあるとみなされる。より広く、本明細書において説明されたすべてのパラメータ、寸法、材料、および構成は、例示的であるように意図されており、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の1つの応用または複数の応用に依存する。当業者は、本明細書において説明された特定の実装の多くの均等物を通常の実験だけを使用して認識するかまたは突き止めることができる。したがって、上述の実装は単に例として提示されており、添付の請求項およびその均等物の範囲内で、実装が、特に説明され、特許請求されたのとは異なる方法で実施される可能性があることを理解されたい。本開示の実装は、本明細書において説明されたそれぞれの個々の特徴、システム、品物、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、品物、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、品物、材料、キット、および/または方法が相互に矛盾しない場合は本開示の範囲に含まれる。
【符号の説明】
【０１０８】
100  例示的な環境
102  クライアントデバイス
104  自動化されたアシスタントクライアント
106  音声キャプチャ/TTS/STTエンジン
107  話者認識モジュール
108  話者埋め込み
110  自動化されたアシスタント
114  クラウドベースの自動化されたアシスタント構成要素
116  クラウドベースエンジン
118  クラウドベースSTTエンジン
120  話者認識モジュール
122  自然言語プロセッサ
124  話者認識モデル
126  以前の発話
200  プロセス
300  プロセス
400  プロセス
510  コンピューティングデバイス
512  バスサブシステム
514  プロセッサ
516  ネットワークインターフェースサブシステム
520  ユーザインターフェース出力デバイス
522  ユーザインターフェース入力デバイス
524  ストレージサブシステム
525  メモリサブシステム
526  ファイルストレージサブシステム
530  主RAM
532  ROM
【図１】
2021520511.tif 000003
【図２】
2021520511.tif 000004
【図３】
2021520511.tif 000005
【図４】
2021520511.tif 000006
【図５】
2021520511.tif 000007
【国際調査報告】
2021520511.tif 000008
2021520511.tif 000009
2021520511.tif 000010
2021520511.tif 000011
2021520511.tif 000012