(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5930432
(24)【登録日】2016年5月13日
(45)【発行日】2016年6月8日
(54)【発明の名称】ソーシャル・グラフ、会話モデル、およびユーザ・コンテキストを介した、モバイル装置のユーザ付近の人の特定
(51)【国際特許分類】
H04M 3/42 20060101AFI20160526BHJP
G10L 17/00 20130101ALI20160526BHJP
【FI】
H04M3/42 P
G10L17/00 400
【請求項の数】33
【全頁数】21
(21)【出願番号】特願2014-519046(P2014-519046)
(86)(22)【出願日】2012年6月28日
(65)【公表番号】特表2014-523707(P2014-523707A)
(43)【公表日】2014年9月11日
(86)【国際出願番号】US2012044723
(87)【国際公開番号】WO2013006385
(87)【国際公開日】20130110
【審査請求日】2014年2月26日
(31)【優先権主張番号】61/504,084
(32)【優先日】2011年7月1日
(33)【優先権主張国】US
(31)【優先権主張番号】13/344,726
(32)【優先日】2012年1月6日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【弁理士】
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】レオナルド・ヘンリー・グロコップ
(72)【発明者】
【氏名】ヴィディヤ・ナラヤナン
【審査官】
松平 英
(56)【参考文献】
【文献】
特開平08−088692(JP,A)
【文献】
国際公開第2011/014292(WO,A1)
【文献】
国際公開第2011/017653(WO,A1)
【文献】
米国特許出願公開第2008/0082332(US,A1)
【文献】
米国特許出願公開第2011/0107405(US,A1)
【文献】
特表2011−523726(JP,A)
【文献】
特表2013−500538(JP,A)
【文献】
特表2013−501978(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F19/00−19/28
G06Q10/00−10/10
30/00−30/08
50/00−50/20
50/26−99/00
G10L15/00−17/26
H04B 7/24−7/26
H04M 1/00
1/24−3/00
3/16−3/20
3/38−3/58
7/00−7/16
11/00−11/10
99/00
H04W 4/00−99/00
(57)【特許請求の範囲】
【請求項1】
モバイル装置内のプロセッサにより、会話信号を含む音声データにアクセスするステップであって、前記音声データが前記モバイル装置のマイクロフォンを用いて生成されるステップと、
前記プロセッサにより、前記モバイル装置のユーザのコンテキストを推測するステップであって、前記コンテキストは前記モバイル装置の現在の状態に基づくステップと、
前記プロセッサにより、推測した前記コンテキストに少なくとも部分的に基づいてソーシャル・グラフを特定するステップであって、前記ソーシャル・グラフは潜在的な話者のリストを含むステップと、
前記プロセッサにより、前記会話信号に音声的に寄与したと判定される話者を特定するステップであって、話者の特定は特定された前記ソーシャル・グラフに少なくとも部分的に基づくステップと、
を含む、話者を特定するための方法。
【請求項2】
前記ユーザのコンテキストを推測するステップは、前記ユーザの位置に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項3】
前記モバイル装置が受信したGPS、WiFiまたはセルラ信号に少なくとも部分的に基づいて前記ユーザの位置を決定するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記ユーザのコンテキストを推測するステップは、前記ユーザの環境に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項5】
前記モバイル装置により受信したBlueTooth(登録商標)または音声信号に少なくとも部分的に基づいて前記環境を決定するステップをさらに含む、請求項4に記載の方法。
【請求項6】
前記ユーザのコンテキストを推測するステップは、前記ユーザの活動に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項7】
前記モバイル装置の前記マイクロフォンが捕捉した動きセンサ・データ、光センサ・データ、または音声信号に少なくとも部分的に基づいて前記活動を決定するステップをさらに含む、請求項6に記載の方法。
【請求項8】
前記ユーザのコンテキストを推測するステップは、前記モバイル装置に関連付けられた、電子メール・データ、テキスト・メッセージ・データ、カレンダ・データ、ソーシャル・ネットワーク・データおよび連絡先リストデータのうち1つまたは複数に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項9】
前記ユーザのコンテキストを推測するステップは、前記モバイル装置の通話状態および/または最新の通話の詳細少なくとも部分的に基づく、請求項1に記載の方法。
【請求項10】
前記ユーザのコンテキストを推測するステップは、前記モバイル装置で積極的にまたは非積極的に使用されているアプリケーションに少なくとも部分的に基づく、請求項1に記載の方法。
【請求項11】
前記ユーザのコンテキストを推測するステップは、前記音声データを収集した時刻に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項12】
前記音声データは、話された単語が前記音声データから再構築できないようにプライバシ・センシティブな方法で抽出された音声部分を含む、請求項1に記載の方法。
【請求項13】
複数のソーシャル・グラフを格納するステップであって、前記複数のソーシャル・グラフの各々は異なるコンテキストに関連付けられるステップをさらに含む、請求項1に記載の方法。
【請求項14】
複数の会話モデルを格納するステップであって、各会話モデルは潜在的な話者に関連付けられるステップをさらに含む、請求項1に記載の方法。
【請求項15】
複数の会話モデルを格納するステップであって、各会話モデルは潜在的な話者に関連付けられるステップと、
アクセスされた前記音声データを処理するステップと、
処理した前記音声データを前記複数の会話モデルのサブセットと比較するステップであって、前記サブセットは、特定された前記ソーシャル・グラフに少なくとも部分的に基づいて決定されるステップと、
をさらに含む、請求項1に記載の方法。
【請求項16】
1つまたは複数のコンテキストに対してソーシャル・グラフを生成するステップであって、前記ソーシャル・グラフの生成は、ユーザ位置データ、カレンダ・データ、電子メール・データ、およびソーシャル・ネットワーク・データのうち1つまたは複数に少なくとも部分的に基づくステップをさらに含む、請求項1に記載の方法。
【請求項17】
特定した前記ソーシャル・グラフは、特定した前記ソーシャル・グラフの1つまたは複数の枝に対する枝重み付けを含む、請求項1に記載の方法。
【請求項18】
枝ごとの前記枝重み付けは、前記枝に関連付けられた人との対話に前記ユーザが費やした時間の部分に対応する、請求項17に記載の方法。
【請求項19】
前記ソーシャル・グラフを特定する前に、
トレーニング音声データにアクセスするステップであって、前記音声データは複数のコンテキストに対応するステップと、
アクセスした前記音声データをクラスタ化するステップと、
アクセスした前記トレーニング音声データに基づいて複数のソーシャル・グラフを生成するステップと、
をさらに含み、
生成した前記ソーシャル・グラフは前記複数のソーシャル・グラフのうち1つを含む、
請求項1に記載の方法。
【請求項20】
複数の潜在的なコンテキストを、クラスタ化アルゴリズムの実行に少なくとも部分的に基づいて定義するステップをさらに含む、請求項1に記載の方法。
【請求項21】
前記話者を特定するステップは、前記話者の名前を特定するステップを含む、請求項1に記載の方法。
【請求項22】
モバイル装置を備えた、話者を特定するための装置であって、前記装置は、
会話信号を含む音声信号を受信し、受信した前記音声信号を無線信号に変換するように構成されたマイクロフォンと、
前記無線信号を送信するように構成された送信器と、
音声データを前記マイクロフォンから捕捉し、
前記モバイル装置のユーザのコンテキストを推測し、
推測した前記コンテキストに少なくとも部分的に基づいて、潜在的な話者のリストを含むソーシャル・グラフを特定し、
特定された前記ソーシャル・グラフに少なくとも部分的に基づいて、前記会話信号に音声的に寄与したと判定される話者を特定する
ように構成された1つまたは複数のプロセッサと、
を備えたモバイル装置を備え、
前記コンテキストは前記モバイル装置の現在の状態に基づく、
装置。
【請求項23】
リモート・サーバが前記1つまたは複数のプロセッサのうち少なくとも1つを含む、請求項22に記載の装置。
【請求項24】
前記モバイル装置は、前記1つまたは複数のプロセッサの全てを含む、請求項22に記載の装置。
【請求項25】
前記モバイル装置はディスプレイを備え、前記1つまたは複数のプロセッサはさらに、前記話者の特定結果を前記ディスプレイに提供するように構成された、請求項22に記載の装置。
【請求項26】
会話信号を含む音声データにアクセスするステップであって、前記音声データがモバイル装置のマイクロフォンを用いて生成されるステップと、
前記モバイル装置のユーザのコンテキストを推測するステップであって、前記コンテキストは前記モバイル装置の現在の状態に基づくステップと、
推測した前記コンテキストに少なくとも部分的に基づいてソーシャル・グラフを特定するステップであって、前記ソーシャル・グラフは潜在的な話者のリストを含むステップと、
前記会話信号に音声的に寄与したと判定される話者を特定するステップであって、話者の特定は特定された前記ソーシャル・グラフに少なくとも部分的に基づくステップと、
を実行させるプログラムを含む、コンピュータ読取可能媒体。
【請求項27】
前記プログラムはさらに、アクセスされた前記音声データを特徴空間に変換するステップを実行させる、請求項26に記載のコンピュータ読取可能媒体。
【請求項28】
前記プログラムはさらに、複数のソーシャル・グラフを格納するステップであって、前記複数のソーシャル・グラフは異なるコンテキストに関連付けられるステップを実行させる、請求項26に記載のコンピュータ読取可能媒体。
【請求項29】
前記プログラムはさらに、
複数の会話モデルを格納するステップであって、各会話モデルは潜在的な話者に関連付けられるステップと、
アクセスされた前記音声データを処理するステップと、
処理した前記音声データを前記複数の会話モデルのサブセットと比較するステップであって、前記サブセットは、特定された前記ソーシャル・グラフに少なくとも部分的に基づいて決定されるステップと、
を実行させる、請求項26に記載のコンピュータ読取可能媒体。
【請求項30】
会話信号を含む音声データにアクセスする手段と、
コンテキストを推測する手段であって、前記コンテキストはモバイル装置の現在の状態に基づく手段と、
推測した前記コンテキストに少なくとも部分的に基づいてソーシャル・グラフを特定する手段であって、前記ソーシャル・グラフは潜在的な話者のリストを含む手段と、
前記会話信号に音声的に寄与したと判定される話者を特定する手段であって、話者の特定は特定された前記ソーシャル・グラフに少なくとも部分的に基づく手段と、
を備えた、話者を特定するためのシステム。
【請求項31】
ユーザ位置データ、カレンダ・データ、電子メール・データ、およびソーシャル・ネットワーク・データのうち1つまたは複数に少なくとも部分的に基づいて、1つまたは複数のコンテキストに対してソーシャル・グラフを生成する手段をさらに備える、請求項30に記載のシステム。
【請求項32】
特定した前記ソーシャル・グラフは、特定した前記ソーシャル・グラフの1つまたは複数の枝に対する枝重み付けを含む、請求項30に記載のシステム。
【請求項33】
前記話者の特定結果をモバイル装置のユーザに提供するための手段をさらに備える、請求項30に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
モバイル装置のユーザが対話している人の特定は、コンテキスト認識とソーシャル・ネットワークの分野で解決すべき極めて価値ある課題である。今日まで、この課題は依然として概して未解決のままである。
【発明の概要】
【課題を解決するための手段】
【0002】
話者認識を用いた人の特定を改善するための技術を提供する。1実施形態では、一意なソーシャル・グラフを生成して複数の定義されたコンテキストの各々と関連付けることができる。当該ソーシャル・グラフは、特定のコンテキストに存在する可能性が高い話者を特定することができる。したがって、会話信号を含む音声信号を収集して処理することができる。コンテキストを推測し、対応するソーシャル・グラフを特定することができる。1組の潜在的な話者を、ソーシャル・グラフに基づいて決定することができる。上記処理された信号を、1組の限定された会話モデルと比較することができる。各会話モデルは、潜在的な話者と関連付けられている。1組の潜在的な話者を限定することによって、話者をより正確に特定することができる。
【0003】
幾つかの実施形態では、話者を特定するための方法を提供する。当該方法は、会話信号を含む音声データにアクセスするステップであって、当該音声データがモバイル装置のマイクロフォンを用いて生成されるステップと、当該モバイル装置のユーザのコンテキストを推測するステップと、推測した当該コンテキストに少なくとも部分的に基づいてソーシャル・グラフを特定するステップであって、当該ソーシャル・グラフは潜在的な話者のリストを含むステップと、当該会話信号に音声的に寄与したと判定される話者を特定するステップであって、話者の特定は特定された当該ソーシャル・グラフに少なくとも部分的に基づくステップと、を含んでもよい。当該ユーザのコンテキストを推測するステップは、当該ユーザの位置に少なくとも部分的に基づいてもよい。当該方法はさらに、当該モバイル装置が受信したGPS、WiFiまたはセルラ信号に少なくとも部分的に基づいて当該ユーザの位置を決定するステップをさらに含んでもよい。当該ユーザのコンテキストを推測するステップは、当該ユーザの環境に少なくとも部分的に基づいてもよい。当該方法はさらに、当該モバイル装置により受信したBlueTooth(登録商標)または音声信号に少なくとも部分的に基づいて当該環境を決定するステップを含んでもよい。当該ユーザのコンテキストを推測するステップは、当該ユーザの活動に少なくとも部分的に基づいてもよい。当該方法はさらに、当該モバイル装置の当該マイクロフォンが捕捉した動きセンサ・データ、光センサ・データ、または音声信号に少なくとも部分的に基づいて当該活動を決定するステップを含んでもよい。当該ユーザのコンテキストを推測するステップは、当該モバイル装置に関連付けられた、電子メール・データ、テキスト・メッセージ・データ、カレンダ・データ、ソーシャル・ネットワーク・データおよび連絡先リストデータのうち1つまたは複数に少なくとも部分的に基づいてもよい。当該ユーザのコンテキストを推測するステップは、当該モバイル装置の通話状態および/または最新の通話の詳細に少なくとも部分的に基づいてもよい。当該ユーザのコンテキストを推測するステップは、当該モバイル装置で積極的にまたは非積極的に使用されているアプリケーションに少なくとも部分的に基づいてもよい。当該ユーザのコンテキストを推測するステップは、当該音声データを収集した時刻に少なくとも部分的に基づいてもよい。当該音声データは、話された単語が当該音声データから再構築できないようにプライバシ・センシティブな方法で抽出された音声部分を含んでもよい。当該方法はさらに、複数のソーシャル・グラフを格納するステップであって、各ソーシャル・グラフが異なるコンテキストに関連付けられるステップを含んでもよい。当該方法はさらに、複数の会話モデルを格納するステップであって、各会話モデルは潜在的な話者に関連付けられるステップを含んでもよい。当該方法はさらに、複数の会話モデルを格納するステップであって、各会話モデルは潜在的な話者に関連付けられるステップと、アクセスされた当該音声データを処理するステップと、処理した当該音声データを当該複数の会話モデルのサブセットと比較するステップであって、当該サブセットは、特定された当該ソーシャル・グラフに少なくとも部分的に基づいて決定されるステップとを含んでもよい。当該方法はさらに、1つまたは複数のコンテキストに対してソーシャル・グラフを生成するステップであって、当該ソーシャル・グラフの生成は、ユーザの位置データ、カレンダ・データ、電子メール・データ、およびソーシャル・ネットワーク・データのうち1つまたは複数に少なくとも部分的に基づくステップを含んでもよい。特定した当該ソーシャル・グラフは、特定した当該ソーシャル・グラフの1つまたは複数の枝に対する枝重み付けを含んでもよい。枝ごとの当該枝重み付けは、当該枝に関連付けられた人との対話に当該ユーザが費やした時間に対応してもよい。当該方法はさらに、当該ソーシャル・グラフを特定する前に、複数のコンテキストの各々におけるトレーニング音声データを捕捉するステップと、捕捉したトレーニング音声データをクラスタ化するステップと、クラスタ化した音声データに基づいて複数のソーシャル・グラフを生成するステップとを含んでもよく、生成されたソーシャル・グラフは複数のソーシャル・グラフの1つを含む。当該方法はさらに、複数の潜在的なコンテキストを、クラスタ化アルゴリズムの実行に少なくとも部分的に基づいて定義するステップを含んでもよい。当該話者を特定するステップは、当該話者の名前を特定するステップを含んでもよい。
【0004】
幾つかの実施形態では、話者を認識するための装置を提供する。当該装置は、音声信号を受信し、受信した音声信号を無線信号に変換するように構成されたマイクロフォンと、当該無線信号を送信するように構成された送信器とを備えるモバイル装置を備えてもよい。当該装置はまた、音声データを当該マイクロフォンから捕捉し、当該モバイル装置のユーザのコンテキストを推測し、推測した当該コンテキストに少なくとも部分的に基づいて、潜在的な話者のリストを含むソーシャル・グラフを特定し、特定された当該ソーシャル・グラフに少なくとも部分的に基づいて、当該会話信号に音声的に寄与したと判定される話者を特定するように構成された1つまたは複数のプロセッサを備えてもよい。リモート・サーバが当該1つまたは複数のプロセッサのうち少なくとも1つを含んでもよい。当該モバイル装置は当該1つまたは複数のプロセッサの全てを備えてもよい。当該モバイル装置はディスプレイを備え、当該1つまたは複数のプロセッサはさらに、当該話者の特定結果を当該ディスプレイ上に提供するように構成されてもよい。
【0005】
幾つかの実施形態では、コンピュータ読取可能媒体を提供する。当該コンピュータ読取可能媒体は、会話信号を含む音声データにアクセスするステップであって、当該音声データがモバイル装置のマイクロフォンを用いて生成されるステップと、当該モバイル装置のユーザのコンテキストを推測するステップと、推測した当該コンテキストに少なくとも部分的に基づいてソーシャル・グラフを特定するステップであって、当該ソーシャル・グラフは潜在的な話者のリストを含むステップと、当該会話信号に音声的に寄与したと判定される話者を特定するステップであって、話者の特定は特定された当該ソーシャル・グラフに少なくとも部分的に基づくステップと、を実行するプログラムを含む。当該プログラムはさらに、アクセスされた当該音声データを特徴空間に変換するステップを実行してもよい。当該プログラムはさらに、複数のソーシャル・グラフを格納するステップであって、各ソーシャル・グラフは異なるコンテキストに関連付けられるステップを実行してもよい。当該プログラムはさらに、複数の会話モデルを格納するステップであって、各会話モデルは潜在的な話者に関連付けられるステップと、アクセスされた当該音声データを処理するステップと、処理した当該音声データを当該複数の会話モデルのサブセットと比較するステップであって、当該サブセットは、特定された当該ソーシャル・グラフに少なくとも部分的に基づいて決定されるステップと、を実行してもよい。
【0006】
幾つかの実施形態では、話者を認識するためのシステムを提供する。当該システムは、会話信号を含む音声データにアクセスする手段(例えば、送受信器および/またはマイクロフォン)と、コンテキストを推測する手段(例えば、現在状態分析器)と、推測した当該コンテキストに少なくとも部分的に基づいてソーシャル・グラフを特定する手段であって、当該ソーシャル・グラフは潜在的な話者のリストを含む手段(例えば、コンテキストからソーシャル・グラフへのマッパ)と、当該会話信号に音声的に寄与したと判定される話者を特定する手段であって、話者の特定は特定された当該ソーシャル・グラフに少なくとも部分的に基づく手段(例えば、分類器および/または会話モデルから人へのマッパ)と、を備えてもよい。当該システムはさらに、ユーザ位置データ、カレンダ・データ、電子メール・データ、およびソーシャル・ネットワーク・データのうち1つまたは複数に少なくとも部分的に基づいて、1つまたは複数のコンテキストに対してソーシャル・グラフを生成する手段(例えば、ソーシャル・グラフ生成器)を備えてもよい。特定した当該ソーシャル・グラフは、特定した当該ソーシャル・グラフの1つまたは複数の枝に対する枝重み付けを含んでもよい。当該システムはさらに、当該話者の特定結果をモバイル装置のユーザに提供するための手段(例えば、ディスプレイ)をさらに備えてもよい。
【図面の簡単な説明】
【0007】
【
図1A】ソーシャル・グラフ、会話モデル、およびユーザ・コンテキスト情報を用いて1人または複数人の人を特定するための装置の1実施形態を示す図である。
【
図1B】本発明の1実施形態に従う音声データの捕捉を示す図である。
【
図1C】本発明の別の実施形態に従う音声データの捕捉を示す図である。
【
図1D】本発明のさらに別の実施形態に従う音声データの捕捉を示す図である。
【
図2】モバイル装置のユーザの付近にいる1人または複数人の人を特定するためのプロセスの流れ図である。
【
図3】コンピュータ・システムの1実施形態を示す図である。
【発明を実施するための形態】
【0008】
話者認識を用いた人の特定を改善するための方法、装置、およびシステムを提供する。幾つかの事例では、話者は、受信した音声信号を1組の考えられる話者のうち1人に関連付けることによって認識される。例えば、考えられる話者の初期集合を定義し、1つまたは複数の会話モデルをそれぞれの考えられる話者に関連付けてもよい。当該信号を考えられる話者の1人と関連付けようとする際に、受信信号を処理してもよい。
【0009】
モバイル装置が頻繁に音声信号を多数の話者から受信する際に問題が生ずる。そこで、話者の認識において、所与の処理された信号を多数の制御変数と比較することを必要としてもよい。かかる分析には、大量の計算処理が必要で、認識エラーが頻繁に生ずる傾向がある場合がある。話者の認識を、考えられる話者の小規模な集合から認識することに制限することができれば、必要な処理能力、計算時間、およびエラーが減るであろう。
【0010】
したがって、幾つかの実施形態では、限定された1組の制御データを用いて信号を認識する。初期の制御データを、コンテキストを用いることによって設定した制限された制御データに縮小してもよい。例えば、コンテキスト(例えば、「仕事」、「自宅」、「パーティ」、「会合」、「車」、「家族と一緒」等)を、例えば、時刻、場所、ユーザ活動、装置上で実行中のアプリケーション、センサ・データ、周囲の雑音、カレンダ上のイベント、電子メール・データ、通話状態、モバイル装置で使用中のアプリケーション、ユーザ入力等に基づいて推測してもよい。複数のコンテキストの各々をソーシャル・グラフに関連付けてもよい。当該ソーシャル・グラフにより、推測したコンテキストにおいて会話信号を提供した可能性がある1組の人を特定してもよい。当該ソーシャル・グラフに関連付けられた1人または複数人の人に対して、当該ソーシャル・グラフが、所与の会話信号がその人から生じた確率を含んでもよい。当該確率に基づいて集合自体を定義してもよい(例えば、集合が、10%のような閾値を上回る信号確率を有する全ての人を含むようにしてもよい)。当該確率を、信号の音声特性を考慮せずに計算してもよい(例えば、自宅で受信した会話信号が「妹」からであった確率が10%である)。適用可能なソーシャル・グラフを用いることにより、誰が会話信号を発したかを認識することを支援することができる。より具体的には、考えられる話者の小規模な集合のうち1人に音声信号をマッチすることを認識に含めてもよい。
【0011】
図1Aは、本発明の1実施形態に従う、1人または複数人の人を特定するための装置100aを示す。
図1Aに示すように、装置100はモバイル装置110aを備えることができる。モバイル装置110aを、ユーザ113aにより使用してもよい。モバイル装置110aは、無線ネットワーク120aおよびネットワーク(複数可)130aを介してリモート・サーバ140aと通信することができる。モバイル装置110aは、無線信号を例えば無線ネットワークを介して送信するように構成された送信器を備えてもよい。モバイル装置110aが、携帯電話、スマート・フォン、または、携帯情報端末、タブレット・コンピュータ、ラップトップ、ハンドヘルド式ゲーム・デバイス、デジタル・カメラ等のような他の何らかのモバイル・コンピュータ装置を表してもよい。モバイル装置110aは、
図1Aに示すようにマイクロフォン112aを含むことができる。マイクロフォン112aにより、モバイル装置110aはモバイル装置の周囲の物理環境から音声データ(例えば、人114aにより話されている会話)を収集または捕捉することができる。
【0012】
マイクロフォン112aを、選択(「アクティブ」)期間中に電気信号または無線信号に変換するように構成してもよい。幾つかの事例では、マイクロフォン112aがアクティブかどうかは、1つまたは複数のプログラムまたはプログラム部分がモバイル装置110a上で実行されているかどうかに少なくとも部分的に依存する。例えば、マイクロフォン112aは、特定のプログラムが実行されるときにのみアクティブであってもよい。これは、モバイル装置110aが通話状態にあることを示す。幾つかの実施形態では、マイクロフォン112aは、モバイル装置110aが通話中であり1つまたは複数の独立なプログラムが実行されるときに起動される。例えば、ユーザがプログラムを開始して、音声認識短縮ダイヤルを構成し、ディクテーションを記録する等を行うことができてもよい。幾つかの実施形態では、マイクロフォン112aは自動的に、例えば、日中の固定時間に、定期的に、等で起動される。
【0013】
幾つかの実施形態では、プライバシ・センシティブなマイクロフォンのサンプリングを使用して、会話検出のための十分な情報を提供しつつ、話された単語および/または文章が捕捉された音声データから聞こえず再構築もできないことを保証することができる。例えば、
図1Bを参照すると、物理的な環境における連続的な音声ストリームが、T
window秒継続し複数の音声部分またはデータ・セグメントを有する、音声データのウィンドウ110bを含むことができる。より具体的には、当該ウィンドウがN個のブロック120bを含むことができる。各ブロック120bは、T
block秒継続し、各々がT
frame秒の複数のフレーム130bを含む。(T
frame秒のデータを有する)1つのフレームのみがT
block秒のブロックごとに収集されるように、マイクロフォン信号を標本化することができる。パラメータ設定の1例には、T
frame=50msおよびT
block=500msが含まれるが、これらの設定は所望の機能に応じて変更してもよい。例えば、フレームは30msから100ms以上にわたることができ、ブロックは250ms未満から2000ms(2s)以上にわたることができ、ウィンドウは1つのブロック程度(例えば、ウィンドウあたり1ブロック)の短さで、高々1分以上であってもよい。様々なフレーム、ブロック、およびウィンドウの長さが、ブロックあたりのフレーム数とウィンドウあたりのブロック数に影響を及ぼしうる。連続的にマイクロフォン信号を標本化し不要なコンポーネント(例えば、500msごとに450ms)を破棄する(即ち、格納しない)こと、または、不要なセグメントの間はマイクロフォンをオフにすること(例えば、500msごとに450msはマイクロフォンをオフにすること)の何れかによって、フレーム捕捉を実現できることに留意されたい。
【0014】
結果の音声データ140bは、元の音声データのサブセットのみを含むフレームの集合である。それでも、当該サブセットは依然として、周辺環境および/または音声情報の他のコンテキスト情報の判定を当該判定の正確性にあまり影響を及ぼすことなく提供できる、音声特徴を含むことができる。幾つかの事例では、(例えば、コンテキストが推測されたら)当該サブセットを追加的にまたは代替的に使用して話者を特定してもよい。例えば、当該データのサブセットに基づいてケプストラム係数を決定し、当該ケプストラム係数を会話モデルと比較してもよい。
【0015】
図1Cおよび1Dは
図1Bと同様である。しかし、
図1Cおよび1Dでは、さらなるステップを実施して、捕捉できる任意の会話のプライバシをさらに保証することを支援する。
図1Cは、T
window秒のウィンドウごとに、どのようにウィンドウ内のブロックごとの第1のフレームをランダムに並び替えて(即ち、ランダムにシャッフルして)結果の音声データ140cを提供できるかを示す。
図1Dは、同様な技術ではあるが、ブロックごとに捕捉したフレームをさらにランダム化することを示す。例えば、T
window=10およびT
block=500msである場合、20個のマイクロフォン・データのフレームが捕捉される。これらの20個のフレームをランダムに並び替えることができる。このランダムな並びを、多数の方法(例えば、GPS時間に基づく方法、モバイル装置110a内部の回路からの雑音に基づく方法、マイクロフォンからの雑音に基づく方法、アンテナからの雑音に基づく方法等)で生成したシードを用いて計算することができる。さらに、当該並びを破棄して(例えば、格納しない)、シャッフル効果が反転できないことを保証するのを支援することができる。
【0016】
他の実施形態も考慮される。例えば、(フレームの捕捉をブロックあたり1フレームに限定する実施形態ではなく)フレームを捕捉する前、または、フレームをウィンドウ全体にわたってランダムに取得する前等に、ブロック自体をシャッフルしてもよい。幾つかの実施形態では、全てのフレームを標本化してランダムに並べてもよい。幾つかの実施形態では、フレームの一部または全部を標本化して特徴空間にマップしてもよい。個人情報保護技術により、処理データ(例えば、不完全なフレーム標本化、並べたフレーム、マップしたデータ等)を格納できるようにしてもよく、元の音声データを格納することが不要であってもよい。そうすると、格納したデータに基づいて元の音声信号(したがって、マイクロフォンに吹き込まれたメッセージ)を逆計算するのは困難であるか不可能であるかもしれない。
【0017】
再度
図1Aを参照すると、無線ネットワーク120aが、セルラ・サービスのプロバイダの無線ネットワークを表すことができる。無線ネットワーク120aは、1つまたは複数のネットワーク(複数可)130aを使用してリモート・サーバ140aと通信することができる。ネットワーク(複数可)130aは、企業イントラネットのような1つもしくは複数のプライベート・ネットワーク、および/または、インターネットのような1つもしくは複数のパブリック・ネットワークを含むことができる。
【0018】
リモート・サーバ140aは、プロセッサ142aおよび記憶装置144aを備えることができる。幾つかの実施形態では、リモート・サーバ140aは、図示していない他のコンポーネントを備えることができる。モバイル装置110aはまた、プロセッサおよび/または記憶装置を備えてもよい。会話モデル・データを、記憶装置144aおよび/またはモバイル装置110aの記憶装置に格納してもよい。会話モデル・データは、例えば、生の音声信号、音声信号の一部、処理された音声信号(例えば、正規化信号またはフィルタ信号)、特徴マップ(feature−mapped)音声信号(例えば、ケプストラム係数)、会話モデルに対応するパラメータ、テンプレートに対応するパラメータ等を含んでもよい。話者に関連付けられた会話モデルは、未知の信号が当該話者による会話信号を含む可能性があるかどうかを判定するために使用される1組のパラメータを含んでもよい。例えば、話者1に関連付けられた第1の会話モデルが特定のパワー・スペクトル・テンプレートを含んでもよく、話者1に関連付けられた第2の会話モデルが1組の音声データのパラメータ(例えば、振幅変動、クリッピング変数(clipping variable)等)を含んでもよい。
【0019】
ソーシャル・グラフ・データを、記憶装置144aおよび/またはモバイル装置110aの記憶装置に格納してもよい。ソーシャル・グラフ・データが、例えば、ソーシャル・コンテキストを示す変数(例えば、時刻、曜日、受信信号強度、場所、GPS座標、実行されているプログラム、ユーザ入力等)、特定のコンテキストに関連付けられた人を示す変数(例えば、名前、一意な識別子等)、コンテキストが与えられたときに会話信号が特定の人から発せられたものである確率等を含んでもよい。
【0020】
格納されたデータを使用して、モバイル装置110a近傍の話者および/またはそのユーザを特定することができる。特定の実施形態では、記憶装置144aは、幾つかの異なるユーザに関するソーシャル・グラフ・データ146aおよび会話モデル・データ148aを格納することができる。例示的に、記憶装置144aが10個の異なるソーシャル・グラフと20個の異なる会話モデルを5人の異なるユーザの各々に対して格納してもよい
【0021】
任意の適切な方法で、任意の適切な形のデータを用いて、ソーシャル・グラフを取得することができる。ソーシャル・グラフを、ユーザの場所、カレンダ、電子メール、ソーシャル・ネットワークのプロフィール等から取得したデータから取得することができる。1例として、最新のイベント(例えば、会合)に出席する予定または出席するかもしれないとカレンダが示す人のみと、または、少なくともその人と関連付けられた会話モデルをソーシャル・グラフが含んでもよい。別の例として、ソーシャル・ネットワークのプロフィール、電子メール・データまたはテキスト・メッセージ・データに基づいて(例えば、所定の関係、電子メールの形式性、テキスト・メッセージまたは電子メールのタイムスタンプ等を分析することによって)関係を推測するかまたは判定してもよい。特定の関係にある人(例えば、職場の同僚)を、関係コンテキスト(例えば、仕事)に関連付けられた1つまたは複数の会話モデルで表してもよい。
【0022】
幾つかの事例では、ソーシャル・グラフが「学習される」。例えば、会話信号を監視し捕捉してもよい。コンテキストを、例えば、受信データ(例えば、音声データ、GPSデータ、ユーザ入力データ、日時データ等)に基づいて推測してもよい。1つまたは複数のクラスタが一意な話者に対応するように推測されるように、捕捉した会話信号をクラスタ化してもよい。したがって、例えば、コンテキストAで話者1乃至3が存在する可能性があること、および、コンテキストBで話者1と話者4乃至6が存在する可能性があることを学習してもよい。1つまたは複数の会話モデルを、1人または複数人の話者と関連付けてもよい。会話信号をコンテキストBで受信した場合には、話者1と話者4乃至6に関連付けられた会話モデル・データを使用して、会話信号が誰から生じたのかを特定してもよい。
【0023】
幾つかの実施形態では、ソーシャル・グラフがユーザのコンテキストに対応することができる。例えば、職場の同僚のリストから成るソーシャル・グラフが「仕事」のコンテキストに対応することができる。別の例として、ユーザの家族/世帯員から成るソーシャル・グラフが「自宅」のコンテキストに対応することができる。さらに別の例として、特定の催し物に参加している友達のリスト(または友達とその友達の全てから成るリスト)から成るソーシャル・グラフが「パーティ」のコンテキストに対応することができる。
【0024】
特定の実施形態では、ユーザの異なるコンテキストに対応するソーシャル・グラフが入れ子構造を有することができる。これらの事例では、ユーザのコンテキストを低い(例えば、より精密な)レベルで定義する場合には、ソーシャル・グラフはかなり小規模なものになる可能性があり、その結果、サーバはより簡単にモバイル装置のユーザの付近にいる話者を正確に特定することができる。例えば、高レベルな「パーティ」のコンテキストとは対照的に、ユーザ・コンテキストが「Johnのパーティ」であってもよい。かかるケースでは、対応するソーシャル・グラフは招待されたゲスト(または、ソーシャル・ネットワーク・ツールを用いて当該パーティに参加した人々)のリストに限定されるかもしれず、全ての友達のリスト(または全ての友達とその友達の全てから成るリスト)よりもかなり具体的になるであろう。別の例として、ユーザのコンテキストが「職場での会議」である場合には、対応するソーシャル・グラフは、ユーザのチーム内の職場同僚のみから構成されるか、または、会議参加者のみから構成されるであろう。
【0025】
幾つかの実施形態によれば、枝重み付けを伴うソーシャル・グラフを利用することができる。特に、ソーシャル・グラフ内で表された各人に重みを割り当てることができる。重み付けにより、モバイル装置のユーザがその人と対話した時間の相対的な割合を表すことができる。例えば、ユーザのコンテキストが「仕事」である場合には、当該ユーザのチームの職場同僚に対して、当該ユーザのチームにいない人よりも高い重みが割り当てられるはずである。同様に、ユーザの友達に対応するソーシャル・グラフは、疎遠な友達に対する重みよりも高い重みを親密な友達に割り当てるはずである。別の例として、「出席」、「おそらく出席」、「欠席」、「未回答」のような様々なレベルの招待受諾から成るRSVPリストでユーザがパーティに参加している場合には、招待された者にはそれに応じて対応するソーシャル・グラフ上で重み付けされるはずである。より具体的には、「出席」と回答した人には「おそらく出席」と回答した人よりも高い重みが割り当てられるはずである。ユーザが対話する特定の人に対する重み付けを、ユーザのコンテキストで変更できることは理解される。例えば、当該ユーザが、たまたま職場同僚であるが同じチームのメンバではない人と親しい友達である場合には、その人は、ユーザのコンテキストが「パーティ」であるとき、ユーザのコンテキストが「仕事」であるときよりも高い重みを有することができる。別の例として、家族のメンバは、ユーザのコンテキストが「自宅」であるとき「パーティ」よりも高い重みを受け取るかもしれない。
【0026】
枝重み付けを任意の適切な方法で使用して話者を特定することができる。例えば、幾つかの実装形態では、枝重み付けを事前確率として扱うことができる。例えば、ベイズ分類器を使用することを考える。f(x)を、音声データ・ベクトルxから計算した特徴ベクトルとする。さらに、P(s)(s=1,...,5)を、ユーザのコンテキストに対応するソーシャル・グラフにおけるS人の話者に関する事前確率とする。これらの事前確率の和が1であることに留意されたい。即ち、
【0028】
である。計算した特徴ベクトルと事前確率に基づいて、最大事後確率を有する話者を、以下の式を用いて選択することができる。
【0030】
特に、諸実施形態では、話者sごとの尤度スコアP(f(x)|s)に当該話者の事前確率P(s)を乗じ、続いて最大値を有する話者を選択することができる。
【0031】
幾つかの実施形態では、モバイル装置110aが本明細書で説明したほほ全ての処理を実施する。幾つかの実施形態では、リモート・サーバ140aが本明細書で説明した一部のまたはほぼ全ての処理を実施する。モバイル装置110aを、生のデータ、中間のデータまたは完全に処理されたデータをリモート・サーバ140aに提供するように構成することができる。例えば、モバイル装置110aが生の音声データおよび/または会話データ、プライバシ・センシティブな音声データおよび/または会話データ、処理(例えば、フィルタ、変形、正規化等)された音声および/または会話データ、コンテキスト変数、推測したコンテキスト、考えられる話者のリスト、適用可能なソーシャル・グラフ、(例えば、推測したコンテキストに関連付けられたソーシャル・グラフ内の人のリストに対応する)1つまたは複数の会話モデル等をリモート・サーバ140aに送信してもよい。幾つかの実施形態では、モバイル装置のユーザが最も頻繁に関連付けられる1組の人に関する会話モデルをモバイル装置110aおよび/またはリモート・サーバ140aによりキャッシュする。会話モデルをキャッシュすることによって、プロセッサがオフラインで動作している期間でも、話者をより迅速に特定することができ、かつ/または、特定機能を継続的に利用することができる。
【0032】
次に、1人または複数人の人を特定するために使用できるプロセスの例を説明する。
【0033】
図2は、1実施形態に従う1人または複数人の人を特定するためのプロセス200の流れ図である。プロセス200の一部または全部を、例えば、モバイル装置110aおよび/またはリモート・サーバ140aによって実施してもよい。
【0034】
プロセス200は210で開始する。210で、モバイル装置110aは音声データをその周囲の物理環境から(例えば、モバイル装置110aのマイクロフォンおよび/またはレコーダを用いて)収集する。幾つかの実施形態では、モバイル装置110aは、組込みのまたは接続されたマイクロフォンを用いて音声データを収集することができる。幾つかの実施形態によれば、プライバシ・センシティブなマイクロフォンのサンプリングを用いて、話された単語および/または文章が収集された音声データから聞こえず再構築もできないことを保証するようにモバイル装置110aを構成することができる。
【0035】
音声データを、例えば、継続的に、定期的に、または離散的な間隔で、収集してもよい。幾つかの事例では、音声データは会話が検出されたとき常に、または、時々、収集される。例えば、会話検出プログラムを実行するように当該モバイル装置を構成することができる。会話検出プログラムをバックグラウンドで日中に実行して、モバイル装置を取り囲む環境において会話が存在する時点を判定することができる。会話が検出された場合に、音声信号をモバイル装置によって(例えば、マイクロフォン112aを用いて)記録することができる。幾つかの実施形態では、例えば音声データを記録すべきことまたはプログラムを開始すべきことを示す入力が(例えばユーザから)受信されたときに、音声データを記録する。幾つかの実施形態では、監視している音の音量が閾値を超えたとき、(例えば、通話中のモバイル装置に関する)1つまたは複数の特定のプログラムまたはプログラム部分が実行されているとき、モバイル装置が通話中であるとき、モバイル装置が信号を送信しているときに、音声信号を記録する。
【0036】
220で、会話を含む音声データ内のセグメントを(例えば、会話検出器により)特定する。例えば、信号を複数のセグメントに分割してもよい。各セグメントを、1つまたは複数の変数(例えば、ケプストラム係数)により特徴付けてもよい。各セグメントに関連付けられた変数の分析により、当該セグメントが会話信号を含むかどうかを推定できるようにしてもよい。
【0037】
230で、会話セグメントを(例えば、フィルタ、変換、正規化、雑音軽減アルゴリズム等を適用することによって)処理する。例えば、(例えば、ケプストラム係数を含む)特徴ベクトルを当該会話セグメントに対して計算してもよい。別の例として、会話セグメントをフィルタ、正規化等してもよい。さらに別の例として、話された単語を処理データから再構築できないように、会話セグメントを標本化および/または並べてもよい。
【0038】
240で、現在のコンテキストを(例えば、現在状態分析器により)推測する。コンテキストを、例えば、モバイル装置110aが受信したセンサ・データ(例えば、BlueTooth(登録商標)近傍のセンシング、決定した受信強度、受信GPS信号、受信セルラ信号、受信音声信号、または受信WiFi信号)、外部センサにより受信したセンサ・データ(例えば、時刻のセンシング)、(例えば、カレンダのイベントに関連付けられた)事前のユーザ入力、格納されたテキスト(例えば、電子メールのテキストまたはテキスト・メッセージ)、(例えば、コンテキストを特定する)ユーザ提供データ、ソーシャル・ネットワークの状況、電子メール・データ、テキスト・メッセージ・データ、カレンダ・データ等に基づいて推測してもよい。幾つかの事例では、現在のコンテキストを、受信した音声データに少なくとも部分的に基づいて推測してもよい。例えば、バックグラウンド雑音特性、受信信号の明瞭性、または特定した特定の種類の(例えば、特定の話者または雑音の)信号により、ユーザまたは装置が特定のコンテキストにあると示唆してもよい。幾つかの実施形態では、コンテキストが「学習される」。例えば、(上で列挙した任意のコンテキスト指示データのような)データを監視しクラスタ化してもよい。1つまたは複数のクラスタを一意なコンテキスト識別子に関連付けてもよい。幾つかの事例では、1つまたは複数のコンテキストに名前を付してもよい。幾つかの事例では、1つまたは複数のコンテキストは、例えば一意な(例えば、英数字の)識別子に基づいて名前を付与されず識別されない。
【0039】
幾つかの事例では、場所に少なくとも部分的に基づいてコンテキストを推測する。当該コンテキストは、場所(例えば、住所、都市の一部または都市)であってもよく、または、当該場所が、ユーザが或るコンテキストに居ると示唆してもよい(例えば、特定の範囲のGPS座標を「仕事」コンテキストに関連付けてもよい)。当該場所を、モバイル装置から送信された受信信号のタイプ、時刻、または強度に少なくとも部分的に決定してもよい。例えば、当該場所を、モバイル装置により受信したGPU信号、WiFi信号、またはセルラ信号に少なくとも部分的に基づいて決定してもよい。
【0040】
幾つかの事例では、環境(例えば、静寂、多数の音声信号、大音量のバックグラウンド、多数の近くの人、多数の近くのコンピュータ、近くの特定のコンピュータ、または音楽)に少なくとも部分的に基づいて推測する。当該環境を、例えば、モバイル装置により受信した信号(例えば、BlueTooth(登録商標)信号または音声信号)に基づいて決定してもよい。
【0041】
幾つかの事例では、ユーザの活動(例えば、映画の視聴、コンピュータでの作業、社会活動、ランニング等)に少なくとも部分的に基づいてコンテキストを推測する。当該活動を、動きセンサ・データ、光センサ・データ、受信音声信号等のようなセンサ・データを用いて決定してもよい。当該活動を、例えば、電子メール・データ、テキスト・メッセージング・データ、カレンダ・データまたはソーシャル・ネットワーク・データに基づいて決定してもよい。例えば、装置が約時速6マイルで移動していると動きセンサ・データが示す場合、「ランニング」コンテキストを決定してもよい。別の例として、装置に格納されたカレンダ・データまたは装置のユーザに関連付けられたカレンダ・データが、ユーザが「ジョン」からの招待を受け入れたと示すときに、「社会」コンテキストを推測してもよい。
【0042】
幾つかの事例では、装置関連の状態(例えば、通話状態、最新の通話の詳細、当該装置で積極的または非積極的に使用されているアプリケーション等)に少なくとも部分的に基づいてコンテキストを推測する。例えば、装置が通話中のときに通話状態を推測してもよい。次に、ソーシャル・グラフが、(例えば、連絡先リストまたは公的/私的データベースの中の)装置が発呼している電話番号または発呼されている電話番号に関連付けられた連絡先リストの中の人、または、それらに関連付けられた人を含んでもよい。別の例として、装置がゲーム・アプリケーションを実行しているときには、装置は非仕事コンテキストを推測してもよい。
【0043】
250で、推測したコンテキストに少なくとも部分的に基づいて(例えば、マッピング・アルゴリズムを実装するコンテキスト・ソーシャル・グラフ・マッパを用いて)少なくとも1つソーシャル・グラフを特定する。例えば、当該コンテキストが、ユーザまたは装置が「自宅」にあると示すことができる。結果として、ユーザの家族メンバを含むソーシャル・グラフを選択することができる。特定したソーシャル・グラフが、格納されたソーシャル・グラフを含んでもよい。夫々の格納されたソーシャル・グラフを、1つまたは複数のコンテキストと関連付けてもよく、ユーザ位置データ、カレンダ・データ、電子メール・データ、ソーシャル・ネットワーク・データ、受信信号データ等に少なくとも部分的に基づいて(例えば、ソーシャル・グラフ生成器により)生成してもよい。特定したソーシャル・グラフ(複数可)が、上述のような特徴(例えば、重み)を含んでもよい。
【0044】
ソーシャル・グラフ(複数可)を、任意の適切な技術を用いて構築してもよい。例えば、(例えば、特定のコンテキストに存在する可能性が高い人を特定する)モバイル装置110aに対するユーザ入力、電子メッセージ(例えば、電子メール、電子招待、テキスト・メッセージ等)、ソーシャル・ネットワーク・サイトのデータ、関連するコンテキストにおいて近傍のモバイル装置が以前に受信した関連するコンテキスト信号において以前に捕捉された音声信号に基づいて、ソーシャル・グラフを構築してもよい。特定の例として、ユーザがメアリのパーティへの電子招待を受け入れたので当該ユーザがメアリのパーティに参加していると推測してもよい。メアリのパーティのコンテキストに関連付けられたソーシャル・グラフが、当該パーティに参加する予定であることを(例えば、ウェブページを介して)公に示した他の全ての人のリストを含んでもよい。別の具体的な例として、ユーザがコンテキストAにあると推測してもよい。ユーザが以前にコンテキストAにあった間に音声信号を捕捉することにより、ソーシャル・グラフを決定してもよい。次に、当該ソーシャル・グラフが、10分の間、話者1から会話信号を受信した確率が50%あり、話者2から会話信号を受信した確率が30%あり、話者3から会話信号を受信した確率が5%あることを示してもよい。
【0045】
260で、会話データ(例えば、処理した会話セグメント)を、選択した少なくとも1つのソーシャル・グラフに基づいて(例えば、分類アルゴリズムを実装する分類器を用いて)1つまたは複数の会話モデルにマッチすることができる。特に、当該選択されたソーシャル・グラフ内で表現された人のうち少なくとも一部を各々、対応する会話モデルに関連付けることができる。各モデルを会話データと比較して、当該会話データにマッチする1つまたは複数の会話モデルを決定することができる。例えば、特定したソーシャル・グラフで表現された1つまたは複数のモデルを、幾つかのケプストラム係数を含む会話モデルと関連付けてもよい。処理した会話データが、幾つかのケプストラム係数を含んでもよい。当該会話データを、最も類似するケプストラム係数を有する会話データにマッチしてもよい。1実施形態では、会話モデルが、コンテキストが与えられた話者から会話信号を受信した確率を含み、かつ/または、当該確率から構成される。会話モデルには、例えば、混合ガウス・モデルまたは隠れマルコフ・モデルを含めてもよい。
【0046】
270で、モバイル装置のユーザに近い1人または複数人の人を、260でのマッチ結果に少なくとも部分的に基づいて(例えば、マッピング・アルゴリズムを実装する会話モデルから人へのマッパを用いて)特定することができる。1人または複数人の人の特定が、例えば、名前、一意な識別子、電話番号、電子メール・アドレス、オンラインID、音声特性、音声サンプル、関係等により1人または複数人の人を特定することを含んでもよい。幾つかの事例では、当該識別に関連付けられた1つまたは複数の確率が決定される。例えば、会話信号が話者1から発せられたものである確率が90%あり、会話信号が話者2から発せられたものである確率が5%あり、会話信号が未知の話者から発せられた確率が5%あると判定してもよい。当該確率が、コンテキストの推測に関連付けられた信頼度、および/または、推測したコンテキストが与えられた人の特定に関連付けられた信頼度に基づいてもよい。
【0047】
280で、1人または複数人の人の特定結果を提供してもよい。幾つかの事例では、当該特定結果がモバイル装置110aのユーザに送信される。例えば、特定結果(複数可)をモバイル装置110aのディスプレイに表示してもよい。幾つかの事例では、当該特定結果(複数可)を含む通信(例えば、テキスト・メッセージ、音声メッセージ、または電子メール・メッセージ)がユーザに送信される。当該特定結果をウェブサイト(例えば、ソーシャル・ネットワーク・ウェブサイト)に発行してもよい。当該特定結果を使用して、ソーシャル・ネットワーク・ウェブサイト上のユーザの状態を更新してもよい。
【0048】
幾つかの実施形態では、モバイル装置110aがプロセス200の全部を実施する。幾つかの実施形態では、リモート・サーバ140aがプロセス200の少なくとも一部を実施する。後者の事例では、モバイル装置110aにより(例えば、無線ネットワーク120および/またはネットワーク(複数可)130)を介して)データを送信し、リモート・サーバ140aにより受信する必要があるかもしれない。送信データが、例えば、生の音声データまたは処理された音声データ、会話データ(例えば、計算した特徴ベクトルを含むデータ)、会話モデル・データ、コンテキスト関連データ、ソーシャル・グラフ・データ等を含んでもよい。幾つかの事例では、モバイル装置110aがローカルで210乃至240と280を実施する。会話データおよび推測したコンテキストはリモート・サーバ140aに送信される。次に、リモート・サーバが250乃至270を実施する。次に、モバイル装置に近い1人または複数人の人に関する情報および/またはその使用を、リモート・サーバ140aに(例えば、無線ネットワーク120および/またはネットワーク(複数可)130を介して)送信し、モバイル装置110aにより受信してもよい。1人または複数人の人の特定が、リモート・サーバ140aに以前に送信された会話データとユーザ・コンテキストに基づいてもよい。リモート・サーバ140aが、例えば、ソーシャル・グラフ・データおよび会話モデルを格納してもよい。幾つかの実施形態では、当該ソーシャル・グラフ・データが、会話モデルに関連付けることができる1つまたは複数のソーシャル・グラフを含んでもよい。例えば、各ソーシャル・グラフが、1人または複数人の人の表現を含むことができる。当該表現の各々に、人の音声を表す会話モデルを関連付けることができる。
【0049】
図3に示すンピュータシステムを、上で説明したコンピュータ装置の一部として組み込んでもよい。例えば、コンピュータ・システム300が、本願で説明したモバイル装置および/またはリモート・コンピュータ・システムの構成要素の一部を表してもよい。
図3は、コンピュータ・システム300の1実施形態の略図を提供する。コンピュータ・システム300は、本明細書で説明した他の様々な実施形態で提供される方法を実施することができ、かつ/または、リモート・サーバ140aおよび/またはモバイル装置110aとして機能することとができる。
図3は、様々な構成要素の一般的な説明を提供するものにすぎず、その一部または全部を必要に応じて利用できることに留意されたい。
図3は、したがって、どのように個々のシステム要素を相対的に独立した形でまたは相対的により統合された形で実装できるかを広く示すものである。
【0050】
図示したコンピュータ・システム300は、バス305を介して電気的に接続できる(または必要に応じて別の方法で通信できる)ハードウェア要素を含むとして示されている。当該ハードウェア要素は、1つまたは複数のプロセッサ310、1つまたは複数の入力装置315、および1つまたは複数の出力装置320を備えてもよい。1つまたは複数のプロセッサ310には、限定ではなく、1つまたは複数の汎用目的のプロセッサおよび/または(デジタル信号処理チップ、グラフィック・アクセラレーション・プロセッサ等のような)1つまたは複数の特殊目的のプロセッサが含まれる。1つまたは複数の入力装置315には、限定ではなく、マウス、キーボード等を含めることができる。1つまたは複数の出力装置320には、限定ではなく、ディスプレイ装置、プリンタ等を含めることができる。
【0051】
コンピュータ・システム300はさらに、1つまたは複数の記憶装置325を備えてもよい(かつ/または、1つまたは複数の記憶装置325と通信してもよい)。1つまたは複数の記憶装置325は、限定ではなく、局所アクセス可能記憶部および/もしくはネットワーク・アクセス記憶部を備えてもよく、かつ/または、限定ではなく、ディスク・ドライブ、ドライブ・アレイ、光記憶装置、RAM(random access memory)および/もしくはROM(read−only memory)のような固体記憶装置を含んでもよい。RAM、ROMは、プログラム可能、フラッシュ更新可能等であってもよい。かかる記憶装置を、任意の適切なデータ記憶部を実装するように構成してもよい。当該記憶部には、限定ではなく、様々なファイル・システム、データベース構造等が含まれる。
【0052】
コンピュータ・システム300が、通信サブシステム300を備えてもよい。通信サブシステム300は、限定ではなく、モデム、ネットワーク・カード(無線または有線)、赤外線通信装置、(Bluetooth(登録商標)、802.11装置、WiFi装置、WiMax装置、セルラ通信施設等のような)無線通信装置および/またはチップセット等を含んでもよい。通信サブシステム330により、(1例を挙げれば、後述するネットワークのような)ネットワーク、他のコンピュータ・システム、および/または本明細書に記載の他の任意の装置とデータを交換することができる。多数の実施形態では、コンピュータ・システム300はさらに作業用メモリ335を備える。作業用メモリ335は、上述のRAM装置またはROM装置を含んでもよい。
【0053】
コンピュータ・システム300はまた、作業用メモリ335内部に現在配置されているとして示されているソフトウェア要素を含んでもよい。当該ソフトウェア要素には、オペレーティング・システム340、装置ドライバ、実行可能ライブラリ、および/または1つもしくは複数のアプリケーション・プログラム345のような他のコードが含まれる。当該ソフトウェア要素が、本明細書で説明した、様々な実施形態で提供するコンピュータ・プログラムを備えてもよく、かつ/または、他の実施形態で提供する方法を実装しかつ/もしくはシステムを構成するように設計されてもよい。単なる例として、上述の方法(複数可)に関して説明した1つまたは複数の手続きを、コンピュータ(および/またはコンピュータ内のプロセッサ)により実行可能なコードおよび/または命令として実装してもよい。1態様では、かかるコードおよび/または命令を使用して、汎用目的のコンピュータ(または他の装置)を、説明した方法に従って1つまたは複数の動作を実施するように構成および/または適合させてもよい。
【0054】
1組のこれらの命令および/またはコードを、上述の記憶装置(複数可)325のようなコンピュータ読取可能記憶媒体に格納してもよい。幾つかのケースでは、当該記憶媒体を、システム300のようなコンピュータ・システム内部に組み込んでもよい。他の実施形態では、当該記憶媒体に格納した命令/コードで汎用目的のコンピュータをプログラムし、構成し、かつ/または適合させるために当該記憶媒体を使用できるように、当該記憶媒体がコンピュータ・システムから独立であってもよく(例えば、コンパクト・ディスクのような取外し可能媒体)、かつ/または、当該記憶媒体をインストール・パッケージで提供しもよい。これらの命令が、コンピュータ・システム300により実行可能である実行可能コードの形をとってもよく、かつ/または、ソース・コードおよび/もしくはインストール可能コードの形をとってもよい。これらは、コンピュータ・システム300上で(例えば、様々な一般に入手可能なコンパイラ、インストール・プログラム、圧縮/解凍ユーティリティ等の何れかを用いて)コンパイルおよび/またはインストールされたとき、実行可能コードの形をとる。
【0055】
特定の要件に従って実質的な変形を行ってもよいことは当業者には理解される。例えば、カスタマイズしたハードウェアを使用してもよく、かつ/または、特定の要素をハードウェア、ソフトウェア(アプレット等のポータブル・ソフトウェアを含む)、またはその両方で実装してもよい。さらに、ネットワーク入出力装置のような他のコンピューティング装置への接続を使用してもよい。
【0056】
上述のように、1態様では、幾つかの実施形態において本発明の様々な実施形態に従う方法を実施する(コンピュータ・システム300のような)コンピュータ・システムを使用してもよい。1組の実施形態によれば、作業用メモリ335に含まれる(オペレーティング・システム340、および/または、アプリケーション・プログラム345のような他のコードに組み込んでもよい)1つまたは複数の命令から成る1つまたは複数の列をプロセッサ310が実行したことに応答して、かかる方法の手続きの一部または全部をコンピュータ・システム300により実施する。かかる命令を、1つまたは複数の記憶装置(複数可)325のような別のコンピュータ読取可能媒体から作業用メモリ335に読み込んでもよい。単なる例として、作業用メモリ335に含まれる命令の列の実行により、プロセッサ(複数可)310に、本明細書に記載の方法の1つまたは複数の手続きを実施させてもよい。
【0057】
本明細書で使用する「機械読取可能媒体」および「コンピュータ読取可能媒体」という用語は、機械を特定の様式で動作させるデータの提供に参加する任意の媒体をさす。コンピュータ読取可能媒体および記憶媒体は、一時的な伝播信号をさすものではない。コンピュータ・システム300を用いて実装した1実施形態では、様々なコンピュータ読取可能媒体が、実行用の命令/コードをプロセッサ(複数可)310に提供することに関与してもよく、かつ/または、当該コンピュータ読取可能媒体を使用してかかる命令/コードを格納してもよい。多数の実装形態では、コンピュータ読取可能媒体は物理的および/または有形的な記憶媒体である。かかる媒体が不揮発性媒体または揮発性媒体の形をとってもよい。不揮発性媒体には、例えば、記憶装置(複数可)325のような光ディスクおよび/または磁気ディスクが含まれる。揮発性媒体には、限定ではなく、作業用メモリ335のような動的メモリが含まれる。
【0058】
物理的および/または有形的なコンピュータ読取可能媒体の共通的な形態には、例えば、フロッピ・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープ、または、他の任意の磁気媒体、CD−ROM、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、FLASH−EPROM、他の任意のメモリチップまたはカートリッジ等が含まれる。
【0059】
上述の方法、システム、および装置は例である。様々な構成では、必要に応じて様々な手続きまたは構成要素を省略し、置換し、または追加してもよい。例えば、代替的な構成では、当該方法を、説明したのとは異なる順序で実施してもよく、かつ/または、様々な段階を追加し、省略し、かつ/または組み合せてもよい。また、特定の構成に関して説明した機能を様々な他の構成と組み合わせてもよい。当該構成の様々な態様と要素を同様に組み合わせてもよい。また、技術は発展するので、当該要素の多くは例であって本開示または諸請求項の範囲を限定するものではない。
【0060】
本明細書では具体的な詳細を与えて、(実装形態を含む)例示的な構成の徹底的な理解を与えた。しかし、これらの具体的な詳細なしに構成を実施することができる。例えば、公知な回路、プロセス、アルゴリズム、構造、および技術は、当該構成を不明瞭にするのを避けるために、不必要に詳細には説明しなかった。本明細書は、例示的な構成のみを提供するものであり、諸請求項の範囲、適用可能性、または構成を限定するものではない。寧ろ、当該構成の以上の説明は、説明した技術を実装するための実施可能な説明を当業者に提供するものである。本開示の趣旨または範囲から逸脱しない様々な変更を、諸要素の機能と配置構成において行ってもよい。
【0061】
また、諸構成を、流れ図またはブロック図として示したプロセスとして説明してもよい。各々は動作を逐次的なプロセスとして説明するものであるが、当該動作の多くを並列または並行に実施してもよい。さらに、動作の順序を再構成してもよい。プロセスが、図面に含まれない追加のステップを有してもよい。さらに、方法の諸例をハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せで実装してもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装する場合には、必要なタスクを実施するためのプログラム・コードまたはコード・セグメントを、記憶媒体のような非一時的なコンピュータ読取可能媒体に格納してもよい。プロセッサが、説明したタスクを実施してもよい。
【0062】
幾つかの例示的な構成を説明したが、本開示の趣旨を逸脱しない様々な修正、代替構成、および均等物を使用してもよい。例えば、以上の要素が、大規模システムの構成要素であってもよい。この場合、他の規則が優先してもよく、または、当該他の規則が本発明の適用を修正してもよい。また、幾つかのステップを、上記の要素を考慮する前、最中、または後に行ってもよい。したがって、上記の説明は請求項の範囲に束縛されない。
【符号の説明】
【0063】
130a ネットワーク(複数可)
142a プロセッサ
144a 記憶装置
146a ソーシャル・グラフ・データ
148a 会話モデル・データ