(57)【特許請求の範囲】
【請求項１】
コンピュータによって実施される方法であって、
特定のあらかじめ定義されたホットワードを受信した後でロック状態にある間、音声コマンドに対応するように構成された第1のコンピュータデバイスによって、前記第1のコンピュータデバイスが話者照合データを他のコンピュータデバイスに提供することを許可されていることを示す設定するための値、を取得するステップと、
前記第1のコンピュータデバイスによって、前記特定のあらかじめ定義されたホットワードを受信した後における音声コマンドの発声に対応するオーディオデータを受信するステップであって、前記オーディオデータは、前記第1のコンピュータデバイスがロック状態にある間であると共に前記特定のあらかじめ定義されたホットワード受信の後における音声コマンドに対応するように構成された第2のコンピュータデバイスとコロケートされている間に受信される、ステップと、
前記第1のコンピュータデバイスがロック状態にある間、前記第1のコンピュータデバイスが話者照合データを他のコンピュータデバイスと共有することを許可されていることを示す前記設定するための前記取得された値に基づき、前記第1のコンピュータデバイスによって、前記第2のコンピュータデバイスにメッセージを送信するステップであって、前記第2のコンピュータデバイスは、(1)前記第1のコンピュータデバイスとコロケートされており、さらに、(2)前記特定のあらかじめ定義されたホットワードの後における音声コマンドに対応するように構成されている、ステップと、
前記ロック状態を維持するように、且つ、前記特定のあらかじめ定義されたホットワードの後における前記音声コマンドの前記発声に対応する前記オーディオデータを受信したにもかかわらず前記音声コマンドに対応しないように、前記第1のコンピュータデバイスによって、決定するステップと、
を備え、
前記第2のコンピュータデバイスに前記メッセージを送信するステップは、
前記第1のコンピュータデバイスによって前記第2のコンピュータデバイスに、前記第1のコンピュータデバイスのユーザのための話者照合モデルを含むメッセージを送信するステップ、又は、
前記第1のコンピュータデバイスによって前記第2のコンピュータデバイスに、前記第1のコンピュータデバイスのユーザが前記発声を話した可能性を表す話者照合スコアを含むメッセージを送信するステップを含む、方法。
【請求項２】
前記第2のコンピュータデバイスに前記メッセージを送信するステップは、前記発声に対応する前記オーディオデータを受信することに応じるステップである、請求項1に記載の方法。
【請求項３】
前記第2のコンピュータデバイスに前記メッセージを送信するステップは、短距離通信プロトコルを使用する前記第2のコンピュータデバイスに、前記第1のコンピュータデバイスによって、前記メッセージを送信するステップを含む、請求項1に記載の方法。
【請求項４】
前記第1のコンピュータデバイスによって、前記第2のコンピュータデバイスが前記第1のコンピュータデバイスとコロケートされているか、判断するステップを含み、
前記第2のコンピュータデバイスに前記メッセージを送信するステップは、前記第2のコンピュータデバイスが前記第1のコンピュータデバイスとコロケートされていると判断されたことに応じるステップである、請求項1に記載の方法。
【請求項５】
前記第1のコンピュータデバイスによって前記第2のコンピュータデバイスから、前記第2のコンピュータデバイスのユーザを表すデータ、を受信するステップを含み、
前記ロック状態を維持するように、且つ、前記音声コマンドに対応しないように、前記決定するステップは、前記ロック状態を維持するように、且つ、前記第2のコンピュータデバイスの前記ユーザを表す前記データを使用することで  前記特定のあらかじめ定義されたホットワードの後における前記音声コマンドの前記発声に対応する前記オーディオデータを受信したにもかかわらず前記音声コマンドに対応しないように、前記第1のコンピュータデバイスによって、決定するステップを含む、請求項1に記載の方法。
【請求項６】
前記第2のコンピュータデバイスの前記ユーザを表す前記データを受信する前記ステップは、前記第1のコンピュータデバイスによって前記第2のコンピュータデバイスから、前記第2のコンピュータデバイスの前記ユーザのための話者照合モデルを受信するステップを含む、請求項5に記載の方法。
【請求項７】
前記第2のコンピュータデバイスの前記ユーザを表す前記データを受信する前記ステップは、前記第1のコンピュータデバイスによって前記第2のコンピュータデバイスから、前記第2のコンピュータデバイスの前記ユーザが前記発声を話した可能性を表す話者照合スコアを受信するステップを含む、請求項5に記載の方法。
【請求項８】
前記第1のコンピュータデバイスのユーザのための話者照合モデルを使用して前記第1のコンピュータデバイスによって、前記第1のコンピュータデバイスの前記ユーザが前記発声を話した可能性を表す話者照合スコアを、生成するステップを含み、
前記ロック状態を維持するように、且つ、前記音声コマンドに対応しないように、前記決定するステップは、前記ロック状態を維持するように、且つ、前記第1のコンピュータデバイスの前記ユーザが前記発声を話した可能性を表す話者照合スコアを使用することで前記特定のあらかじめ定義されたホットワードの後における前記音声コマンドの前記発声に対応する前記オーディオデータを受信したにもかかわらず前記音声コマンドに対応しないように、前記第1のコンピュータデバイスによって、決定するステップを含む、請求項1に記載の方法。
【請求項９】
前記第1のコンピュータデバイスによって、前記第1のコンピュータデバイスのユーザ以外の者のための、前記第1のコンピュータデバイスにそれぞれが記憶される1つまたは複数の話者モデルを、決定するステップを含み、
前記ロック状態を維持するように、且つ、前記音声コマンドに対応しないように、前記決定するステップは、前記ロック状態を維持するように、且つ、前記第1のコンピュータデバイスのユーザ以外の者のための、前記第1のコンピュータデバイスにそれぞれが記憶される前記1つまたは複数の話者モデルを使用することで  前記特定のあらかじめ定義されたホットワードの後における前記音声コマンドの前記発声に対応する前記オーディオデータを受信したにもかかわらず前記音声コマンドに対応しないように、前記第1のコンピュータデバイスによって、決定するステップを含む、請求項1に記載の方法。
【請求項１０】
前記第1のコンピュータデバイスによって、前記第1のコンピュータデバイスのユーザ以外の者のための、前記第1のコンピュータデバイスにそれぞれが記憶される前記1つまたは複数の話者モデルに対するユーザ入力識別データ、を取得するステップを含む、請求項9に記載の方法。
【請求項１１】
第3のコンピュータデバイスが、前記第1のコンピュータデバイスの物理的位置の近くの物理的エリアに配置される頻度を、前記第3のコンピュータデバイスのために、前記第1のコンピュータデバイスによって、決定するステップと、
前記頻度がしきい頻度を満足するか否かを、前記第1のコンピュータデバイスによって判定するステップと、
前記頻度が前記しきい頻度を満足すると判定することに応じて、前記第1のコンピュータデバイスによって、前記第1のコンピュータデバイスに前記第3のコンピュータデバイスの特定のユーザのための特定の話者モデルを関連付けるステップとを備える、請求項9に記載の方法。
【請求項１２】
特定のあらかじめ定義されたホットワードを受信した後でロック状態にある間、音声コマンドに対応するように構成された第1のコンピュータデバイスと、前記第1のコンピュータデバイスによって実行された場合、前記第1のコンピュータデバイスに対して、動作を実行させるように動作可能な命令を記憶した1つまたは複数の記憶デバイスとを備えるシステムであって、前記動作は、
前記第1のコンピュータデバイスが話者照合データを他のコンピュータデバイスに提供することを許可されていることを示す設定するための値、を取得するステップと、
前記特定のあらかじめ定義されたホットワードを受信した後における音声コマンドの発声に対応するオーディオデータを受信するステップであって、前記オーディオデータは、前記第1のコンピュータデバイスがロック状態にある間であると共に前記特定のあらかじめ定義されたホットワード受信の後における音声コマンドに対応するように構成された第2のコンピュータデバイスとコロケートされている間に受信される、ステップと、
前記第1のコンピュータデバイスがロック状態にある間、前記第1のコンピュータデバイスが話者照合データを他のコンピュータデバイスと共有することを許可されていることを示す前記設定するための前記取得された値に基づき、前記第2のコンピュータデバイスにメッセージを送信するステップであって、前記第2のコンピュータデバイスは、(1)前記第1のコンピュータデバイスとコロケートされており、さらに、(2)前記特定のあらかじめ定義されたホットワードの後における音声コマンドに対応するように構成されている、ステップと、
前記ロック状態を維持するように、且つ、前記特定のあらかじめ定義されたホットワードの後における前記音声コマンドの前記発声に対応する前記オーディオデータを受信したにもかかわらず前記音声コマンドに対応しないように、決定するステップと、
を備え、
前記第2のコンピュータデバイスに前記メッセージを送信するステップは、
前記第1のコンピュータデバイスによって前記第2のコンピュータデバイスに、前記第1のコンピュータデバイスのユーザのための話者照合モデルを含むメッセージを送信するステップ、又は、
前記第1のコンピュータデバイスによって前記第2のコンピュータデバイスに、前記第1のコンピュータデバイスのユーザが前記発声を話した可能性を表す話者照合スコアを含むメッセージを送信するステップを含む、システム。
【請求項１３】
前記第2のコンピュータデバイスに前記メッセージを送信するステップは、前記発声に対応する前記オーディオデータを受信することに応じるステップである、請求項12に記載のシステム。
【請求項１４】
前記第2のコンピュータデバイスに前記メッセージを送信するステップは、短距離通信プロトコルを使用する前記第2のコンピュータデバイスに、前記第1のコンピュータデバイスによって、前記メッセージを送信するステップを含む、請求項12に記載のシステム。
【請求項１５】
前記第1のコンピュータデバイスによって、前記第2のコンピュータデバイスが前記第1のコンピュータデバイスとコロケートされているか、判断するステップを含み、
前記第2のコンピュータデバイスに前記メッセージを送信するステップは、前記第2のコンピュータデバイスが前記第1のコンピュータデバイスとコロケートされていると判断されたことに応じるステップである、請求項12に記載のシステム。
【請求項１６】
実行時に、1つまたは複数のコンピュータに対して動作を実行させる、前記1つまたは複数のコンピュータによって実行可能な命令を備えるソフトウェアを記憶した非一時的コンピュータ可読記録媒体であって、前記動作は、
特定のあらかじめ定義されたホットワードを受信した後でロック状態にある間、音声コマンドに対応するように構成された第1のコンピュータデバイスによって、前記第1のコンピュータデバイスが話者照合データを他のコンピュータデバイスに提供することを許可されていることを示す設定するための値、を取得するステップと、
前記第1のコンピュータデバイスによって、前記特定のあらかじめ定義されたホットワードを受信した後における音声コマンドの発声に対応するオーディオデータを受信するステップであって、前記オーディオデータは、前記第1のコンピュータデバイスがロック状態にある間であると共に前記特定のあらかじめ定義されたホットワード受信の後における音声コマンドに対応するように構成された第2のコンピュータデバイスとコロケートされている間に受信される、ステップと、
前記第1のコンピュータデバイスがロック状態にある間、前記第1のコンピュータデバイスが話者照合データを他のコンピュータデバイスと共有することを許可されていることを示す前記設定するための前記取得された値に基づき、前記第1のコンピュータデバイスによって、前記第2のコンピュータデバイスにメッセージを送信するステップであって、前記第2のコンピュータデバイスは、(1)前記第1のコンピュータデバイスとコロケートされており、さらに、(2)前記特定のあらかじめ定義されたホットワードの後における音声コマンドに対応するように構成されている、ステップと、
前記ロック状態を維持するように、且つ、前記特定のあらかじめ定義されたホットワードの後における前記音声コマンドの前記発声に対応する前記オーディオデータを受信したにもかかわらず前記音声コマンドに対応しないように、前記第1のコンピュータデバイスによって、決定するステップと、
を備え、
前記第2のコンピュータデバイスに前記メッセージを送信するステップは、
前記第1のコンピュータデバイスによって前記第2のコンピュータデバイスに、前記第1のコンピュータデバイスのユーザのための話者照合モデルを含むメッセージを送信するステップ、又は、
前記第1のコンピュータデバイスによって前記第2のコンピュータデバイスに、前記第1のコンピュータデバイスのユーザが前記発声を話した可能性を表す話者照合スコアを含むメッセージを送信するステップを含む、非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、話者照合に関する。
【背景技術】
【０００２】
自宅または自動車のような会話可能な環境では、ユーザは、音声入力を使用して、情報にアクセスするか、または、様々な機能を制御し得る。情報および機能は、所与のユーザのために個別化され得る。多くのユーザ環境では、話者の集団から、所与の話者を識別することが有利であり得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書は、話者照合システムに、より多くの情報を提供することによって、話者照合システムを増強することに関する。たとえば、いくつかの話者照合システムは、通常は、さらなる処理を実行するため、および/または、音声コマンドおよびクエリのようなより多くのユーザ入力を受信するために、コンピューティングデバイスをウェイクアップするために、あらかじめ定義されたフレーズを求めて連続的にリスンするステップを含む。そのような話者照合システムは、デバイスにおいて登録されたユーザの集合、および、知られていない未登録のユーザから、あらかじめ定義されたフレーズの発声を区別し得る。典型的なシナリオでは、特定のコンピューティングデバイスが、たとえば、会議室における人の集合、または、食卓における他の食事客のように、デバイスに比較的に近くに位置している人によって話された、あらかじめ定義されたフレーズの任意の発声を検出するであろう。いくつかの事例では、これらの人々は、それらのデバイスと互換性のある話者照合システムを使用し得る。コロケーション情報を活用することによって、各デバイスに関連付けられた話者照合システムは、発声が、各々のデバイスの登録されたユーザによって話されたか、または、たとえば詐欺者のように近くにいる別のユーザによって話されたかを検出し得る。そして、この情報は、話者照合決定を改善するために使用され得る。
【０００４】
一般に、本明細書に記述された主題の革新的な1つの態様は、発声を符号化するオーディオ信号を、第1のユーザデバイスによって受信するステップと、第1のユーザデバイスの第1のユーザのための第1の話者モデルを、第1のユーザデバイスによって取得するステップと、第1のユーザデバイスとコロケートされた対応する第2のユーザデバイスの第2のユーザのために、第2のユーザのための第2の話者モデル、または、発声が第2のユーザによって話された各々の可能性を示す第2のスコアを、第1のユーザデバイスによって取得するステップと、(i)第1の話者モデルおよび第2の話者モデル、または(ii)第1の話者モデルおよび第2のスコアを使用して、発声が第1のユーザによって話されたことを、第1のユーザデバイスによって判定するステップと、からなる動作を含む方法において具体化され得る。この態様の他の実施形態は、対応するコンピュータシステム、装置、および、各々が方法の動作を実行するように構成された1つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムは、ソフトウェアと、ファームウェアと、ハードウェアと、または、オペレーション中、システムに対してこれら動作を実行させる、システムにインストールされたこれらの組合せと、を有することによって、特定のオペレーションまたは動作を実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行された場合、この装置に対して動作を実行させる命令を含むことによって特定のオペレーションまたは動作を実行するように構成され得る。
【０００５】
一般に、本明細書に記述された主題の1つの革新的な態様は、発声を符号化するオーディオ信号を、第1のユーザデバイスによって受信するステップと、第1のユーザデバイスの第1のユーザのための第1の話者モデルを、第1のユーザデバイスによって取得するステップと、各々の各ユーザのための話者モデル、または、発声が各々のユーザによって話された各々の可能性を示すスコアを、第1のユーザデバイスとコロケートされた他のユーザデバイスの複数の他のユーザの各々のために、第1のユーザデバイスによって取得するステップと、(i)第1の話者モデルおよび複数の他の話者モデル、または(ii)第1の話者モデルおよび複数のスコアを使用して、発声が第1のユーザによって話されたことを、第1のユーザデバイスによって判定するステップと、からなる動作を含む方法において具体化され得る。この態様の他の実施形態は、対応するコンピュータシステム、装置、および、各々が方法の動作を実行するように構成された1つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムは、ソフトウェアと、ファームウェアと、ハードウェアと、または、オペレーション中、システムに対してこれら動作を実行させる、システムにインストールされたこれらの組合せとを有することによって、特定のオペレーションまたは動作を実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行された場合、装置に対して動作を実行させる命令を含むことによって特定のオペレーションまたは動作を実行させるように構成され得る。
【０００６】
一般に、本明細書に記述された主題の革新的な1つの態様は、発声を符号化するオーディオ信号を、第1のユーザデバイスによって受信するステップと、第1のユーザデバイスの第1のユーザのための第1の話者モデルを、第1のユーザデバイスによって決定するステップと、第1のユーザデバイスとコロケートされ得る他の人々のために、第1のユーザデバイスに記憶される1つまたは複数の第2の話者モデルを、第1のユーザデバイスによって決定するステップと、第1の話者モデルと第2の話者モデルとを使用して、発声が第1のユーザによって話されたことを、第1のユーザデバイスによって決定するステップと、からなる動作を含む方法において具体化され得る。この態様の他の実施形態は、対応するコンピュータシステム、装置、および、各々が方法の動作を実行するように構成された1つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムは、ソフトウェアと、ファームウェアと、ハードウェアと、または、オペレーション中、システムに対してこれら動作を実行させる、システムにインストールされたこれらの組合せとを有することによって、特定のオペレーションまたは動作を実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行された場合、装置に対して動作を実行させる命令を含むことによって特定のオペレーションまたは動作を実行させるように構成され得る。
【０００７】
一般に、本明細書に記述された主題の1つの革新的な態様は、発声を符号化するオーディオ信号を、これらコンピュータのうちの少なくとも1つによって受信するステップと、各々のユーザデバイスの各々のユーザのための各々の話者モデルの識別情報を、複数のユーザデバイスの各々のためにコンピュータのうちの少なくとも1つによって取得するステップと、識別された話者モデルを使用して、ユーザデバイスのうちの1つの特定のユーザによって発声が話されたことを、これらコンピュータのうちの少なくとも1つによって判定するステップと、からなる動作を含む方法において具体化され得る。この態様の他の実施形態は、対応するコンピュータシステム、装置、および、各々が方法の動作を実行するように構成された1つまたは複数のコンピュータ記憶デバイスに記録されたコンピュータプログラムを含む。1つまたは複数のコンピュータのシステムは、ソフトウェアと、ファームウェアと、ハードウェアと、または、オペレーション中、システムに対してこれら動作を実行させる、システムにインストールされたこれらの組合せとを有することによって、特定のオペレーションまたは動作を実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行された場合、装置に対して動作を実行させる命令を含むことによって特定のオペレーションまたは動作を実行させるように構成され得る。
【０００８】
一般に、本明細書に記述された主題の1つの革新的な態様は、発声を符号化するオーディオ信号を、第1のユーザデバイスによって受信するステップと、発声が第1のユーザデバイスの第1のユーザによって話された可能性を示す第1のスコアを、第1のユーザデバイスによって取得するステップと、第1のユーザデバイスとコロケートされた対応する第2のユーザデバイスの第2のユーザのために、発声が第2のユーザによって話された各々の可能性を示す第2のスコアを、第1のユーザデバイスによって取得するステップと、第1のスコアと第2のスコアとの組合せを、第1のユーザデバイスによって決定するステップと、第1のスコアと第2のスコアとの組合せを使用して、第1のスコアと第2のスコアを、第1のユーザデバイスによって規格化するステップと、規格化された第1のスコアと、規格化された第2のスコアとを使用して、発声が第1のユーザによって話されたことを、第1のユーザデバイスによって判定するステップと、からなる動作を含む方法によって具体化され得る。
【０００９】
前述した実施形態および他の実施形態は各々オプションとして、以下の特徴のうちの1つまたは複数を、単独でまたは組み合わせて含め得る。第2のユーザのための第2の話者モデル、または、発声が第2のユーザによって話された各々の可能性を示す第2のスコアを、第1のユーザデバイスとコロケートされた対応する第2のユーザデバイスの第2のユーザのために、第1のユーザデバイスによって取得するステップは、第2のユーザのための第2の話者モデル、または、発声が第2のユーザによって話された各々の可能性を示す第2のスコアを、第1のユーザデバイスの物理的位置の近くの物理的エリアにコロケートされた第2のユーザデバイスの第2のユーザのために、第1のユーザデバイスによって取得するステップ、を含み得る。この方法は、発声が第1のユーザによって話されたことを判定することに応じて動作を実行するステップ、を含み得る。この方法は、発声に含まれたコマンドを識別するためにオーディオ信号を分析するステップと、コマンドに対応する動作を実行するステップと、を含み得る。この方法は、オーディオ信号の一部と第1の話者モデルとを使用して、発声が第1のユーザによって話された可能性を示す第1のスコアを、第1のユーザデバイスによって生成するステップ、を含み得る。この方法は、最高スコアを決定するために、第1のスコアを第2のスコアと比較するステップを含み得る。発声が第1のユーザによって話されたことを判定するステップは、第1のスコアが最高スコアであることを判定するステップを含み得る。
【００１０】
いくつかの実施において、第2のユーザのための第2の話者モデル、または、発声が第2のユーザによって話された各々の可能性を示す第2のスコアを、第1のユーザデバイスの物理的位置の近くの物理的エリアに配置された対応する第2のユーザデバイスの第2のユーザのために、第1のユーザデバイスによって取得するステップは、第2の話者モデルを、第1のユーザデバイスによって取得するステップと、オーディオ信号の一部と第2の話者モデルとを使用して、第2のスコアを、第1のユーザデバイスによって生成するステップと、を含み得る。
【００１１】
いくつかの実施において、第2のユーザのための第2の話者モデル、または、発声が第2のユーザによって話された各々の可能性を示す第2のスコアを、第1のユーザデバイスの物理的位置の近くの物理的エリアに配置された対応する第2のユーザデバイスの第2のユーザのために、第1のユーザデバイスによって取得するステップは、第1のユーザデバイスの物理的位置の近くの物理的エリアに第2のユーザデバイスが配置されていることを第1のユーザデバイスによって判定するステップと、第1のユーザデバイスが第2の話者モデルへアクセスすることを可能にする設定を第1のユーザデバイスが有していることを、第1のユーザデバイスによって判定するステップと、第2の話者モデルを、第1のユーザデバイスによって受信するステップと、オーディオ信号の一部と第2の話者モデルとを使用して、第2のスコアを、第1のユーザデバイスによって生成するステップと、を含み得る。第2の話者モデルを、第1のユーザデバイスによって受信するステップは、第1のユーザデバイスに記憶された1つまたは複数の第3の話者モデルを第1のユーザデバイスによって識別するステップと、第3の話者モデルのサブセットが、第2の話者モデルを含み得ることを、第1のユーザデバイスによって判定するステップと、を含み得る。この方法は、第3の話者モデルのサブセットに含まれていない第3の話者モデルを、第1のユーザデバイスによって、第1のユーザデバイスから削除するステップ、を含み得る。第2の話者モデルを、第1のユーザデバイスによって受信するステップは、第1のユーザデバイスにおけるメモリから、第2の話者モデルを、第1のユーザデバイスによって検索するステップ、を含み得る。第2のスコアを、第1のユーザデバイスによって生成するステップは、別のユーザデバイスから、第2の話者モデルを要求することなく、第1のユーザデバイスに記憶された第2の話者モデルと、オーディオ信号の一部とを使用して、第1のユーザデバイスによって、第2のスコアを生成するステップ、を含み得る。第2の話者モデルを、第1のユーザデバイスによって受信するステップは、サーバから、第2の話者モデルを、第1のユーザデバイスによって受信するステップ、を含み得る。第2のユーザデバイスは、第2の話者モデルを含み得る。第2の話者モデルを、第1のユーザデバイスによっ
て受信するステップは、第2のユーザデバイスから、第1のユーザデバイスによって、第2の話者モデルを受信するステップ、を含み得る。
【００１２】
いくつかの実施では、第2のユーザのための第2の話者モデル、または、発声が第2のユーザによって話された各々の可能性を示す第2のスコアを、第1のユーザデバイスの物理的位置の近くの物理的エリアに配置された対応する第2のユーザデバイスの第2のユーザのために、第1のユーザデバイスによって取得するステップは、第1のユーザデバイスの物理的位置の近くの物理的エリアに第2のユーザデバイスが配置されていることを第1のユーザデバイスによって判定するステップと、第2のスコアを第1のユーザデバイスによって受信するステップと、を含み得る。第2のスコアを第1のユーザデバイスによって受信するステップは、第2のユーザデバイスから、第1のユーザデバイスによって、第2のスコアを受信するステップを含み得る。第1のユーザデバイスによって、第2のスコアを受信するステップは、サーバから、第1のユーザデバイスによって、第2のスコアを受信するステップを含み得る。この方法は、第2のユーザデバイスのためのデバイス識別子を、第1のユーザデバイスによって決定するステップと、デバイス識別子を、第1のユーザデバイスによって、サーバへ提供するステップとを含み得、この識別子をサーバへ提供することに応じて、第1のユーザデバイスが、サーバから第2のスコアを受信する。
【００１３】
いくつかの実施では、この方法は、第1のユーザデバイスの物理的位置の近くの物理的エリアに位置され得る他の人々のために、第1のユーザデバイスに記憶される1つまたは複数の第3の話者モデルを、第1のユーザデバイスによって決定するステップと、(i)第1の話者モデル、第2の話者モデル、および第3の話者モデル、または(ii)第1の話者モデル、第2のスコア、および第3の話者モデルを使用して、発声が第1のユーザによって話されたことを、第1のユーザデバイスによって判定するステップと、を含み得る。この方法は、オーディオ信号の一部と第1の話者モデルとを使用して、発声が第1のユーザによって話された可能性を示す第1のスコアを、第1のユーザデバイスによって生成するステップと、各々の第3の話者モデルと、オーディオ信号の一部とを使用して、第3の話者モデルの各々のために、第1のユーザデバイスによって、各々の第3のスコアを生成するステップと、最高スコアを決定するために、第1のユーザデバイスによって、第1のスコア、第2のスコア、および第3のスコアを比較するステップと、を含み得る。この方法は、第3のユーザデバイスが、第1のユーザデバイスの物理的位置の近くの物理的エリアに配置される頻度を、第3のユーザデバイスのために、第1のユーザデバイスによって決定するステップと、この頻度がしきい頻度を満足するか否かを、第1のユーザデバイスによって判定するステップと、この頻度がしきい頻度を満足すると判定することに応じて、第1のユーザデバイスによって、第3の話者モデルに、第3のユーザデバイスの第3のユーザのための第3の話者モデルを記憶するステップと、を含み得る。この方法は、第3の話者モデルを識別する入力を、第1のユーザデバイスによって、第1のユーザから受信するステップと、第3の話者モデルを識別する入力をユーザから受信するステップに応じて、第1のユーザデバイスによって、第3の話者モデルに、第3の話者モデルを記憶するステップと、を含み得る。
【００１４】
いくつかの実施では、この方法は、各々のユーザデバイスから、ユーザデバイスの各々のためにコンピュータのうちの少なくとも1つによって、各々の話者モデルを受信するステップ、を含み得る。この方法は、各々の識別情報を使用して、これらコンピュータのうちの少なくとも1つに含まれたメモリから、ユーザデバイスの各々のためにコンピュータのうちの少なくとも1つによって、各々の話者モデルを検索するステップ、を含み得る。
【００１５】
いくつかの実施では、この方法は、規格化された第1のスコアが、しきい値を満足することを、第1のユーザデバイスによって判定するステップを含み得、発声が第1のユーザによって話されたことを判定するステップは、規格化された第1のスコアがしきい値を満足することを判定するステップに応じる。この方法は、第1のスコアと第2のスコアとの平均が、しきい値を満足しないことを、第1のユーザデバイスによって判定するステップを含み得、第1のスコアと第2のスコアとの組合せを判定するステップは、第1のスコアと第2のスコアとの平均が、しきい値を満足しないことを判定するステップに応じる。この方法は、第1のユーザデバイスによって、第1のスコアと第2のスコアとの両方がしきい値を満足しないことを判定するステップを含み得、第1のスコアと第2のスコアとの組合せを判定するステップは、第1のスコアと第2のスコアとの両方がしきい値を満足しないことを判定するステップに応じる。この方法は、第1のスコアがしきい値を満足しないことを、第1のユーザデバイスによって判定するステップを含み得、第1のスコアと第2のスコアとの組合せを判定するステップは、第1のスコアがしきい値を満足しないことを判定するステップに応じる。
【００１６】
本明細書に記述された主題は、以下の利点のうちの1つまたは複数を実現するように、特定の実施形態において実施され得る。いくつかの実施では、詐称者話者モデルの使用が、ユーザデバイスのユーザ以外の人によって話された発声に応じたユーザデバイスによる動作を低減し得る。いくつかの実施では、システムは、詐称者話者モデルを使用する場合、60乃至80パーセントまで誤った肯定を低減し得る。いくつかの実施では、システムは、コロケートされた異なる話者のためのスコアの組合せを使用して、最終的な発声スコアを規格化し得る。
【００１７】
本明細書の主題の1つまたは複数の実施形態の詳細は、添付図面および以下の詳細説明に記述される。主題の他の特徴、態様、および利点は、詳細説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１８】
【図１Ａ】1つまたは複数のユーザデバイスA〜Dが、発声を符号化するオーディオ信号を分析する環境の例を図示する図である。
【図１Ｂ】1つまたは複数のユーザデバイスA〜Dが、発声を符号化するオーディオ信号を分析する環境の例を図示する図である。
【図１Ｃ】1つまたは複数のユーザデバイスA〜Dが、発声を符号化するオーディオ信号を分析する環境の例を図示する図である。
【図２】話者照合システムの例を示す図である。
【図３】発声がユーザによって話されたか否かを判定するための処理のフロー図である。
【図４】本書において記述されたシステムおよび方法を実施するために使用され得るコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【００１９】
様々な図面において、同一の参照番号および指定が、同一の要素を示す。
【００２０】
話者照合システムは、通常は、さらなる処理を実行するため、および/または、音声コマンドおよびクエリのようなより多くのユーザ入力を受信するために、コンピューティングデバイスをウェイクアップするために、あらかじめ定義されたフレーズを求めて連続的にリスンする処理、を含み得る。そのような話者照合システムは、デバイスにおいて登録されたユーザの集合から、および、知られていない未登録のユーザから、ホットワードの発声を区別し得る。
【００２１】
登録は、知られている、または、知られていない他のユーザから、彼または彼女を区別するために使用され得るモデルを生成するために、ユーザが、システムへサンプル発声を提供したか否かを称する。話者照合処理は、所与の発声のために生成されたモデルを、話者(または、複数の話者)のために生成されたモデルと比較するステップと、類似性しきい値に基づいて、発声を受諾するか拒否するかを決定するステップと、を含み得る。
【００２２】
話者照合システムは、特に、認識品質、および詐欺者防止効果に関する広範なエリア、そしてさらには、広範なパフォーマンス要件、における適用可能性を有する。たとえば、デバイスを解除するために使用される話者照合システムは、このシステムが、信頼された環境において既に解除されているデバイスにおいて使用されている場合よりも、詐欺者の低い誤った受諾を提供するために、より高い要件を有し得る。誤った受諾は、(登録されたユーザを認識しない)より低い誤った拒否に有利に緩和され得る。
【００２３】
所与の発声の受諾または拒否の決定を実行するために、照合システムが単に、登録された話者から提供された情報しか有していない場合、照合処理は、チャレンジングである。なぜなら、知られていない、あり得る詐欺者の集合は、現実的には解放されているからである。その結果、知られていない話者からの発声が、登録された話者のための類似性しきい値を超えることが、より高い可能性となり得、結果として、誤った受諾となる。このチャレンジは、モバイルデバイスの場合、特に重要であり、モバイルデバイスの周囲の、あり得る詐欺者の利用可能性が、高まり、常に変化する。
【００２４】
話者照合システムは、これらのシステムに、より多くの情報を提供することによって改善され得る。特に、モバイルデバイス/プラットフォームに既に存在し得る一般に利用可能なAPIによって提供されたコロケーション情報を利用することによって、各デバイスにおける照合システムは、あり得る詐欺者が近くにいるか否かを検出し得る。そのような情報は、類似性しきい値を調節するために使用され得り、また、照合決定を改善するために、登録された話者モデルを共有する。いくつかの例において、システムは、コロケートされた話者のためのスコアの組合せを使用して、1つまたは複数の話者モデルのためのスコアを規格化し得る。たとえば、ユーザデバイスは、各々のスコアを生成するために、ユーザデバイスに記憶された話者モデルと、他のユーザデバイスから受信された話者モデルとを使用し、これらスコアの組合せを決定し、この組合せを使用して、これらスコアの各々を規格化し得る。
【００２５】
たとえば、ユーザデバイスは、バックグランドノイズによって、発声のために低いスコアを生成し得る。たとえば、これらスコアは、バックグランドノイズに比例して減少し得る。走行中の車両、または、混雑したレストランのように、非常にノイズの多い条件では、ユーザデバイスのユーザからの発声のスコアが、しきい値を満足しない、たとえば、受諾しきい値以下であり、誤って拒否されることが可能であり得る。スコアの規格化は、ノイズペナルティを低減し得る。たとえば、異なる話者モデルを使用して各々生成された多くのスコアの平均が、受諾しきい値を満足しない、たとえば、受諾しきい値以下であるので、規格化は、ユーザデバイスのユーザのためのスコアが、受諾しきい値を満足すべき、たとえば、受諾しきい値よりも大きくなるように、これらスコアの各々を改善するという結果になるであろう。
【００２６】
そのような照合システムは、可能な詐欺者のモデルにアクセスし得るので、これらシステムは、詐欺者の発声が、受諾しきい値よりも高い、登録されたユーザに対する類似性スコアを取得するケースにおいて、いくつかの発声を良好に拒否する(たとえば、誤った受諾率を低下させる)ことができ得る。たとえば、発声が、たとえば、コロケートされたユーザから生成された、「詐欺者」の集合におけるモデルのうちの1つに対して、等しい、または、それよりも高いスコアを有しているのであれば、このシステムは、この発声が、詐欺者からのものである可能性が高いと仮定し、拒否し得る。そのようなアプローチは、様々なタイプの話者モデル、たとえば、iベクトル、dベクトル等との互換性を有し得る。
【００２７】
いつデバイスが、所与の地理的エリアにコロケートされているのかを判定するための多くの方式が存在し得る。たとえば、この情報は、全地球測位システム(GPS)、近距離無線通信(NFC)、Bluetooth(登録商標)、サブソニックオーディオ、および/または、他のセンサおよび技術のうちの1つまたは複数から導出され得る。いくつかの例において、コロケートされたデバイスは、たとえば、これらデバイスが同じ電話またはビデオ会議に参加している場合、仮想的に関連付けられ得る。これらの例において、デバイスまたはサーバは、カレンダ入力、電子メールまたはテキストメッセージ、または他の「ソフトな」概念を使用してコロケーションを判定し得る。
【００２８】
多くのユーザはまた、ユーザのすべてが、対応するユーザデバイスを有している訳ではない場合、同じエリアにコロケートされ得るが、これらユーザデバイスのいくつかは、これらユーザのための話者モデルを含んでいる。たとえば、5人の友達が、彼らの居間のうちの1つにおり、これら友達のうちの2人が、自分たちのモバイルデバイスを有している場合、これら友達のうちの誰が、特定の発声を話したのかを判定するために、第1のモバイルデバイスは、モバイルデバイスを有していない3人の友達の話者モデルを含み得、第1および第2のモバイルデバイスは、これら話者モデルと、デバイスを所有している友達のための話者モデルとを使用し得る。
【００２９】
典型的な実施では、話者照合システムは、発声を符号化するオーディオ信号を受信し、話者モデルを使用して生成されたスコアが、しきいスコア値を満足しているか否かを判定する。話者照合システムが、特定のユーザデバイスの特定のユーザのために単一の話者モデルのみを使用する場合、話者照合システムは、別のユーザ(たとえば、ユーザの兄弟)によって話された発声のためのしきいスコア値を満足するスコアを生成し得る。
【００３０】
話者照合システムの精度を増加させるために、話者照合システムは、たとえば、ユーザのために1つ、および、ユーザの兄弟のために別の1つのように、多くの話者モデルを使用する。たとえば、話者照合システムは、発声を符号化するオーディオ信号のために、2つのスコアを生成する。うち1つのスコアはユーザのため、別のスコアはその兄弟のためである。話者照合システムは、どのスコアが最高であるかを判定するために、両方がしきいスコア値を満足し得るこれらスコアを比較する。話者照合システムは、たとえば、最高スコアを生成するために、別の人の話者モデルが使用されるように、別の人が発声を話した場合と比較された発声を話した特定の人のための話者モデルを使用して最高スコアを生成する可能性が最も高い。
【００３１】
話者照合システムが、たとえば、ユーザのための話者モデルを使用して生成された、ユーザのスコアが最高であると判定した場合、特定のユーザデバイスは、発声に応じて動作を実行し得る。話者照合システムが、たとえばユーザの兄弟のための話者モデルを使用して生成された、ユーザの兄弟のスコアが最高であると判定した場合、特定のユーザデバイスは、動作を講じない。
【００３２】
話者照合システムは、たとえば、特定のユーザデバイスとともにコロケートされた、特定のユーザデバイスの近くの物理的エリア内の他のユーザのための他の話者モデル、または、これら他のユーザデバイスから受信されたスコアを使用し、どのスコアが最高であるかと、発声に応じて、特定のユーザデバイスが動作を実行するか否かとを判定する。話者照合システムは、たとえばサーバのような、特定のデバイスまたは別のデバイスにおいて実行し得る。
【００３３】
図1A〜図1Cは、1つまたは複数のユーザデバイスA〜D 102a〜dが、発声を符号化するオーディオ信号を分析する環境100の例を図示する。ユーザデバイスA〜D 102a〜dは、発声が、ユーザデバイスの各々のユーザによって話された可能性が高いか否かを判定し、ユーザデバイスが、この発声に応じて動作を実行すべきであるか、または、この発声が、各々のユーザによって話された可能性が高くなく、ユーザデバイスが、動作を講じるべきではないことを判定するために、多くの異なるアルゴリズムのうちの1つを使用し得る。
【００３４】
たとえば、4人の同僚が、会議室におり、第1の同僚、たとえばユーザDが、「オーケーグーグル、デモを開始して下さい」というコマンドを発行し得る。ユーザデバイスA 102aは、たとえば、時々またはしばしば、ユーザAまたはユーザデバイスA 102aと同じ物理的エリアにあるユーザデバイスA 102aのユーザAのための話者モデルA 104aと、他のユーザのための他の話者モデルとを含む、多くの話者モデルを使用してオーディオ信号を分析し得る。他の話者モデルは、たとえば、ユーザデバイスA 102aは、別のユーザデバイスB〜D 102b〜dから特定の話者モデルを最近要求した時のような短期間、または、たとえば、ユーザデバイスA 102aと同じ物理的エリアに他のユーザがいる確率が高い時のような長期間、ユーザデバイスA 102aのメモリに記憶され得る。
【００３５】
ユーザデバイスA 102aは、話者モデルの各々のためのスコアを決定し、多くのスコアから最高スコアを決定する。ユーザデバイスA 102aは、たとえば、最高スコアを、しきいスコア値と比較することによって、最高スコアが、しきいスコア値を満足するか否かと、最高スコアが、ユーザデバイスA 102aのユーザAに関する可能性が高いこととを判定し得る。最高スコアが、しきいスコア値を満足していないのであれば、ユーザデバイスA 102aは、さらなる動作を講じず、そして、たとえば、この発声が、ユーザデバイスA 102aが話者モデルを有していないユーザによって発せられたことを判定し得る。
【００３６】
最高スコアが、ユーザデバイスA 102aのユーザAに関するもの、たとえば、コマンドを発行した第1の同僚はユーザAであるとユーザデバイスA 102aが判定した場合、ユーザデバイスA 102aは、オーディオ信号の受信に応じて動作を実行する。たとえば、ユーザデバイスA 102aは、要求されたデモを起動させ得る。
【００３７】
最高スコアが、ユーザAに関するものではなく、第1の同僚が、ユーザAではないとユーザデバイスA 102aが判定した場合、ユーザデバイスA 102aは、オーディオ信号に関してさらなる動作を講じないことがあり得る。たとえば、ユーザデバイスA 102aは、第1の同僚によって話された別の発声を伴う別のオーディオ信号を受信し、他の発声に応じて動作を講じないことがあり得る。
【００３８】
いくつかの例では、ユーザデバイスA〜D 102a〜dが、同じまたは互換性のある話者照合システムを含んでいる場合、ユーザデバイスA〜D 102a〜dの各々は、たとえば話者モデルのように各々のユーザに関する情報、または、たとえばスコアのように、発声を符号化するオーディオ信号の分析に関する情報を共有し得る。たとえば、図1Aに図示されるように、たとえばユーザDのような第1の同僚が、「オーケーグーグル、デモを開始して下さい」という発声106を発し得る。そして、ユーザデバイスA〜D 102a〜dの各々におけるマイクロホンが、この発声を表す信号をキャプチャし、オーディオ信号におけるこの発声を符号化し得る。
【００３９】
ユーザデバイスA〜D 102a〜dの各々は、図1Bに図示されるように、ユーザデバイスの各々のユーザA〜Dが発声106を発した可能性を表すスコアを生成するために、対応する話者モデルA〜D 104a〜dを使用して各々のオーディオ信号を分析する。この例において、ユーザデバイスA 102aは、ユーザAについてスコア0.76を生成し、ユーザデバイスB 102bは、ユーザBについてスコア0.23を生成し、ユーザデバイスC 102cは、ユーザCについてスコア0.67を生成し、ユーザデバイスD 102dは、ユーザDについてスコア0.85を生成する。
【００４０】
ユーザデバイスA〜D 102a〜dの各々は、他のユーザデバイスと各々のスコアを共有する。たとえば、ユーザデバイスA〜D 102a〜dは、各々のユーザデバイスの近くのエリアに物理的に配置された他のユーザデバイスを決定するために、GPS、NFC、Bluetooth、サブソニックオーディオ、または他の任意の適切な技術のような1つまたは複数のセンサを使用し得る。ユーザデバイスA〜D 102a〜dは、ユーザデバイスが、そのスコアを別のユーザデバイスと共有でき得るか否かを示すアクセス設定を決定し得、そして、他のユーザデバイスが、同じ話者照合システムを使用するか否かを判定し得、たとえば、このスコアまたは両方を使用し得る。
【００４１】
各々のユーザデバイスによって生成されたスコアが最高スコアであり、各々のユーザデバイスが発声106に応じて動作を実行すべきであるか否かを判定するために、ユーザデバイスA〜D 102a〜dの各々は、互いのスコアのすべてを比較する。たとえば、図1Cに示すように、ユーザデバイスD 102dは、ユーザデバイスD 102dのユーザDのための話者モデルD 104dを使用して生成されたスコアが最高であり、発声106がユーザDによって話された可能性が、発声106が他のユーザデバイスA〜C 102a〜cに関する他のユーザによって話された可能性よりも大きい、と判定する。ユーザデバイスD 102dは、要求されたデモ108を起動するような、発声106に一致する動作を実行し得る。ユーザデバイスD 102dは、発声がユーザDによって話され、たとえば、ユーザデバイスD 102dがスコアを受け取らなかった別のユーザによって話されていない可能性が高いことを保証するために、最高スコアをしきいスコア値と比較し得る。
【００４２】
同様に、他のユーザデバイスA〜C 102a〜cの各々は、各々のスコアが、最高ではなく、各々の他のユーザデバイスが動作を講じるべきではないと判定する。各々のスコアが最高スコアではないと判定する前に、他のユーザデバイスA〜C 102a〜cの各々は、発声と、話者モデルのうちの1つとの間に少なくとも最低の類似性があり、発声が、他のユーザデバイスA〜C 102a〜cが各々の話者モデルを有していない別のユーザによって話されていないことを保証するために、最高スコアを、たとえば、各々のユーザデバイスに特有のしきいスコア値と比較し得る。他のユーザデバイスA〜C 102a〜cは、最高スコアが別のユーザデバイスから受信された場合、最高スコアに対応するユーザ、ユーザデバイス、またはその両方に関する情報を知っていることも、または、知らないこともあり得る。たとえば、ユーザデバイスA〜D 102a〜dの各々は、たとえば、ユーザまたはユーザデバイスの、任意の識別情報なしで、他のユーザデバイスへスコアを送信し得る。いくつかの例では、ユーザデバイスは、スコアが生成されたユーザのための識別子とともにスコアを送信し得る。
【００４３】
図2は、話者照合システム200の例である。1つまたは複数のユーザデバイスA〜B 202a〜bまたはサーバ204は、発声を話した可能性が最も高いユーザを判定するために、たとえば、発声の特性を表すデータのような、発声を符号化するオーディオ信号を分析し得る。ユーザデバイスA〜B 202a〜b、サーバ204、またはこれらのデバイスの複数の組合せは、話者モデルを使用してオーディオ信号を分析し、話者モデルを使用して決定されたオーディオ信号の別の分析を比較し、特定のユーザが発声を話したか否かを判定し得る。
【００４４】
たとえば、ユーザデバイスA〜B 202a〜bの各々は、各々のユーザのための話者モデルA〜B 206a〜bを含む。話者モデルA〜B 206a〜bは、各ユーザに、登録フレーズを話させ、その後、たとえば、キーワードサンプルからメル周波数ケプストラム係数(MFCC)特徴を抽出し、将来の比較のための基準としてこれら特徴を使用し、および/または、特定のユーザによって話された発声の表現を使用してニューラルネットワークを学習するような任意の適切な方法を使用して、特定のユーザのために生成され得る。
【００４５】
話者照合モジュールA 208aは、特定の発声がユーザAによって話された可能性を判定するために、ユーザデバイスA 202aのユーザAのための話者モデルA 206aを使用する。たとえば、話者照合モジュールA 208aは、たとえば、オーディオ信号の表現のように、特定の発声を符号化するオーディオ信号を受信し、特定の発声がユーザAによって話された可能性を表すスコアを生成するために、話者モデルA 206aを使用する。
【００４６】
話者照合モジュールA 208aは、詐欺者話者モデル210aの各々について、特定の発声が、特定の詐欺者話者モデルに対応する各々のユーザによって話された可能性を表すスコアを生成するために、ユーザデバイスA 202aに記憶された1つまたは複数の詐欺者話者モデル210aを使用し得る。たとえば、ユーザデバイスA 202aは、オーディオ信号を受信し、ユーザデバイスB 202bが、たとえば同じ部屋のように、ユーザデバイスA 202aの物理的位置の近くの物理的エリアに位置していることを判定し、たとえば話者モデルB 206bのようなユーザデバイスB 202bから、または、サーバ204から、ユーザデバイスB 202bのユーザのための話者モデルを要求し得る。たとえば、ユーザデバイスAは、話者モデルB 206bを求める要求の一部として、ユーザデバイスB 202bのためのデバイス識別子、または、ユーザBのための識別子を、たとえばサーバ204へ送信し得る。ユーザデバイスA 202aは、詐欺者話者モデル210aのうちの1つとして話者モデルB 206bをメモリに記憶し、話者照合モジュール208aは、詐欺者話者モデル210aの各々のためのスコアを生成する。
【００４７】
詐欺者話者モデル210aは、同じ部屋、玄関、または、歩道または通路の一部等のような、ユーザデバイスA 202aの物理的位置の近くの物理的エリアにあり得る他のユーザのための話者モデルを含み得る。詐欺者話者モデルは、たとえば履歴データを使用して決定されるような、ユーザAまたはユーザデバイスA 202aと同じ物理的エリアに頻繁にいるユーザのための話者モデルを含み得る。たとえば、ユーザデバイスA 202aは、たとえば、ユーザAが詐欺者話者モデル210aから話者モデルCの削除を要求するまで、または、ユーザデバイスCのための毎日の持続時間がもはやしきい持続時間を満足しなくなるまで、たとえばユーザデバイスCのような別のユーザデバイスが、各勤務日に約4時間、ユーザデバイスA 202aとして同じ物理的エリアにいること、この毎日の4時間の持続時間は、たとえば、勤務日、平均的な毎日の持続時間等に特有の毎日の3時間しきい持続時間よりも長いこと、および、ユーザデバイスCのユーザCのための話者モデルCが、詐欺者話者モデル210aに記憶されるべきであること、を判定し得る。この頻度は、いくつかの例を挙げると、たとえば毎日4時間のような特定の値であり得るか、または、たとえば、ユーザデバイスA 202が特定の他のユーザデバイスを検出する時間の5パーセント、または、ユーザデバイスA 202aによって検出された他のユーザデバイスの合計の10パーセントが、特定の他のユーザデバイスであるようなパーセンテージであり得る。
【００４８】
いくつかの例では、ユーザAは、ユーザデバイスA 202aが詐欺者話者モデル210aに含まれるべき1つまたは複数の話者モデルを識別し得る。たとえば、ユーザデバイスA 202aは、ユーザAの家族または友達のユーザデバイスA 202aにおける別の話者モデルを学習する入力を受信し得る。この入力は、他の話者モデルが、詐欺者話者モデルであるべきであることと、たとえば、ユーザデバイスA 202aのユーザではないユーザA以外のユーザのための話者モデルであることを示し得る。他の話者モデルは、ユーザデバイスA 202aが別の方式でプログラムされていないのであれば、他のユーザによって話された発声に応じて、ユーザデバイスA 202aによって実行される動作を低減または削減するために、たとえば、ユーザAの子供のように、ユーザデバイスA 202aの周囲の物理的エリアに頻繁にいる別のユーザのためのものであり得る。
【００４９】
たとえば、話者照合モジュール208aが、話者モデルA 206aを使用して第1のスコアを生成し、詐欺者話者モデル210aの各々のための各々の第2のスコアを生成した場合、話者照合モジュール208aは、最高スコアを決定するために、これらスコアを比較する。話者モデルA 206aを使用して最高スコアが生成された場合、話者照合モジュール208aは、ユーザAが特定の発声を話したことと、ユーザデバイスA 202aが、たとえば、特定の発声に含まれるコマンドを識別するために音声認識モジュール212aが特定の発声を分析し得るような適切な動作を講じ得ることと、を判定する。
【００５０】
一例において、詐欺者話者モデルのうちの1つは、たとえば、兄弟の両方が、同じような声を有している場合、ユーザAの兄弟のためのものであり得る。話者照合モジュール208aは、各々の話者モデルを使用して、兄弟のうちの1人によって話された発声を分析することによって、ユーザAのための第1のスコアと、彼の兄弟のための第2のスコアとを生成する。話者照合モジュール208aは、どちらのスコアがより大きいのかを判定するために、これら2つのスコアを比較する。これらの各々は、しきいスコアよりも大きく、たとえば、話者モデルにおける類似性のために、単独で、ユーザデバイスA 202aによる動作をトリガするであろう。ユーザAのための第1のスコアが、第2のスコアよりも大きい場合、ユーザデバイスA 202aは、この発声に基づいて動作を実行し、たとえば、この動作は、音声認識モジュール212aを使用して部分的に決定され得る。ユーザAの兄弟のための第2のスコアが、第1のスコアよりも大きい場合、ユーザデバイスA 202aはさらなる動作を講じず、たとえば、特定の発声に応じて動作を実行しない。
【００５１】
詐称者話者モデル210aのうちのいくつかは、特定の日時、特定の日、特定の場所、または、これらの複数の組合せの間において使用され得る。たとえば、ユーザデバイスA 202aが、ユーザAの家族の家にある場合、ユーザデバイスA 202aは、家族の家で暮らす人々のために詐称者話者モデルを使用し得る。そして、たとえば、これら人々のうちの1人のためのコロケートされたユーザデバイスが検出されないのであれば、これら詐欺者話者モデルを使用しないことがあり得る。
【００５２】
いくつかの例では、ユーザデバイスA〜B 202a〜bは、各々の話者モデル、または、各々の話者モデルを使用して生成されたスコアが、たとえば、近距離通信を使用して生成された1つのようなワイヤレス通信チャネル216を使用して、他のユーザデバイスへ提供され得るか否かを判定するために、メモリに記憶された設定214a〜bを使用し得る。たとえば、ユーザデバイスA 202aは、特定の発声を受信し、ユーザデバイスB 202bが、ユーザデバイスA 202aの近くの物理的エリアにあることを判定し、たとえば、要求されている特定の話者モデルを知ることなく、話者モデルB 202bのようなユーザデバイスB 202bからの話者モデルを要求し得る。ユーザデバイスB 202bは、この要求を受信し、話者モデルB 206bが別のデバイスと共有され得るか、または、特定のユーザデバイスA 202aと共有され得るかを判定するために、設定B 214bを分析し、ユーザデバイスB 202bが話者モデルB 206bを共有し得ることを判定することに応じて、ユーザデバイスB 202bは、ワイヤレス通信チャネル216を使用して、話者モデルB 206bのコピーをユーザデバイスA 202aへ送信する。
【００５３】
ユーザデバイスA 202aは、ユーザデバイスB 202bのユーザBのための、または、たとえば、複数の人が単一のユーザデバイスを操作し得る場合の例では、ユーザデバイスB 202bのすべてのユーザのための、話者モデルを要求し得る。話者モデルA 206aは、複数の人が、ユーザデバイスA 202aを操作する場合の例では、多くの話者モデルを含み得る。これらの例では、話者照合モジュール208aは、ユーザデバイスA 202aのユーザの各々のためのスコアを生成し、これらスコアを、詐欺者話者モデル210aを使用して生成された他のスコアと比較し、最高スコアを決定し得る。最高スコアが、ユーザデバイスA 202aのユーザのうちの1人に関するものである場合、ユーザデバイスA 202aは、たとえば、音声認識モジュール212aを使用して少なくとも部分的に決定された、適切な動作を実行し得る。
【００５４】
動作を実行すべきか否かの判定は、特定の動作のタイプ、ユーザデバイスA 202aの特定のユーザ、またはこれら両方を使用してなされ得る。たとえば、第1のユーザAは、ユーザデバイスA 202aにおいて任意のアプリケーションを起動する許可を有し得る一方、第2のユーザAは、ユーザデバイスA 202aにおいて教育アプリケーションのみを起動する許可を有し得る。
【００５５】
いくつかの実施では、話者モデルのうちの1つまたは複数が、ユーザデバイスA 202a〜bの代わりに、または、それに加えて、サーバ204に記憶される。たとえば、サーバ204は、ユーザデバイスA〜B 202a〜bのユーザA〜Bのための話者モデル218を記憶し得る。これら例において、ユーザデバイスA 202aまたはユーザデバイスB 202bは、発声を符号化するオーディオ信号を受信し、このオーディオ信号、または、たとえば、このオーディオ信号の一部の表現のような、オーディオ信号の一部を、サーバ204へ提供し得る。サーバ204は、ユーザデバイスの識別子、話者モデル、または、ユーザデバイスのユーザを受信し、たとえば、話者識別子220を使用して、話者モデル218のうちのどれが、受信された識別子に対応するのかを判定する。
【００５６】
いくつかの例では、サーバ204は、オーディオ信号の一部を分析している場合、ユーザデバイスの話者モデルに加えて使用されるであろう他の話者モデルのための識別子を受信する。たとえば、ユーザデバイスB 202bがユーザデバイスA 202aの物理的位置の近くのエリアに物理的に位置しているとユーザデバイスA 202aが判定した場合、サーバ204は、ユーザデバイスA 202aから、話者照合要求とともに、ユーザデバイスA〜B 202a〜bのオーディオ信号と識別子とを受信し得る。
【００５７】
サーバ204は、ユーザデバイスから、位置情報を、たとえばオーディオ信号とともに、または個別に受信し得る。そして、たとえば、他のユーザデバイスのための位置情報を使用して、サーバ204へオーディオ信号を提供したユーザデバイスの物理的位置の近くのエリアに物理的に配置された他のユーザデバイスを判定するために、位置情報を使用し得る。サーバ204は、その後、判定された他のデバイスのための他の話者モデル218を識別し得る。サーバ204は、サーバ204においてスコアを生成した場合、または、話者モデルをユーザデバイスA〜B 202a〜bへ提供した場合、識別された他の話者モデルを使用し得る。
【００５８】
サーバ204上の話者照合モジュール222は、各々の人がオーディオ信号において符号化された特定の発声を話した可能性を各々表す各々のスコアを生成するために、サーバ204へオーディオ信号を提供したユーザデバイスと、決定された他のユーザデバイスとから、話者モデルのすべてを使用する。話者照合モジュール222は、サーバ204に含まれたメモリから話者モデルを検索し得る。話者照合モジュール222は、各々のユーザデバイスから話者モデルを受信し得る。サーバ204、または話者照合モジュール222は、最高スコアを決定し、そのユーザデバイスのユーザが特定の発声を話した可能性が最も高いことを示すメッセージを、各々のユーザデバイスへ提供する。サーバ204は、対応する他のユーザが、恐らく発声を話さなかったことを示すメッセージを、他のユーザデバイスへ提供し得る。
【００５９】
いくつかの例では、特定のユーザデバイスが、たとえば、特定のユーザデバイスのユーザの各々のための、特定のユーザデバイスに関連付けられた詐欺者話者モデルの各々のための、または両方、のような多くの話者識別子をサーバ204へ提供し得る。特定のユーザデバイスは、たとえばユーザまたは詐欺者のような、話者識別子の各々のためのモデルのタイプを示すデータを含み得る。話者照合モジュール222は、受信された話者識別子に対応する話者モデル218のすべてを使用してオーディオ信号を分析し、最高スコアを生成するためにどの話者モデルが使用されるのかを決定し得る。最高スコアが、特定のユーザデバイスのユーザのうちの1人のためのモデルを使用して生成された場合、サーバ204は、特定のユーザデバイスへ、特定のデバイスのユーザが特定の発声を話した可能性が最も高いことを示すメッセージを提供する。このメッセージは、最高スコアを生成するために使用される特定の話者モデルのための話者識別子を含み得る。
【００６０】
いくつかの実施では、より低い数値が、より高い数値と比べて、特定のユーザが発声を話した可能性が高いことを表し得る。たとえば、より低い数値は、より高い数値よりも高いスコアであり得る。
【００６１】
いくつかの例では、ユーザデバイスが多くのユーザを有する場合、ユーザデバイスまたはサーバ204は、ユーザデバイスの現在のユーザのための特定の話者モデルを決定し得る。たとえば、ユーザデバイスは、現在のユーザのための話者識別子をサーバ204へ提供し、ユーザデバイスの他のユーザについて、他の話者識別子のすべてが、サーバ204に記憶された詐欺者話者モデル用であることを示し得る。いくつかの例では、ユーザデバイスは、オーディオ信号の受信に応じて、動作を実行するか否かを判定するために、現在のユーザの話者モデルを使用し、ユーザデバイスの他のユーザのための話者モデルを、詐欺者話者モデルとして使用する。ユーザデバイスは、ユーザデバイスをロック解除し、現在のユーザを判定するために、パスワード、ユーザ名、またはその両方を使用することのように、ユーザデバイスの現在のユーザを決定するための任意の適切な方法を使用し得る。
【００６２】
いくつかの実施では、オーディオ信号について、詐欺者話者モデル、または、別のユーザデバイスから受信したモデルを使用してスコアが生成され、そのスコアが、特定のユーザデバイスのユーザのための話者モデルを使用して生成されたスコア以上であれば、その特定のユーザデバイスは、オーディオ信号の受信に応じて何ら動作を実行しない。これらの実施では、2つのスコアが同じである場合、ユーザデバイスは、オーディオ信号の受信に応じて何ら動作を実行しない。他の実施では、異なるユーザデバイスの2人のユーザに関する2つのスコアが同じであり、これら両方が最高スコアである場合、これら2つのスコアに対応する2つのユーザデバイスは両方とも動作を実行し得る。実施では、単一のユーザデバイスにおいて、モデルに関する2つのスコアが、同じ最高スコアである場合の実施では、ユーザデバイスは、動作を実行することもしないこともあり得る。たとえば、2つのスコアの各々が、異なるユーザデバイスのユーザに関するものである場合、ユーザデバイスは、動作を実行し得る。これらスコアのうちの1つが、ユーザ話者モデルに関し、これらスコアのうちの1つが、詐欺者話者モデルに関するものである場合、ユーザデバイスは、何ら動作を実行しないことがあり得る。
【００６３】
いくつかの実施では、ユーザデバイスは、検出された他のユーザデバイスの量に依存してしきい値を調節し得る。たとえば、他のデバイスが検出されない場合、しきい値はさほど限定的ではなく、たとえばオーディオ信号の受信後、他のユーザデバイスが検出された場合、より限定的であり得る。しきい値は、検出された他のデバイスの数に基づいて、最大しきい値に達するまで、たとえば線形的または指数関数的に、より限定的になり得る。いくつかの例では、1つまたは複数のスコアは、たとえば、異なる類似性モデルを使用して生成された同じ発声のためのスコアの組合せを使用して規格化され得る。この組合せは、平均、合計、または積であり得る。
【００６４】
いくつかの実施では、ユーザデバイスA〜B 202a〜bのうちの1つまたは複数は、各々のユーザデバイスの近くの物理的エリアにおける他のユーザデバイスを定期的に検出し得る。たとえば、ユーザデバイスB 202bは、別のユーザデバイスが、ユーザデバイスB 202bと同じ部屋にあるか否かを5分毎、10分毎、または30分毎に判定し得る。いくつかの例では、ユーザデバイスB 202bは、ユーザデバイスB 202bが、あらかじめ決定された期間、実質的に同じエリアに留まっていたと判定すると、たとえば、ユーザデバイスB 202bのユーザBが、ユーザデバイスB 202bを保持しているが、歩いていないか、または、ユーザBが、単一の部屋に留まっていると判定すると、別のユーザデバイスが、ユーザデバイスB 202bからあらかじめ決定された距離内にあるか否かを判定し得る。
【００６５】
ユーザデバイスA〜B 202a〜bは、パーソナルコンピュータ、たとえばスマートフォンまたはタブレット、および、ネットワーク224を介してデータを送信および受信でき得る他のデバイス、たとえば時計または温度計のようなウェアラブルデバイスのようなモバイル通信デバイス、テレビ、およびネットワーク接続機器を含み得る。ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、またはそれらの組合せのようなネットワーク224は、ユーザデバイスA〜B 202a〜bおよびサーバ204を接続する。
【００６６】
図3は、発声がユーザによって話されたものであるか否かを判定するための処理300のフロー図である。たとえば、処理300は、話者照合システム200からのユーザデバイスA 202aまたはサーバ204によって使用され得る。
【００６７】
この処理は、発声を符号化するオーディオ信号を受信する(302)。たとえば、ユーザデバイス上のマイクロホンは、オーディオ信号を受信し、オーディオ信号を、第1のユーザデバイス上の話者照合モジュールへ、またはサーバへ提供する。
【００６８】
この処理は、第1のユーザデバイスの第1のユーザのための第1の話者モデルを取得する(304)。たとえば、話者照合モジュールは、第1のユーザデバイスのための単一の第1のユーザが存在することを判定し、その第1のユーザのための第1の話者モデルを取得する。いくつかの例では、話者照合モジュールは、現在第1のユーザデバイスにログインしているか、または、第1のユーザデバイスがロック状態にある場合に、第1のユーザデバイスへ最も直近にログインした、第1のユーザデバイスの現在のユーザを判定し、そのユーザのための第1の話者モデルを取得する。
【００６９】
いくつかの例では、話者照合モジュールは、第1のユーザデバイスについて多くのユーザが存在することを判定し、これらユーザのうちの1人のための第1の話者モデルを取得する。第1のユーザデバイスは、その後、他のユーザのために、処理300における1つまたは複数のステップを反復し得る。たとえば、話者照合モジュールは、ユーザの各々のために、ステップ304および306を反復し得る。
【００７０】
この処理は、オーディオ信号の一部と、第1の話者モデルとを使用して、発声が、第1のユーザによって話された可能性を示す第1のスコアを生成する(306)。たとえば、第1のデバイスの話者照合モジュールは、第1のスコアを生成するために、オーディオ信号の全体および第1の話者モデルを使用する。
【００７１】
オーディオ信号は、話者照合モジュールが第1の話者モデルに対して比較し得る発声の変形を含み得る。たとえば、マイクロホンは、この発声を記録し、発声の記録を、話者照合モジュールが第1のスコアを生成するために使用するオーディオ信号を生成する特徴抽出モジュールへ提供し得る。
【００７２】
実施では、第1のユーザデバイスの多くのユーザが存在する場合、話者照合モジュールは、これら多くのユーザの各々のスコアを比較し、最高スコアを選択する。たとえば、第1のユーザデバイスは、各々が第1のユーザデバイスの各々のユーザのためである1から5までの話者モデルを有し得る。
【００７３】
話者照合モジュールは、スコアが、しきいスコア値を満足するか否かを判定するために、たとえば最高スコアのようなスコアを、しきいスコア値と比較し得る。たとえば、話者照合モジュールは、しきいスコア値が、最小要求スコアである場合、最高スコアが、しきいスコア値よりも高いか否かを、または、しきいスコア値が、最大要求スコアであり、たとえば、最高スコアが、第1のユーザデバイスのユーザのために生成されたスコアの最小数値を有する場合、最高スコアが、しきいスコア値よりも低いか否かを、判定する。
【００７４】
最高スコアが、しきいスコア値を満足するのであれば、話者照合モジュール、または、第1のユーザデバイスにおける別のモジュールは、たとえば、第1のユーザデバイスまたはサーバ上に記憶された、第1のユーザデバイスにおいて識別された詐欺者話者モデルの各々のためのスコアを生成し、ステップ308を実行するために処理300を継続する。最高スコアが、しきいスコア値を満足しないのであれば、ユーザデバイスまたはサーバは、処理300の実行を停止し得る。第1のユーザデバイスまたはサーバが、処理300の実行を停止した場合、第1のユーザデバイスまたはサーバは、他のユーザデバイスから他の話者モデルまたは他のスコアを要求することを停止し得る。
【００７５】
第1のユーザデバイスにおける話者照合モジュール、または、サーバにおける類似のモジュールは、第1のユーザデバイスのユーザの最高スコアと同じまたはそれよりも大きなスコアが生成され、この時、話者照合モジュールが処理300の実行を停止するまで、詐欺者話者モデルの各々のためのスコアを生成し得る。話者照合モジュールが、これ以上の詐欺者話者モデルが存在しない、または、第1のユーザデバイスのユーザのための最高スコアが、たとえばステップ308および310を使用して決定された、他のユーザデバイスの他のユーザのための詐欺者話者モデルのためのスコアを含む詐欺者話者モデルのすべてのためのスコアと比較されている、と判定した場合、処理は、ステップ312を進める。
【００７６】
たとえば、この処理は、1つまたは複数の第2のユーザデバイスが、第1のユーザデバイスの物理的位置の近くの物理的エリアに配置されていることを判定する(308)。第1のユーザデバイスは、近距離通信を使用して、第2のユーザデバイスを決定し得る。例では、話者照合モジュールが既に第1のスコアを決定している場合、第1のユーザデバイスは、たとえば、類似の処理を実行する他の話者照合モジュールによる使用のために、第1のスコアを、他のユーザデバイスへ提供し得る。いくつかの例では、第1のユーザデバイスは、第1の話者モデル、第1のユーザデバイスの他のユーザのための他の話者モデル、または、これら2つの組合せを、第2のユーザデバイスの少なくともいくつかへ提供し得る。
【００７７】
いくつかの実施では、この処理は、第1のユーザデバイスとコロケートされているが異なる物理的位置にある第2のユーザデバイスを決定し得る。たとえば、第1のユーザデバイスは、第1のユーザデバイスと特定の第2のユーザデバイスとの両方が、同じ電話またはビデオ会議に参加している場合、または、同じ電話またはビデオ会議に参加している近くのデバイスである場合、この第2のユーザデバイスが第1のユーザデバイスとコロケートされていることを判定し得る。これらデバイスは、同じ物理的部屋、または、異なる部屋に位置し得る。これら各々は、個別のビデオ会議器具を含んでいる。第1のデバイス、またはサーバは、たとえば、両ユーザのためのカレンダ入力が同じであり、イベントに参加しているユーザのすべてを示している場合、これらデバイスが、各々のユーザのためのカレンダ入力を使用してコロケートされていると判定し得る。
【００７８】
この処理は、第2のユーザデバイスの各々の第2のユーザのために、各々の第2のユーザのための第2の話者モデル、または、発声が各々の第2のユーザによって話された各々の可能性を示す第2のスコアを取得する(310)。たとえば、第2のユーザデバイスにおける他の話者照合モジュールは、たとえば、各々の第2の話者モデルと、同じ発声または同じ発声の一部を符号化する他のオーディオ信号とを使用して、第2のユーザデバイスのユーザの各々のために、各々第2のスコアを生成する。第1のユーザデバイスは、第2のユーザデバイスから第2のスコアの各々を受信し、その単一の第2のユーザデバイスが、多くのユーザを有している場合、単一のメッセージまたは多くのメッセージで、単一の第2のユーザデバイスから、多くの第2のスコアを受信し得る。
【００７９】
いくつかの例では、サーバは、第2のスコアのいくつかを生成し、これら第2のスコアを、第1のユーザデバイスへ提供する。サーバは、第1のユーザデバイスのユーザのための第1のスコアを生成し、第1のスコアを、第1のユーザデバイスへ提供し得る。サーバは、これらスコアのすべてを比較し、最高スコアを有するデバイスへメッセージを送信し得る。サーバは、最高スコアに対応しない他のデバイスへメッセージを送信することもしないこともあり得る。
【００８０】
この処理は、発声が第1のユーザによって話されたことを判定する(312)。たとえば、話者照合モジュールは、第1のユーザデバイスのための最高スコアを、ユーザデバイスに記憶された詐欺者話者モデルのスコア、第2のユーザデバイスから受信された第2のスコア、またはこれら両方と比較する。話者照合モジュールは、話者照合モジュールが、他のスコアの1つが、第1のユーザデバイスの最高スコア以上であることを判定した場合、第1のユーザデバイスの最高スコアを他のスコアと比較することを停止し、その後、たとえば、処理300の実行を停止し得る。
【００８１】
この処理は、発声が第1のユーザによって話されたことを判定することに応じて動作を実行する(314)。たとえば、音声認識モジュールは、オーディオ信号を分析し、オーディオ信号において符号化された発声のテキスト表現を決定する。第1のユーザデバイスは、このテキスト表現を使用して、発声において第1のユーザによって提供されたコマンドを決定し、このコマンドに応じて、動作を実行する。
【００８２】
上述された処理300におけるステップの順序は、単に例示的であって、ユーザによって発声が話されたか否かを判定するステップは、別の順序で実行され得る。たとえば、ユーザデバイスは、たとえばステップ302を実行して、オーディオ信号を受信する前に、たとえばステップ302を実行して、ユーザデバイスの物理的位置の近くの物理的エリアに配置された第2のユーザデバイスを判定し得る。
【００８３】
いくつかの実施では、処理300は、追加のステップ、より少ないステップ、または、多くのステップへ分割され得るステップのうちのいくつかを含み得る。たとえば、第1のユーザデバイスは、第2のユーザデバイスを決定し、たとえば詐欺者話者モデルのような、第2のユーザのための任意の話者モデルがメモリに記憶されているか否かを判定し、各々の第2のユーザデバイスから、メモリに記憶されていない第2の話者モデルのみを要求し得る。これらの例では、第1のユーザデバイスは、他の各々のユーザデバイスが第1のユーザデバイスの物理的位置の近くの物理的エリアにもはやおらず、たとえば、第2のユーザデバイスに現在含まれていない他のユーザのための任意の詐欺者話者モデルをメモリから削除し得る。
【００８４】
第1のユーザデバイスの物理的位置の近くの物理的エリアにもはや存在しないユーザデバイスのためのメモリから、詐欺者話者モデルを削除した場合、第1のユーザデバイスは、削除用ではないとフラグされた他のユーザのための任意の詐欺者話者モデルを保持し得る。たとえば、詐欺者話者モデルのうちの1つは、第1のユーザデバイスの物理的位置の近くの物理的エリアにしばしばいる友達のためのものであり得る。第1のユーザデバイスは、たとえ第1のユーザデバイスが友達によって操作された別のユーザデバイスを検出しない場合であっても、友達のための詐欺者話者モデルのうちの1つを保持し得る。
【００８５】
本明細書に記述されている主題および機能的なオペレーションの実施形態は、デジタル電子回路において、有形的に具体化されたコンピュータソフトウェアまたはファームウェアにおいて、本明細書で開示された構成およびそれらの構成的な等価物、または、これらのうちの1つまたは複数の組合せを含むコンピュータハードウェアにおいて、実施され得る。本明細書に記述された主題の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のため、または、データ処理装置のオペレーションを制御するための、有形的な非一時的なプログラムキャリアで符号化されたコンピュータプログラム命令の1つまたは複数のモジュール、として実施され得る。あるいは、または、それに加えて、プログラム命令は、データ処理装置による実行のための適切な受信装置への送信のために、情報を符号化するために生成された、たとえば、マシンによって生成された電気的、光学的、または電磁気的な信号のような、人工的に生成された伝搬信号において符号化され得る。コンピュータ記憶媒体は、マシン読取可能な記憶デバイス、マシン読取可能な記憶基板、ランダムまたはシリアルなアクセスメモリデバイス、または、これらの1つまたは複数の組合せであり得る。
【００８６】
「データ処理装置」という用語は、データ処理ハードウェアを称し、例として、プログラマブルプロセッサ、コンピュータ、またはマルチプロセッサまたはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置はまた、あるいは、さらに、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような専用目的論理回路を含み得る。この装置は、オプションとして、ハードウェアに加えて、コンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサファームウェアを構築するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、または、これらのうちの1つまたは複数の組合せ、を含み得る。
【００８７】
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとしても称され得、または記述され得るコンピュータプログラムは、コンパイルまたはインタープリタされた言語、または宣言型または手続型の言語を含む、任意の形式のプログラミング言語で記述され、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、または、コンピューティング環境における使用のために適した他のユニットとして含む任意の形式で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに相当し得るが、必ずしも相当する必要はない。プログラムは、問題となっているプログラムに特化された単一のファイルに、または、たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイルのような多くの調整されたファイルに、たとえば、マークアップ言語文書に記憶された1つまたは複数のスクリプトのような他のプログラムまたはデータを保持するファイルの一部において記憶され得る。コンピュータプログラムは、1つのコンピュータにおいて、または、1つの場所に配置され、または多くの場所にわたって分散され、通信ネットワークによって相互接続された多くのコンピュータにおいて実行されるために展開され得る。
【００８８】
本明細書に記述された処理および論理フローは、入力データに対して演算し、出力を生成することによって機能を実行するための、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラム可能なコンピュータによって実行され得る。処理および論理フローはまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような専用目的論理回路によって実行され、装置はまた、このような専用目的論理回路として実施され得る。
【００８９】
コンピュータプログラムの実行のために適切なコンピュータは、例によって、汎用または専用目的マイクロプロセッサまたはその両方、または、他の任意の種類の中央処理ユニットを含む。一般に、中央処理ユニットは、読取専用メモリ、または、ランダムアクセスメモリ、またはその両方から命令およびデータを受信するであろう。コンピュータの本質的な要素は、命令を実行または実施するための中央処理ユニットと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、たとえば磁気ディスク、磁気光ディスク、または光ディスクのように、データを記憶するための1つまたは複数の大容量記憶デバイスを含んでいるか、あるいは、1つまたは複数の大容量記憶デバイスからデータを受け取るため、または、1つまたは複数の大容量記憶デバイスへデータを転送するため、またはその両方のために、動作可能に結合され得る。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、いくつか名前を挙げると、たとえば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、または、たとえばユニバーサルシリアルバス(USB)フラッシュデバイスなどのポータブル記憶デバイスのような別のデバイスに組み込まれ得る。
【００９０】
コンピュータプログラム命令およびデータを記憶するために適切なコンピュータ読取可能な媒体は、例として、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスのような半導体メモリデバイス、たとえば内部ハードディスクまたはリムーバブルディスクのような磁気ディスク、光磁気ディスク、およびCD-ROMディスクおよびDVD-ROMディスクを含むすべての形式の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用目的論理回路によって補足され得るか、または、専用目的論理回路内に組み込まれ得る。
【００９１】
ユーザとのインタラクションを提供するために、本明細書に記述された主題の実施形態は、ユーザへ情報を表示するための、たとえばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタのようなディスプレイデバイスと、ユーザがコンピュータへ入力を提供する、たとえばマウスまたはトラックボールのようなポインティングデバイスと、キーボードと、を有するコンピュータにおいて実施され得る。他の種類のデバイスもまた同様に、ユーザとのインタラクションを提供するために使用され得る。たとえば、ユーザへ提供されるフィードバックは、たとえば、視覚的なフィードバック、聴覚的なフィードバック、または触覚的なフィードバックのような任意の形式の知覚的なフィードバックであり得り、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受け取られ得る。それに加えて、コンピュータは、たとえば、ウェブブラウザから受信した要求に応じて、ユーザのデバイス上のウェブブラウザへウェブページを送信することによって、ユーザによって使用されるデバイスへ文書を送信し、ユーザによって使用されるデバイスから文書を受信することによって、ユーザとインタラクトし得る。
【００９２】
本明細書に記述された主題の実施形態は、たとえば、データサーバとしてバックエンド構成要素を含んでいるか、または、たとえば、アプリケーションサーバのようなミドルウェア構成要素を含んでいるか、または、たとえば、ユーザが本明細書に記述された主題の実施とインタラクトし得るグラフィックユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータのようなフロントエンド構成要素を含んでいるコンピューティングシステムにおいて、または、1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組合せ、で実施され得る。システムの構成要素は、たとえば通信ネットワークのような、デジタルデータ通信の任意の形式または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、および、広域ネットワーク(WAN)、たとえばインターネットを含む。
【００９３】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に、互いに離れており、一般に、通信ネットワークを介してインタラクトする。クライアントとサーバとの関係は、各々のコンピュータにおいて動作し、互いにクライアント-サーバ関係を有している、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、たとえば、クライアントとして動作するユーザデバイスとインタラクトするユーザへ、データを表示するため、および、このユーザからユーザ入力を受信するために、ユーザデバイスへ、たとえばHTMLページのようなデータを送信する。ユーザデバイスにおいて、たとえば、ユーザインタラクションの結果、生成されたデータは、サーバにおいて、ユーザデバイスから受信され得る。
【００９４】
図4は、本書において記述されたシステムおよび方法を実施するために、クライアントとして、または、サーバとして、または、複数のサーバとして使用され得るコンピューティングデバイス400、450のブロック図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのようなデジタルコンピュータの様々な形式を表すことが意図される。コンピューティングデバイス450は、携帯情報端末、セルラ電話、スマートフォン、スマートウォッチ、頭部装着型デバイス、および他の類似のコンピューティングデバイスのような様々な形式のモバイルデバイスを表すことが意図される。本明細書に図示された構成要素、それらの接続および関係、およびそれらの機能は、単なる典型例であって、本書において記述および/または特許請求された発明の実施を制限することは意味されていない。
【００９５】
コンピューティングデバイス400は、プロセッサ402、メモリ404、記憶デバイス406、メモリ404および高速拡張ポート410へ接続している高速インターフェース408、低速バス414および記憶デバイス406へ接続している低速インターフェース412を含む。構成要素402、404、406、408、410および412の各々は、様々なバスを使用して相互接続され、共通のマザーボードに搭載され得るか、または、他の方式で適切に搭載され得る。プロセッサ402は、高速インターフェース408へ結合されたディスプレイ416のような外部入力/出力デバイス上のGUIのためのグラフィック情報を表示するための、メモリ404内または記憶デバイス406に記憶された命令を含む、コンピューティングデバイス400内で実行するための命令を処理し得る。他の実施では、多くのプロセッサおよび/または多くのバスが、多くのメモリおよびタイプのメモリとともに、適切に使用され得る。また、各々が(たとえば、サーババンク、ブレードサーバのグループ、または、マルチプロセッサシステムとして)必要なオペレーションの一部を提供する多くのコンピューティングデバイス400と接続され得る。
【００９６】
メモリ404は、コンピューティングデバイス400内で情報を記憶する。1つの実施では、メモリ404は、コンピュータ読取可能な媒体である。1つの実施では、メモリ404は、揮発性メモリユニットである。別の実施では、メモリ404は、不揮発性メモリユニットである。
【００９７】
記憶デバイス406は、コンピューティングデバイス400のための大容量記憶を提供することができる。1つの実施では、記憶デバイス406は、コンピュータ読取可能な媒体である。様々な異なる実施では、記憶デバイス406は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリ、または他の類似のソリッドステートメモリデバイス、または、ストレージエリアネットワークまたは他の構成におけるデバイスを含むデバイスのアレイであり得る。1つの実施では、コンピュータプログラム製品は、情報キャリア内に有形的に具体化される。コンピュータプログラム製品は、実行された場合、上述されたような1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ404、記憶デバイス406、または、プロセッサ402におけるメモリのような、コンピュータまたはマシンによる読取可能な媒体である。
【００９８】
高速コントローラ408は、コンピューティングデバイス400のための広帯域幅集約的なオペレーションを管理する一方、低速コントローラ412は、低帯域幅集約的なオペレーションを管理する。そのようなデューティの割当は、単なる典型例である。1つの実施では、高速コントローラ408は、メモリ404へ、(たとえば、グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ416へ、および(図示しない)様々な拡張カードを受け取り得る高速拡張ポート410へ結合される。実施では、低速コントローラ412は、記憶デバイス406および低速拡張ポート414へ結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット(登録商標)、ワイヤレスイーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、または、スイッチまたはルータのようなネットワーキングデバイスのような1つまたは複数の入力/出力デバイスへ、たとえばネットワークアダプタを介して結合され得る。
【００９９】
図面に図示されるように、コンピューティングデバイス400は、多くの異なる形式で実施され得る。たとえば、標準的なサーバ420として、または、そのようなサーバのグループ内で何度も実施され得る。また、それは、ラックサーバシステム424の一部として実施され得る。それに加えて、それは、ラップトップコンピュータ422のようなパーソナルコンピュータにおいて実施され得る。あるいは、コンピューティングデバイス400からの構成要素が、デバイス450のようなモバイルデバイス(図示せず)における他の構成要素と組み合わされ得る。そのようなデバイスの各々は、コンピューティングデバイス400、450のうちの1つまたは複数を含み得り、システム全体は、互いに通信する多くのコンピューティングデバイス400、450からなり得る。
【０１００】
コンピューティングデバイス450は、他の構成要素の中でも、プロセッサ452、メモリ464、ディスプレイ454のような入力/出力デバイス、通信用インターフェース466、およびトランシーバ468を含む。デバイス450はまた、追加の記憶装置を提供するために、マイクロドライブまたは他のデバイスのような記憶デバイスを提供され得る。構成要素450、452、464、454、466、および468の各々は、様々なバスを使用して相互接続され、構成要素のいくつかは、共通のマザーボード上に搭載され得るか、または、他の方式で適切に搭載され得る。
【０１０１】
プロセッサ452は、メモリ464に記憶された命令を含む、コンピューティングデバイス450内の実行のための命令を処理し得る。プロセッサはまた、個別のアナログおよびデジタルプロセッサを含み得る。プロセッサは、たとえば、ユーザインターフェース、デバイス450によって実行されるアプリケーション、および、デバイス450によるワイヤレス通信の制御のような、デバイス450の他の構成要素の調整のために準備し得る。
【０１０２】
プロセッサ452は、制御インターフェース458を介して、および、ディスプレイ454に結合されたディスプレイインターフェース456を介して、ユーザと通信し得る。ディスプレイ454は、たとえば、TFT LCDディスプレイまたはOLEDディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェース456は、グラフィックおよび他の情報をユーザへ提供するために、ディスプレイ454を駆動するための適切な回路を備え得る。制御インターフェース458は、ユーザからコマンドを受信し、それらをプロセッサ452への発行のために変換し得る。それに加えて、外部インターフェース462は、他のデバイスとのデバイス450の近傍エリア通信を可能にするように、プロセッサ452との通信に提供され得る。外部インターフェース462は、たとえば、(たとえば、ドッキング手順による)ワイヤ通信のため、または、(たとえば、Bluetoothまたは他のそのような技術による)ワイヤレス通信のために備え得る。
【０１０３】
メモリ464は、コンピューティングデバイス450内で情報を記憶する。1つの実施では、メモリ464はコンピュータ読取可能な媒体である。1つの実施では、メモリ464は、揮発性メモリユニットである。別の実施では、メモリ464は、不揮発性メモリユニットである。拡張メモリ474もまた、たとえばSIMMカードインターフェースを含み得る拡張インターフェース472を介してデバイス450へ提供され接続され得る。そのような拡張メモリ474は、デバイス450のための追加の記憶スペースを提供し得るか、または、デバイス450のためのアプリケーションまたは他の情報をも記憶し得る。具体的には、拡張メモリ474は、上述された処理を実行または補足するための命令を含み得、安全な情報をも含み得る。したがって、たとえば、拡張メモリ474は、デバイス450のためのセキュリティモジュールとして提供され得、デバイス450の安全な使用を許可する命令を用いてプログラムされ得る。それに加えて、安全なアプリケーションが、ハッキング不可な方式で、SIMMカード上に識別情報を配置するように、追加の情報とともにSIMMカードを介して提供され得る。
【０１０４】
メモリは、たとえば、上述したようなフラッシュメモリおよび/またはMRAMメモリを含み得る。1つの実施では、コンピュータプログラム製品は、情報キャリア内に有形的に具体化される。コンピュータプログラム製品は、実行された場合、上述されたような1つまたは複数の方法を実行する命令を含む。情報キャリアは、メモリ464、拡張メモリ474、またはプロセッサ452上のメモリのようなコンピュータまたはマシンによる読取可能な媒体である。
【０１０５】
デバイス450は、必要な場合、デジタル信号処理回路を含み得る通信インターフェース466を介してワイヤレスに通信し得る。通信インターフェース466は、とりわけ、GSM(登録商標)音声コール、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSのような様々なモードまたはプロトコルの下で通信を提供し得る。そのような通信は、たとえば、ラジオ周波数トランシーバ468によって生じ得る。それに加えて、短距離通信が、たとえばBluetooth、Wi-Fi、または他のそのようなトランシーバ(図示せず)を使用して生じ得る。それに加えて、GPS受信機モジュール470が、デバイス450へ追加のワイヤレスデータを提供し得る。これは、デバイス450上で動作しているアプリケーションによって適切に使用され得る。
【０１０６】
デバイス450はまた、オーディオコーデック460を使用して可聴的に通信し得る。オーディオコーデック460は、ユーザから、話された情報を受信し、それを、使用可能なデジタル情報へ変換し得る。オーディオコーデック460は同様に、たとえば、デバイス450のハンドセットにおいて、たとえばスピーカを介して、ユーザのために可聴音を生成し得る。そのような音は、音声電話コールからの音を含み得、記録された音(たとえば、音声メッセージ、音楽ファイル等)を含み得、また、デバイス450において動作しているアプリケーションによって生成された音をも含み得る。
【０１０７】
図面に図示されるように、コンピューティングデバイス450は、多くの異なる形式で実施され得る。たとえば、それは、セルラ電話480として実施され得る。さらに、それは、スマートフォン482、携帯情報端末、または他の類似のモバイルデバイスの一部として実施され得る。
【０１０８】
本明細書は、多くの特定の実施詳細を含んでいるが、これらは、特許請求されるべきもののスコープに対する限定として解釈されるべきではなく、むしろ、特定の実施形態に特有であり得る特徴の詳細として解釈されるべきである。個別の実施形態のコンテキストにおいて本明細書において記述されているいくつかの特徴はまた、単一の実施形態における組合せにおいても実施され得る。逆に、単一の実施形態のコンテキストに記述されている様々な特徴はまた、多くの実施形態において個別に、または、任意の適切な部分的組合せにおいても実施され得る。さらに、特徴は、いくつかの組合せにおける動作として、および、最初に特許請求されたものとして上述され得るが、いくつかのケースでは、特許請求された組合せからの1つまたは複数の特徴が、組合せから取り除かれ、特許請求された組合せが、部分的組合せまたは部分的組合せのバリエーションに向けられ得る。
【０１０９】
同様に、これらオペレーションは、図面において特定の順序で図示されているが、これは、そのようなオペレーションが、所望される結果を達成するために、図示された特定の順序で、または、シーケンシャルな順序で実行されること、または、例示されたすべてのオペレーションが実行されるべきであること、を要求しているとは理解されるべきではない。いくつかの状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上述された実施形態における様々なシステムモジュールおよび構成要素の分離は、すべての実施形態においてそのような分離を必要としているとして理解されるべきではなく、記述されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品にともに統合され得るか、または、多くのソフトウェア製品へパックされ得ることが理解されるべきである。
【０１１０】
本明細書に議論されたシステムが、ユーザに関する個人情報を収集する、または、個人情報を活用し得る状況では、ユーザは、プログラムまたは特徴が、たとえば、話者モデル、ユーザの嗜好、またはユーザの現在位置のようなユーザ情報を取集するための、または、コンテンツサーバからコンテンツを受信するか否か、および/または、どのようにして受信するのかを制御するための機会を提供され得る。それに加えて、いくつかのデータは、記憶または使用される前に、1つまたは多くの方式で取り扱われ、これによって、個人的に識別可能な情報が削除されるようになる。たとえば、個人的に識別可能な情報がユーザのために判定されないように、ユーザの識別情報が取り扱われ得るか、または、位置情報が取得されたユーザの地理的位置が、たとえば、都市、郵便番号、または州レベルへ一般化され得、これによって、ユーザの特定の位置が決定されないようになる。したがって、ユーザは、ユーザに関する情報がどのようにして収集されるのか、および、コンテンツサーバによってどのように使用されるのかに関する制御を有し得る。
【０１１１】
主題の特定の実施形態が記述された。他の実施形態は、以下の特許請求の範囲内である。たとえば、特許請求の範囲において記述された動作は、異なる順序で実行され得り、依然として望ましい結果を達成し得る。一例として、添付図面に図示された処理は、所望される結果を達成するために、図示された特定の順序、または、シーケンシャルな順序を、必ずしも必要としない。いくつかのケースでは、マルチタスクおよび並列処理が、有利であり得る。たとえば、たとえば話者照合モジュールの一部のような類似性スコア計算を実行するモジュールは、デジタル信号処理(DSP)ユニットにおいて直接的に、ハードウェアにおいて実施され得る。
【符号の説明】
【０１１２】
100  環境
102a  ユーザデバイスA
102b  ユーザデバイスB
102c  ユーザデバイスC
102d  ユーザデバイスD
104a  話者モデルA
104b  話者モデルB
104c  話者モデルC
104d  話者モデルD
106  ユーザD:オーケーグーグル、デモを開始して下さい
108  デモを起動
200  話者照合システム
202a  ユーザデバイスA
202b  ユーザデバイスB
204  サーバ
206a  話者モデルA
206b  話者モデルB
208a  話者照合モジュール
208b  話者照合モジュール
210a  詐欺者話者モデル
210b  詐欺者話者モデル
212a  音声認識モジュール
212b  音声認識モジュール
214a  設定A
214b  設定B
216  ワイヤレス通信チャネル
224  ネットワーク
400  コンピューティングデバイス
402  プロセッサ
404  メモリ
406  記憶デバイス
408  高速インターフェース
410  高速拡張ポート
412  低速インターフェース
414  低速拡張ポート
416  ディスプレイ
420  サーバ
422  ラップトップコンピュータ
424  ラックサーバシステム
450  コンピューティングデバイス
452  プロセッサ
454  ディスプレイ
456  ディスプレイインターフェース
458  制御インターフェース
460  オーディオコーデック
462  外部インターフェース
464  メモリ
466  通信用インターフェース
468  トランシーバ
470  GPS受信機モジュール
472  拡張インターフェース
474  拡張メモリ
480  セルラ電話
482  スマートフォン
【図１Ａ】
0006509903.tif 000002
【図１Ｂ】
0006509903.tif 000003
【図１Ｃ】
0006509903.tif 000004
【図２】
0006509903.tif 000005
【図３】
0006509903.tif 000006
【図４】
0006509903.tif 000007