(57)【特許請求の範囲】
【請求項１】
装置の処理手段がプログラム命令を実行することにより、前記装置が遂行する方法であって、
コンテキストタグの第１セット、及び、コンテキストタグの第２セットを形成することであって、前記第１セット及び前記第２セットは、各々装置のコンテキストに対応すると共に、前記装置のコンテキストの異なる期間にそれぞれ対応する、前記形成することと、
前記第１セットから第１導出コンテキストデータを導出し、前記第２セットから第２導出コンテキストデータを導出することと、
前記第１導出コンテキストデータと前記第２導出コンテキストデータとの差を決定することと、
前記差に基づいて、コンテキストが変更されたかを判定することと、
コンテキストが変更されたと判定されることに応じて前記装置を制御することと、
を含み、前記第２導出コンテキストデータは、前記第１導出コンテキストデータよりも速く前記コンテキストの変更を反映する、方法。
【請求項２】
請求項１に記載の方法であって、前記第１導出コンテキストデータが前記第２導出コンテキストデータよりも前のタイムインスタンスに少なくとも一部対応するように、前記第１セットが、前記第２セットのコンテキストタグよりも前のタイムインスタンスに対応する少なくとも１つのコンテキストタグを含む、方法。
【請求項３】
請求項１または２に記載の方法であって、前記第１導出コンテキストデータが前記第２導出コンテキストタグよりも長い期間に対応するように、前記第１セットが、前記第２セットのコンテキストタグよりも長い期間に対応するコンテキストタグを含む、方法。
【請求項４】
請求項１、２または３に記載の方法であって、
前記コンテキストタグに対応する疎ベクトルのコードブックであって、前記疎ベクトルの非ゼロ要素の数に対して高次元を有する疎ベクトルのコードブックを形成することと、
前記コードブックを用いて前記第１セットから第１コンテキスト疎ベクトルを形成し、前記第２セットから第２コンテキスト疎ベクトルを形成することと、
前記第１及び第２コンテキスト疎ベクトルを用いて前記差を決定することと、
を含む、方法。
【請求項５】
請求項４に記載の方法であって、前記コードブックを形成することは、
タグを含むドキュメントについてランダム疎ベクトルを形成することと、
前記タグが存在するドキュメントについて前記疎ベクトルからタグのコードブックベクトルに寄与を付加することと、
複数のタグに対して前記寄与の付加を繰り返すことと、
を含む、方法。
【請求項６】
請求項４または５に記載の方法であって、さらに、
前記第１コンテキスト疎ベクトルと第２コンテキスト疎ベクトルとの距離を算出して前記差を決定すること、を含む、方法。
【請求項７】
請求項４、５または６に記載の方法であって、さらに、
前記コードブックを用いて前記第１コンテキスト疎ベクトルから第１コンテキストを決定することと、
前記コードブックを用いて、前記第２コンテキスト疎ベクトルから第２コンテキストを決定することと、
前記決定された第１コンテキストと、前記決定された第２コンテキストとの距離を算出して前記差を決定することと、を含む、方法。
【請求項８】
請求項６または７に記載の方法であって、
前記距離は、ユークリッド距離、水平移動距離、ドット積及びハウスドルフ距離のグループから選択される少なくとも１つの距離測度を用いて算出される、方法。
【請求項９】
請求項１から８のいずれかに記載の方法であって、
前記タグは、一般的なワード、ブランド名、インターネットアドレスのワード、及び、センサまたはアプリケーションからの状態であってワードに形成される状態のグループからのワードを含む、方法。
【請求項１０】
請求項１から９のいずれかに記載の方法であって、
タグのセットの少なくとも１つは、対応するコンテキスト情報に重み付けを行うことによって形成または使用される、方法。
【請求項１１】
請求項１０に記載の方法であって、
前記重み付けは、時間、タイムインスタンスで前記タグに関連付けられたコンテキストの種類、及び、タイムインスタンスで前記タグに関連付けられたコンテキストに関連する期待値のグループのうち少なくとも１つに基づく、方法。
【請求項１２】
請求項１から１１のいずれかに記載の方法であって、
前記制御することは、前記コンテキストの変更に基づいてアプリケーション状態を設定することを含む、方法。
【請求項１３】
請求項１から１２のいずれかに記載の方法であって、前記制御することは、
ソーシャルメディア・アクティビティ・コンテキストを決定することと、
前記ソーシャルメディア・アクティビティ・コンテキストに応じて前記ユーザに関連情報を提示することと、
を含む、方法。
【請求項１４】
処理手段と、プログラム命令を格納する記憶手段とを有する装置であって、前記プログラム命令は、前記処理手段に実行されると前記装置に請求項１から１３のいずれかに記載の方法を遂行させるように構成される、装置。
【請求項１５】
処理手段と、プログラム命令を格納する記憶手段とを有するシステムであって、前記プログラム命令は、前記処理手段に実行されると前記システムに請求項１から１３のいずれかに記載の方法を遂行させるように構成される、システム。
【請求項１６】
処理手段と、プログラム命令を格納する記憶手段とを有するシステムであって、前記プログラム命令は、システムの処理手段に実行されると該システムに請求項１から１３のいずれかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【請求項１７】
装置であって、
コンテキストタグの第１セット、及び、コンテキストタグの第２セットを形成する手段であって、前記第１セット及び前記第２セットは、各々前記装置のコンテキストに対応すると共に、前記装置のコンテキストの異なる期間にそれぞれ対応する、前記形成する手段と、
前記第１セットから第１導出コンテキストデータを導出し、前記第２セットから第２導出コンテキストデータを導出する手段と、
前記第１導出コンテキストデータと前記第２コンテキストデータとの差を決定する手段と、
前記差に基づいてコンテキストが変更されたかを判定する手段と、
コンテキストが変更されたと判定されると、前記装置を制御する手段と、
を有し、前記第２導出コンテキストデータは、前記第１導出コンテキストデータよりも速く前記装置のコンテキストの変更を反映する、装置。
【請求項１８】
請求項１７に記載の装置であって、さらに、
前記コンテキストタグに対応する疎ベクトルのコードブックであって、前記疎ベクトルの非ゼロ要素の数に対して高次元を有する疎ベクトルのコードブックを形成する手段と、
前記コードブックを用いて前記第１セットから第１コンテキスト疎ベクトルを形成し、前記第２セットから第２コンテキスト疎ベクトルを形成する手段と、
前記第１及び第２コンテキスト疎ベクトルを用いて前記差を決定する手段と、
を有する、装置。
【請求項１９】
請求項１８に記載の装置であって、さらに、
タグを含むドキュメントに対してランダム疎ベクトルを形成する手段と、
前記タグが存在するドキュメントについて前記疎ベクトルからタグのコードブックベクトルに寄与を付加する手段と、
複数のタグに対して前記寄与の付加を繰り返す手段と、
を有する、装置。
【請求項２０】
請求項１８または１９に記載の装置であって、さらに、
前記第１コンテキスト疎ベクトルと第２コンテキスト疎ベクトルとの距離を算出して前記差を決定する手段を有する、装置。
【請求項２１】
請求項１８から２０のいずれかに記載の装置であって、さらに、
前記コードブックを用いて前記第１コンテキスト疎ベクトルから第１コンテキストを決定する手段と、
前記コードブックを用いて、前記第２コンテキスト疎ベクトルから第２コンテキストを決定する手段と、
前記決定された第１コンテキストと、前記決定された第２コンテキストとの距離を算出して前記差を決定する手段と、
を有する、装置。
【請求項２２】
請求項１７から２１のいずれかに記載の装置であって、さらに、
前記コンテキストの変更に基づいて、アプリケーション状態を設定する手段を有する、装置。
【請求項２３】
請求項１４に記載の装置であって、さらに、
ソーシャルメディア・アクティビティ・コンテキストを決定する手段と、
前記ソーシャルメディア・アクティビティ・コンテキストに応じて前記ユーザに関連情報を提示する手段と、
を有する、装置。
【発明の詳細な説明】
【背景】
【０００１】
スマートフォンやコンピュータのような最新のユーザ電子装置は、例えば、様々なニーズに対する様々なプログラムや、位置決め、通信及びエンターテイメントのための様々なモジュールなどの、複数の機能を担っている。これらの装置では数多くの種類のタスクが実行可能であり、個々のタスクは、複雑である。例えば、今日の世界で実行される仕事の多くは、コンピュータの助けによって行われており、同様に、電子装置は、仕事以外の時間においても日常生活の一部となっている。
【０００２】
コンピュータやスマートフォンのような最新の電子装置のユーザは、システムが提供する様々な機能に圧倒されてしまうかもしれない。このため、これらの装置は、装置の機能の見た目や配置をカスタマイズする方法を提供して、ユーザが、必要とする装置の機能を容易に利用できるようにしている。しかし、システムの使用状況だけでなくシステムのおかれている状態が、ユーザの好み及びニーズに影響することがある。
【０００３】
そこで、ユーザシステムの状況及び／または状態を決定する解決策が求められている。
【摘要】
【０００４】
本発明者は、上記の問題を緩和する方法を実施する改善された方法及び技術的装置を発明した。本発明の様々な態様は、独立請求項に特徴が記載された、方法、装置、サーバ、クライアント、データ構造、及び、コンピュータプログラムを保存したコンピュータ可読媒体を含む。本発明の様々な実施形態は、従属請求項に開示される。
【０００５】
本発明は、システムを制御できるように、あるいは、コンテキスト情報をシステムで使用できるようにシステムのコンテキストを決定する技術に関する。システムのコンテキストは、例えば、システムの状態、システムの環境、ユーザの状態などを特徴付けるタグまたはワードで記載されている。これらのタグは、複数のタイムインスタンスで決定される。タグは、第１期間及び第２期間にわたって収集され、タグの２つ以上のセットを用いてシステムのコンテキストが決定される。２つのセットを用いた決定の結果が異なる場合、すなわち、導出された２つのコンテキスト間の距離が大きい場合、コンテキストが変更されたと決定される。コンテキストの変更を検出することにより、例えば、ユーザインターフェース上でユーザに提示するアプリケーションを変更するか、または、アプリケーションの状態及び／または優先順位を変更することによって、システムを制御することができる。
【０００６】
第１の態様によれば、提供される方法は、コンテキストタグの第１セット、及び、コンテキストタグの第２セットを形成することであって、前記第１セット及び前記第２セットは、各々システムのコンテキストに対応すると共に、前記システムのコンテキストの異なる期間にそれぞれ対応する、前記形成することと、前記第１セットから第１導出コンテキストデータを導出し、前記第２セットから第２導出コンテキストデータを導出することと、前記第１導出コンテキストデータと前記第２導出コンテキストデータとの差を決定することと、前記差に基づいてコンテキストが変更されたかを判定することと、コンテキストが変更されたと判定されると、前記システムを制御することと、を含む。
【０００７】
実施形態によっては、前記第１導出コンテキストデータが前記第２導出コンテキストデータよりも前のタイムインスタンスに少なくとも一部対応するように、前記第１セットは、前記第２セットのコンテキストタグよりも前のタイムインスタンスに対応する少なくとも１つのコンテキストタグを含む。実施形態によっては、前記第１導出コンテキストデータが前記第２導出コンテキストタグよりも長い期間に対応するように、前記第１セットは、前記第２セットのコンテキストタグよりも長い期間に対応するコンテキストタグを含む。実施形態によっては、前記方法は、前記コンテキストタグに対応する疎ベクトルのコードブックであって、前記疎ベクトルの非ゼロ要素の数に対して高次元を有する疎ベクトルのコードブックを形成することと、前記コードブックを用いて前記第１セットから第１コンテキスト疎ベクトルを形成し、前記第２セットから第２コンテキスト疎ベクトルを形成することと、前記第１及び第２コンテキスト疎ベクトルを用いて前記差を決定することと、を含む。実施形態によっては、前記コードブックを形成することは、タグを含むドキュメントについてランダム疎ベクトルを形成することと、前記タグが存在するドキュメントについて前記疎ベクトルからタグのコードブックベクトルに寄与を付加することと、複数のタグに対して前記寄与の付加を繰り返すことと、を含む。実施形態によっては、前記方法は、前記第１コンテキスト疎ベクトルと第２コンテキスト疎ベクトルとの距離を算出して前記差を決定することを含む。実施形態によっては、前記方法は、前記コードブックを用いて前記第１コンテキスト疎ベクトルから第１コンテキストを決定することを含む。実施形態によっては、前記方法は、前記コードブックを用いて、前記第２コンテキスト疎ベクトルから第２コンテキストを決定することと、前記決定された第１コンテキストと、前記決定された第２コンテキストとの距離を算出して前記差を決定することと、を含む。実施形態によっては、前記距離は、ユークリッド距離、水平移動距離、ドット積及びハウスドルフ距離の群から選択される少なくとも１つの距離測度を用いて算出される。実施形態によっては、前記タグは、一般的なワード、ブランド名、インターネットアドレスのワード、及び、センサまたはアプリケーションからの状態であってワードに形成される状態の群からのワードを含む。実施形態によっては、タグのセットの少なくとも１つは、対応するコンテキスト情報に重み付けを行うことによって形成または使用される。実施形態によっては、前記重み付けは、時間、タイムインスタンスで前記タグに関連付けられたコンテキストの種類、及び、タイムインスタンスで前記タグに関連付けられたコンテキストに関連する期待値の群のうち少なくとも１つに基づく。実施形態によっては、前記制御することは、前記コンテキストの変更に基づいてアプリケーション状態を設定することを含む。実施形態によっては、前記制御することは、ソーシャルメディア・アクティビティ・コンテキストを決定することと、前記ソーシャルメディア・アクティビティ・コンテキストに応じて前記ユーザに関連情報を提示することと、を含む。
【０００８】
第２の態様によれば、提供される装置は、少なくとも１つの処理装置と、１つ以上のプログラムユニットのためのコンピュータプログラムコードを含む少なくとも１つのメモリと、を含む装置であって、前記少なくとも１つのメモリ及び前記コンピュータプログラムコードは、前記処理装置により、前記装置に、コンテキストタグの第１セット、及び、コンテキストタグの第２セットを形成することであって、前記第１セット及び前記第２セットは、各々装置のコンテキストに対応すると共に、前記装置のコンテキストの異なる期間にそれぞれ対応する、前記形成することと；前記第１セットから第１導出コンテキストデータを導出し、前記第２セットから第２導出コンテキストデータを導出することと；前記第１導出コンテキストデータと前記第２導出コンテキストデータとの差を判定することと；前記差に基づいて、コンテキストが変更されたかを判定することと；コンテキストが変更されたと判定されることに応じて前記装置を制御することと；を行わせるように構成される。
【０００９】
実施形態によっては、前記第１導出コンテキストデータが前記第２導出コンテキストデータよりも前のタイムインスタンスに少なくとも一部対応するように、前記第１セットは、前記第２セットのコンテキストタグよりも前のタイムインスタンスに対応する少なくとも１つのコンテキストタグを含む。実施形態によっては、前記第１導出コンテキストデータが前記第２導出コンテキストタグよりも長い期間に対応するように、前記第１セットは、前記第２セットのコンテキストタグよりも長い期間に対応するコンテキストタグを含む。実施形態によっては、前記装置は、コンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記装置に、前記コンテキストタグに対応する疎ベクトルのコードブックであって、前記疎ベクトルの非ゼロ要素の数に対して高次元を有する疎ベクトルのコードブックを形成させ、前記コードブックを用いて、前記第１セットから第１コンテキスト疎ベクトルを形成させ、前記第２セットから第２コンテキスト疎ベクトルを形成させ、前記第１及び第２コンテキスト疎ベクトルを用いて前記差を決定させるように構成される。実施形態によっては、前記装置は、前記コードブックを形成するためのコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記装置に、タグを含むドキュメントに対してランダムな疎ベクトルを形成させ、前記タグが存在するドキュメントについて前記疎ベクトルからタグのコードブックベクトルに寄与を付加させ、複数のタグに対して前記寄与の付加を繰り返させるように構成される。実施形態によっては、前記装置は、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記装置に、前記第１コンテキスト疎ベクトルと前記第２コンテキスト疎ベクトルとの距離を算出させて前記差を決定させるように構成される。実施形態によっては、前記装置は、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記装置に、前記コードブックを用いて前記第１コンテキスト疎ベクトルから第１コンテキストを決定させ、前記コードブックを用いて前記第２コンテキスト疎ベクトルから第２コンテキストを決定させ、前記決定された第１コンテキスト及び前記決定された第２コンテキストとの距離を算出させて前記差を決定させるように構成される。実施形態によっては、前記距離は、ユークリッド距離、水平移動距離、ドット積及びハウスドルフ距離の群から選択される少なくとも１つの距離測度を用いて算出される。実施形態によっては、前記タグは、一般的なワード、ブランド名、インターネットアドレスのワード、及び、センサまたはアプリケーションからの状態であってワードに形成される状態の群からのワードを含む。実施形態によっては、タグのセットの少なくとも１つは、対応するコンテキスト情報に重み付けを行うことによって形成または使用される。実施形態によっては、前記重み付けは、時間、タイムインスタンスで前記タグに関連付けられたコンテキストの種類、及び、タイムインスタンスで前記タグに関連付けられたコンテキストに関連する期待値の群のうち少なくとも１つに基づく。実施形態によっては、前記装置は、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記装置に、前記コンテキストの変更に基づいて、アプリケーション状態を設定させるように構成される。実施形態によっては、前記装置は、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記装置に、ソーシャルメディア・アクティビティ・コンテキストを決定させ、前記ソーシャルメディア・アクティビティ・コンテキストに応じて、前記ユーザに関連情報を提示させるように構成される。
【００１０】
第３の態様によれば、提供されるシステムは、少なくとも１つの処理装置と、１つ以上のプログラムユニットのためのコンピュータプログラムを含む少なくとも１つのメモリと、を含むシステムであって、前記少なくとも１つのメモリ及び前記コンピュータプログラムコードは、前記処理装置により、前記システムに、  コンテキストタグの第１セット、及び、コンテキストタグの第２セットを形成することであって、前記第１セット及び前記第２セットは、各々システムのコンテキストに対応すると共に、前記システムのコンテキストの異なる期間にそれぞれ対応する、前記形成することと；前記第１セットから第１導出コンテキストデータを導出し、前記第２セットから第２導出コンテキストデータを導出することと；前記第１導出コンテキストデータと前記第２導出コンテキストデータとの差を決定することと；前記差に基づいて、コンテキストが変更されたかを判定することと；コンテキストが変更されたと判定されることに応じて前記システムを制御することと；を行わせるように構成される。
【００１１】
実施形態によっては、前記第１導出コンテキストデータが前記第２導出コンテキストデータよりも前のタイムインスタンスに少なくとも一部対応するように、前記第１セットは、前記第２セットのコンテキストタグよりも前のタイムインスタンスに対応する少なくとも１つのコンテキストタグを含む。実施形態によっては、前記第１導出コンテキストデータが前記第２導出コンテキストタグよりも長い期間に対応するように、前記第１セットは、前記第２セットのコンテキストタグよりも長い期間に対応するコンテキストタグを含む。実施形態によっては、前記システムは、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記システムに、前記コンテキストタグに対応する疎ベクトルのコードブックであって、前記疎ベクトルの非ゼロ要素の数に対して高次元を有する疎ベクトルのコードブックを形成させ、前記コードブックを用いて、前記第１セットから第１コンテキスト疎ベクトルを形成させ、前記第２セットら第２コンテキスト疎ベクトルを形成させ、前記第１及び第２コンテキスト疎ベクトルを用いて前記差を決定させるように構成される。実施形態によっては、前記システムは、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記システムに、タグを含むドキュメントに対してランダムな疎ベクトルを形成させ、前記タグが存在するドキュメントについて前記疎ベクトルからタグのコードブックベクトルに寄与を付加させ、複数のタグに対して前記寄与の付加を繰り返させるように構成される。実施形態によっては、前記システムは、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記システムに、前記第１コンテキスト疎ベクトルと前記第２コンテキスト疎ベクトルとの距離を算出させて前記差を決定させるように構成される。実施形態によっては、前記システムは、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記システムに、前記コードブックを用いて前記第１コンテキスト疎ベクトルから第１コンテキストを決定させ、前記コードブックを用いて前記第２コンテキスト疎ベクトルから第２コンテキストを決定させ、前記決定された第１コンテキスト及び前記決定された第２コンテキストとの距離を算出させて前記差を決定させる。実施形態によっては、前記距離は、ユークリッド距離、水平移動距離、ドット積及びハウスドルフ距離の群から選択される少なくとも１つの距離測度を用いて算出されるように構成される。実施形態によっては、前記タグは、一般的なワード、ブランド名、インターネットアドレスのワード、及び、センサまたはアプリケーションからの状態であってワードに形成される状態の群からのワードを含む。実施形態によっては、タグのセットの少なくとも１つは、対応するコンテキスト情報に重み付けを行うことによって形成または使用される。実施形態によっては、前記重み付けは、時間、タイムインスタンスで前記タグに関連付けられたコンテキストの種類、及び、タイムインスタンスで前記タグに関連付けられたコンテキストに関連する期待値の群のうち少なくとも１つに基づく。実施形態によっては、前記システムは、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記システムに、前記コンテキストの変更に基づいて、アプリケーション状態を設定させるように構成される。実施形態によっては、前記システムは、さらにコンピュータプログラムコードを含み、前記コンピュータプログラムコードは、前記少なくとも１つの処理装置により、前記システムに、ソーシャルメディア・アクティビティ・コンテキストを決定させ、前記ソーシャルメディア・アクティビティ・コンテキストに応じて、前記ユーザに関連情報を提示させるように構成される。
【００１２】
第４の態様によれば、提供されるコンピュータプログラム製品は、１つ以上の命令の１つ以上のシーケンスを含むコンピュータプログラム製品であって、当該命令は、１つ以上の処理装置によって実行されると、システムに、第１の態様の実施形態のいずれかに記載の方法を行わせる。
【００１３】
第５の態様によれば、提供されるコンピュータプログラム製品は、１つ以上の命令の１つ以上のシーケンスを含むコンピュータプログラム製品であって、当該命令は、１つ以上の処理装置によって実行されると、システムに、コンテキストタグの第１セット、及び、コンテキストタグの第２セットを形成することであって、前記第１セット及び前記第２セットは、各々システムのコンテキストに対応すると共に、前記システムのコンテキストの異なる期間にそれぞれ対応する、前記形成することと；前記第１セットから第１導出コンテキストデータを導出し、前記第２セットから第２導出コンテキストデータを導出することと；前記第１導出コンテキストデータと前記第２導出コンテキストデータとの差を決定することと；前記差に基づいて、コンテキストが変更されたかを判定することと；コンテキストが変更されたと判定されることに応じて前記システムを制御することと；を行わせるように構成される。
【００１４】
第６の態様によれば、提供される装置は、コンテキストタグの第１セット、及び、コンテキストタグの第２セットを形成する手段であって、前記第１セット及び前記第２セットは、各々装置のコンテキストに対応すると共に、前記装置のコンテキストの異なる期間にそれぞれ対応する、前記形成する手段と；前記第１セットから第１導出コンテキストデータを導出し、前記第２セットから第２導出コンテキストデータを導出する手段と；前記第１導出コンテキストデータと前記第２コンテキストデータとの差を決定する手段と；前記差に基づいてコンテキストが変更されたかを判定する手段と；コンテキストが変更されたと判定されると、前記装置を制御する手段と；を有する。
【００１５】
実施形態によっては、前記装置は、前記コンテキストタグに対応する疎ベクトルのコードブックであって、前記疎ベクトルの非ゼロ要素の数に対して高次元を有する疎ベクトルのコードブックを形成する手段と、前記コードブックを用いて前記第１セットから第１コンテキスト疎ベクトルを形成し、前記第２セットから第２コンテキスト疎ベクトルを形成する手段と、前記第１及び第２コンテキスト疎ベクトルを用いて前記差を決定する手段と、を有する。実施形態によっては、前記装置は、タグを含むドキュメントに対してランダム疎ベクトルを形成する手段と、前記タグが存在するドキュメントの前記疎ベクトルからタグのコードブックベクトルに寄与を付加する手段と、複数のタグに対して前記寄与の付加を繰り返す手段と、を有する。実施形態によっては、前記装置は、前記第１コンテキスト疎ベクトルと第２コンテキスト疎ベクトルとの距離を算出して前記差を決定する手段を含む。実施形態によっては、前記装置は、前記コードブックを用いて前記第１コンテキスト疎ベクトルから第１コンテキストを決定する手段と、前記コードブックを用いて、前記第２コンテキスト疎ベクトルから第２コンテキストを決定する手段と、前記決定された第１コンテキストと、前記決定された第２コンテキストとの距離を算出して前記差を決定する手段と、を有する。実施形態によっては、前記装置は、前記コンテキストの変更に基づいて、アプリケーション状態を設定する手段を含む。実施形態によっては、前記装置は、ソーシャルメディア・アクティビティ・コンテキストを決定する手段と、前記ソーシャルメディア・アクティビティ・コンテキストに応じて前記ユーザに関連情報を提示する手段と、を有する。
【００１６】
第７の態様によれば、コンピュータシステムの動作を制御するデータ構造が提供され、前記データ構造は、用語に関連付けられた高次元疎ベクトルを含み、前記用語は、一般的なワード、インターネットアドレスのワード、ブランド名、ユーザ電話帳名およびセンサ値のワードの群から選択される少なくとも３種類のワードを含む。
【００１７】
第８の態様によれば、コンテキストの変更を判定するシステムにおいて、ハードウェアセンサ状態を示す人間の言葉のワードを使用することが提供される。
【図面の簡単な説明】
【００１８】
以下に、本発明の様々な実施形態を添付の図面を参照してより詳細に説明する。
【００１９】
【図１】実施形態に係る、コンテキストを決定する方法のフロー図。
【図２ａ】実施形態に係る、コンテキストを決定するシステム及び装置を示す図。
【図２ｂ】実施形態に係る、コンテキストを決定するシステム及び装置を示す図。
【図３】実施形態に係る、より前のコンテキスト情報から将来のコンテキストを決定するシステムを示す図。
【図４ａ】実施形態に係る、コンテキストを決定するためのランダム指標コードブックを形成するシステム及び方法を示す図。
【図４ｂ】実施形態に係る、コンテキストを決定するためのランダム指標コードブックを形成する別のシステム及び方法を示す図。
【図５】データ構造、システム、及び、ランダムな指標付けによって将来のコンテキストを決定するデータ構造を用いる方法を示す図。
【図６】実施形態に係る、ランダムな指標付けによって将来のコンテキストを決定する方法のフロー図。
【実施形態の詳細説明】
【００２０】
以下に、本発明のいくつかの実施形態を、ランダムな指標付けの構成だけでなく、システムのコンテキストを参照して説明する。なお、本発明は、これらの使用法または代替手段に限定されない。実際、実施形態は、意味処理が必要なあらゆる環境での用途を含む。
【００２１】
一例として、コンテキスト処理体系は、「ワード」及び「ドキュメント」の語彙体系にマッピングされてもよい。ドキュメントは、例えば、所与のタイムインスタンスにおける、コンテキストの単一の理解を定義する１組のワードを含んでいる。
【００２２】
分布意味論の方法は、大きく分けて、確率的方法あるいは幾何学的方法のいずれかに分類できる。
【００２３】
確率的モデルでは、ドキュメントを、主題が混在するものとして考えることで、特定の主題の議論において遭遇する確率によって用語を表すことを可能にする。例えば、潜在的意味解析（ＬＳＡ）においては、ドキュメント全体をコンテキストとして用い、ドキュメントに用語が現れる回数に対応するセルを有する、用語−ドキュメントマトリクスを生成する。一方、超空間言語相似性（ＨＡＬ）モデルでは、対象用語の周辺のワードをコンテキストとして用い、所与の用語が、１つおきの用語の近隣に現れる回数に注目した用語−用語マトリクスを生成する。これに対し、シュッツェのワード空間は、約１０００回の頻度で現れる４グラムのスライドウィンドウをコンテキストとして定義することで、４グラム毎の用語マトリクスを生成する。通常、用語ベクトルの大きさは、用語がコーパスに現れる頻度に依存し、方向は、選択された基準ベクトルとの用語の関係に依存する。
【００２４】
幾何学的モデルの例としては、ランダムな指標付けが挙げられるが、用語を多次元空間のベクトルとして表す。多次元空間の次元は、定義されたコンテキストにわたる用語の分散から導出される。コンテキストは、ドキュメント全体、ドキュメント内の領域または文法的関係を含んでもよい。
【００２５】
ベクトル−空間モデルの性質は、非構造化データから監視されない状態で、意味情報が自動的に抽出されるということだろう。モデルは、データの前処理をする必要が、ほとんど、あるいは、全くなく、人が介在する必要がほとんど、あるいは、全くなくてもよい。「ベクトルに基づく意味解析」とは、データの統計的規則性、例えば、共起情報、を用いてベクトル及びベクトル空間を構築する処理、例えば、データの予備知識がないと仮定した場合において、モデルを簡単に主題及び構造的性質が異なるデータに適用する処理を指す。
【００２６】
従って、意味空間の力学に、訓練データの意味論が反映されるため、ベクトル−空間モデルを、新しいドメインに、本質的に適応することができる。つまり、ドメインによって、ワードとワードの意味的関係が異なるような、異なる意味空間が生成される。例えば、動物学データベースのモデルをみてみると、「ｍｏｕｓｅ」というワードは、例えば、小さく、毛でおおわれた動物または齧歯動物を指す他のワードに間違いなく関連付けられるが、コンピュータ関連のドキュメントに目を向けると、「ｍｏｕｓｅ」は、例えば、コンピュータハードウェアを指す他のワードに恐らく関連付けられるだろう。実験検証上では、この特徴によっても、モデルは、異なる言語に容易に適用可能になる。
【００２７】
ランダムな指標付け（ＲＩ）技術は、以下のように、２段階の動作として記載することができる。まず、データの各コンテキスト（例えば、各ドキュメントまたは各ワード）に、指標ベクトルと呼ばれる、ランダムに生成された固有の表現を割り当てる。これらの指標ベクトルは、高次元で三成分から成る疎ベクトルであり、すなわち、それらの次元（ｄ）は、約１００または１０００以上であり、それらは、例えば、少数のランダムに分配された＋１ｓ及び−１ｓまたはそれ以外の小さい数から成り、ベクトルの残りの要素はゼロである。次に、テキストを走査することによりコンテキストベクトルを生成し、コンテキスト（例えば、ドキュメントあるいはスライドコンテキストウィンドウ内）にワードが現れる度に、そのコンテキストのｄ次元指標ベクトルを当該ワードのコンテキストベクトルに追加する。このように、ワードは、事実上、ワードのコンテキストの合計であるｄ次元コンテキストベクトルによって表現される。
【００２８】
例として、「A friend in need is a friend indeed」という文を検討する。指標ベクトルの次元を１０とし、コンテキストを１つ前及び１つ後のワードとして定義する。「friend」にランダムな指標ベクトル［0 0 0 1 0 0 0 0 -1 0］を割り当て、「need」にランダムな指標ベクトル［0 1 0 0 -1 0 0 0 0 0］を割り当てる。次に、「in」のコンテキストベクトルを算出するため、ＲＩにより、「in」のコンテキスト指標ベクトルを合計する。コンテキストは、１つ前及び１つ後のワードとして定義されるため、「in」のコンテキストベクトルは、「friend」及び「need」の指標ベクトルの合計となり、［0 1 0 1 -1 0 0 0 -1 0］となる。
【００２９】
図１は、実施形態に係る、コンテキストを決定するための方法のフロー図を示す。段階１１０において、コンテキストタグの第１セット及びコンテキストタグの第２セットを形成する。第１及び第２セットは、システムのコンテキストに対応し、第１セットは、第１期間のコンテキストを記述するタグを含み、第２セットは、第２期間のコンテキストを記述するタグを含む。第１期間は第２期間と異なり、及び／または、タグは、システムのコンテキストの異なる期間を記述するように選択されたものである。システムのコンテキストが異なるように、規則的または不規則なタイムインスタンスで決定されるようにすることができ、コンテキストは、各タイムインスタンスにおいて、ワードによって記述される。その後、これらのワードは、収集され、重複するものが除去される。第１セットのタグ（ワード）は、例えば、１０タイムインスタンスといったより長い期間にわたってコンテキストを記述するワードを収集することによって形成される。第２セットのタグは、例えば、２タイムインスタンスといった短い期間にわたってコンテキストを記述するワードを収集することによって形成される。タイムインスタンスは、部分的にあるいは完全に重複してもよいし、重複しなくてもよい。なお、このように形成されるタグのセットがさらに（３、４、５あるいはそれ以上）あってもよいことを理解されたい。
【００３０】
段階１２０では、第１セットから第１導出コンテキストデータ及び第２セットから第２導出コンテキストデータを形成する。すなわち、タグの各セットを用いて、導出されたコンテキストまたは予測されたコンテキストあるいはそれらを示す情報を導出する。例えば、合計することによって、タグ（ワード）のランダムな指標ベクトルから、タグのセットについて、ランダムな指標ベクトルを算出してもよい。
【００３１】
段階１３０で、第１導出コンテキストデータと第２導出コンテキストデータとの差を決定する。この差は、例えば、タグのセットのランダムな指標インデックスを用いて距離を算出することによって決定される。距離の算出では、まず、タグの各セットのランダムな指標ベクトルを用いて代表コンテキストを決定し、次に、代表コンテキスト（または、それらのランダムな指標ベクトル）間の距離（例えば、ユークリッドやドット積）を算出する。
【００３２】
段階１４０で、当該差に基づいてコンテキストが変更されたかを決定する。この決定では、第１セットのタグは、例えば、現時点からさらに戻ったより長い期間にわたってコンテキストを表し、第２セットのタグは、現時点に近い、短い期間にわたってコンテキストを表す。このように、第２セットのタグからの導出コンテキストは、第１セットのタグからの導出コンテキストよりも速くコンテキストへの変更を反映する。
【００３３】
段階１５０で、コンテキストが変更されたと決定されると、システムを制御する。例えば、アプリケーション及びそれらの状態を変更し、決定されたコンテキストの変更によって情報処理を制御する。例として、屋内で仕事をしている状態からバスに乗るためにバス停に向かって屋外を歩いている状態にコンテキストが変更したと決定された場合、システムのアプリケーションを変更し、仕事中は、電子メールアプリケーションを表示し、コンテキストが変更されると、バスの時刻表を表示するようにブラウザを立ち上げ、及び／または、ナビゲーションアプリケーションがバス停までの距離及び案内とともに町の地図を示すようにしてもよい。
【００３４】
コンテキストが変更されたかを決定するためのランダムな指標付け方法を用いることには、例えば、以下の利点があると考えられる。
【００３５】
ランダムな指標付け方法は、漸進的に用いてもよい。すなわち、例は少ないが、コンテキストベクトルを、類似性の算出に用いてもよい。ベクトルの次元ｄは、当該方法におけるパラメータであり、すなわち、ｄは一旦設定されれば変更する必要がなく、新しいデータにより、コンテキストベクトルの要素の値は増加するが、コンテキストベクトルの次元は増加しない。次元を増加させないことによって、他のワード空間方法においてしばしば見られるスケーラビリティ問題を回避することができる。例えば、過度に大規模なマトリクスで仕事をすることが回避される。固定次元ｄは、システムにおいて考えられるコンテキストの数ｃよりもずっと低いため、ランダムな指標付け方法により、間接的に次元を削減することができる。これにより、処理時間を増やすことができ、計算コストが高い次元削減アルゴリズムを採用するワード空間方法よりもメモリ消費を削減することができる。ランダムな指標付け方法は、様々な種類のコンテキストとともに用いてもよい。他のワード空間方法では、一般的に、コンテキストとしてドキュメントかワードのいずれかを用いる。ＲＩは、これらのもともとの選択肢に限定されることなく、あらゆる種類のコンテキストとともに用いることができる。
【００３６】
ＲＩ方法では、ユーザの個人の行動特徴及び参照を学習してもよい。個人の情報は、他のユーザに公開できない。すなわち、データは、「秘密の」形式である。ＲＩ方法では、多様な時間的データを処理することができ、データの意味記述をリアルタイムに行うことができる。予測ＲＩ方法は、時間的に一続きの種類のデータを処理してもよく、データの意味記述をリアルタイムにしてもよい。異なるコンテキスト記述を速く切り替えることができる。
【００３７】
図２ａ及び図２ｂは、実施形態に係る、コンテキストを決定するシステム及び装置を示す。コンテキストは、単一の装置、互いに接続された複数の装置、または、例えば、１つ以上のサーバ及び１つ以上のユーザ装置を有するネットワークサービスフレームワークにおいて決定されてもよい。
【００３８】
図２ａにおいて、異なる装置が、インターネットやローカルエリアネットワークなどの固定網２１０、または、ＧＳＭ（登録商標）ネットワーク、第３世代（３Ｇ）ネットワーク、第３．５世代（３．５Ｇ）ネットワーク、第４世代（４Ｇ）ネットワーク、無線ローカルエリアネットワーク（ＷＬＡＮ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）や、その他の現在及び将来のネットワークなどの移動通信ネットワーク２２０を介して接続されている。それぞれのネットワークは、互いに通信インターフェース２８０を介して接続されている。ネットワークは、データを処理するための（図示しない）ルータやスイッチなどのネットワーク要素、及び、それぞれの装置へのアクセスをネットワークに提供するための基地局２３０及び２３１などの通信インターフェースを含み、基地局２３０及び２３１自体も、固定接続２７６または無線接続２７７を介して移動通信ネットワーク２２０に接続されている。
【００３９】
ネットワークには多数のサーバが接続されている。図２ａの例では、ソーシャルメディアサービスなどのネットワークサービスを提供する、固定網２１０に接続されたサーバ２４０、及び、ネットワークサービスを提供する、固定網２１０に接続されたサーバ２４１、及び、ネットワークサービスを提供する、移動通信ネットワーク２２０に接続されたサーバ２４２が示されている。上記の装置のうちいくつか、例えば、サーバ２４０、２４１及び２４２は、固定網２１０にある通信要素とインターネットを構成する。様々なサーバ及びユーザ装置は、例えば、ワードに対応する疎ベクトルを含むコードブックマトリクスを保存してもよい。
【００４０】
携帯電話及びスマートフォン２５１、インターネットアクセス装置（インターネットタブレット）２５０、様々な大きさ及び形式のパーソナルコンピュータ２６０、テレビやその他の視聴装置２６１、ビデオ復号器、及び、プレーヤー２６２、及び、ビデオカメラ２６３や音声を取り込むためのデジタルマイクなどのその他の符号器などのエンドユーザ装置が多数存在する。これらの装置２５０、２５１、２６０、２６１、２６２及び２６３もまた、複数の部品から成る。様々な装置が、インターネットへの固定接続２７０、２７１、２７２及び２８０、インターネット２１０への無線接続２７３、移動通信ネットワーク２２０への固定接続２７５、及び、移動通信ネットワーク２２０への無線接続２７８、２７９及び２８２などの通信接続を介して、ネットワーク２１０及び２２０に接続されてもよい。接続２７１から２８２は、通信接続のそれぞれの終端において通信インターフェースによって実装される。
【００４１】
図２ｂは、実施形態例に係る、コンテキストの決定が実行される装置を示す。図２ｂに示すように、サーバ２４０は、メモリ２４５、１つ以上の処理装置２４６及び２４７、及び、例えば、ソーシャルメディアサービスのようなソフトウェアアプリケーションの機能を実行するための、メモリ２４５にあるコンピュータプログラムコード２４８を含む。それぞれのサーバ２４０、２４１及び２４２は、少なくとも、各サーバに関連する機能を用いるための要素を含んでもよい。同様に、エンドユーザ装置２５１は、メモリ２５２、少なくとも１つの処理装置２５３及び２５６、及び、例えば、ブラウザやオペレーティングシステムのユーザインターフェースのようなソフトウェアアプリケーションの機能を実行するための、メモリ２５２にあるコンピュータプログラムコード２５４を含む。エンドユーザ装置はまた、例えば、ビデオなどの画像データを取り込むための１つ以上のカメラ２５５及び２５９を有する。エンドユーザ装置は、音声を取り込むための、１または２以上のマイク２５７及び２５８を含む。エンドユーザ装置はさらに、エンドユーザ装置に取り付けられた１つ以上の無線または有線マイクを有する。それぞれのエンドユーザ装置２５０及び２６０は、各装置に関連する機能を用いるための要素を含んでもよい。エンドユーザ装置はまた、グラフィカルユーザインターフェースを表示するための画面を含んでもよい。
【００４２】
なお、実施形態によって、異なる部品が異なる要素において実行できることを理解されたい。例えば、ソフトウェアアプリケーションは、２５０、２５１または２６０のような１つのユーザ装置において実行されてもよいし、１つのサーバ装置２４０、２４１または２４２において、あるいは、複数のユーザ装置２５０、２５１及び２６０にわたって、または、複数のネットワーク装置２４０、２４１または２４２にわたって、または、ユーザ装置２５０、２５１及び２６０及びネットワーク装置２４０、２４１または２４２の両方にわたって実行されてもよい。例えば、ある装置でユーザインターフェースを介したユーザ入力の取り込みが行われ、別の装置でデータ処理及び情報のユーザへの提供が行われ、さらに別の装置でコンテキスト処理の制御及び管理が行われてもよい。前述したように、異なるアプリケーション要素及びライブラリが１つの装置にある、または、数台の装置に分散されたソフトウェア要素として、例えば、装置がいわゆるクラウドを形成するように、実装される。ユーザ装置２５０、２５１または２６０は、様々なネットワーク装置２４０、２４１及び２４２のように、ウェブサービスサーバとしても動作する。このウェブサービスサーバの機能も、複数の装置に分散させてもよい。
【００４３】
様々な実施形態が、携帯装置上で、及び、随意的に、ネットワークを利用したサービスを提供する装置上で動作するソフトウェアとして実現される。携帯装置は、少なくとも、１つまたは複数のメモリ、１つ以上の処理装置、ディスプレイ、キーパッド、動作感知ハードウェア及び２Ｇ、３Ｇ、ＷＬＡＮまたはそれ以外の通信手段を備えてもよい。装置によっては、タッチ画面（シングルタッチまたはマルチタッチ）のようなハードウェア及びネットワーク位置特定または全地球測位システム（ＧＰＳ）モジュールのような位置特定手段を有してもよい。装置は、カレンダーアプリケーション、連絡先アプリケーション、地図アプリケーション、メッセージングアプリケーション、ブラウザアプリケーション、ギャラリアプリケーション、ビデオプレーヤーアプリケーション及び仕事用及び／またはプライベート用の他の様々なアプリケーションなどを有する。
【００４４】
図３は、実施形態に係る、以前のコンテキスト情報から将来のコンテキストを決定するシステムを示す。一連のイベント３１０、３１２、３１４、・・・、３１６及び３１８が示され、各イベントは、コンテキストによって表される。コンテキストは、イベント３１０について、「午前中」、「仕事」、「タンペレ」、「会議」、「ミッコ」、「ノキア」、「暖かい」、「明るい」及び「まだ」などのワードによって記述されている。時間が経過すると、コンテキストは少し変更され、例えば、時間ｔ１のイベント３１０と時間ｔ２のイベント３１２では、「会議」が「自由」に変更されている。あるいは、例えば、時間ｔ１０のイベント３１８とイベント３１０のコンテキストを比較すると、コンテキストは、大きくまたは完全に変更されている。コンテキストを記述するワードは、システムの時間（時計）（午前中）、位置情報（タンペレ）、利用可能な通信ネットワーク（ノキア）、カレンダー内容（会議）、システムの周りの他の装置及びそれらの所有者（ミッコ）、温度計、周辺光センサ及び加速度センサなどのセンサ示度（「暖かい」、「明るい」、「まだ」）などの異なるソースからもたらされる。あるアクティビティから別のアクティビティに移行する場合、コンテキストは変更され、それに応じて、コンテキストを記述するワードが変更される。ある時間において利用可能である情報は、別の時間では利用可能ではないことがある。すなわち、利用可能なコンテキスト情報は、変化することがある。
【００４５】
本発明者は、システムのユーザインターフェースまたはシステム上のアプリケーションの状態を適応させるのに、次の（将来の）コンテキスト３２０の予測をすること、あるいは、（コンテキスト３１４と３１６との間で）コンテキストが変更されることが役立つということに気付いた。
【００４６】
実施形態によっては、コンテキストタグの、それぞれ異なる期間のイベントを表す２つ以上のセットの差を検知することによってコンテキストの変更を検出する。例えば、ＳＥＴ１（３２２）は、ｔ１からｔ９の期間を表し、イベント３１０、３１２、３１４、・・・、及び３１６から収集されたコンテキストワードを含む。ＳＥＴ２（３２４）は、ｔ９からｔ１０の期間を表し、ＳＥＴ３（３２６）は、ｔ１からｔ２の期間を表し、ＳＥＴ４（３２８）は、ｔ３からｔ１０の期間を表し、ＳＥＴ５（３３０）は、ｔ１０の期間、すなわち、１つのタイムインスタンスのみを表す。セットは、ＳＥＴ１とＳＥＴ２のように、重複していてもよいし、ＳＥＴ２とＳＥＴ３のように異なっていてもよい。セットは、ＳＥＴ２とＳＥＴ４のように同じ終了時間、及び／または、ＳＥＴ１とＳＥＴ３のように同じ開始時間を有してもよい。ＳＥＴ５がＳＥＴ４のサブセットであるように、あるセットが別のセットのサブセットであってもよい。代替方法として、または追加して、第１セットに対する第１頻度ｆ１を有するタイムインスタンスに対応するコンテキストのワード及び第２セットに対する第２頻度ｆ２を有するタイムインスタンスに対応するコンテキストのワードを決定することによって、異なるセットを形成してもよい。このように、第１タイムインスタンス及び最後のタイムインスタンスが同じであったとしても、２つのセットの期間は異なる。
【００４７】
セット３２２、３２４、３２６、３２８及び３３０は、各セットが表すそれぞれのイベントからタグを収集するだけで形成される。この時、タグの重複が取り除かれる。代替方法として、または追加して、あるタグが他のタグよりもセットに頻繁に出現するように、あるいは、セットを使用する際、あるタグの重要性がより高くなるように、タグに重み付けを行ってもよい。重み付けは、例えば、より前のイベントが最近のタイムインスタンスにおけるイベントよりも、重要性が低くなるように行ってもよい。タグは、例えば、ユーザによって入力されたものであるか、あるいは、正しいと分かっている可能性が高いものであるため、確実により高い重要性を有するようにして、セットにおいて複数回出現するように、タグ自体に基づいて重み付けを行ってもよい。重み付けは、タグが表すコンテキストの種類に基づいても行われてもよい。例えば、温度計のようなセンサ情報の重要性は低くし、ユーザのカレンダーからの情報の重要性を高くしてもよい。重み付けは、ワードのセットを用いる際に行ってもよい。例えば、浮動小数点係数などの係数を対応する疎ベクトルの要素に掛けるように重み付けを行ってもよい。
【００４８】
セットを形成する時、２つ以上のセット間の差を決定してもよい。例えば、図３から分かるように、ＳＥＴ１とＳＥＴ２とは、いくつかの共通タグ（「仕事」、「会議」）を有するが、ほとんどのタグは異なる。一方で、ＳＥＴ１とＳＥＴ３とは、ほとんどのタグが共通している。２つのセットが異なるタグを有し、十分異なっている場合、セットは異なるコンテキストを表すと決定することができる。例えば、ＳＥＴ１のような長いセットは、オフィスでの仕事に関連するコンテキストを表し、より最近で短いＳＥＴ２は、帰宅途中に関するコンテキストを表す。セット間でワードが異なり、差を有する場合、コンテキストが変更されたことを示す。コンテキストの変更を検出するため、例えば、最後の５または１０個のコンテキストを表すセットを１セットとして、最後の２個のコンテキストを表すセットをもう一方のセットとして用いてもよい。距離測度を用いて、２つのセット間の距離を算出し、差を決定してもよい。例えば、図４ａ、図４ｂ及び図５を参照して説明するように、ランダム指標付け方法を用いて差を決定してもよい。２セット以上、例えば、図に示すように３、４または５、あるいはそれ以上のセットを用いることができることは明らかである。
【００４９】
図４ａは、実施形態に係る、コンテキストを決定するためのランダム指標付けコードブックを形成するシステム及び方法を示す。まず、多数の、例えば、何千または何万、あるいは、それ以上のコンテキスト４１０、４１２及び４１４を訓練セットとする。コンテキストは、図３に示すようなイベントである。あるいは、他のドキュメント、または、タグまたはワードを何らかの形で表すように他の方法で形成されたタグまたはワードを集めたものは、イベントまたはコンテキストにおいて一体となる傾向を有する。次に、各コンテキストに、コンテキスト疎ベクトルを割り当てる。コンテキスト疎ベクトルは、例えば、ベクトルのランダム要素に１０個の１及び１０個の−１を割り当てることによって、ランダムに割り当ててもよい。ベクトルは、例えば、１００、５００、１０００、５０００、１００００、２００００または１０００００要素の長さを有する。非ゼロである要素はごくわずかであり、例えば、（割合として）１００または１０００個の要素に１つであり、すなわち、疎ベクトルである。このベクトルは、ランダム指標ベクトルと呼ばれる。
【００５０】
コンテキストにコンテキストベクトル４１６、４１８及び４２０が割り当てられると、タグまたはワードごとの疎ベクトル（ＲＩベクトル）が以下のように形成される。ワード／タグ、「日中」、「自由」及び「暖かい」を例にとる。ワードがコンテキストに存在する場合はいつでも、コンテキストのランダム指標ベクトルがタグ疎ベクトル（４２２、４２４または４２６）に付加される。例えば、ワード「日中」がコンテキスト１及びコンテキスト３に存在するため、ＲＩベクトル４１６及び４２０を付加してタグ疎ベクトル４２２を形成する。このような組み合わせまたは付加は、単に要素の総和によって行われてもよいし、重み付けを行ってもよい。同様に、タグ「暖かい」は、コンテキスト２にのみ存在するため、そのＲＩベクトル４２４は、コンテキスト２のＲＩベクトル４１８と同じになる。同様に、ワード「暖かい」は、コンテキスト２及び３に存在し、そのＲＩベクトル４２６は、ベクトル４２４と４２６とを組み合わせた／合計したベクトルになる。これらのタグ疎ベクトルは、ワード／タグコードブックを形成し、各タグは、対応する高次元のタグ疎ベクトル（４２２、４２４及び４２６）を有する。なお、数個のコンテキストは、ある要素位置に値を有するため、これらのベクトルは、絶対値が１より大きい要素を含み、それらのベクトルが合計されると、合計の絶対値は、１より大きくなる。
【００５１】
図４ｂは、実施形態に係る、コンテキストを決定するためのランダム指標付けコードフックを形成する別のシステム及び方法を示す。前に説明したように、コンテキストＲＩベクトルは、高次元ベクトルに２、３個の非ゼロ要素を割り当てることによって、ランダムに形成される。コンテキスト疎ベクトルもまた、図４ａのコードブックベクトルと同様に形成される。すなわち、まず、語彙のワードにランダムな指標（ＲＩ）ベクトル４４０、４４２及び４４８（２、３の１または−１要素を有する疎ベクトル）を割り当てる。次に、コンテキストに存在するワードのＲＩベクトルを組み合わせることによってコンテキスト疎ベクトル４５０、４５２、４５４を取得する。例えば、コンテキスト３のコンテキスト疎ベクトル４５４を「日中」４４０及び「会議」４４２のベクトルの組み合わせ（例えば、和）として形成する。取得されたコンテキスト疎ベクトル４５０、４５２及び４５４は、図４ａで説明したようにコードブックを形成するのに用いられる。
【００５２】
図４ａ及び４ｂでは、例えば、１つ以上の元のワードに基づいて１つ以上の補助的なワードを生成する。元のワードの代わりに、あるいは、元のワードに付加して補助的なワードを用いることにより、コードマトリクスの疎ベクトルを更新する際、及び／または、予測を行う際により有用になる場合がある。元のワードは、例えば、文字列「２０１２年１月２日９時３分」である。原則として、別の文字列「２０１２年１月２日９時４分」は、全く異なるワードとして解釈される。このような解釈は、距離／差を更新及び決定する効率を下げてしまう恐れがある。
【００５３】
動作は、例えば、共起データを収集するために更新されるものであり、この更新により、ある曜日に実行される可能性が高い動作を予測することができる。この目的のため、元のワード「２０１２年１月２日９時３分」は、２０１２年１月２日に対応する曜日（月曜日）を示す補助的なワードＴ５に置き換えられるか、または、補足される。補助的なワードは、例えば、カレンダーを用いて、元のワードから決定される。
【００５４】
元のワード「２０１２年１月２日９時３分」に含まれる時間表現は、ある目的にとっては、時間分解能が高すぎる恐れがある。例えば、目的が、（電池及びデータ処理リソースを消費する）ウィルススキャンアプリケーションを開始するのに適した時間を予測することである場合、補助的なワードは、元のワード「２０１２年１月２日９時３分」よりも低い分解能（例えば、「午前中」）を有する時刻を表すように決定される。補助的なワードは、例えば、辞書を用いることによって、及び／または、量子化器（分類器）を用いることによって、提供される。
【００５５】
例えば、以下の（URI形式の）ワードが時間を表すのに用いられる。
時間://深夜  （０時１６分から４時までの時間を表す）
時間://早朝  （４時１分から６時までの時間を表す）
時間://午前中  （６時１分から１１時４５分までの時間を表す）
時間://正午  （１１時４６分から１２時１５分までの時間を表す）
時間://午後  （１２時１６分から１７時までの時間を表す）
時間://夕方  （１７時１分から１９時までの時間を表す）
時間://夜  （１９時１分から２３時４５分までの時間を表す）
時間://真夜中  （２３時４６分から０時１５分までの時間を表す）
【００５６】
元のワードは、例えば、場所を特定するかもしれない。場所は、例えば、ＧＰＳ座標を用いて、及び／または、場所の名前を提供することによって特定される。例えば、電子地図を用いて、場所を特定する１つ以上の補助的なワードが元のワードから決定される。例えば、システム５００の第１装置は、（フィンランドの）「バンター」と呼ばれる場所にあり、システム５００の第２装置は、（フィンランドの）「エスポー」と呼ばれる場所にある。例えば、電子地図または地名辞書を用いて、ワード「バンター」から補助的なワード「フィンランド南部」または「フィンランドの主要地域」を決定する。また、例えば、電子地図または地名辞書を用いて、ワード「エスポー」から補助的なワード「フィンランド南部」または「フィンランドの主要地域」を決定する。電子地図は、例えば、インターネットからダウンロードされる。１つ以上の補助的なワードが遠隔（インターネット）サービスによって提供される。
【００５７】
補助的なワードが共通であるため、第１装置によって収集された共起データを、第２装置のユーザに関して予測する際に用いることができる。
【００５８】
システムのユーザは、場所を名前と関連付けてもよい。例えば、ユーザが有する携帯装置は、ＧＰＳナビゲーション装置によって位置を決定して、装置がユーザに検出した場所に名前を付けるように求めてもよい。ユーザが付けた名前は、ＧＰＳの場所と関連付けられたワードとして、後で用いられる。名前は、例えば、「家」、「学校」、「大学」または「仕事場」である。狭いＵＲＬに基づいて広いＵＲＬを決定してもよい。特に、インターネットの狭いＵＲＬに基づいて、インターネットの広いＵＲＬを決定してもよい。
【００５９】
トークン化及び／または構文解析によって、１つ以上の補助的なワードを元のワードから形成してもよい。１つ以上の補助的なワードは、元のワードの代わりに、あるいは、元のワードに加えて用いてもよい。
【００６０】
図５は、ランダムな指標付けを用いて将来のコンテキストを決定するデータ構造を用いるシステム及び方法を示す。図４ａで説明したように、語彙５１０の各タグ／ワードは、コードブック５２０（ランダムな指標付けベクトル）に関連付けられたタグ疎ベクトルを有する。コードブックは、ワード／タグによってベクトルは異なるが、意味的に互いに近いワードは、意味的に離れたワードよりも（互いの距離が近い）似たベクトルを有するという性質を有する。この性質は、図４ａに従って訓練することによって分かった。コードブック５２０は、コンピュータシステムの動作を制御するのに用いられるデータ構造として表される。すなわち、コードブックの値は、システムがどのように動作するかを決定する。
【００６１】
以上に説明したように、コードブックは、訓練によって形成されたタグ疎ベクトルを含む。ベクトルは、入力された疎ベクトルをコードブックベクトルと比較することによって訓練されたパターンをコードブックから特定することができるくらいまばらである。コードブックの多くの要素は、ゼロまたはゼロに近い値である。コードブックベクトルは、訓練疎ベクトルと異なるパターンを示す。この意味で、コードブックの多くの要素がゼロからそれているにも関わらず、コードブックにおいて、コードブックベクトルの要素値のばらつきが大きい。
【００６２】
図３で説明したように、タグの各セットは、各セットが表すコンテキストを記述するタグを含む。その結果として、タグのセットのタグを、タグセット疎ベクトルまたは当該セットのＲＩベクトルを形成するのに用いてもよい。例えば、図３のＳＥＴ１、２及び３は、各セットに含まれるタグのタグ疎ベクトルの組み合わせとして形成された、関連付けられたタグセット疎ベクトル５３０、５３２及び５３４を有する。組み合わせるとは、合計することであり、前に説明したように、重み付けを用いてもよい。これらのタグセット疎ベクトルを用いて以下のように、タグセット間の差を決定する。
【００６３】
まず、タグセット疎ベクトル５３０、５３２及び５３４について、コードブックからの多数の最近疎ベクトルを求める。この最近疎ベクトルは、ユークリッド距離、ドット積、水平移動距離（Ｌ１ノルム）、ハウスドルフ距離、または、２つの疎ベクトル間の類似性を示すその他の距離測度などを用いて求められる。多数（仮にｋとすると、例えば、ｋ＝４）の最近ベクトルがコードブックから求められると、これらの最近ベクトルは、組み合わせることによって、例えば、合計することによって、ＲＩコンテキストベクトルＲＩ１、ＲＩ２及びＲＩ３を形成するのに再び用いられる。例えば、ワードｗ１、ｗ３、ｗ４０及びｗ８７は、タグセット疎ベクトル５３０に最も近いコードブックベクトルを有する。
【００６４】
これらのベクトルＲＩ１、ＲＩ２及びＲＩ３は、それらについて形成されたタグのセットに最も釣り合う単一のコンテキストを表すと理解される。次に、コンテキストベクトルＲＩ１、ＲＩ２及びＲＩ３を用いて２つのタグのセット間の距離を決定する。距離は、図５の下部に矢印（ベクトル）で示すように決定される。２つのセットの２つのコンテキストベクトルが、（上述の）距離測度によって距離的に互いに近いと決定される場合、それらのセットは、同じまたは近いコンテキストを表し、コンテキストが変更されていないと決定される（例えば、ＲＩ１とＲＩ３）。２つのコンテキストベクトル間の距離が大きい場合（ＲＩ１とＲＩ２に関して）、対応するセットは異なるコンテキストを表し、それらのセットで表される期間の間で、コンテキストが変更されたと決定される（セット１、２及び３の期間について図３参照）。
【００６５】
代替方法として、または追加して、２つのベクトル（例えば、５３０と５３２）間の距離または類似性を決定するのにタグセット疎ベクトル５３０、５３２及び５３４を直接用いて、２つのセット間の差を決定してもよい。
【００６６】
代替方法として、または追加して、ワードｗを用いて２つのベクトル（例えば５３０と５３２）間の距離または類似性を決定して、２つのセットの差を決定してもよい。例えば、ＳＥＴ１に対応するワードｗ１、ｗ３、ｗ４０及びｗ８７のグループは、ＳＥＴ３に対応するワードｗ１、ｗ６、ｗ４０及びｗ８７のグループに近いと決定される。なぜなら、グループは、４個のワードのうち３個が共通するからである。グループにおけるワードの順番は、決定において、考慮してもよいし、しなくてもよい。
【００６７】
コンテキストの変更の決定にランダムな指標付け方法を用いることは、例えば、以下のような利点及び技術的効果を有する。セットの類似性の決定は、他の方法よりも少ない計算量で、簡単にできるため、高速なリアルタイムのコンテキスト算出が可能になる。図３のように、様々な種類のコンテキスト及びシステムをワード／タグによって表すことができるため、本方法は、様々なアプリケーションに対して多用途である。このため、携帯電話のように、本方法を組み込みシステムに実装することができ、組み込みシステムにおいて、ユーザの個人の行動特徴及び参照を学習することができる。本方法はまた、時間的に一続きの（長期的な）データの処理を簡易化することができる。コードブック５２０は、行及び列に分散された訓練された情報をしっかりと保持するので、失った、または、壊れたデータがあっても、学習されたパターンを確実に読み出すことができる。ドキュメントの追加、すなわち、新しいイベントなどの新しいデータの付加が、簡易であり、コードブックマトリクス（ベクトルの次元）における列数を増やす必要なく、何百万のドキュメントに至るまで追加可能である。本方法は、コードブックベクトルが、類似する意味を有するワードは類似のコードブックベクトルを有し、関連のないワードは、類似しないベクトルを有するというように意味を捉えるという効果を有する。
【００６８】
要約すると、高次元のランダムなベクトル、すなわち、大規模なランダムパターンが、データにおける規則性を捉える認識コードの基礎として役立つだろう。ランダムベクトル法の簡易性と柔軟性は、より正確な方法の簡易性及び柔軟性よりも優れており、その原理を広範囲のタスクに適用できる。本方法は、データが蓄積され続ける状況に特に適している。
【００６９】
図６は、実施形態に係る、ランダムな指標付けを用いて将来のコンテキストを決定する方法のフロー図を示す。段階６１０において、一般的なワード、インターネットアドレス（またはそれらのワード）、センサ状態（暑い、寒い、午前中、午後及び家）、及び、ブランド名やユーザの電話帳の名前のような他の特別なワードから語彙を形成する。図４ｂで説明したように、段階６１５で、ランダムな指標付けベクトルを訓練コンテキストに割り当て、段階６２０で、（図４ａと同様に）これらを用いてタグ／ベクトルについてのＲＩベクトル（疎ベクトル）のコードブックを形成する。
【００７０】
段階６２５で、コンテキストタグの第１セット及びコンテキストタグの第２セットを形成する。図３に示すように、第１セットが第１期間のコンテキストを記述するタグを含み、第２セットが第２期間のコンテキストを記述するタグを含むように、第１セット及び第２セットは、システムのコンテキストに対応する。第１期間は第２期間と異なる、及び／または、タグがシステムのコンテキストの異なる期間を記述するように選択されている。システムのコンテキストが異なるように、規則的または不規則なタイムインスタンスで決定され、コンテキストは、各タイムインスタンスにおいて、ワードによって記述される。これらのワードは、その後収集され、重複するものが取り除かれ、及び／または、前に示したように、重み付けが行われてもよい。
【００７１】
段階６３０で、第１セットからの第１導出ランダム指標ベクトル及び第２セットからの第２導出ランダム指標ベクトルを、例えば、図５に示す方法で重み付けにより形成する。すなわち、タグの各セットを用いて導出コンテキストまたは予測コンテキスト、または、それらを示す情報を導出する。例えば、ランダム指標ベクトル（タグセット疎ベクトル）が、タグ（ワード）のランダム指標ベクトルから、タグのセットごとに、例えば、合計することによって算出される。段階６３５で、図５で説明したように、第１及び第２導出コンテキストを決定し、ＲＩベクトル（図５のＲＩ１、ＲＩ２及びＲＩ３）を形成する。
【００７２】
段階６４０で、第１導出コンテキストと第２導出コンテキストとの差を決定する。この決定は、例えば、図５で説明したように、導出コンテキストのランダム指標ベクトルを用いて距離を算出することによって行われる。言い換えると、距離の算出において、まず、タグの各セットのランダム指標ベクトルを用いて各コンテキストを決定し、その後、コンテキスト（または、それらのランダム指標ベクトル）間の距離（例えば、ユークリッドまたはドット積）を算出する。
【００７３】
段階６４５で、差に基づいてコンテキストが変更されたかを判定する。タグの第１セットは、より長い期間にわたって、例えば、現時点よりもさらに遡って、コンテキストを表し、タグの第２セットは、現時点に近い短い期間にわたってコンテキストを表す。このように、タグの第２セットに基づく導出コンテキストは、タグの第１セットに基づく導出コンテキストよりも速くコンテキストの変更を反映する。別々のセットから形成されたコンテキストが異なっている、または、離れている場合、コンテキストが変更されたと決定される。
【００７４】
段階６５０で、コンテキストが変更されたと決定されると、システムを制御する。例えば、アプリケーション及びそれらの状態を変更する、または、決定されたコンテキストの変更によって情報処理を制御する。コンテキストの変更に基づいて、段階６５５で、異なる関連情報をユーザに表示する。例として、屋内で仕事をしている状態からバスに乗るためにバス停に向かって屋外を歩いている状態にコンテキストが変更したと決定された場合、システムのアプリケーションを変更し、仕事中は、電子メールアプリケーションを表示し、コンテキストが変更されると、バスの時刻表を表示するようにブラウザを立ち上げ、及び／または、ナビゲーションアプリケーションがバス停までの距離及び案内とともに町の地図を示すようにしてもよい。
【００７５】
本発明の様々な実施形態は、メモリにあるコンピュータプログラムコードの助けによって実施可能であり、コンピュータプログラムコードは、関連装置に本発明を実行させる。例えば、端末装置は、データを処理及び送受信する回路及び電子機器、メモリにあるコンピュータプログラムコード、及び、当該コンピュータプログラムコードを実行すると、当該端末装置に実施形態の特徴を実行させる処理装置を備える。さらに、ネットワーク装置は、データを処理及び送受信する回路及び電子機器、メモリにあるコンピュータプログラムコード、及び、当該コンピュータプログラムコードを実行すると、当該ネットワーク装置に実施形態の特徴を実行させる処理装置を備える。データ構造は、当該データ構造がコンピュータを制御するコンピュータプログラムとともにコンピュータで用いられる場合、当該コンピュータプログラム及びコンピュータに、データ構造及び内在するデータに従って動作させるように形成される。
【００７６】
本発明は、上述した実施形態に限定されることはなく、添付の請求の範囲の範囲内で変更可能であることは明らかである。
【図１】
0005944535.tif 000002
【図２ａ】
0005944535.tif 000003
【図２ｂ】
0005944535.tif 000004
【図３】
0005944535.tif 000005
【図４ａ】
0005944535.tif 000006
【図４ｂ】
0005944535.tif 000007
【図５】
0005944535.tif 000008
【図６】
0005944535.tif 000009