(57)【特許請求の範囲】
【請求項１】
モバイルデバイスに関連するコンテキストモデルを管理するための方法であって、
前記方法が、前記モバイルデバイスによって実施され、
1つまたは複数の第1のデータソースに割り振られた第1のデータストリームに関連する第1のデータ点を取得するステップであって、前記1つまたは複数の第1のデータソースが前記モバイルデバイスの1つまたは複数のセンサを含む、ステップと、
前記第1のデータストリームの中の1組のクラスタを特定するステップと、
閾値の量の類似性を呈し、互いの閾値の量の時間内の時間と関連付けられる前記第1のデータ点のうちのデータ点に前記特定された1組のクラスタのうちのそれぞれのクラスタが割り振られるように、前記特定された1組のクラスタのうちのそれぞれのクラスタに前記第1のデータ点のうちのデータ点を割り振るステップと、
前記それぞれのクラスタにおける前記第1のデータ点のうちの前記データ点から前記それぞれのクラスタに存在する特徴および推定を計算するステップと、
前記それぞれのクラスタにおける前記第1のデータ点のうちの前記データ点から計算された、前記それぞれのクラスタに存在する前記特徴および推定に関連付けられる統計をまとめるステップと、
前記それぞれのクラスタにおける前記第1のデータ点のうちの前記データ点から計算された、前記それぞれのクラスタに存在する前記特徴および推定に関連付けられる前記統計に基づいて、前記それぞれのクラスタにコンテキストラベルおよび信頼性のレベルを割り振るステップであって、前記コンテキストラベルを割り振るステップが、前記特定された1組のクラスタのうちの前記それぞれのクラスタのために、1組のコンテキストラベルから前記1つのコンテキストラベルを選択するステップを含む、ステップと、
前記特定された1組のクラスタに関連付けられる任意のコンテキストラベルと閾値の度合い未満の関連を有する少なくとも1つのクラスタを、前記特定された1組のクラスタのうちから特定するステップと、
前記少なくとも1つのクラスタに未知のコンテキストラベルを割り振るステップとを含む、方法。
【請求項２】
前記1つまたは複数の第1のデータソースが、音声センサ、位置センサ、ネットワークセンサ、動きセンサ、カメラ、またはカレンダのうちの少なくとも1つを含む請求項1に記載の方法。
【請求項３】
前記特徴が、衛星位置決定、時間の測定値、気象データ、光センサの読み取り値、近接センサの読み取り値、カメラデータ、近くの注目点、Bluetooth(登録商標)の測定値、Wi-Fiの測定値、周囲の音声レベル、または移動の検出のうちの少なくとも1つを含む請求項1に記載の方法。
【請求項４】
前記推定が、動きの状態、デバイスの位置、発話の検出、話者の認識、目標音声の検出、または位置の検出のうちの少なくとも1つを含む請求項1に記載の方法。
【請求項５】
前記特定された1組のクラスタのうちの前記それぞれのクラスタに割り振られた前記コンテキストラベルを用いて、かつ前記特定された1組のクラスタを用いて、前記コンテキストモデルを生成するステップをさらに含む請求項1に記載の方法。
【請求項６】
1つまたは複数の第2のデータソースに割り振られた第2のデータストリームに関連する第2のデータ点を取得するステップと、
前記第2のデータ点に対応する前記コンテキストモデルのクラスタを決定するステップと、
決定されたクラスタに関連する出力コンテキストラベルを選択するステップとをさらに含む請求項5に記載の方法。
【請求項７】
前記少なくとも1つのクラスタのための新しいコンテキストラベルを生成するステップをさらに含む請求項1に記載の方法。
【請求項８】
取得する前記ステップが、前記モバイルデバイスのユーザを特定するステップを含み、
前記第1のデータ点が、前記モバイルデバイスの前記ユーザに対応するデータを含み、
前記方法が、前記特定された1組のクラスタのうちの前記それぞれのクラスタに割り振られた前記コンテキストラベルに基づいて、かつ前記特定された1組のクラスタに基づいて前記モバイルデバイスの前記ユーザに関するユーザコンテキストモデルを生成するステップをさらに含む請求項1に記載の方法。
【請求項９】
前記第1のデータ点が、前記モバイルデバイスの第1のユーザおよび前記モバイルデバイスまたは1つもしくは複数のその他のデバイスの少なくとも1人の第2のユーザに対応するデータを含み、
前記方法が、前記特定された1組のクラスタのうちの前記それぞれのクラスタに割り振られた前記コンテキストラベルに基づいて、かつ前記特定された1組のクラスタに基づいて前記第1のユーザおよび前記少なくとも1人の第2のユーザに関するマルチユーザコンテキストモデルを生成するステップをさらに含む請求項1に記載の方法。
【請求項１０】
コンテキストモデルに基づいてコンテキストの推定を実行するための、プロセッサによって実施される方法であって、
前記プロセッサに通信可能に結合されたメモリから前記コンテキストモデルを読み出すステップであって、前記コンテキストモデルが、1組のクラスタのうちのそれぞれのクラスタに時間的にグループ化されたセンサデータ点、および前記1組のクラスタの前記それぞれのクラスタに割り振られたコンテキストラベルを含む、ステップと、
1つまたは複数の第1のデータソースに割り振られた第1のデータストリームに関連する第1のデータ点を取得するステップであって、前記第1のデータソースがモバイルデバイスの1つまたは複数のセンサを含む、ステップと、
前記少なくとも1つのクラスタにおける前記センサデータ点から計算された、前記少なくとも1つのクラスタに存在する特徴および推定に関連付けられた統計に少なくとも部分的に基づいて、前記第1のデータ点を表す前記コンテキストモデルの少なくとも1つのクラスタを決定するステップとであって、前記少なくとも1つのクラスタを前記決定するステップが、前記第1のデータ点に対応する前記少なくとも1つの決定されたクラスタに信頼性のレベルを割り振るステップを含む、ステップと、
前記信頼性のレベルに基づいて少なくとも1つの決定されたクラスタに関連する出力コンテキストラベルを選択するステップであって、前記出力コンテキストラベルを選択するステップが、前記1組のクラスタのために1組のコンテキストラベルから前記出力コンテキストラベルを選択するステップを含む、ステップと、
前記1組のクラスタに関連付けられる任意のコンテキストラベルと閾値の度合い未満の関連を有する少なくとも1つのクラスタを、前記1組のクラスタのうちから特定するステップと、
前記少なくとも1つのクラスタに未知のコンテキストラベルを割り振るステップとを含む、方法。
【請求項１１】
選択する前記ステップが、最も高い信頼性のレベルを有する前記コンテキストモデルのクラスタに対応する前記出力コンテキストラベルを選択するステップを含む請求項10に記載の方法。
【請求項１２】
選択する前記ステップが、前記1組のクラスタのうちのそれぞれのクラスタおよび前記1組のクラスタのそれぞれの信頼性のレベルのベクトルを生成するステップを含む請求項10に記載の方法。
【請求項１３】
前記信頼性のレベルが信頼性のレベルの閾値未満であるときに少なくとも1つのセンサから追加のデータを収集するステップをさらに含む請求項10に記載の方法。
【請求項１４】
選択する前記ステップが、
前記1つまたは複数の第1のデータソースからの追加のデータの収集を指示するステップと、
指示する前記ステップに応じて前記1つまたは複数の第1のデータソースから収集された前記追加のデータに基づいて前記出力コンテキストラベルを選択するステップとを含む請求項10に記載の方法。
【請求項１５】
1つまたは複数の第2のデータソースに割り振られた第2のデータストリームに関連する第2のデータ点を取得するステップをさらに含み、決定する前記ステップが、前記第1のデータ点および前記第2のデータ点に対応する前記コンテキストモデルのクラスタを決定するステップを含む請求項10に記載の方法。
【請求項１６】
選択する前記ステップが、
前記第1のデータ点を表す第1のクラスタに関連する第1の出力コンテキストラベルを選択するステップと、
前記第2のデータ点を表す第2のクラスタに関連する第2の出力コンテキストラベルを選択するステップと、
前記第1の出力コンテキストラベルと前記第2の出力コンテキストラベルとを組み合わせることによって前記出力コンテキストラベルを決定するステップとを含む請求項15に記載の方法。
【請求項１７】
前記選択された出力コンテキストラベルに基づいて第1のコンテキストの推定を実行するステップと、
前記第2のデータソースから導出された特徴および推定に基づいて第2のコンテキストの推定を実行するステップと、
前記第1のコンテキストの推定と前記第2のコンテキストの推定とを組み合わせて組み合わされたコンテキストの推定を取得するステップとをさらに含む請求項15に記載の方法。
【請求項１８】
コンテキストモデルを管理することを容易にするモバイルデバイスであって、
メモリと、
前記メモリに通信可能なように結合されたプロセッサと、
前記メモリおよび前記プロセッサに通信可能なように結合され、第1のデータストリームに関連する第1のデータ点を提供するように構成された1つまたは複数の第1のデータソースであって、前記1つまたは複数の第1のデータソースが、前記モバイルデバイスの1つまたは複数のセンサを含む、1つまたは複数の第1のデータソースと、
前記1つまたは複数の第1のデータソースに通信可能なように結合されたクラスタ化モジュールであって、前記第1のデータストリームの中の1組のクラスタを特定し、閾値の量の類似性を呈し、互いの閾値の量の時間内の時間と関連付けられる前記第1のデータ点のうちのデータ点に前記特定された1組のクラスタのうちのそれぞれのクラスタが割り振られるように、前記特定された1組のクラスタのうちのそれぞれのクラスタに前記第1のデータ点のうちのデータ点を割り振るように構成された、クラスタ化モジュールと、
前記1つまたは複数の第1のデータソースおよび前記クラスタ化モジュールに通信可能なように結合された統計モジュールであって、
前記それぞれのクラスタにおける前記1つまたは複数の第1のデータ点のうちの前記データ点から前記それぞれのクラスタに存在する特徴および推定を計算し、
前記それぞれのクラスタにおける前記第1のデータ点のうちの前記データ点から計算された、前記それぞれのクラスタに存在する前記特徴および推定に関連付けられる統計をまとめるように構成される、統計モジュールと、
前記クラスタ化モジュールおよび前記統計モジュールに通信可能なように結合されたコンテキストモデリングモジュールであって、前記それぞれのクラスタにおける前記第1のデータ点のうちの前記データ点から計算された、前記それぞれのクラスタに存在する前記特徴および推定に関連付けられる前記統計に基づいて、前記それぞれのクラスタにコンテキストラベルおよび信頼性のレベルを割り振るように構成された、コンテキストモデリングモジュールであって、前記コンテキストモデリングモジュールが、前記特定された1組のクラスタのうちの前記それぞれのクラスタのために、1組のコンテキストラベルから前記1つのコンテキストラベルを選択することによって前記コンテキストラベルを割り振るように構成され、前記コンテキストモデリングモジュールがさらに、前記特定された1組のクラスタに関連付けられる任意のコンテキストラベルと閾値の度合い未満の関連を有する少なくとも1つのクラスタを、前記特定された1組のクラスタのうちから特定し、前記少なくとも1つのクラスタに未知のコンテキストラベルを割り振るように構成される、コンテキストモデリングモジュールとを含む、モバイルデバイス。
【請求項１９】
前記1つまたは複数の第1のデータソースが、音声センサ、位置センサ、ネットワークセンサ、動きセンサ、カメラ、またはカレンダのうちの少なくとも1つを含む請求項18に記載のモバイルデバイス。
【請求項２０】
前記統計モジュールが、動きの状態、デバイスの位置、発話の検出、話者の認識、目標音声の検出、または位置の検出のうちの少なくとも1つを含む前記推定を決定するようにさらに構成される請求項18に記載のモバイルデバイス。
【請求項２１】
前記コンテキストモデリングモジュールが、前記特定された1組のクラスタと前記特定された1組のクラスタのうちの前記それぞれのクラスタに割り振られた前記コンテキストラベルとを用いて前記コンテキストモデルを生成するようにさらに構成される請求項18に記載のモバイルデバイス。
【請求項２２】
前記モバイルデバイスが、前記クラスタ化モジュールに通信可能なように結合された1つまたは複数の第2のデータソースであって、第2のデータストリームに関連する第2のデータ点を提供するように構成された、1つまたは複数の第2のデータソースをさらに含み、
前記クラスタ化モジュールが、前記第2のデータ点に対応する前記コンテキストモデルのクラスタを決定するようにさらに構成され、
前記モバイルデバイスが、前記コンテキストモデリングモジュールおよび前記クラスタ化モジュールに通信可能なように結合されたコンテキスト推定モジュールであって、決定されたクラスタに関連する出力コンテキストラベルを選択するように構成された、コンテキスト推定モジュールをさらに含む請求項21に記載のモバイルデバイス。
【請求項２３】
前記コンテキストモデリングモジュールが、前記少なくとも1つのクラスタのための新しいコンテキストラベルを生成するようにさらに構成される請求項18に記載のモバイルデバイス。
【請求項２４】
コンテキストモデルに基づいてコンテキストの推定を実行するための装置であって、
メモリと、
前記メモリに通信可能なように結合されたプロセッサと、
前記メモリに通信可能なように結合され、前記メモリからコンテキストモデルを読み出すように構成されたコンテキストモデリングモジュールであって、前記コンテキストモデルが、1組のクラスタのうちのそれぞれのクラスタに時間的にグループ化されたセンサデータ点、および前記1組のクラスタの前記それぞれのクラスタに割り振られたコンテキストラベルを含む、コンテキストモデリングモジュールと、
前記プロセッサに通信可能なように結合され、第1のデータストリームに関連する第1のデータ点を提供するように構成された1つまたは複数の第1のデータソースであって、前記1つまたは複数の第1のデータソースが、モバイルデバイスの1つまたは複数のセンサを含む、1つまたは複数の第1のデータソースと、
前記コンテキストモデリングモジュールおよび前記1つまたは複数の第1のデータソースに通信可能なように結合されたコンテキスト推定モジュールであって、少なくとも１つのクラスタにおける前記センサデータ点から計算された、前記少なくとも1つのクラスタに存在する特徴および推定に関連付けられる統計に少なくとも部分的に基づいて前記第1のデータ点を表す前記コンテキストモデルの少なくとも1つのクラスタを決定するように構成され、前記コンテキスト推定モジュールが前記第1のデータ点に対応する少なくとも1つの決定されたクラスタに信頼性のレベルを割り振るようにさらに構成され、前記信頼性のレベルに基づいて少なくとも1つの決定されたクラスタに関連する出力コンテキストラベルを選択するように構成され、前記コンテキスト推定モジュールが、前記1組のクラスタのための1組のコンテキストラベルから前記出力コンテキストラベルを選択することによって、前記出力コンテキストラベルを選択し、前記1組のクラスタに関連付けられる任意のコンテキストラベルと閾値の度合い未満の関連を有する少なくとも1つのクラスタを、前記1組のクラスタのうちから特定し、前記少なくとも1つのクラスタに未知のコンテキストラベルを割り振るように構成された、コンテキスト推定モジュールとを含む、装置。
【請求項２５】
前記コンテキスト推定モジュールが、最も高い信頼性のレベルを有する前記コンテキストモデルのクラスタに対応する出力コンテキストラベルを選択するようにさらに構成される請求項24に記載の装置。
【請求項２６】
前記コンテキスト推定モジュールに通信可能なように結合された1つまたは複数の第2のデータソースであって、第2のデータストリームに関連する第2のデータ点を提供するように構成された、1つまたは複数の第2のデータソースをさらに含み、前記コンテキスト推定モジュールが、前記第1のデータ点および前記第2のデータ点に対応する前記コンテキストモデルのクラスタを決定するようにさらに構成される請求項24に記載の装置。
【請求項２７】
前記コンテキスト推定モジュールが、前記第1のデータ点を表す第1のクラスタに関連する第1の出力コンテキストラベルを選択し、前記第2のデータ点を表す第2のクラスタに関連する第2の出力コンテキストラベルを選択し、前記第1の出力コンテキストラベルと前記第2の出力コンテキストラベルとを組み合わせることによって前記出力コンテキストラベルを決定するようにさらに構成される請求項26に記載の装置。
【請求項２８】
前記コンテキスト推定モジュールが、前記選択された出力コンテキストラベルに基づいて第1のコンテキストの推定を実行し、前記第2のデータソースから導出された特徴および推定に基づいて第2のコンテキストの推定を実行し、前記第1のコンテキストの推定と前記第2のコンテキストの推定とを組み合わせて組み合わされたコンテキストの推定を取得するようにさらに構成される請求項26に記載の装置。
【請求項２９】
前記1つまたは複数の第1のデータソースが、音声センサ、位置センサ、ネットワークセンサ、動きセンサ、カメラ、またはカレンダのうちの少なくとも1つを含む請求項24に記載の装置。
【請求項３０】
モバイルデバイスに関連するコンテキストモデルを管理するためのモバイルデバイスであって、
1つまたは複数の第1のデータソースに割り振られた第1のデータストリームに関連する第1のデータ点を取得するための手段であって、前記1つまたは複数の第1のデータソースが、前記モバイルデバイスの1つまたは複数のセンサを含む、手段と、
前記第1のデータストリームの中の1組のクラスタを特定するための手段と、
閾値の量の類似性を呈し、互いの閾値の量の時間内の時間と関連付けられる前記第1のデータ点のうちのデータ点に前記特定された1組のクラスタのうちのそれぞれのクラスタがそれぞれ割り振られるように、前記特定された1組のクラスタのうちのそれぞれのクラスタに前記第1のデータ点のうちのデータ点を割り振るための手段と、
前記それぞれのクラスタにおける前記第1のデータ点のうちのデータ点から前記それぞれのクラスタに存在する特徴および推定を計算するための手段と、
前記それぞれのクラスタにおける前記第1のデータ点のうちの前記データ点から計算された、前記それぞれのクラスタに存在する前記特徴および推定に関連付けられる統計をまとめるための手段と、
前記それぞれのクラスタにおける前記第1のデータ点のうちの前記データ点から計算された、前記それぞれのクラスタに存在する前記特徴および推定に関連付けられる前記統計に基づいて、前記それぞれのクラスタにコンテキストラベルおよび信頼性のレベルを割り振るための手段であって、前記コンテキストラベルを割り振るための手段が、前記特定された1組のクラスタのうちの前記それぞれのクラスタのために、1組のコンテキストラベルから前記1つのコンテキストラベルを選択することによって、前記コンテキストラベルを割り振る、手段と、
前記特定された1組のクラスタに関連付けられる任意のコンテキストラベルと閾値の度合い未満の関連を有する少なくとも1つのクラスタを、前記特定された1組のクラスタのうちから特定するための手段と、
前記少なくとも1つのクラスタに未知のコンテキストラベルを割り振るための手段とを含む、モバイルデバイス。
【請求項３１】
前記特定された1組のクラスタのうちの前記それぞれのクラスタに割り振られた前記コンテキストラベルを用いて、かつ前記特定された1組のクラスタを用いて、前記コンテキストモデルを生成するための手段をさらに含む請求項30に記載のモバイルデバイス。
【請求項３２】
前記モバイルデバイスが、1つまたは複数の第2のデータソースに割り振られた第2のデータストリームに関連する第2のデータ点を取得するための手段をさらに含み、
割り振るための前記手段が、前記第2のデータ点に対応する前記コンテキストモデルのクラスタを決定するための手段を含み、
前記モバイルデバイスが前記決定されたクラスタに関連付けられる出力コンテキストラベルを選択するための手段をさらに含む
請求項31に記載のモバイルデバイス。
【請求項３３】
前記少なくとも1つのクラスタのための新しいコンテキストラベルを生成するための手段または前記少なくとも1つのクラスタに未知のコンテキストラベルを割り振るための手段をさらに含む請求項30に記載のモバイルデバイス。
【請求項３４】
コンテキストモデルに基づいてコンテキストの推定を実行するように構成された装置であって、
メモリから前記コンテキストモデルを読み出すための手段であって、前記コンテキストモデルが、1組のクラスタのうちのそれぞれのクラスタに時間的にグループ化されたセンサデータ点、および前記1組のクラスタの前記それぞれのクラスタに割り振られたコンテキストラベルを含む、手段と、
第1のデータストリームに関連する1つまたは複数の第1のデータソースから第1のデータ点を取得するための手段であって、前記1つまたは複数の第1のデータソースがモバイルデバイスの1つまたは複数のセンサを含む、手段と、
前記少なくとも1つのクラスタにおける前記センサデータ点から計算された、前記少なくとも1つのクラスタに存在する特徴および推定に関連付けられた統計に少なくとも部分的に基づいて、前記第1のデータ点を表す前記コンテキストモデルの少なくとも1つのクラスタを決定するための手段であって、前記少なくとも1つのクラスタを前記決定するための手段が、前記第1のデータ点に対応する前記少なくとも1つの決定されたクラスタに信頼性のレベルを割り振るための手段を含む、手段と、
前記信頼性のレベルに基づいて少なくとも1つの決定されたクラスタに関連する出力コンテキストラベルを選択するための手段であって、前記出力コンテキストラベルを選択するための手段が、前記1組のクラスタのために1組のコンテキストラベルから前記出力コンテキストラベルを選択することによって前記出力コンテキストラベルを選択する、手段と、
前記1組のクラスタに関連付けられる任意のコンテキストラベルと閾値の度合い未満の関連を有する少なくとも1つのクラスタを、前記1組のクラスタのうちから特定するための手段と、
前記少なくとも1つのクラスタに未知のコンテキストラベルを割り振るための手段と
を含む、装置。
【請求項３５】
第2のデータストリームに関連する1つまたは複数の第2のデータソースから第2のデータ点を取得するための手段をさらに含み、決定するための前記手段が、前記第1のデータ点および前記第2のデータ点に対応する前記コンテキストモデルのクラスタを決定するための手段を含む請求項34に記載の装置。
【請求項３６】
選択するための前記手段が、
前記第1のデータ点を表す第1のクラスタに関連する第1の出力コンテキストラベルを選択するための手段と、
前記第2のデータ点を表す第2のクラスタに関連する第2の出力コンテキストラベルを選択するための手段と、
前記第1の出力コンテキストラベルと前記第2の出力コンテキストラベルとを組み合わせることによって前記出力コンテキストラベルを選択するための手段とを含む請求項35に記載の装置。
【請求項３７】
前記出力コンテキストラベルに基づいて第1のコンテキストの推定を実行するための手段と、
前記第2のデータソースから導出された特徴および推定に基づいて第2のコンテキストの推定を実行するための手段と、
前記第1のコンテキストの推定と前記第2のコンテキストの推定とを組み合わせて組み合わされたコンテキストの推定を取得するための手段とをさらに含む請求項35に記載の装置。
【請求項３８】
前記1つまたは複数の第1のデータソースが、音声センサ、位置センサ、ネットワークセンサ、動きセンサ、カメラ、またはカレンダのうちの少なくとも1つを含む請求項34に記載の装置。
【請求項３９】
プロセッサに
1つまたは複数の第1のデータソースに割り振られた第1のデータストリームに関連する第1のデータ点を取得させるように構成された命令であって、前記1つまたは複数の第1のデータソースがモバイルデバイスの1つまたは複数のセンサを含む、命令と、
前記第1のデータストリームの中の1組のクラスタを特定させるように構成された命令と、
閾値の量の類似性を呈し、互いの閾値の量の時間内の時間と関連付けられる前記第1のデータ点のうちのデータ点に前記特定された1組のクラスタのうちのそれぞれのクラスタがそれぞれ割り振られるように、前記特定された1組のクラスタのうちのそれぞれのクラスタに前記第1のデータ点のうちのデータ点を割り振らせるように構成された命令と、
前記それぞれのクラスタにおける前記第1のデータ点のうちの前記データ点から計算された、前記それぞれのクラスタに存在する特徴および推定に関連付けられる統計をまとめさせるように構成された命令と、
前記それぞれのクラスタにおける前記第1のデータ点のうちの前記データ点から計算された、前記それぞれのクラスタに存在する前記特徴および推定に関連付けられる統計に基づいて、前記それぞれのクラスタにコンテキストラベルおよび信頼性のレベルを割り振らせるように構成された命令であって、前記プロセッサに前記割り振らせるように構成された命令が、前記特定された1組のクラスタのうちの前記それぞれのクラスタのために、1組のコンテキストラベルから前記1つのコンテキストラベルを選択させるように構成された命令を含む、命令と、
前記特定された1組のクラスタに関連付けられる任意のコンテキストラベルと閾値の度合い未満の関連を有する少なくとも1つのクラスタを、前記特定された1組のクラスタのうちから特定させるように構成された命令と、
前記少なくとも1つのクラスタに未知のコンテキストラベルを割り振らせるように構成された命令とを含むコンピュータ可読ストレージ媒体。
【請求項４０】
前記プロセッサに、前記特定された1組のクラスタのうちの前記それぞれのクラスタに割り振られた前記コンテキストラベルを用いて、かつ前記特定された1組のクラスタを用いて、コンテキストモデルを生成させるための命令をさらに含む請求項39に記載のコンピュータ可読ストレージ媒体。
【請求項４１】
前記プロセッサに
1つまたは複数の第2のデータソースに割り振られた第2のデータストリームに関連する第2のデータ点を取得させ、
前記第2のデータ点に対応する前記コンテキストモデルのクラスタを決定させ、
決定されたクラスタに関連する出力コンテキストラベルを選択させるように構成された命令をさらに含む請求項40に記載のコンピュータ可読ストレージ媒体。
【請求項４２】
プロセッサに
1組のクラスタのうちのそれぞれのクラスタに時間的にグループ化されたセンサデータ点、および前記1組のクラスタの前記それぞれのクラスタに割り振られたコンテキストラベルを含むコンテキストモデルを読み出させるように構成された命令と、
第1のデータストリームに関連する1つまたは複数の第1のデータソースから第1のデータ点を取得させるように構成される命令であって、前記1つまたは複数の第1のデータソースがモバイルデバイスの1つまたは複数のセンサを含む、命令と、
前記少なくとも1つのクラスタにおける前記センサデータ点から計算された、前記少なくとも1つのクラスタに存在する特徴および推定に関連付けられた統計に少なくとも部分的に基づいて、前記第1のデータ点を表す前記コンテキストモデルの少なくとも1つのクラスタを決定させるように構成された命令であって、前記少なくとも1つのクラスタを前記決定させるように構成された命令が、前記第1のデータ点に対応する前記少なくとも1つの決定されたクラスタに信頼性のレベルを割り振らせるように構成された命令を含む、命令と、
前記信頼性のレベルに基づいて、少なくとも1つの決定されたクラスタに関連する出力コンテキストラベルを選択させるように構成された命令であって、前記選択させるように構成された命令が、前記1組のクラスタのために1組のコンテキストラベルから前記出力コンテキストラベルを選択することを含む前記選択させるように構成された命令を含む、命令と、
前記1組のクラスタに関連付けられる任意のコンテキストラベルと閾値の度合い未満の関連を有する少なくとも1つのクラスタを、前記1組のクラスタのうちから特定させるように構成された命令と、
前記少なくとも1つのクラスタに未知のコンテキストラベルを割り振るように構成された命令とを含むコンピュータ可読ストレージ媒体。
【請求項４３】
前記プロセッサに
第2のデータストリームに関連する1つまたは複数の第2のデータソースから第2のデータ点を取得させ、
前記第1のデータ点および前記第2のデータ点に対応する前記コンテキストモデルのクラスタを決定させるように構成された命令をさらに含む請求項42に記載のコンピュータ可読ストレージ媒体。
【請求項４４】
前記プロセッサに
前記第1のデータ点を表す第1のクラスタに関連する第1の出力コンテキストラベルを選択させ、
前記第2のデータ点を表す第2のクラスタに関連する第2の出力コンテキストラベルを選択させ、
前記第1の出力コンテキストラベルと前記第2の出力コンテキストラベルとを組み合わせることによって前記出力コンテキストラベルを選択させるように構成された命令をさらに含む請求項43に記載のコンピュータ可読ストレージ媒体。
【請求項４５】
前記プロセッサに
前記出力コンテキストラベルに基づいて第1のコンテキストの推定を実行させ、
前記第2のデータソースから導出された特徴および推定に基づいて第2のコンテキストの推定を実行させ、
前記第1のコンテキストの推定と前記第2のコンテキストの推定とを組み合わせて組み合わされたコンテキストの推定を取得させるように構成された命令をさらに含む請求項43に記載のコンピュータ可読ストレージ媒体。
【請求項４６】
前記それぞれのクラスタに存在する前記特徴および推定に関連付けられる前記統計をまとめるステップが、前記それぞれのクラスタに存在する前記特徴および推定を平均するステップを含む、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データクラスタのためのコンテキストラベルに関する。
【背景技術】
【０００２】
ワイヤレス通信テクノロジーの進歩は、今日のワイヤレス通信デバイスの汎用性を大きく向上させた。これらの進歩は、ワイヤレス通信デバイスが単純なモバイル電話およびページャからマルチメディアの記録および再生、イベントのスケジューリング、文書処理、電子商取引などの多種多様な機能を果たすことができる洗練されたコンピューティングデバイスへと発展することを可能にした。結果として、今日のワイヤレス通信デバイスのユーザは、これまで複数のデバイスかまたはより大規模で持ち運びできない機器かのどちらかを必要としていた幅広いタスクを単一の持ち運び可能なデバイスから実行することができる。そのようなタスクは、デバイスの機能を実行し、カスタマイズする際に、デバイスの位置、デバイスのエリアで起こるイベントなどのデバイスおよびユーザコンテキスト情報を検出し、使用するデバイスの能力によって支援され得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
モバイルデバイスに関連するコンテキストモデルを管理するための方法の例は、1つまたは複数の第1のデータソースに割り振られた第1のデータストリームに関連する第1のデータ点を取得するステップと、閾値の量の類似性を呈し、互いの閾値の量の時間内の時間と関連付けられる第1のデータ点のうちのデータ点に各クラスタがそれぞれ割り振られるように、1組のクラスタのうちのそれぞれのクラスタに第1のデータ点のうちのデータ点を割り振るステップと、第1のデータストリーム、またはそれぞれのその他のデータソースに割り振られた1つもしくは複数のその他のデータストリームに対応する統計的な特徴および推定をまとめるステップと、統計的な特徴および推定に基づいて1組のクラスタのそれぞれにコンテキストラベルを割り振るステップとを含む。
【０００４】
方法の実装は、以下の特徴のうちの1つまたは複数を含み得る。第1のデータソースまたはその他のデータソースは、音声センサ、位置センサ、ネットワークセンサ、動きセンサ、カメラ、またはカレンダのうちの少なくとも1つを含む。統計的な特徴は、衛星位置決定(fix)、時間の測定値、気象データ、光センサの読み取り値、近接センサの読み取り値、カメラデータ、近くの注目点(points of interest)、Bluetooth(登録商標)の測定値、Wi-Fiの測定値、周囲の音声レベル、または移動の検出のうちの少なくとも1つを含む。統計的な推定は、動きの状態、デバイスの位置、発話の検出、話者の認識、目標音声の検出、または位置の検出のうちの少なくとも1つを含む。第1のデータソースは、複数のセンサを含む。方法は、コンテキストラベルおよび1組のクラスタを用いてコンテキストモデルを生成するステップをさらに含む。方法は、1つまたは複数の第2のデータソースに割り振られた第2のデータストリームに関連する第2のデータ点を取得するステップと、第2のデータ点に対応する1組のクラスタの中のクラスタを決定するステップと、決定されたクラスタに関連するコンテキストラベルを選択するステップとをさらに含む。
【０００５】
さらにまたは代替的に、方法の実装は、以下の特徴のうちの1つまたは複数を含み得る。コンテキストラベルを割り振るステップは、1組のクラスタのそれぞれのために1組のコンテキストラベルからコンテキストラベルを選択するステップを含む。方法は、1組のクラスタに関連する任意のコンテキストラベルと閾値の度合い未満の関連を有する1組のクラスタの中の少なくとも1つのクラスタを特定するステップと、少なくとも1つのクラスタのための新しいコンテキストラベルを生成するステップとをさらに含む。方法は、1組のクラスタに関連する任意のコンテキストラベルと閾値の度合い未満の関連を有する1組のクラスタの中の少なくとも1つのクラスタを特定するステップと、少なくとも1つのクラスタに未知のコンテキストラベルを割り振るステップとをさらに含む。取得するステップは、モバイルデバイスのユーザを特定するステップを含み、第1のデータ点は、モバイルデバイスのユーザに対応するデータを含み、方法は、コンテキストラベルおよび1組のクラスタに基づいてモバイルデバイスのユーザに関するユーザコンテキストモデルを生成するステップをさらに含む。第1のデータ点は、モバイルデバイスの第1のユーザおよびモバイルデバイスまたは1つもしくは複数のその他のデバイスの少なくとも1人の第2のユーザに対応するデータを含み、方法は、コンテキストラベルおよび1組のクラスタに基づいて第1のユーザおよび少なくとも1人の第2のユーザに関するマルチユーザコンテキストモデルを生成するステップをさらに含む。
【０００６】
コンテキストモデルに基づいてコンテキストの推定を実行するための方法の例は、コンテキストモデルを読み出すステップであって、コンテキストモデルが、1組のクラスタのうちのそれぞれのクラスタに時間的にグループ化されたセンサデータ点、および1組のクラスタのそれぞれに割り振られたコンテキストラベルを含む、ステップと、1つまたは複数の第1のデータソースに割り振られた第1のデータストリームに関連する第1のデータ点を取得するステップと、第1のデータ点を表すコンテキストモデルの少なくとも1つのクラスタを決定するステップと、少なくとも1つの決定されたクラスタに関連する出力コンテキストラベルを選択するステップとを含む。
【０００７】
方法の実装は、以下の特徴のうちの1つまたは複数を含み得る。決定するステップは、第1のデータ点に対応する1組のクラスタの中の複数のクラスタに信頼性のレベルを割り振るステップを含む。選択するステップは、最も高い信頼性のレベルを有するコンテキストモデルのクラスタに対応するコンテキストラベルを選択するステップを含む。選択するステップは、1組のクラスタのうちのそれぞれのクラスタおよびクラスタのそれぞれの信頼性のレベルのベクトルを生成するステップを含む。方法は、信頼性のレベルのうちの1つまたは複数が閾値未満であるときに少なくとも1つのセンサから追加のデータを収集するステップをさらに含む。選択するステップは、1つまたは複数の第1のデータソースからの追加のデータの収集を指示するステップと、指示するステップに応じて1つまたは複数の第1のデータソースから収集された追加のデータに基づいて出力コンテキストラベルを選択するステップとを含む。
【０００８】
さらにまたは代替的に、方法の実装は、以下の特徴のうちの1つまたは複数を含み得る。方法は、1つまたは複数の第2のデータソースに割り振られた第2のデータストリームに関連する第2のデータ点を取得するステップをさらに含み、決定するステップは、第1のデータ点および第2のデータ点に対応するコンテキストモデルのクラスタを決定するステップを含む。選択するステップは、第1のデータ点を表す第1のクラスタに関連する第1のコンテキストラベルを選択するステップと、第2のデータ点を表す第2のクラスタに関連する第2のコンテキストラベルを選択するステップと、第1のコンテキストラベルと第2のコンテキストラベルとを組み合わせることによって出力コンテキストラベルを決定するステップとを含む。方法は、選択された出力コンテキストラベルに基づいて第1のコンテキストの推定を実行するステップと、第2のデータソースから導出された瞬間的な特徴および推定に基づいて第2のコンテキストの推定を実行するステップと、第1のコンテキストの推定と第2のコンテキストの推定とを組み合わせて組み合わされたコンテキストの推定を取得するステップとをさらに含む。
【０００９】
関連するコンテキストモデルを管理することを容易にする装置の例は、第1のデータストリームに関連する第1のデータ点を提供するように構成された1つまたは複数の第1のデータソースと、第1のデータソースに通信可能なように結合されたクラスタ化モジュールであって、閾値の量の類似性を呈し、互いの閾値の量の時間内の時間と関連付けられる第1のデータ点のうちのデータ点に各クラスタがそれぞれ割り振られるように、1組のクラスタのうちのそれぞれのクラスタに第1のデータ点のうちのデータ点を割り振るように構成された、クラスタ化モジュールと、第1のデータソースおよびクラスタ化モジュールに通信可能なように結合された統計モジュールであって、第1のデータストリーム、またはそれぞれのその他のデータソースに割り振られた1つもしくは複数のその他のデータストリームに関する統計的な特徴および推定をまとめるように構成された、統計モジュールと、クラスタ化モジュールおよび統計モジュールに通信可能なように結合されたコンテキストモデリングモジュールであって、統計的な特徴および推定に基づいて1組のクラスタのうちの1つまたは複数にコンテキストラベルを割り振るように構成された、コンテキストモデリングモジュールとを含む。
【００１０】
装置の実装は、以下の特徴のうちの1つまたは複数を含み得る。第1のデータソースは、音声センサ、位置センサ、ネットワークセンサ、動きセンサ、カメラ、またはカレンダのうちの少なくとも1つを含む。統計モジュールは、動きの状態、デバイスの位置、発話の検出、話者の認識、目標音声の検出、または位置の検出のうちの少なくとも1つを含む統計的な推定を決定するようにさらに構成される。コンテキストモデリングモジュールは、コンテキストラベルおよび1組のクラスタを用いてコンテキストモデルを生成するようにさらに構成される。装置は、クラスタ化モジュールに通信可能なように結合された1つまたは複数の第2のデータソースであって、第2のデータストリームに関連する第2のデータ点を提供するように構成された、1つまたは複数の第2のデータソースをさらに含み、クラスタ化モジュールは、第2のデータ点に対応するコンテキストモデルのクラスタを決定するようにさらに構成され、装置は、コンテキストモデリングモジュールおよびクラスタ化モジュールに通信可能なように結合されたコンテキスト推定モジュールであって、決定されたクラスタに関連するコンテキストラベルを選択するように構成された、コンテキスト推定モジュールをさらに含む。
【００１１】
さらにまたは代替的に、装置の実装は、以下の特徴のうちの1つまたは複数を含み得る。コンテキストモデリングモジュールは、1組のクラスタに関連する任意のコンテキストラベルと閾値の度合い未満の関連を有する1組のクラスタの中の少なくとも1つのクラスタを特定し、少なくとも1つのクラスタのための新しいコンテキストラベルを生成するようにさらに構成される。コンテキストモデリングモジュールは、1組のクラスタに関連する任意のコンテキストラベルと閾値の度合い未満の関連を有する1組のクラスタの中の少なくとも1つのクラスタを特定し、少なくとも1つのクラスタに未知のコンテキストラベルを割り振るようにさらに構成される。
【００１２】
コンテキストモデルに基づいてコンテキストの推定を実行するための装置の例は、コンテキストモデルを提供するように構成されたコンテキストモデリングモジュールであって、コンテキストモデルが、1組のクラスタのうちのそれぞれのクラスタに時間的にグループ化されたセンサデータ点、および1組のクラスタのそれぞれに割り振られたコンテキストラベルを含む、コンテキストモデリングモジュールと、第1のデータストリームに関連する第1のデータ点を提供するように構成された1つまたは複数の第1のデータソースと、コンテキストモデリングモジュールおよび1つまたは複数の第1のデータソースに通信可能なように結合されたコンテキスト推定モジュールであって、第1のデータ点を表すコンテキストモデルの少なくとも1つのクラスタを決定し、少なくとも1つの決定されたクラスタに関連する出力コンテキストラベルを選択するように構成された、コンテキスト推定モジュールとを含む。
【００１３】
装置の実装は、以下の特徴のうちの1つまたは複数を含み得る。コンテキスト推定モジュールは、第1のデータ点に対応する1組のクラスタの中の複数のクラスタに信頼性のレベルを割り振るようにさらに構成される。コンテキスト推定モジュールは、最も高い信頼性のレベルを有するコンテキストモデルのクラスタに対応するコンテキストラベルを選択するようにさらに構成される。装置は、コンテキスト推定モジュールに通信可能なように結合された1つまたは複数の第2のデータソースであって、第2のデータストリームに関連する第2のデータ点を提供するように構成された、1つまたは複数の第2のデータソースをさらに含み、コンテキスト推定モジュールは、第1のデータ点および第2のデータ点に対応するコンテキストモデルのクラスタを決定するようにさらに構成される。コンテキスト推定モジュールは、第1のデータ点を表す第1のクラスタに関連する第1のコンテキストラベルを選択し、第2のデータ点を表す第2のクラスタに関連する第2のコンテキストラベルを選択し、第1のコンテキストラベルと第2のコンテキストラベルとを組み合わせることによって出力コンテキストラベルを決定するようにさらに構成される。コンテキスト推定モジュールは、選択された出力コンテキストラベルに基づいて第1のコンテキストの推定を実行し、第2のデータソースから導出された瞬間的な特徴および推定に基づいて第2のコンテキストの推定を実行し、第1のコンテキストの推定と第2のコンテキストの推定とを組み合わせて組み合わされたコンテキストの推定を取得するようにさらに構成される。第1のデータソースは、音声センサ、位置センサ、ネットワークセンサ、動きセンサ、カメラ、またはカレンダのうちの少なくとも1つを含む。
【００１４】
モバイルデバイスに関連するコンテキストモデルを管理するための装置の例は、1つまたは複数の第1のデータソースに割り振られた第1のデータストリームに関連する第1のデータ点を取得するための手段と、閾値の量の類似性を呈し、互いの閾値の量の時間内の時間と関連付けられる第1のデータ点のうちのデータ点に各クラスタがそれぞれ割り振られるように、1組のクラスタのうちのそれぞれのクラスタに第1のデータ点のうちのデータ点を割り振るための手段と、第1のデータストリーム、またはそれぞれのその他のデータソースに割り振られた1つもしくは複数のその他のデータストリームに関する統計的な特徴および推定をまとめるための手段と、統計的な特徴および推定に基づいて1組のクラスタのうちの1つまたは複数をコンテキストラベルと関連付けるための手段とを含む。
【００１５】
装置の実装は、以下の特徴のうちの1つまたは複数を含み得る。装置は、コンテキストラベルおよび1組のクラスタを用いてコンテキストモデルを生成するための手段をさらに含む。装置は、1つまたは複数の第2のデータソースに割り振られた第2のデータストリームに関連する第2のデータ点を取得するための手段をさらに含み、割り振るための手段は、第2のデータ点に対応するコンテキストモデルのクラスタを決定するための手段を含み、装置は、決定されたクラスタに関連するコンテキストラベルのうちの少なくとも1つを選択するための手段をさらに含む。装置は、1組のクラスタに関連する任意のコンテキストラベルと閾値の度合い未満の関連を有する1組のクラスタの中の少なくとも1つのクラスタを特定するための手段と、少なくとも1つのクラスタのための新しいコンテキストラベルを生成するか、または少なくとも1つのクラスタに未知のコンテキストラベルを割り振るための手段とをさらに含む。
【００１６】
さらにまたは代替的に、装置の実装は、以下の特徴のうちの1つまたは複数を含み得る。第1のデータソースまたはその他のデータソースは、音声センサ、位置センサ、ネットワークセンサ、動きセンサ、カメラ、またはカレンダのうちの少なくとも1つを含む。統計的な特徴は、衛星位置決定、時間の測定値、気象データ、光センサの読み取り値、近接センサの読み取り値、カメラデータ、近くの注目点、Bluetooth(登録商標)の測定値、Wi-Fiの測定値、周囲の音声レベル、または移動の検出のうちの少なくとも1つを含む。統計的な推定は、動きの状態、デバイスの位置、発話の検出、話者の認識、目標音声の検出、または位置の検出のうちの少なくとも1つを含む。第1のデータソースは、複数のセンサを含む。関連付けるための手段は、1組のクラスタのそれぞれのために1組のコンテキストラベルからコンテキストラベルを選択するための手段を含む。取得するための手段は、モバイルデバイスのユーザを特定するための手段を含み、第1のデータ点は、モバイルデバイスのユーザに対応するデータを含み、装置は、コンテキストラベルおよび1組のクラスタに基づいてモバイルデバイスのユーザに関するユーザコンテキストモデルを生成するための手段をさらに含む。第1のデータ点は、モバイルデバイスの第1のユーザおよびモバイルデバイスまたは1つもしくは複数のその他のデバイスの少なくとも1人の第2のユーザに対応するデータを含み、装置は、コンテキストラベルおよび1組のクラスタに基づいて第1のユーザおよび少なくとも1人の第2のユーザに関するマルチユーザコンテキストモデルを生成するための手段をさらに含む。
【００１７】
コンテキストモデルに基づいてコンテキストの推定を実行するための装置の例は、コンテキストモデルを読み出すための手段であって、コンテキストモデルが、1組のクラスタのうちのそれぞれのクラスタに時間的にグループ化されたセンサデータ点、および1組のクラスタのそれぞれに割り振られたコンテキストラベルを含む、手段と、第1のデータストリームに関連する1つまたは複数の第1のデータソースから第1のデータ点を取得するための手段と、第1のデータ点を表すコンテキストモデルの少なくとも1つのクラスタを決定するための手段と、少なくとも1つの決定されたクラスタに関連する出力コンテキストラベルを選択するための手段とを含む。
【００１８】
装置の実装は、以下の特徴のうちの1つまたは複数を含み得る。装置は、第2のデータストリームに関連する1つまたは複数の第2のデータソースから第2のデータ点を取得するための手段をさらに含み、決定するための手段は、第1のデータ点および第2のデータ点に対応するコンテキストモデルのクラスタを決定するための手段を含む。選択するための手段は、第1のデータ点を表す第1のクラスタに関連する第1のコンテキストラベルを選択するための手段と、第2のデータ点を表す第2のクラスタに関連する第2のコンテキストラベルを選択するための手段と、第1のコンテキストラベルと第2のコンテキストラベルとを組み合わせることによって出力コンテキストラベルを選択するための手段とを含む。装置は、出力コンテキストラベルに基づいて第1のコンテキストの推定を実行するための手段と、第2のデータソースから導出された瞬間的な特徴および推定に基づいて第2のコンテキストの推定を実行するための手段と、第1のコンテキストの推定と第2のコンテキストの推定とを組み合わせて組み合わされたコンテキストの推定を取得するための手段とをさらに含む。第1のデータソースは、音声センサ、位置センサ、ネットワークセンサ、動きセンサ、カメラ、またはカレンダのうちの少なくとも1つを含む。
【００１９】
さらにまたは代替的に、装置の実装は、以下の特徴のうちの1つまたは複数を含み得る。決定するための手段は、第1のデータ点に対応する1組のクラスタの中の複数のクラスタに信頼性のレベルを割り振るための手段を含む。選択するための手段は、最も高い信頼性のレベルを有するコンテキストモデルのクラスタに対応するコンテキストラベルを選択するための手段を含む。選択するための手段は、1組のクラスタのうちのそれぞれのクラスタおよびクラスタのそれぞれの信頼性のレベルのベクトルを生成するための手段を含む。装置は、信頼性のレベルのうちの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組のクラスタのうちのそれぞれのクラスタに時間的にグループ化されたセンサデータ点、および1組のクラスタのそれぞれに割り振られたコンテキストラベルを含むコンテキストモデルを読み出させ、第1のデータストリームに関連する1つまたは複数の第1のデータソースから第1のデータ点を取得させ、第1のデータ点を表すコンテキストモデルの少なくとも1つのクラスタを決定させ、少なくとも1つの決定されたクラスタに関連する出力コンテキストラベルを選択させるように構成されたプロセッサが実行可能な命令を含む。
【００２３】
コンピュータプログラム製品の実装は、以下の特徴のうちの1つまたは複数を含み得る。コンピュータストレージ媒体は、プロセッサに、第2のデータストリームに関連する1つまたは複数の第2のデータソースから第2のデータ点を取得させ、第1のデータ点および第2のデータ点に対応するコンテキストモデルのクラスタを決定させるように構成された命令をさらに含む。コンピュータストレージ媒体は、プロセッサに、第1のデータ点を表す第1のクラスタに関連する第1のコンテキストラベルを選択させ、第2のデータ点を表す第2のクラスタに関連する第2のコンテキストラベルを選択させ、第1のコンテキストラベルと第2のコンテキストラベルとを組み合わせることによって出力コンテキストラベルを選択させるように構成された命令をさらに含む。コンピュータストレージ媒体は、プロセッサに、出力コンテキストラベルに基づいて第1のコンテキストの推定を実行させ、第2のデータソースから導出された瞬間的な特徴および推定に基づいて第2のコンテキストの推定を実行させ、第1のコンテキストの推定と第2のコンテキストの推定とを組み合わせて組み合わされたコンテキストの推定を取得させるように構成された命令をさらに含む。
【００２４】
本明細書において説明される項目および/または技術は、以下の能力のうちの1つまたは複数および言及されていないその他の能力を提供してよい。コンテキストの推定および/または決定の精度が高められ得、より関連性のあるデータおよび/またはアプリケーションがユーザに提供されることを可能にする。コンテキストに関連するデータが時間的にグループ化され、異なるコンテキストの推定の間を高速で切り替えることに関連する誤りを削減する。その他の能力も、提供され得、本開示によるあらゆる実装が、検討される能力のいずれかを提供しなければならない訳ではなく、ましてや検討される能力のすべてを提供しなければならない訳ではない。さらに、上述の効果が上述の手段以外の手段によって実現されることがあり得、記載の項目/技術は、必ずしも記載の効果をもたらすとは限らない。
【図面の簡単な説明】
【００２５】
【図１】モバイルコンピューティングデバイスの構成要素のブロック図である。
【図２】コンテキストモデリングおよび推定システムのブロック図である。
【図３】図2のシステムによって収集された例示的なデータクラスタの説明のための図である。
【図４】図2のシステムによって収集された例示的なデータクラスタの説明のための図である。
【図５】クラスタに関するコンテキストラベルを学習するためのシステムの機能ブロック図である。
【図６】新しいデータに関するコンテキストを推定するためのシステムの機能ブロック図である。
【図７】音声環境データをクラスタ化するために使用される例示的なモデルの説明のための図である。
【図８】本明細書において説明される音声クラスタ化技術の実装の説明のための図である。
【図９】クラスタおよび瞬間的な低レベルの特徴および推定からのコンテキストを融合するためのシステムの機能ブロック図である。
【図１０】クラスタおよび瞬間的な低レベルの特徴および推定からのコンテキストを融合するための確率的グラフモデルの例示的な図である。
【図１１】データクラスタにコンテキストラベルを適用するプロセスのブロック流れ図である。
【図１２】収集されたセンサデータおよびコンテキストモデルを用いてデバイスコンテキストを推定するプロセスのブロック流れ図である。
【図１３】コンピュータシステムの実施形態のブロック図である。
【発明を実施するための形態】
【００２６】
本明細書において説明されるのは、デバイスのセンサデータから導出された特徴の統計をまとめることによってクラスタに関するコンテキストラベルを学習するための技術である。本明細書において説明される技術は、スマートフォン、ラップトップまたはタブレットコンピュータ、携帯情報端末(PDA)など、および現在存在するかまたは将来存在する任意のその他のコンピューティングデバイスなどのデバイスに関するコンテキストの決定を支援するために使用され得る。その他の用途も、あり得る可能性がある。以下の説明で与えられるさまざまな例はモバイルコンピューティングデバイスに関するが、本明細書において説明される技術は、コンテキストの推定が望ましい任意のデバイスに適用され得る。
【００２７】
モバイルデバイステクノロジーの進歩は、デバイスの機能を実行し、カスタマイズする際に、デバイスの位置、デバイスのエリアで起こるイベントなどのデバイスおよびユーザコンテキスト情報を検出し、使用する能力をモバイルデバイスに与えた。モバイルデバイスがそのモバイルデバイスのユーザのコンテキストを知らされ得る1つの方法は、周囲の音声ストリーム内の対話を特定することである。例えば、デバイスは、デバイスおよびそのデバイスのユーザの近くの周囲の音声環境を監視し、いつ会話が行われているかを判定することができる。そして、この情報は、話者および/またはユーザの認識、年齢および/または性別の予測、会話の参加者の数の予測などのより詳細な推定をトリガするために使用され得る。代替的に、会話を特定する行為自体が、コンテキストの決定の支援として利用され得る。例えば、検出された会話は、自分の事務室にいるユーザが1人で働いているのか、またはその他の人と会合しているのかを判定するために利用され得、自分の事務室にいるユーザが1人で働いているのか、またはその他の人と会合しているのかは、ユーザの中断の可能性に影響を与え得る。
【００２８】
さらに、モバイルのコンテキストを認識する目的は、デバイスのユーザが何をしているのかをデバイスに推定させることである。これは、ユーザがいる場所の種類(例えば、事務室、会議室、講堂、家、ジム、レストラン、コーヒーショップ、バーなど)またはユーザの置かれている状況の種類(例えば、会合している、1人で働いている、運転している、昼食を食べている、運動している、寝ているなど)などによって複数の次元(dimension)で評価され得る。それぞれのそのような次元は、本明細書においてはコンテキストと呼ばれる。ユーザコンテキストを推定することによって、限定ではなく、以下の応用など広範な応用が、容易になされる。
【００２９】
1)ユーザが中断不可能であるときに呼をボイスメールに回すまたはテキストメッセージに応答する、環境に基づいて呼び出し音のボリュームを調整する、ユーザが遅れているときに会合の参加者に知らせるなど、デバイスの機能を自動化すること。
【００３０】
2)チェックイン(check-in)、ユーザが近くにいるときに友達に知らせるなど、ソーシャルネットワークのインタラクションを自動化すること。
【００３１】
3)消費されたカロリー、歩いたマイル数、仕事に使われた時間対遊びに使われた時間などのヘルスケア情報を提供すること。
【００３２】
4)レストラン、商店、消費者製品、ガソリンなどに関する正確で適時の推薦を容易にすること。
【００３３】
ユーザコンテキストを推定する1つの手法は、計算された低レベルの推定および特徴から統計的にまたはその他の方法でそれらのユーザコンテキストを学習することである。低レベルの推定の例は、音声データストリームに発話が存在するか否か、加速度計データストリームに基づいて判定されるユーザの動きの状態(歩いている、座っている、運転しているなど)、ユーザが家にいる/職場にいる/移動中である/未知の場所にいるかどうか、ユーザが(例えば、見える全地球測位システム(GPS)またはその他のSPS衛生の数に基づいて)屋内にいるかまたは屋外にいるかなどである。低レベルの特徴の例は、GPS速度、範囲内のBluetooth(登録商標)デバイスの数、見えるWi-Fiアクセスポイントの数、近接センサのカウント、環境光のレベル、平均のカメラの強度(intensity)、時刻、曜日、平日または週末、周囲の音声エネルギーレベルなどである。上記は、網羅的なリストではなく、その他の低レベルの特徴および/または推定が、使用され得る。
【００３４】
低レベルの特徴および推定を使用する例として、発話が存在し、デバイスが静止しており、範囲内に多くのBluetooth(登録商標)デバイスがあり、その日が平日であり、時刻が勤務時間であり、デバイスのユーザが働いている場合、ユーザの状況のコンテキストは、「会合中」の状態であると推定され得る。
【００３５】
ハードセンサ(hard sensor)のデータに基づいてユーザコンテキストを瞬間的に推定することは、ユーザコンテキストとデータとの間の雑音のあるマッピングが原因で課題を示した。例えば、ユーザが会合中であるとき、発話検出器の最もよくある出力は(「発話なし」と対照的な)「発話あり」であってよく、最もよくあるデバイスの動きの状態は「デバイスは静止している」であってよく、典型的には、範囲内に多くのBluetooth(登録商標)デバイスが存在してよい。このことにも関わらず、これらの低レベルの特徴/推定が計算されるときに、発話が存在しないと判定され得、動きの状態がデバイスが静止していないことを示すことがあり、および/または範囲内にBluetooth(登録商標)デバイスが存在しないことがあるということがやはりあり得る。これらの変動を考慮するために、コンテキストの推定が、時間フィルタリング(temporal filtering)によって平均され得る。しかし、これらの平均操作は、コンテキスト間の遷移の境界を越えるコンテキストの推定をもたらす場合があり、結果として、コンテキストの推定の雑音および誤りを生じ得る。
【００３６】
これらの困難を緩和するために、本明細書において説明される技術は、1人または複数のユーザに対応するデータを時間的にクラスタ化し、これらのクラスタを上述の低レベルの特徴および推定と組み合わせて使用してユーザコンテキストを推定する。一部の実施形態においては、クラスタ化されたデータが、異なるユーザコンテキスト間の境界を定義するために使用され得る。さらに、以下で特定の実施形態に関連して説明されるコンテキストの推定は、例えば、クラスタによって決定される適切な時間枠にわたって得られたデータから意味のある統計をまとめることを可能にし得る。当業者は、本明細書において説明される実施形態のその他の利点および恩恵を理解するであろう。
【００３７】
本明細書において説明される技術は、図1に示される例示的なモバイルデバイス100などのモバイルデバイスのために利用され得る。モバイルデバイス100は、ワイヤレスネットワークを介してワイヤレスアンテナ122によってワイヤレス信号123を送信および受信するワイヤレストランシーバ121を含む。トランシーバ121は、ワイヤレストランシーババスインターフェース120によってバス101に接続される。図1においては異なる構成要素として示されているが、ワイヤレストランシーババスインターフェース120は、ワイヤレストランシーバ121の一部であってよい。ここで、モバイルデバイス100は、単一のワイヤレストランシーバ121を有するものとして示されている。しかし、モバイルデバイス100は、代替的に、Wi-Fi、符号分割多元接続(CDMA)、広帯域CDMA (WCDMA(登録商標))、ロングタームエボリューション(LTE(登録商標))、Bluetooth(登録商標)などの複数の通信規格をサポートするために複数のワイヤレストランシーバ121およびワイヤレスアンテナ122を有してよい。
【００３８】
汎用プロセッサ111、メモリ140、デジタル信号プロセッサ(DSP) 112、および/または専用プロセッサ(図示せず)も、ワイヤレス信号123を全体的にまたは部分的に処理するために利用され得る。ワイヤレス信号123からの情報の記憶は、メモリ140またはレジスタ(図示せず)を用いて実行される。1つの汎用プロセッサ111、DSP 112、およびメモリ140のみが図1に示されているが、これらの構成要素のいずれかの2つ以上が、モバイルデバイス100によって使用されてよい。汎用プロセッサ111およびDSP 112は、直接かまたはバスインターフェース110によってかのどちらかでバス101に接続される。加えて、メモリ140は、直接かまたはバスインターフェース(図示せず)によってかのどちらかでバス101に接続される。バスインターフェース110は、実装されるとき、それらのバスインターフェース110が関連する汎用プロセッサ111、DSP 112、および/もしくはメモリ140と統合されるか、またはそれらのバスインターフェース110が関連する汎用プロセッサ111、DSP 112、および/もしくはメモリ140とは独立していてよい。
【００３９】
メモリ140は、機能を1つまたは複数の命令またはコードとして記憶する1つの非一時的コンピュータ可読ストレージ媒体(または複数の非一時的コンピュータ可読ストレージ媒体)を含む。メモリ140を構成し得る媒体は、RAM、ROM、FLASH、ディスクドライブなどを含むがこれらに限定されない。メモリ140によって記憶された機能は、汎用プロセッサ111、専用プロセッサ、またはDSP 112によって実行される。したがって、メモリ140は、説明される機能をプロセッサ111および/またはDSP 112に実行させるように構成されたソフトウェアコード(プログラミングコード、命令など)を記憶するプロセッサ可読メモリおよび/またはコンピュータ可読メモリである。代替的に、モバイルデバイス100の1つまたは複数の機能は、全体的にまたは部分的にハードウェアで実行されてよい。
【００４０】
モバイルデバイス100は、モバイルデバイス100および／またはそのモバイルデバイス100の周辺に関連するデータを捕捉するための1つまたは複数のセンサ135をさらに含む。センサ135は、マイクロホンまたは音声センサ、カメラ、光センサ、圧力センサ、慣性センサ(例えば、加速度計および/またはジャイロスコープ)、磁力計などを含み得るがこれらに限定されない。センサ135は、個々に、またはセンサアレイもしくは任意のその他の組み合わせなどの組み合わせで使用されてよい。モバイルデバイス100によって実装される場合、複数のセンサ135は、相互に依存して、または互いに独立して動作し得る。センサ135は、単独でかまたはバスインターフェース(図示せず)を通じてかのどちらかでバス101に接続される。例えば、センサ135は、センサ135によって捕捉されたデータを処理するためにバス101を通じてDSP 112と通信してよい。センサ135は、捕捉されたデータに関連するメタデータを生成するかまたはそうでなければ取得するために汎用プロセッサ111および/またはメモリ140とさらに通信してよい。一部の実施形態においては、アンテナ122および/またはトランシーバ121も、例えば、Wi-Fi信号などのワイヤレス信号を感知または検出するためにセンサとして利用され得る。
【００４１】
図2は、図1に示されたモバイルデバイス100によって利用され得るコンテキストモデリングおよび推定システム200の実施形態を示す。システム200は、マイクロホンなどの音声センサ212、GPSトランシーバなどの位置センサ214、Wi-Fiおよび/またはその他の無線トランシーバなどのネットワークセンサ216、加速度計またはジャイロスコープなどの動きセンサ218、カレンダ/アポイントメント記録220、システムクロックまたはその他のメカニズムなどの時間/日情報のソース222、デバイス使用モニタ224、光および/またはカメラセンサ226などを含み得るがこれらに限定されない1つまたは複数のデータソース210を含む。データソース210から集められたデータは、統計モジュール230およびクラスタ化モジュール240を用いて(例えば、システムクロックによって提供される)時間データと組み合わせて処理される。統計モジュール230は、データソース210に関連する低レベルの特徴および/または推論に関連する統計を特定し、まとめる。クラスタ化モジュール240は、統計モジュール230からの支援を受けて、データソース210から収集されたデータのクラスタを特定し、ラベル付けする。そして、クラスタは、モバイルデバイス100に関するデバイスコンテキストモデルを構築するためにコンテンツモデリングモジュール250によって利用される。その後、コンテキスト推定モジュール260が、コンテキストモデリングモジュール250によって生成されたモデルを利用して、新たに受信されるデータに関するデバイスコンテキストを推定する。
【００４２】
本明細書において全体的に説明されるように、モデルは、データソース210を介してユーザに対応するデータ点を収集し、これらのデータ点ならびにデータ点から生成されたクラスタおよびラベルを用いてユーザに固有のコンテキストモデルを生成することによって(例えば、モバイルデバイスの)特定の識別されたユーザに関してコンテキストモデリングモジュール250によって生成され得る。代替的に、データは、複数のユーザ、例えば、モバイルデバイスのユーザと、同じデバイスおよび/またはその他のデバイスの1人または複数のその他のユーザとにわたって収集され得、それらのデータから、マルチユーザコンテキストモデルが生成され得る。
【００４３】
データソース210から収集されるデータは、クラスタ化モジュール240および/またはコンテキスト推定モジュール260によって使用可能な任意の形態をとり得る。例えば、そのようなデータは、音声センサ212からの音声サンプル、位置センサ214からのGPSの読み取り値、ネットワークセンサ216からのネットワークの強度および/またはその他のネットワークに関連する読み取り値、動きセンサ218からの動き、加速度、または向きのデータ、カレンダ220に関連するエントリなどを含み得る。データに加えて、データに適用されるラベルも、利用され得る。例えば、カレンダのエントリが、位置またはタイトル、例えば、「ユーザの事務室」または「医者の予約」によってラベル付けされ得る。これらのデータを収集し、適用するための技術が、以下でさらに詳細に説明される。
【００４４】
クラスタ化モジュール240は、データソース210に対応するデータストリームの時間的なクラスタ化またはその他のクラスタ化などのクラスタ化を実行する。クラスタ化とは、(例えば、データ点が少なくとも閾値の量の類似性を呈するように)ある特徴空間で類似しているように見える、ならびに/または類似した時間と関連付けられる(例えば、互いの閾値の量の時間内の時間に収集され、および/もしくは互いの閾値の量の時間内の時間にその他の方法で関連付けられる)データ点をグループ化することを指す。例えば、図3の図300に示されるように、クラスタは、類似した特徴プロファイル(feature profile)を呈する時間的にグループ化されたデータ点の組に対応し得る。ここに示されているクラスタのインデックス1〜5は、特徴および/または特徴の組の任意のグループ化、例えば、発話を含むかまたは発話を含まないことが分かった音声センサ212からの音声サンプル、予め定義された半径以内または知られている住所にある位置センサ214からの位置決定、よくある動きの状態(歩いている、走っているなど)に対応する動きセンサ218からの読み取り値などに対応し得る。本明細書において検討されるように、その他の特徴も、あり得る。その後、現在のクラスタに対応しないデータ点を取得すると、新しいクラスタへの遷移が起こる。例えば、図300は、取得されるデータ点の変化に基づく(例えば、クラスタ5からクラスタ3への、クラスタ3からクラスタ5への、...)クラスタ間の遷移を示す。
【００４５】
クラスタ化の別の例として、データストリームがGPS位置決定を実行することによって得られる緯度/経度座標の軌跡からなる場合、クラスタ化は、位置決定を、ユーザが訪れ、時間を過ごす有限個の場所にグループ化することをともない得る。したがって、時間的に連続する位置決定の1つのはっきりと区別可能なセグメントは、ユーザが家にいることに対応し得、ユーザがやはり家にいる異なる日に行われた連続する位置決定の第2のはっきりと区別可能なセグメントと同じクラスタに属し得る。別のクラスタが、ユーザが働いているときに取得された位置決定に対応してよい。クラスタは、任意の基準に基づいてよく、場合によっては、所与のデータストリームのために任意に定義され得る。
【００４６】
データソース210から収集され、クラスタ化され得る異なるストリームの例は、以下の通りである。その他のデータストリームおよびクラスタ、ならびに/またはデータストリームをクラスタ化するための技術も、あり得る。
【００４７】
音声環境:  マイクロホンデータのバッチを含み、各バッチは、指定された継続時間、例えば、およそ1分にわたって取得される。各クラスタは、はっきりと区別可能な音声環境に対応する。
【００４８】
緯度/経度座標:   (例えば、GPSまたは別の衛星測位システムから)位置決定によって取得される。各クラスタは、ユーザが訪れる大きな場所(macro place) (すなわち、建物の規模の場所)に対応する。
【００４９】
Wi-Fiフィンガープリント:  見えるWi-Fiアクセスポイント、例えば信号強度の指示(RSSI)として与えられるそれらのWi-Fiアクセスポイントのそれぞれの受信信号強度、およびそれらのWi-Fiアクセスポイントのそれぞれの応答率(すなわち、連続的な走査が行われるときにそれらのWi-Fiアクセスポイントが見える時間の割合)の組を含む。各クラスタは、ユーザが訪れる小さな場所(micro place) (すなわち、部屋の規模の場所)に対応する。
【００５０】
Bluetooth(登録商標)(BT)フィンガープリント:  見えるBTデバイス、(例えば、RSSIとして与えられる)それらのBTデバイスのそれぞれの信号強度、それらのBTデバイスのデバイスクラス、およびそれらのBTデバイスのそれぞれの応答率の組を含む。各クラスタは、はっきりと区別可能なBT環境に対応する。
【００５１】
動きの状態:  加速度計、ジャイロスコープ、および/または磁力計データのバッチを含み、各バッチは、指定された継続時間(例えば、およそ10〜30秒)にわたって取得される。各クラスタは、動きのはっきりと区別可能な組に対応する。
【００５２】
カレンダイベント:  イベントの説明および/またはタイトル、日付/時間、位置、出席者および/またはその他の関連する人の名前などの情報を含む。各クラスタは、類似した名前、位置、および/またはその他の属性を有するイベントの組に対応する。
【００５３】
図2に戻って、データをクラスタ化するためにシステム200によって利用される技術は、以下の通りである。説明を簡単にするために、以下は、唯1つのデータストリームから利用されるクラスタに関連して説明されるが、以下の説明は、複数のデータストリームに当てはまり得る。ここで、クラスタは、クラスタ化モジュール240によって処理され、以下のステップを用いてユーザのコンテキストを推定するためにコンテキスト推定モジュール260によって使用される。その他のステップ、または以下のステップの変形が、本明細書においてさらに説明されるように使用され得る。
【００５４】
1)例えば、クラスタ化モジュール240によってデータストリームをクラスタ化する。これは、各データ点を有限個のクラスタIDのうちの1つに割り振ることをともなう。将来のデータ点が類似性を判定するために異なるクラスタモデルと比較され得るように、各クラスタIDは、そのクラスタIDを代表するモデルを割り振られる。
【００５５】
2)例えば、統計モジュール230によって統計をまとめる。発見された各クラスタに関して、ユーザがこのクラスタにいたときに計算された低レベルの特徴および推定からの関連する統計をそのクラスタと関連付ける。
【００５６】
3)例えば、コンテキストモデリングモジュール250によってコンテキストラベルを割り振る。各クラスタに関して、まとめられた低レベルの特徴/推定の統計に基づいてコンテキストラベルを学習する。最も単純な場合、これは、低レベルの特徴/推定を何らかの方法で平均することによって行われ得る。例えば、各クラスタIDに関して、発話が検出される時間の平均の割合、見えているBluetooth(登録商標)デバイスの平均の数、およびそのクラスタIDの最もよく発生する動きの状態を含め、計算が実行され得る。特定のクラスタに関して、発話の割合が何らかの閾値を超えており、Bluetooth(登録商標)デバイスの平均の数が何らかの閾値を超えており、最もよくある動きの状態が「静止」である場合、適切なコンテキストラベル、例えば、「会合中」が、クラスタに割り当てられ得る。
【００５７】
4)例えば、コンテキスト推定モジュール260によってコンテキストを推定する。後の時点で、ユーザのそのときのデータストリームに関して、そのときのデータに最も合致するモデルを有するクラスタを発見し、そのクラスタのラベルを推定されたコンテキストとして出力する。
【００５８】
上記のプロセスが、図4の図400によって示される。図400に示される例においては、数時間の音声環境データが、クラスタ化されている。x軸は、時間を示し、y軸は、クラスタ番号を示す。さまざまな時点で計算された低レベルの特徴/推定が、示されている。低レベルの特徴および推定は、図400においてはA〜Hとラベル付けされており、A〜Hは、図の本体の下に定義されている。5つの音声環境のクラスタが発見されており、クラスタを時間的に順に横断する様子が示されている。最も上のクラスタは、かなりの量の発話および大人数の特徴と、少しのタイピングとを含むことを示されている。この音声環境のクラスタは、コンテキストラベルMEETINGを与えられる。第2のクラスタは、いくらかの発話と、ユーザが1人である多くの場合とを含むことを示されている。このクラスタは、コンテキストラベルLANDLINE PHONEを与えられる。同様の処理が、第3および第4のクラスタに適用される。最も下のクラスタは、家の推定の多くの場合を含み、さらに、夜通し続く。コンテキストラベルSLEEPINGが、音声環境に割り振られる。
【００５９】
概して、使用されるコンテキストラベルの組は任意であり得るが、上記の例においては、コンテキストラベルは、ユーザの状況を表す。異なる例において、コンテキストラベルは、企業の場所の種類、例えばGYM、CAFETERIA、OFFICE、MEETING ROOM、BREAK ROOM、LECTURE HALLなどを表してよい。これらは、Wi-Fiフィンガープリントベースの(例えば、「小さな場所」)クラスタ化に基づいて学習され得る。それぞれの小さな場所は、部屋/エリアに対応してよく、コンテキストラベルは、この部屋/エリアの説明に対応してよい。そして、コンテキストラベルは、発話、動きの状態、Bluetooth(登録商標)デバイスの密度、周囲の音声エネルギーレベル、訪問された時刻、クラスタで過ごされた時間の量などの特徴/推定に基づいて学習され得る。
【００６０】
上記の例において、クラスタは、コンテキストの境界を越えないと仮定される。(上記の例と同様に)クラスタ化されるデータストリームが位置および音声環境であり、コンテキストラベルがユーザの状況または場所の種類に関する場合、この仮定は、通常正しい。例えば、ユーザが会合に入るとき、概して、場所(例えば、それらのユーザの事務室から会議室へ)と音声環境(例えば、歩きに対応する音声環境から会合に対応する音声環境へ)との両方で変化が観測される。一部の実施形態においては、クラスタがコンテキストの境界を越える状況でクラスタおよび/またはコンテキストが推定または決定され得る。
【００６１】
データをクラスタ化し、クラスタ化されたデータを用いてコンテキストの推定を実行するための本明細書において説明される技術は、さまざまな使用事例に適用され得る。これらの使用事例の例は、以下を含むがこれらに限定されない。
【００６２】
車両内の検出(例えば、運転している): GPS速度およびGPSベースの緯度/経度の軌跡を低レベルの特徴として利用して音声環境のクラスタをラベル付けする。現在の音声環境のクラスタを用いて車両内対車両外の分類をする。
【００６３】
睡眠時間を測定する:  家の推定および時刻(すなわち、夜中)を低レベルの特徴として利用して音声環境のクラスタを睡眠中のクラスタ対非睡眠中のクラスタとしてラベル付けする。睡眠中のクラスタで過ごされた時間数によって睡眠時間を測定する。
【００６４】
屋内/屋外の検出:  いくつかの低レベルの特徴を利用して小さな場所のクラスタを屋内または屋外としてラベル付けする。特徴は、例えば、見える衛星の数および対応する信号強度(例えば、RSSIまたはその他の測定値として与えられる)、見えるWi-Fi APの数および対応する信号強度(例えば、RSSIまたはその他の測定値として与えられる)、ブロードキャストされるデバイスIDに基づいて固定Bluetooth(登録商標)デバイス(例えば、デスクトップコンピュータ、プリンタなど)が見えるかどうか、音声信号での目標音声の検出(屋内/屋外)、環境光センサの読み取り値または記録、光源の種類(例えば、蛍光灯対自然光)が判定され得る光の色を与えるカメラの赤/緑/青(R/G/B)の強度などを含む。現在の小さな場所のクラスタから屋内対屋外の分類をする。
【００６５】
会合中の検出:  いくつかの低レベルの特徴を利用して小さな場所のクラスタを屋内または屋外としてラベル付けする。特徴は、例えば、見えるパーソナルBluetooth(登録商標)デバイスの数、目標音声の検出、時刻、家/職場の推定などを含む。現在の小さな場所のクラスタを用いて会合中対会合中でないの分類をする。
【００６６】
ゾーン(例えば、家/職場/その他/移動中)の検出:  いくつかの低レベルの特徴を利用して大きな場所のクラスタを家/職場/その他としてラベル付けする。現在の大きな場所のクラスタに基づいてゾーンを分類する。現在の大きな場所のクラスタがないことは、移動中の推定と関連付けられ得る。特徴は、例えば、時刻、クラスタで過ごされた時間数、クラスタで過ごされた最も長い時間、所与の時間(例えば、午前3:00)にクラスタで過ごされた時間の頻度などを含む。
【００６７】
再び図2に戻ると、システム200は、複数のデータストリームをクラスタ化するためにやはり利用され得る。2つ以上のデータストリームがクラスタ化されるとき(例えば、音声環境および小さな場所)、1つのデータストリームのための上述の推定手順が、拡張され得る。複数のデータストリームをクラスタ化し、利用するための上記の手順の例示的な拡張が、以下に示される。その他の拡張も、使用され得る。
【００６８】
1)例えば、クラスタ化モジュール240によって各データストリームを別々にクラスタ化する。それぞれのクラスタ化されるデータストリームに関して、各データ点を有限個のクラスタIDのうちの1つに割り振る。将来のデータ点が類似性を判定するために異なるクラスタモデルと比較され得るように、各クラスタIDは、そのクラスタIDを代表するモデルを割り振られる。
【００６９】
2)例えば、統計モジュール230によって統計をまとめる。各データストリームに関して、それぞれの発見されたクラスタをユーザがこのクラスタにいたときに計算された低レベルの特徴および推定のすべてと関連付ける。
【００７０】
3)例えば、コンテキストモデリングモジュール250によってコンテキストラベルおよび信頼性の値を割り振る。各データストリームに関して、まとめられた低レベルの特徴/推定に基づいて各クラスタIDに関するコンテキストラベルを学習する。信頼性の値をそれぞれの学習されたコンテキストラベルと関連付ける。例えば、特定の音声のクラスタが、会合中に見られることが予測される発話の割合およびBluetooth(登録商標)の密度に非常に近い場合、コンテキストラベル「会合している」を割り振り、高い信頼性の値をこのクラスタ/ラベルと関連付ける。特定の小さな場所のクラスタが、会合に関して予測されるレベルにある程度(しかし、際立ってはなく)近い発話の割合およびBluetooth(登録商標)の密度を有する場合、コンテキストラベル「会合している」を割り振るが、低い信頼性の値をこのクラスタ/ラベルと関連付ける。
【００７１】
4)例えば、コンテキスト推定モジュール260によってコンテキストを推定する。後の時点で、各データストリームに関して、ユーザが、特定のクラスタにいると判定される。競合するコンテキストラベルを有する複数のクラスタが存在する場合、最も高い信頼性の値を有するコンテキストラベルを選択する。
【００７２】
場合によっては、クラスタ化モジュール240は、上述のステップ(1)でデータをまとめてクラスタ化するように構成され得る。例えば、クラスタ化モジュール240は、下位クラスタのそれぞれのはっきりと区別可能な組み合わせを別個のクラスタとして扱うように構成され得る。例として、M個の音声のクラスタおよびN個の場所のクラスタが存在する場合、MN個の継ぎ合わされたクラスタが生成され得る。さらにまたは代替的に、クラスタ化モジュール240は、複数のセンサから来るデータのそれぞれのはっきりと区別可能なグループに1つのクラスタを割り振るように構成され得る。
【００７３】
現在のデータストリームが以前に観測されたいずれのクラスタとも一致しない、つまり、そのデータストリームが新しいまだ観測されていないクラスタから来る可能性を考慮に入れるために、コンテキスト推定モジュール260は、上記のステップ(4)で説明された動作を実行する前にまず距離試験を含むように構成され得る。距離試験は、最も近いクラスタモデルからの現在のデータストリームの距離を判定する。この距離が特定の閾値を超えている場合、このことは、現在のデータストリームと閾値の度合い以上の関連を有するコンテキストラベルに関連する知られているクラスタが存在しないことを示す。したがって、コンテキストが推定されず、コンテキスト推定モジュール260は、「未知のコンテキスト」、「これまで観測されていないコンテキスト」、および/またはその他の好適なラベルを出力する。
【００７４】
上記のステップ(3)および(4)において、信頼性の値が、学習されたコンテキストラベルに、コンテキストモデリングモジュール250および/またはコンテキスト推定モジュール260によってさまざまな方法で割り振られ得る。より包括的な手法は、各クラスタに関して、すべてのあり得るコンテキストラベルにわたって合計されるときに事後確率が足して1になるように、あり得るコンテキストラベルのそれぞれに関する事後確率を割り振ることである。融合ステップにおいて、これらの確率が、さまざまなデータストリームにわたって何らかの方法で、例えば、乗算によって組み合わされる。例えば、現在の音声のクラスタがコンテキスト= MEETINGの確率0.8およびコンテキスト= NOT MEETINGの確率0.2を有し、現在の場所のクラスタがコンテキスト= MEETINGの確率0.4およびコンテキスト= NOT MEETINGの確率0.6を有する場合、推定全体は、コンテキスト= MEETINGに関する値0.8×0.4 = 0.32およびコンテキスト= NOT MEETINGに関する値0.2×0.6 = 0.12を割り振る。コンテキストラベルMEETINGは、より高い値を有するので、出力ラベルとして提供される。
【００７５】
1つのデータストリームまたは複数のデータストリームに関して上で説明されたステップ(4)のコンテキスト推定モジュール260の出力は、さまざまな形態をとり得る。あり得る出力は、最も高い信頼性の値を有するコンテキストに対応する硬判定出力、最も見込みのあるコンテキストの確率分布に対応する軟判定出力(例えば、確率のベクトルとしての出力)などを含む。その他の出力も、あり得る。
【００７６】
上述のコンテキストラベル学習ステップは、図5の図500によって示される。上述のコンテキストラベル推定ステップは、図6の図600によって示される。概して、図500は、例えば、観測されたかもしくはインポートされたデータストリームに基づいてモバイルデバイスにおいてリアルタイムで作られるかまたはモバイルデバイスにおいてオフラインで最初に構築され得、あるいはモバイルデバイスなどの別のデバイスに送信またはロードされる前にサーバまたはコンピュータなどのデバイスによって決定され得る汎用コンテキストモデルの構築を示す。モデルは、例えば、クラスタ化モジュール240によってN個のデータストリームから段階510において形成されるクラスタからなる。さらに、低レベルの特徴および推定(F/I)が、例えば、統計モジュール230によって段階520においてその他のデータストリームに関して計算される。各クラスタに関して、低レベルの特徴および推定に関する関連する統計(例えば、クラスタに存在する発話の割合)が、例えば、統計モジュール230を用いて段階530において計算される。これらの統計は、(例えば、コンテキストモデリングモジュール250によって)段階540においてラベルがクラスタに割り振られることを可能にし、クラスタとそれらのクラスタのラベルとの間のマッピングを含むモデル550をもたらす。このようにして、その他のデータストリームから得られた情報が、1つまたは複数のクラスタを特徴付けるおよび/またはラベル付けするために使用され得る。このモデルに基づいて、図600は、その後の追跡中に、N個のデータストリームからサンプリングされたデータに関連する最も近いクラスタが段階610において計算されることを示す。これらのクラスタの計算は、段階620において、上述の距離試験を用いて検証される。そして、段階610、620においてユーザがいると観測されるクラスタは、図500に示されたようにまとめられたモデル550に基づいて段階630においてコンテキストと関連付けられる。その後、複数のクラスタおよび/またはコンテキストラベルが、段階640において融合され得る。ここで、段階610、620、630、640のそれぞれは、コンテキスト推定モジュール260を用いて実行されるが、その他の構成も、あり得る。
【００７７】
統計をラベルと関連付けるための規則は、予め定義される、および/または訓練データに基づいて学習され得る。例として、規則は、ユーザが午前3:00〜5:00の間のほとんどの時間を過ごす位置がユーザの家であると考えられるように位置データに関して予め定義され得る。この規則およびその他の類似の規則は、訓練データ、ユーザの好みなどに基づいて修正および/または置換され得る。
【００７８】
さらに上で述べられたように、複数のデータストリームが、コンテキスト検出の精度を上げるために利用され得る。例として、位置データのみに基づくコンテキストの推定は、デバイスの位置(例えば、家、事務所など)に関連するすべてのデバイスコンテキストに低い信頼性の値を与え得る。したがって、位置データは、コンテキストの推定を改善するために時間または音声データなどのその他のデータと組み合わされ得る。
【００７９】
上述のように、コンテキストの推定は、低レベルの特徴および推定に基づいて実行される。デバイスのセンサデータまたは外部ソースから計算され得るあり得る低レベルの特徴のリストは、以下を含むがこれらに限定されない。
・GPS速度、精度、高度
・見えるGPS衛星の数
・時刻、曜日、平日/週末、祝日
・天気、気温
・環境光センサの読み取り値
・近接センサの読み取り値
・カメラのデータ、強度、R/G/Bの強度、DCT (離散コサイン変換)の係数などの特徴、カメラの視野内で検出された物体
・最も近い地理的な注目点(POI)
・見えるBluetooth(登録商標)デバイスおよび対応するRSSI、範囲内の新しい/古いBluetooth(登録商標)デバイス
・見えるWi-Fi APおよび対応するRSSI、新しい/古い見えるWi-Fi AP
・周囲の音声エネルギーレベル
・移動の検出(任意のデバイスの移動対デバイスの移動なし)
【００８０】
同様に、デバイスのセンサデータまたは外部ソースから計算され得るあり得る低レベルの推定のリストは、以下を含むがこれらに限定されない。
・動きの状態(歩いている、走っている、運転しているなど)
・デバイスの位置(ポケット、手、机、鞄など)
・発話の検出(発話あり/発話なし)
・話者の認識(デバイスの所有者が話している/他の誰かが話している)
・存在する話者の数
・目標音声の検出(赤ん坊が泣いている/泣いていないなど)
・ゾーン(家/職場/その他/移動中または住宅/商業など)
・デバイスの使用(毎分の画面に触れた回数、毎分の打ち込まれた文字数など)
・ディスプレイのオン対オフ
・アプリケーションの使用(実行されるアプリケーションの種類(例えば、ゲーム、電子メールなど)、同時に実行されるアプリケーションの数など)
【００８１】
クラスタに関するコンテキストラベルを学習する場合、クラスタ自体から導出された低レベルの統計を使用することも可能である。これらの統計は、以下を含むがこれらに限定されない。
・クラスタで過ごされた時間の割合
・クラスタへの訪問の継続時間
・クラスタへの訪問の間の逗留(sojourn)時間
・逗留で訪問されるクラスタの数
・クラスタの相対的な発生頻度(例えば、2番目に多い頻度)
【００８２】
例えば、約1時間続くクラスタは、会合または講義に出ているなどのコンテキストに対応する可能性が比較的高い。訪問の間の逗留時間が8〜9時間であるクラスタは、通勤通学期間に対応する可能性が比較的高い。継続時間が6〜8時間であるクラスタは、睡眠期間に対応する可能性が比較的高い。その他のそのような推定も、あり得る。
【００８３】
クラスタ化モジュール240は、データのクラスタ化のためにさまざまな技術を利用し得る。音声環境のクラスタ化の例が、図7の図700によって与えられる。ここで、モデルが、最初に、予測される状態の数を超える状態の数Lを用いて構成され、例えば、Lは、L≫Kであるように選択される。モデルにおいて、ztは、データのt分目の間の音声環境の隠れたクラスタIDを表し、ここで、t = 1, ..., Tである。変数yt,o=[y1,t,o  …  y13,t,o]は、データのt分目の間に観測された生の音声データストリームから計算された13次元のメル周波数ケプストラム係数(MFCC: Mel-Frequency Cepstral Coefficient)特徴ベクトルを表す。変数Oは、毎分計算される特徴ベクトルの数を表す。ここではO = 60であるが、その他の値をも使用され得る。記憶されるデータは、以下の統計によってMFCC特徴ベクトルを要約する。
【００８４】
【数１】
0006284538.tif 000002
【００８５】
所与の時点のクラスタIDは、zt-1からztまでを結ぶ矢印によって表される、前の時点のクラスタIDの関数である。残りの変数は、クラスタ化モデルのさまざまなパラメータを表す。
【００８６】
ユーザに対応する実際のセンサデータに対するこの音声環境のクラスタ化技術の効力の例が、図8の図800によって示される。x軸は、丸1日の間の時間を示す。y軸は、同じユーザからの以前のデータの2週間分を用いてモデルを訓練することに基づいて推定されたクラスタIDを示す。コンテキストラベルは、それらのコンテキストラベルがユーザによってもたらされた時間の点に示されている。
【００８７】
上述の技術は、第1に低レベルの特徴/推定を用いてクラスタをラベル付けし、第2にこれらのラベル付けされたクラスタを用いて推定を実行することによってコンテキスト推定モジュール260がコンテキストを間接的に推定することを可能にする。場合によっては、クラスタベースの推定は、瞬間的な低レベルの特徴/推定データによって拡張され得る。これは、クラスタによるコンテキストの推定および(例えば、統計モジュール230から得られる)低レベルの特徴/推定によるコンテキストの推定という別々のコンテキストの推定を実行するようにコンテキスト推定モジュール260を構成し、クラスタ間で行われる推定の融合と同様の方法でそれらのコンテキストの推定を融合することによってなされる。より詳細には、これは、コンテキスト推定モジュール260によって実行される上記の推定手順の最終段階を、例えば以下のように拡張することによってなされる。
【００８８】
4)  コンテキストを推定する:  後の時点で、各データストリームに関して、ユーザが、関連するコンテキストラベルおよび計算された信頼性の値を有する特定のクラスタにいると判定される。瞬間的な低レベルの特徴も、計算される。これらに基づいて、コンテキストラベルが、関連する信頼性の値とともに導出される。最終的な推定されるコンテキストは、クラスタのそれぞれおよび低レベルの特徴/推定によって出力された導出されたコンテキストから最も高い信頼性の値を有する導出されたコンテキストをとることによって計算される。
【００８９】
例えば、ユーザが車を運転しており、システムが「車を運転している」コンテキストと「バスに乗っている」コンテキストとを区別しようとしており、音声環境および場所のクラスタが低から中程度の信頼性で「バスに乗っている」コンテキストを示唆し、GPS速度の特徴がユーザが75mphで移動していると判定する場合、低レベルの特徴から導出される瞬間的なコンテキストラベルは、高い信頼性で「車を運転している」となる。この場合、低レベルの特徴から導出されるコンテキストラベルが、音声環境のクラスタから導出されるコンテキストラベルに優先する。
【００９０】
上記と同様に、推定ステップにおいて、導出されたコンテキストラベルに信頼性の値を割り振るさまざまな方法が存在する。より包括的な手法は、各クラスタ、および低レベルの特徴/推定の組に関して、すべてのあり得るコンテキストラベルにわたって合計されるときに事後確率が足して1になるように、あり得るコンテキストラベルのそれぞれに事後確率を割り振ることである。融合ステップにおいて、これらの確率が、さまざまなデータストリームにわたって何らかの方法で、概して、乗算によって組み合わされる。例えば、現在の音声のクラスタがコンテキスト= MEETINGの確率0.8およびコンテキスト= NOT MEETINGの確率0.2を有し、瞬間的な低レベルの特徴/推定がコンテキスト= MEETINGの確率0.4およびコンテキスト= NOT MEETINGの確率0.6を生じる場合、推定全体は、コンテキスト= MEETINGに関する値0.8×0.4 = 0.32およびコンテキスト= NOT MEETINGに関する値0.2×0.6 = 0.12を割り振る。結果として得られる出力は、コンテキストラベルMEETINGがより高い値を有するのでコンテキストラベルMEETINGとなる。
【００９１】
一部の実施形態において、コンテキスト推定モジュール260は、瞬間的な低レベルの特徴の計算、および/またはそのような計算のための追加のデータの(例えば、センサを有効化もしくは利用することによる)収集が上述の拡張された段階(4)の前に実行されるべきであるかどうかを判定し得る。例えば、コンテキスト推定モジュール260によって特定の閾値を超える信頼性でコンテキストが決定され得ないとき、1つまたは複数のセンサが、追加のデータを収集するように構成され得る。この判定は、追加のデータを収集し、および/または追加の計算を実行すべきかどうかを判定するために低レベルの特徴が計算された後に実行され得る。1つまたは複数のコンテキストに関する異なる信頼性のレベルが、デバイスのそれぞれのセンサにマッピングされてもよく、そして、それらのセンサが、それらの信頼性のレベルを達成するために利用され得る。
【００９２】
上で検討されたように追加のデータを選択的に計算または収集することによって、電力使用が削減され得る。そのような選択的なデータ収集は、例えば、以下のうちの1つまたは複数に基づいてセンサのサンプリングをオン/オフにすることによって実現され得る。
・今までに既に得られたセンサのサンプルの数、
・現在のクラスタID、
・今までに見られたクラスタの時間的並び、例えば、クラスタIDの並び3、4、3もしくは1、4、3、5が、センサのサンプリングが行われることをトリガし得る、
・現在のクラスタIDの以前の発生中に得られたサンプルの数、例えば、現在のWi-FiクラスタIDに関して既に実行されたGPS走査の数が閾値の10を超える場合、サンプリングしない、
・クラスタの現在の時間的並びの以前の発生中に得られたサンプルの数、例えば、時間的なクラスタの並び3、4、3のすべての以前の発生で、合計で10個のサンプルが得られてよく、その結果、時間的並び3、4、3が将来発生するとサンプリングが有効化/無効化され得る、
・今までに得られたセンサのサンプルの値、
・現在のクラスタIDの以前の発生中に得られたセンサのサンプルの値、例えば、現在のWi-Fiクラスタに関して実行されたGPS走査がはっきりと衛星が見えることを既に決定的に示す場合、将来のGPS走査が現在のクラスタに関して無効化され得、もしくは現在のWi-Fiクラスタに関して実行されたGPS走査がはっきりしない場合、GPS走査が現在のクラスタに関して継続し得る、
・クラスタの現在の時間的並びの以前の発生中に得られたセンサのサンプルの値、
・今までに収集されたセンサのサンプルを前提として目標の推定が現在なされ得る精度(もしくは信頼性)、ならびに/または
・追加のセンサのサンプルを収集した結果として得られる有用性の推定される向上。
【００９３】
サンプリングに関する判断は、上記の量が事前に定義された閾値を超えられないことに基づいてよい。追加的にまたは代替的に、判断は、確率的に行われ得る。例えば、センサのサンプリングをオンにする確率は、既に収集されたサンプルの数に反比例し得る。
【００９４】
上述のように瞬間的な低レベルの特徴/推定およびクラスタから導出されたコンテキストの融合が、図9の図900によって示される。ここでは、N個のデータストリームに関連するコンテキストラベルが、図6の図600に関連して上で説明された方法と同様の方法でモデル550を用いて(例えば、コンテキスト推定モジュール260によって)段階610、620、630において取得される。加えて、瞬間的な低レベルの特徴および推定が、(例えば、統計モジュール230によって)段階910においてその他のデータストリームから計算され、これらの瞬間的な特徴および推定に関連するコンテキストラベルが、段階920において(例えば、モデル550から)読み出される。その後、段階630および920において得られたコンテキストラベルが、段階930において、関連するクラスタならびに低レベルの特徴および推定のすべてにわたって融合される。ここで、段階920、930は、コンテキスト推定モジュール260によって実行されるが、その他の構成も、あり得る。
【００９５】
上述の融合を実行するために、図10の図1000によって示される確率的グラフモデルなどの確率的グラフモデルが、コンテキスト推定モジュール260によって使用され得る。ここで、変数S(t)は、分tの間のユーザのコンテキストを表す。したがって、S(t)は、MEETING、WORKING ALONE、DRIVINGなどであり得る。変数Ci(t)は、分tの間のクラスタの種類iのIDを表す。したがって、C1(t)は、t分目の音声環境のクラスタIDを表し得、C2(t)は、t分目のWi-Fiベースのクラスタを表し得る。変数Li(t)は、分tの間の第iの低レベルの特徴または推定を表す。したがって、L1(t)がt分目に発話があるか否かを表す、L2(t)が動きの状態を表す、L3(t)がGPS速度を表してよいなどがある。変数fは、クラスタモデル(例えば、各クラスタに関連するコンテキストラベル)を表す。S(t-1)からS(t)への矢印のリンクは、分tのコンテキストが分t-1のコンテキストと相互に関連付けられるという事実を表す。このグラフに対して(ビタビアルゴリズムまたは前向き-後ろ向きアルゴリズム(forward-backward algorithm)などの)推定アルゴリズムを実行することによって、コンテキストS(t)が、計算されたクラスタならびに低レベルの特徴および推定から推定され得る。
【００９６】
クラスタの発生中にまとめられた低レベルの特徴/推定の統計に基づいてクラスタに関するコンテキストラベルを決定するさまざまな方法が、存在する。上述の手法は、それぞれの統計に任意に閾値を設定して、その統計が特定のコンテキストを示すか否かを判定することをともなう。別の手法は、使用する適切な閾値を学習するために多くの訓練ユーザからラベル付けされたデータを収集することをともなう。代替的に、収集されたデータが、図10の確率的グラフモデルを訓練するために使用され得る。
【００９７】
図11を参照し、図1〜図10をさらに参照すると、データクラスタにコンテキストラベルを適用するプロセス1100は、示される段階を含む。しかし、プロセス1100は、単なる例であり、限定的でない。プロセス1100は、例えば、段階を追加、削除、再配置、組み合わせ、および/または同時実行させることによって変更され得る。示され、説明されるプロセス1100のさらにその他の代替が、あり得る。
【００９８】
段階1102において、1つまたは複数のデータソース210に割り振られたデータストリームに関連するデータ点が、取得される。
【００９９】
段階1104において、段階1102で取得されたデータ点が、例えば、クラスタ化モジュール240によって1組のクラスタのうちのそれぞれのクラスタに割り振られる。クラスタは、上述のように、予め特定されたクラスタまたは新しいクラスタであってよい。
【０１００】
段階1106において、統計的な特徴および/または推定が、第1のデータストリーム、および/またはそれぞれのその他のデータソースに関連するその他のデータストリームに関して、例えば、統計モジュール230によってまとめられる。まとめられ得る特徴/推定の例は、上で説明されている。その他の特徴/推定も、あり得る。
【０１０１】
段階1108において、コンテキストラベルが、段階1106でまとめられた統計的な特徴および推定に基づいて、例えば、コンテキストモデリングモジュール250によってクラスタのそれぞれに割り振られる。
【０１０２】
図12を参照し、図1〜図10をさらに参照すると、収集されたセンサデータおよびコンテキストモデルを使用してデバイスコンテキストを推定するプロセス1200が、示される段階を含む。しかし、プロセス1200は、単なる例であり、限定的でない。プロセス1200は、例えば、段階を追加、削除、再配置、組み合わせ、および/または同時実行させることによって変更され得る。示され、説明されるプロセス1200のさらにその他の代替が、あり得る。
【０１０３】
段階1202において、コンテキストモデルが、例えば、コンテキストモデリングモジュール250、またはメモリ140などのメモリから読み出される。モデルは、1組のクラスタのうちのそれぞれのクラスタに時間的にグループ化されるセンサデータ点を含む。モデルは、1組のクラスタのそれぞれに割り振られたコンテキストラベルも含む。
【０１０４】
段階1204において、1つまたは複数のデータソース210に割り振られたデータストリームに関連するデータ点が、取得される。
【０１０５】
段階1206において、段階1204で取得されたデータ点を表すコンテキストモデルのクラスタが、(例えば、コンテキスト推定モジュール260によって)決定される。この決定は、統計モジュール230によって決定された、データ点に関連する統計的な特徴/推定に基づいてよい。あるいは、データ点は、段階1206において、モデルのどのクラスタにも対応しないと判定され得る。この場合、「未分類」もしくは「未知」ラベルが使用され得、新しいクラスタおよび/もしくはコンテキストラベルが生成され得、またはその他の措置が取られ得る。
【０１０６】
段階1208において、出力コンテキストラベルが、段階1206で決定されたクラスタに関連するコンテキストラベルとして選択される。そして、このコンテキストラベルが、プロセス1200が動作するデバイスに関連する1つまたは複数のアプリケーションにデバイスコンテキストの推定として提供される。
【０１０７】
図13に示されるコンピュータシステム1300が、上述のコンピュータ化されたデバイスの機能を少なくとも部分的に実装するために利用され得る。例えば、コンピュータシステム1300は、図11〜図12に示されたプロセス1100、1200を少なくとも部分的にソフトウェアで実装するために利用され得る。コンピュータシステム1300は、汎用プロセッサ111および/またはメモリ140などの、図1に示されたモバイルデバイス100の構成要素のうちの1つまたは複数によってやはり実装され得る。追加的にまたは代替的に、コンピュータシステム1300は、図2に示されたシステム200および/またはモジュール230、240、250、260などのそのシステム200の構成要素のうちの1つもしくは複数の少なくとも部分的なソフトウェアの実装を提供するために使用され得る。コンピュータシステム1300のその他の実装が、あり得る。例えば、入力デバイス1315は、図1に示されたセンサ125および/または図2に示されたデータソース210のいずれかを含み、および/または図1に示されたセンサ125および/または図2に示されたデータソース210のいずれかを実装するために使用され得る。さらに、プロセッサ1310、および/またはプロセッサ1310と組み合わされるかもしくは独立して動作するオペレーティングシステム1340かもしくはアプリケーション1345かのどちらかなどの作業メモリ1335の一部が、図2および図3に示されたモジュール230〜260のいずれかを含むか、ならびに/または図2および図3に示されたモジュール230〜260のいずれかを実装するために使用され得る。一部の実施形態において、プロセッサ1310は、プロセッサ111および/もしくは図1に示されたDSP 112を含み、ならびに/またはプロセッサ111および/もしくは図1に示されたDSP 112を実装するために使用され得、作業メモリ1335およびストレージデバイス1325のうちの一方または両方は、図1に示されたメモリ140を含み、および/または図1に示されたメモリ140を実装するために使用され得る。
【０１０８】
図13は、本明細書において説明されたさまざまなその他の実施形態によって提供される方法を実行することができ、ならびに/またはモバイルデバイスもしくはその他のコンピュータシステムとして機能することができるコンピュータシステム1300の1つの実施形態を概略的に示す。図13は、必要に応じていずれかまたはすべてが利用され得るさまざまな構成要素を一般化して示すようにのみ意図されていることに留意されたい。したがって、図13は、個々のシステムの要素がどのように比較的分割されるようにしてまたは比較的より一体的に実装され得るのかを大まかに示す。
【０１０９】
バス1305を介して電気的に結合され得る(またはその他の方法で必要に応じて通信し得る)ハードウェア要素を含むコンピュータシステム1300が、示されている。ハードウェア要素は、1つもしくは複数の汎用プロセッサおよび/または(デジタル信号処理チップ、グラフィックスアクセラレーションプロセッサなどの) 1つもしくは複数の専用プロセッサを限定なしに含む1つまたは複数のプロセッサ1310と、マウス、キーボードなどを限定なしに含み得る1つまたは複数の入力デバイス1315と、ディスプレイデバイス、プリンタなどを限定なしに含み得る1つまたは複数の出力デバイス1320とを含み得る。プロセッサ1310は、例えば、インテリジェントなハードウェアデバイス、例えば、Intel (登録商標) CorporationまたはAMD (登録商標)によって製造された中央演算処理装置(CPU)などのCPU、マイクロコントローラ、ASICなどを含み得る。その他のプロセッサの種類も、利用され得る。
【０１１０】
コンピュータシステム1300は、ローカルおよび/もしくはネットワークアクセス可能ストレージを限定なしに含み得る、ならびに/またはディスクドライブ、ドライブアレイ、光学式ストレージデバイス、ランダムアクセスメモリ(「RAM」)および/もしくはプログラム可能、フラッシュ更新可能などである得る読み出し専用メモリ(「ROM」)などのソリッドステートストレージデバイスを限定なしに含み得る1つもしくは複数の非一時的ストレージデバイス1325をさらに含み得る(および/または1つもしくは複数の非一時的ストレージデバイス1325と通信する)。そのようなストレージデバイスは、さまざまなファイルシステム、データベース構造などを限定なしに含む任意の適切なデータストアを実装するように構成され得る。
【０１１１】
コンピュータシステム1300は、モデム、(ワイヤレスまたは有線)ネットワークカード、赤外線通信デバイス、(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラ通信設備などの)ワイヤレス通信デバイスおよび/またはチップセットなどを限定なしに含み得る通信サブシステム1330も含み得る。通信サブシステム1330は、(一例を挙げるとすれば以下で説明されるネットワークなどの)ネットワーク、その他のコンピュータシステム、および/または本明細書に記載の任意のその他のデバイスとデータが交換されることを可能にし得る。多くの実施形態において、コンピュータシステム1300は、上述のように、RAMまたはROMデバイスを含み得る作業メモリ1335をさらに含む。
【０１１２】
コンピュータシステム1300は、オペレーティングシステム1340、デバイスドライバ、実行可能ライブラリ、ならびに/またはさまざまな実施形態によって提供されたコンピュータプログラムを含み得、ならびに/または本明細書において説明されたようにその他の実施形態によって提供された方法を実施し、および/もしくはシステムを構成するように設計され得る1つまたは複数のアプリケーションプログラム1345などのその他のコードを含む、作業メモリ1335内に現在配置されているように示されたソフトウェア要素も含み得る。単なる例として、上で検討された方法に関連して説明された1つまたは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装され得、そのようなコードおよび/または命令は、説明された方法にしたがって1つまたは複数の動作を実行するように多目的コンピュータ(またはその他のデバイス)を構成および/または適合するために使用され得る。
【０１１３】
1組のこれらの命令および/またはコードは、上述のストレージデバイス1325などのコンピュータ可読ストレージ媒体に記憶され得る。場合によっては、ストレージ媒体は、システム1300などのコンピュータシステム内に組み込まれてよい。その他の実施形態において、ストレージ媒体は、コンピュータシステムと分かれていてよく(例えば、コンパクトディスクなどの取り外し可能な媒体)、ならびに/またはそのストレージ媒体に記憶された命令/コードによって多目的コンピュータをプログラム、構成、および/もしくは適合するために使用され得るようにインストールパッケージで提供され得る。これらの命令は、コンピュータシステム1300によって実行可能である実行可能コードの形態をとってよく、ならびに/または(例えば、さまざまな広く入手可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)コンピュータシステム1300でコンパイルおよび/もしくはインストールされると実行可能コードの形態をとるソースおよび/もしくはインストール可能なコードの形態をとり得る。
【０１１４】
具体的な望みに応じて大きな変更がなされ得る。例えば、カスタマイズされたハードウェアも使用され得、および/または特定の要素がハードウェア、(アプレットなどのポータブルソフトウェアを含む)ソフトウェア、もしくはこれらの両方で実装され得る。さらに、ネットワーク入力/出力デバイスなどのその他のコンピューティングデバイスへの接続が、使用され得る。
【０１１５】
(コンピュータシステム1300などの)コンピュータシステムが、本開示による方法を実行するために使用され得る。そのような方法の手順の一部またはすべては、作業メモリ1335に含まれる(オペレーティングシステム1340および/またはアプリケーションプログラム1345などのその他のコードに組み込まれ得る)1つまたは複数の命令の1つまたは複数のシーケンスをプロセッサ1310が実行することに応じてコンピュータシステム1300によって実行され得る。そのような命令は、ストレージデバイス1325のうちの1つまたは複数などの別のコンピュータ可読媒体から作業メモリ1335に読み込まれ得る。単なる例として、作業メモリ1335に含まれる命令のシーケンスの実行は、プロセッサ1310に本明細書において説明された方法の1つまたは複数の手順を実行させてよい。
【０１１６】
本明細書で使用される用語「機械可読媒体」および「コンピュータ可読媒体」は、機械を特定の方法で動作させるデータを提供することに関与する任意の媒体を指す。コンピュータシステム1300を使用して実装される一実施形態において、さまざまなコンピュータ可読媒体は、実行するためにプロセッサ1310に命令/コードを与えることに関与し得、ならびに/またはそのような命令/コードを(例えば、信号として)記憶するおよび/もしくは運ぶために使用され得る。多くの実装において、コンピュータ可読媒体は、物理的なおよび/または有形のストレージ媒体である。そのような媒体は、不揮発性媒体、揮発性媒体、および送信媒体を含むがこれらに限定されない多くの形態をとり得る。不揮発性媒体は、例えば、ストレージデバイス1325などの光ディスクおよび/または磁気ディスクを含む。揮発性媒体は、作業メモリ1335などのダイナミックメモリを限定なしに含む。送信媒体は、バス1305を含む配線を含む同軸ケーブル、銅線、および光ファイバ、ならびに通信サブシステム1330のさまざまな構成要素(および/または通信サブシステム1330がその他のデバイスとの通信を提供する媒体)を限定なしに含む。したがって、通信媒体は、(電波および赤外線データ通信中に生成される電波、音波、および/または光波などの電波、音波、および/または光波を限定なしに含む)波の形態をとり得る。
【０１１７】
物理的なおよび/または有形のコンピュータ可読媒体のよくある形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意のその他の磁気媒体、CD-ROM、ブルーレイディスク、任意のその他の光媒体、パンチカード、紙テープ、穴のパターンを用いる任意のその他の物理的な媒体、RAM、PROM、EPROM、FLASH-EPROM、任意のその他のメモリチップもしくはカートリッジ、以降で説明される搬送波、またはコンピュータが命令および/もしくはコードを読むことができる任意のその他の媒体を含む。
【０１１８】
さまざまな形態のコンピュータ可読媒体が、実行するために1つまたは複数の命令の1つまたは複数のシーケンスをプロセッサ1310に運ぶことに関与させられ得る。単なる例として、命令は、初めに、遠隔のコンピュータの磁気ディスクおよび/または光ディスクに運ばれる得る。遠隔のコンピュータは、命令をそのコンピュータのダイナミックメモリにロードし、コンピュータシステム1300によって受信および/または実行されるように、命令を送信媒体を介して信号として送信し得る。電磁信号、音響信号、光信号などの形態であってよいこれらの信号は、すべて、本発明のさまざまな実施形態による、命令が符号化され得る搬送波の例である。
【０１１９】
通信サブシステム1330 (および/またはその構成要素)は、概して、信号を受信し、そして、バス1305は信号(および/または信号によって運ばれるデータ、命令など)を作業メモリ1335に運んでよく、プロセッサ1305は、作業メモリ1335から命令を読み出し、実行する。作業メモリ1335によって受信された命令は、任意で、プロセッサ1310による実行の前かまたは後かのどちらかにストレージデバイス1325に記憶され得る。
【０１２０】
上で検討された方法、システム、およびデバイスは、例である。さまざまな代替的な構成は、必要に応じてさまざまな手順または構成要素を省略、置換、または追加し得る。例えば、代替的な方法においては、段階が、上の検討とは異なる順序で実行され得、さまざまな段階が、追加されるか、省略されるか、または組み合わされ得る。また、特定の構成に関連して説明された特徴は、さまざまなその他の構成で組み合わされ得る。構成の異なる態様および要素は、同様にして組み合わされ得る。さらに、技術は発展し、したがって、要素の多くは例であり、本開示または請求項の範囲を限定しない。
【０１２１】
例示的な構成(実装を含む)が完全に理解されるように、説明において特定の詳細が与えられている。しかし、構成は、これらの特定の詳細なしに実施され得る。例えば、よく知られている回路、プロセス、アルゴリズム、構造、および技術は、構成を曖昧にすることを避けるために不必要な詳細なしに示された。この説明は、例示的な構成を提供するだけであり、請求項の範囲、適用可能性、または構成を限定しない。むしろ、構成の前述の説明は、説明された技術を実装するための実施を可能にする説明を当業者に与える。本開示の範囲を逸脱することなく、要素の機能および構成にさまざまな変更がなされ得る。
【０１２２】
構成は、流れ図またはブロック図として示されるプロセスとして説明され得る。それぞれが動作を逐次的なプロセスとして説明し得るが、動作の多くは、並列にまたは同時に実行され得る。加えて、動作の順序は、再編成され得る。プロセスは、図に含まれていない追加のステップを有し得る。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはこれらの任意の組み合わせによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、ストレージ媒体などの非一時的コンピュータ可読媒体に記憶され得る。プロセッサが、説明されたタスクを実行し得る。
【０１２３】
請求項を含め、本明細書において使用されるとき、「〜のうちの少なくとも1つ(at least one of)」が前に置かれた項目のリストで使用される「または(or)」は、例えば、「A、B、またはCのうちの少なくとも1つ」のリストがAもしくはBもしくはCまたはABもしくはACもしくはBCまたはABC (すなわちAおよびBおよびC)、あるいは2つ以上の特徴との組み合わせ(例えば、AA、AAB、ABBCなど)を意味するような選言的(disjunctive)リストを示す。
【０１２４】
いくつかの例示的な構成を説明したが、本開示の範囲から逸脱することなくさまざまな修正および代替的な構造が使用され得る。例えば、上記の要素は、より大きなシステムの構成要素であり得、その他の規則が、本発明の応用よりも優先するか、またはそうでなければ本発明の応用を修正し得る。また、いくつかのステップが、上記の要素が考慮される前、考慮される間、または考慮された後に開始され得る。したがって、上記の説明は、請求項の範囲を拘束しない。
【符号の説明】
【０１２５】
100  モバイルデバイス
101  バス
110  バスインターフェース
111  汎用プロセッサ
112  デジタル信号プロセッサ(DSP)
120  ワイヤレストランシーババスインターフェース
121  ワイヤレストランシーバ
122  ワイヤレスアンテナ
123  ワイヤレス信号
135  センサ
140  メモリ
200  システム
210  データソース
212  音声センサ
214  位置センサ
216  ネットワークセンサ
218  動きセンサ
220  カレンダ/アポイントメント記録
222  時間/日情報のソース
224  デバイス使用モニタ
226  光および/またはカメラセンサ
230  統計モジュール
240  クラスタ化モジュール
250  コンテキストモデリングモジュール
260  コンテキスト推定モジュール
1300  コンピュータシステム
1305  バス
1310  プロセッサ
1315  入力デバイス
1320  出力デバイス
1325  ストレージデバイス
1330  通信サブシステム
1335  作業メモリ
1340  オペレーティングシステム
1345  アプリケーション
【図１】
0006284538.tif 000003
【図２】
0006284538.tif 000004
【図３】
0006284538.tif 000005
【図４】
0006284538.tif 000006
【図５】
0006284538.tif 000007
【図６】
0006284538.tif 000008
【図７】
0006284538.tif 000009
【図８】
0006284538.tif 000010
【図９】
0006284538.tif 000011
【図１０】
0006284538.tif 000012
【図１１】
0006284538.tif 000013
【図１２】
0006284538.tif 000014
【図１３】
0006284538.tif 000015