(57)【特許請求の範囲】
【請求項１】
デバイスによって、現在時刻に関連する時間信号を受信するステップと、
前記デバイスによって、前記現在時刻のユーザに関連するデータを含む第1の入力信号を受信するステップと、
前記デバイスによって、前記第1の入力信号および前記現在時刻に基づいて第1のコンテキストを判定するステップと、
前記デバイスによって、前記第1のコンテキストを前記ユーザに関連するコンテキストのデータベースと比較するステップであって、前記データベースは前記ユーザが前記現在時刻に通常行う行動を示すデータを含む、ステップと、
前記デバイスによって、前記比較に部分的に基づいて、前記第1のコンテキストの部分集合である、前記データベース中の前記データに関連する第2のコンテキストを判定するステップと
を含む、方法。
【請求項２】
前記第2のコンテキストは、モバイルデバイスの動作を変更するために使用される、請求項1に記載の方法。
【請求項３】
前記モバイルデバイスの動作を変更することは、前記ユーザに対してダイレクトマーケティングを行うことを含む、請求項2に記載の方法。
【請求項４】
前記デバイスによって、前記現在時刻の前記ユーザに関連する第2の入力信号を受信するステップと、
前記デバイスによって、前記第2の入力信号および前記現在時刻に基づいて第3のコンテキストを判定するステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
前記デバイスによって、前記第3のコンテキストを前記ユーザに関連するコンテキストの前記データベースと比較するステップと、
前記デバイスによって、前記比較に部分的に基づいて第4のコンテキストを判定するステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
前記デバイスによって、前記データベース内の前記コンテキストのうちの1つまたは複数を記憶するステップをさらに含む、請求項1に記載の方法。
【請求項７】
前記第1の入力信号は、前記ユーザによってコンテキストに適用されたタグを含む、請求項1に記載の方法。
【請求項８】
前記第1の入力信号は、ソーシャルネットワーキングサイト、前記ユーザの場所、または前記ユーザの現在の速度のうちの1つまたは複数に関連するデータを含む、請求項1に記載の方法。
【請求項９】
前記デバイスによって、前記第2のコンテキストを判定するステップは、前記デバイスによって、前記第1のコンテキストを、同様の時刻に関連する1つまたは複数の過去のコンテキストと比較するステップを含む、請求項1に記載の方法。
【請求項１０】
ユーザに関連するデータを検出するように構成されたセンサー(130)と、
前記ユーザに関連するコンテキストのデータベースと、
プロセッサ(120)とを含み、前記プロセッサ(120)は、
現在時刻に関連する時間信号を受信し、
前記ユーザに関連するデータを含む入力信号を前記センサー(130)から受信し、
現在時刻および前記入力信号に基づいて第1のコンテキストを判定し、
前記第1のコンテキストを前記ユーザに関連するコンテキストのデータベースと比較し、前記データベースは前記ユーザが前記現在時刻に通常行う行動を示すデータを含み、
前記比較に部分的に基づいて、前記第1のコンテキストの部分集合である、前記データベース中の前記データに関連する第2のコンテキストを判定する
ように構成された、システム。
【請求項１１】
前記プロセッサ(120)は、前記第2のコンテキストに基づいてモバイルデバイス(112)の動作を変更するようにさらに構成される、請求項10に記載のシステム。
【請求項１２】
前記モバイルデバイス(112)の動作を変更することは、前記ユーザに対してダイレクトマーケティングを行うことを含む、請求項11に記載のシステム。
【請求項１３】
前記プロセッサ(120)は、
前記現在時刻の前記ユーザに関連する第2の入力信号を受信し、
前記第2の入力信号および前記現在時刻に基づいて第3のコンテキストを判定する
ようにさらに構成される、請求項10に記載のシステム。
【請求項１４】
前記第3のコンテキストを前記ユーザに関連するコンテキストの前記データベースと比較するステップと、
前記比較に部分的に基づいて第4のコンテキストを判定するステップと
をさらに含む、請求項13に記載のシステム。
【請求項１５】
前記プロセッサ(120)は、前記データベース内の前記コンテキストのうちの1つまたは複数を記憶するようにさらに構成される、請求項10に記載のシステム。
【請求項１６】
第1の入力信号は、前記ユーザによってコンテキストに適用されたタグを含む、請求項10に記載のシステム。
【請求項１７】
前記第1の入力信号は、ソーシャルネットワーキングサイト、前記ユーザの場所、または前記ユーザの現在の速度のうちの1つまたは複数に関連するデータを含む、請求項16に記載のシステム。
【請求項１８】
前記第2のコンテキストを判定するステップは、前記第1のコンテキストを、同様の時刻に関連する1つまたは複数の過去のコンテキストと比較するステップを含む、請求項10に記載のシステム。
【請求項１９】
現在時刻に関連する時間信号を受信するための手段(120)と、
前記現在時刻のユーザに関連するデータを含む第1の入力信号を受信するための手段と、
前記第1の入力信号および前記現在時刻に基づいて第1のコンテキストを判定するための手段(120)と、
前記第1のコンテキストを前記ユーザに関連するコンテキストのデータベースと比較するための手段(120)であって、前記データベースは前記ユーザが前記現在時刻に通常行う行動を示すデータを含む、手段と、
前記比較に部分的に基づいて、前記第1のコンテキストの部分集合である、前記データベース中の前記データに関連する第2のコンテキストを判定するための手段(120)と
を含む、システム。
【請求項２０】
前記第2のコンテキストは、モバイルデバイス(112)の動作を変更するために使用される、請求項19に記載のシステム。
【請求項２１】
前記モバイルデバイス(112)の動作を変更することは、前記ユーザに対してダイレクトマーケティングを行うことを含む、請求項20に記載のシステム。
【請求項２２】
前記現在時刻の前記ユーザに関連する第2の入力信号を受信するための手段と、
前記第2の入力信号および前記現在時刻に基づいて第3のコンテキストを判定するための手段と
をさらに含む、請求項19に記載のシステム。
【請求項２３】
前記第3のコンテキストを前記ユーザに関連するコンテキストの前記データベースと比較するための手段(120)と、
前記比較に部分的に基づいて第4のコンテキストを判定するための手段と
をさらに含む、請求項22に記載のシステム。
【請求項２４】
前記データベース内の前記コンテキストのうちの1つまたは複数を記憶する手段をさらに含む、請求項19に記載のシステム。
【請求項２５】
前記第1の入力信号は、前記ユーザによってコンテキストに適用されたタグを含む、請求項19に記載のシステム。
【請求項２６】
前記第1の入力信号は、ソーシャルネットワーキングサイト、前記ユーザの場所、または前記ユーザの現在の速度のうちの1つまたは複数に関連するデータを含む、請求項19に記載のシステム。
【請求項２７】
前記第2のコンテキストを判定するステップは、前記第1のコンテキストを、同様の時刻に関連する1つまたは複数の過去のコンテキストと比較するステップを含む、請求項19に記載のシステム。
【請求項２８】
プロセッサ実行可能ソースコードを含む、非一時的コンピュータ可読記録媒体を含むシステムであって、前記プロセッサ実行可能ソースコードは、実行されるとき、プロセッサ(120)に、
現在時刻に関連する時間信号を受信させ、
前記現在時刻のユーザに関連するデータを含む第1の入力信号を受信させ、
前記第1の入力信号および前記現在時刻に基づいて第1のコンテキストを判定させ、
前記第1のコンテキストを前記ユーザに関連するコンテキストのデータベースと比較させ、前記データベースは前記ユーザが前記現在時刻に通常行う行動を示すデータを含み、
前記比較に部分的に基づいて、前記第1のコンテキストの部分集合である、前記データベース中の前記データに関連する第2のコンテキストを判定させる
ように構成される、システム。
【請求項２９】
前記第2のコンテキストは、モバイルデバイス(112)の動作を変更するために使用される、請求項28に記載のシステム。
【請求項３０】
前記モバイルデバイス(112)の動作を変更することは、前記ユーザに対してダイレクトマーケティングを行うことを含む、請求項29に記載のシステム。
【請求項３１】
前記プロセッサ実行可能ソースコードは、実行されるとき、前記プロセッサ(120)に、
前記現在時刻の前記ユーザに関連する第2の入力信号を受信させ、
前記第2の入力信号および前記現在時刻に基づいて第3のコンテキストを判定させる
ようにさらに構成される、請求項29に記載のシステム。
【請求項３２】
前記プロセッサ実行可能ソースコードは、実行されるとき、前記プロセッサ(120)に、
前記第3のコンテキストを前記ユーザに関連するコンテキストの前記データベースと比較させ、
前記比較に部分的に基づいて第4のコンテキストを判定させる
ようにさらに構成される、請求項31に記載のシステム。
【請求項３３】
前記プロセッサ実行可能ソースコードは、実行されるとき、前記プロセッサ(120)に、前記データベース内の前記コンテキストのうちの1つまたは複数を記憶させるようにさらに構成される、請求項28に記載のシステム。
【請求項３４】
前記第1の入力信号は、前記ユーザによってコンテキストに適用されたタグを含む、請求項28に記載のシステム。
【請求項３５】
前記第1の入力信号は、ソーシャルネットワーキングサイト、前記ユーザの場所、または前記ユーザの現在の速度のうちの1つまたは複数に関連するデータを含む、請求項28に記載のシステム。
【請求項３６】
前記第2のコンテキストを判定するステップは、前記第1のコンテキストを、同様の時刻に関連する1つまたは複数の過去のコンテキストと比較するステップを含む、請求項28に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本特許出願は、全体が参照により本明細書に組み込まれる、2011年7月14日に出願した「Dynamic Subsumption Inference」という名称の米国仮出願第61/507,934号の優先権を主張するものである。本特許出願は、全体が参照により本明細書に組み込まれる、2012年7月12日に出願した「Dynamic Subsumption Inference」という名称の米国実用新案第13/547,902号の優先権も主張するものである。
【０００２】
本発明は、一般に、データの解釈に関し、詳細には、ユーザデータに関連する学習アルゴリズムに関する。
【背景技術】
【０００３】
データの機械解釈は、人間がそのデータを認知することができるやり方と異なる。機械学習アルゴリズムは、SPS信号、加速度計信号、WiFi信号、または他の信号などのデータに基づいて、状況または場所を特定することができる。機械がこれらの信号に関連する場所または状況に割り当てるラベルは、ユーザにとって意味のあるラベルとマッチするように変更される必要がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示の実施形態は、動的包摂推理を行うためのシステムおよび方法を提供する。たとえば、一実施形態では、動的包摂推理を行うための方法は、現在時刻に関連する時間信号を受信するステップと、現在時刻のユーザに関連するデータを含む第1の入力信号を受信するステップと、第1の入力信号および現在時刻に基づいて第1のコンテキストを判定するステップと、第1のコンテキストをユーザに関連するコンテキストのデータベースと比較するステップと、比較に部分的に基づいて第2のコンテキストを判定するステップとを含む。
【０００５】
これらの例示的な実施形態は、本開示を制限または定義するためではなく、その理解を助ける例を提供するために、言及される。例示的な実施形態は、発明を実施するための形態において論じられ、本開示のさらなる説明は、そこで提供される。本開示の様々な実施形態によって与えられる利点は、本明細書を考察することにより、さらに理解することができる。
【図面の簡単な説明】
【０００６】
【図１】一実装形態によるモバイルデバイスの構成要素のブロック図である。
【図２】動的包摂推理を実行するために動作可能なシステムのブロック図である。
【図３ａ】場所に対するユーザの見え方と機械の見え方との間の差の図である。
【図３ｂ】場所に対するユーザの見え方と機械の見え方との間の差の別の図である。
【図４ａ】場所データに基づいて信号に適用されるタグの図である。
【図４ｂ】タグに基づく包摂判定の図である。
【図５ａ】特定の場所において入手可能な信号の図である。
【図５ｂ】一実装形態による動的包摂推理の図である。
【図６ａ】一実装形態による動的包摂推理の別の図である。
【図６ｂ】一実装形態による動的包摂推理の別の図である。
【図７】一実装形態による動的包摂推理を行うための方法のフローチャートである。
【発明を実施するための形態】
【０００７】
本開示の実施形態は、新規の情報が利用可能になるとき改善され得る、ダイナミックに発展しつつあるモデルを実装するためのシステムおよび方法を提供する。この情報は、たとえば衛星測位信号(「SPS」)信号、Wi-Fi信号、ユーザプロンプトに対する応答、またはモーションセンサーもしくは他のセンサーから受信した信号などの、ユーザプロンプトに応答して受信されたデータまたはセンサーから受信されたデータの形で入ってくる可能性がある。
【０００８】
本開示によるデバイスは、新規の情報を受信するとき、この新規の情報をユーザに関する他の利用可能な情報、たとえば過去のセンサーデータまたは過去のプロンプトに対する応答と組み合わせる。これにより、本開示によるデバイスは、新規のデータを受信するにつれて発展および適合するモデルを発展させることが可能になる。
【０００９】
本明細書で説明するように、ユーザに関するデータは、コンテキストと呼ばれる。コンテキストは、エンティティの状況を特徴づけるのに使用され得る任意の情報である。いくつかの実施形態では、コンテキストは、ユーザおよびユーザが遂行しているタスクに関する変数に関連付けることができる。たとえば、いくつかの実施形態では、コンテキストは、ユーザの場所、現在の場所に関連する特徴(たとえば、環境因子)、ユーザが現在行っている動作、ユーザが完結しようとするタスク、ユーザの現在の状態、または任意の他の利用可能な情報に関連付けることができる。いくつかの実施形態では、コンテキストは、モバイルデバイスまたはアプリケーションに関連付けることができる。たとえば、いくつかの実施形態では、コンテキストは、特定のモバイルデバイスまたは特定のアプリケーションに関連付けることができる。たとえば、いくつかの実施形態では、コンテキストは、ソーシャルネットワーキングアプリケーション、地図アプリケーション、またはメッセージングアプリケーションなどのモバイルアプリケーションに関連付けることができる。コンテキストのさらなる例には、場所、回数、活動、現在の音、および温度、湿度、または他の関連情報などの他の環境因子に関連する情報が含まれる。
【００１０】
いくつかの実施形態では、1つまたは複数のコンテキストは、センサー、たとえば、加速度計、SPS信号およびWiFi信号、光センサー、オーディオセンサー、生体センサー、または当技術分野で知られている他の利用可能な物理センサーなどの物理センサーから判定することができる。他の実施形態では、コンテキストは、バーチャルセンサー、たとえば、1つまたは複数のセンサーおよびこれらのセンサーに関連するロジックから受信した情報によって判定することができる。一実施形態では、バーチャルセンサーには、ユーザが在宅であることを判定するためにプログラミングと組み合わせてSPSセンサー、wi-fiセンサー、および時間センサーを使用するセンサーが含まれ得る。いくつかの実施形態では、これらのセンサーならびに関連するプログラミングおよびプロセッサは、センサーと呼ばれる、単一のモジュールの一部とすることができる。
【００１１】
センサーから収集されたコンテキスト情報は、様々な目的で、たとえば、モバイルデバイスの動作を変更するか、またはユーザに関連情報を提供するために使用することができる。しかし、モバイルデバイスなどの機械は、人間が情報を認識することができるのと同様の方法で情報を認識しない。本開示は、人間レベルの注記を機械可読センサーデータに関連付けるためのシステムおよび方法について説明する。たとえば、本開示のいくつかの実施形態は、センサーデータを受信し、そのセンサーデータをユーザに関連するデータのデータベースと比較し、その比較に基づいてユーザに関する判定を行うことを企図する。次いで、これらの判定は、デバイスの動作を変更するためか、または特定の有用な情報をユーザに送るために使用され得る。
【００１２】
本開示の一実施形態では、ユーザに関連するセンサーデータは、モバイルデバイス(またはコンテキストエンジン)によって受信され、ユーザの現在のコンテキストに関する情報を判定するために使用され得る。いくつかの実施形態では、この判定は、ユーザの過去の1つまたは複数のコンテキストに関連するデータに少なくとも部分的に基づいて行うことができる。たとえば、一実施形態では、センサーは、ユーザの現在の場所に関連するデータを検出し、そのデータをコンテキストエンジンに送信することができる。そのような実施形態では、コンテキストエンジンは、そのセンサーデータに基づいて、ユーザが在宅であると判定することができる。同様に、別の実施形態では、コンテキストエンジンは、追加のデータ、たとえばユーザの現在の身体活動を受信し、このデータに基づいて、さらなる判定を行うことができる。さらに他の実施形態では、コンテキストエンジンは、複数のセンサー信号を受信することができる。1つのそのような実施形態では、あるセンサー信号は、ユーザが現在在宅であることを示し、別のセンサー信号は、ユーザが眠っていることを示すことができる。そのような実施形態では、コンテキストエンジンは、この情報を過去のユーザコンテキストと比較し、ユーザがベッドに居ると判定することができる。あるいは、別の実施形態では、コンテキストエンジンは、たとえば、現在時刻が4PMであることを示す時間センサーから、さらなるセンサーデータを受信することができる。そのような実施形態では、システムは、次いで、この追加のデータをデータベースと比較し、過去のコンテキストに基づいて、ユーザがベッドに居るのではなく、むしろユーザのリビングルーム内のカウチで眠っていると判定することができる。そのような判定は、たとえば自宅などの1つのより大きいコンテキストが、たとえば寝室、キッチン、およびリビングルームなどの複数のより小さいコンテキストを包含するという包摂の概念を導入する。
【００１３】
本開示のさらなる実施形態では、コンテキストエンジンは、ユーザ入力に少なくとも部分的に基づいてコンテキストを判定することができる。たとえば、コンテキストエンジンは、コンテキストに関連するユーザ入力を受信するためのユーザインターフェースを生成するように構成することができ、ユーザ入力によって生成された信号に応答して、ユーザの現在のコンテキストに関連する追加の情報を判定することができる。たとえば、一実施形態では、コンテキストエンジンは、ユーザの現在の状況に関する回答によりユーザが応答するプロンプトを表示することができる。たとえば、いくつかの実施形態では、これらのプロンプトは、「仕事中であるか」、「食事中であるか」、または「現在遅くなっているか」などのプロンプトを含むことができ、ユーザの現在のコンテキストに関する追加の情報を判定するために使用することができる。
【００１４】
本開示のいくつかの実施形態では、コンテキストエンジンは、他のインターフェースまたはアプリケーション、たとえば、ソーシャルネットワーキングのページもしくは投稿、テキストメッセージ、電子メール、カレンダーアプリケーション、文書作成ソフトウェア、またはユーザ入力を受信するように構成された他のアプリケーションからユーザ入力を受信することができる。たとえば、コンテキストエンジンは、ユーザの記憶されたカレンダー情報にアクセスするように構成され得る。1つのそのような実施形態では、ユーザは、8AMの歯科のアポイントメントに関連するデータを記憶した可能性がある。コンテキストエンジンは、センサーデータに基づいて、現在時刻が8:10AMであり、ユーザが現在時速50マイルで移動していると判定することができる。コンテキストエンジンは、この情報に基づいて、ユーザが現在歯科のアポイントメントに遅れていると判定することができる。本システムは、ユーザが歯科のアポイントメントへの途上であることを判定するために、追加のセンサーデータ、たとえばユーザの現在の場所を示すSPSデータをさらに参照することができる。さらなる実施形態では、本システムは、ユーザが歯科に居るという追加のセンサーデータを受信することができる。
【００１５】
さらに、本開示のいくつかの実施形態では、コンテキストエンジンは、コンテキスト情報をユーザに関連するデータベースに適用することができる。いくつかの実施形態では、コンテキストエンジンは、ユーザのコンテキストに関する将来の判定を行うために、このデータベースにアクセスするように構成され得る。たとえば、一実施形態では、データベースは、各平日の特定の時間に歩いて仕事に行くことに関連するコンテキストを記憶することができる。コンテキストエンジンは、このデータに基づいて、その特定の時間にユーザが歩いて仕事に行くか、または歩いて仕事に行くはずであると判定することができる。
【００１６】
本開示の一実施形態では、システムは、複数の目的でコンテキストデータを使用することができる。たとえば、一実施形態では、コンテキストエンジンは、リマインダを選択的に適用し、モバイルデバイスの動作を変更し、特定の宣伝広告(marketing)、またはいくつかの他の機能を送るためにコンテキストデータを使用することができる。たとえば、歯科のアポイントメントに遅れているユーザに関して上記で説明した実施形態では、コンテキストエンジンは、コンテキスト情報に基づいて、ユーザが遅れていると判定し、リマインダを生成しユーザに出力することができる。さらに、一実施形態では、コンテキストエンジンは、ユーザの現在の場所を特定し、歯科までの最短ルートをユーザに示す表示を生成および出力することができる。あるいは、別の実施形態では、デバイスは、ユーザがアポイントメントの予定変更を行うために電話をかけることができるように、歯科の電話番号をユーザに示すプロンプトを生成することができる。同様に、いくつかの実施形態では、ユーザが定時に歯科に到着した場合、コンテキストエンジンは、ユーザを邪魔しないように、カレンダーリマインダを無効にすべきと判定するためにコンテキストデータを使用することができる。
【００１７】
他の実施形態では、コンテキスト情報は、他の目的に使用され得る。一実施形態では、コンテキストエンジンは、たとえば、ユーザがオフィスに居るというSPSデータ、現在時刻、および「会議」に関連するユーザカレンダーへの入力内容に基づいて、ユーザが会議中である確率が高いことを示すセンサーデータを受信することができる。したがって、本開示によるシステムは、ユーザが会議中に邪魔されないように、リンガーをサイレントに設定するようにユーザのモバイルデバイスのデバイス設定を調整することができる。さらに、いくつかの実施形態では、この情報は、ダイレクトマーケティングのために使用され得る。たとえば、いくつかの実施形態では、モバイル広告は、ユーザの現在の場所および活動に基づいてユーザに送ることができる。たとえば、1つのそのような実施形態では、本開示のシステムは、ユーザが空腹である可能性が高いと判定することができる。そのような実施形態では、コンテキストエンジンは、現在時刻に関連する入力データ、およびユーザが通常いつ食事をするかに関する過去の入力に基づいて、この判定を行うことができる。本開示のコンテキストエンジンは、このコンテキストに基づいて、レストランに関連するウェブページをユーザに出力することができる。本開示のさらなる実施形態では、コンテキストエンジンは、ユーザの現在の場所に関連するコンテキストを判定し、近くのレストランに関連する宣伝広告を出力することができる。さらなる実施形態では、本システムは、ユーザが以前に好みであることを示したレストランに関連するコンテキストを判定し、これらのレストランのみに関連する情報をユーザに提供することができる。
【００１８】
次に、いくつかの図にわたって同様の番号が同様の要素を示す図面を参照すると、図1は、プロセッサ120、ソフトウェア124を含むメモリ122、入出力(I/O)デバイス126(たとえば、ディスプレイ、スピーカー、キーパッド、タッチスクリーン、またはタッチパッドなど)、センサー130、および1つまたは複数のアンテナ128を含む、コンピュータシステムを備えるモバイルデバイスの例112を示す。アンテナ128は、デバイス112に通信機能を提供し、基地局コントローラ(図1には示さず)との双方向通信を容易にする。アンテナは、衛星測位システム(「SPS」)信号、たとえばSPS衛星(図1には示さず)からの信号の受信および測定を可能にすることもできる。アンテナ128は、送信機および/または受信機モジュールからの命令に基づいて動作することができるが、これらの命令は、プロセッサ120を介して(たとえば、メモリ122に記憶されたソフトウェア124に基づいて)、および/または、ハードウェア、ソフトウェア、またはハードウェアおよび/もしくはソフトウェアの組合せにおける、デバイス112の他の構成要素によって実施され得る。いくつかの実施形態では、モバイルデバイス112は、たとえば、電話、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、GPS、ポケットオーガナイザ、ハンドヘルドデバイス、または本明細書で説明する構成要素および機能を含む他のデバイスを備えることができる。
【００１９】
プロセッサ120は、インテリジェントハードウェアデバイス、たとえば、Intel(登録商標)社またはAMD(登録商標)によって作られるような中央処理装置(CPU)、マイクロコントローラ、特定用途向け集積回路(ASIC)などである。メモリ122は、ランダムアクセスメモリ(RAM)および読取り専用メモリ(ROM)などの非一時的記憶媒体を含む。メモリ122は、ソフトウェア124を記憶し、ソフトウェア124は、実行されたとき、本明細書で説明する様々な機能をプロセッサ120に実施させるように構成された命令を含む、コンピュータ可読コンピュータ実行可能ソフトウェアコードである。そうでない場合、ソフトウェア124は、プロセッサ120によって直接実行できないことがあるが、たとえばコンパイルされ実行されるとき、これらの機能をコンピュータに実施させるように構成される。
【００２０】
センサー130には、当技術分野で知られている任意のタイプのセンサーが含まれ得る。たとえば、SPSセンサー、速度センサー、生体センサー、温度センサー、クロック、光センサー、ボリュームセンサー、wi-fiセンサー、またはワイヤレスネットワークセンサー。いくつかの実施形態では、センサー130には、バーチャルセンサー、たとえば、1つまたは複数のセンサーおよびこれらのセンサーに関連するロジックが含まれ得る。いくつかの実施形態では、これら複数のセンサー、たとえば、Wi-Fiセンサー、SPSセンサー、およびモーションセンサー、ならびにこれらに関連するロジックは、単一のセンサー130として共にパッケージングされ得る。
【００２１】
I/Oデバイス126には、当技術分野で知られている任意のタイプの入出力デバイスが含まれる。たとえば、ディスプレイ、スピーカー、キーパッド、タッチスクリーン、またはタッチパッドなど。I/Oデバイス126は、ユーザがプロセッサ120によって実行されるソフトウェア124と対話することができるように構成される。たとえば、I/Oデバイス126には、ユーザがプロセッサ120上で動作するカレンダープログラムを更新するために使用することができるタッチスクリーンが含まれ得る。
【００２２】
次に図2を参照すると、図2は、動的包摂推理を実行するために動作可能なシステム200の一実施形態である。システム200は、1つまたは複数のアクセスネットワーク(たとえば、例示的なアクセスネットワーク230)を介して、また場合によっては、1つまたは複数の中継ネットワーク(図2には示さず)を介してモバイルデバイス220に通信可能に結合するサーバ210を含む。特定の実施形態では、アクセスネットワーク230は、符号分割多元接続(CDMA)ネットワーク、時分割多元接続(TDMA)ネットワーク、周波数分割多元接続(FDMA)ネットワーク、直交FDMA(OFDMA)ネットワーク、シングルキャリアFDMA(SC-FDMA)ネットワークなどである可能性がある。CDMAネットワークは、Universal Terrestrial Radio Access(UTRA)、CDMA2000などの無線技術を実装することができる。UTRAは、広帯域CDMA(W-CDMA)および低チップレート(LCR)を含む。CDMA2000は、IS-2000、IS-95、およびIS-856規格をカバーする。TDMAネットワークは、Global System for Mobile Communications(GSM（登録商標）)などの無線技術を実装することができる。OFDMAネットワークは、Evolved UTRA(E-UTRA)、IEEE802.11、IEEE802.16、IEEE802.20、Flash-OFDM(登録商標)などの無線技術を実装することができる。UTRA、E-UTRA、およびGSM（登録商標）は、Universal Mobile Telecommunication System(UMTS)の一部である。Long Term Evolution(LTE)は、E-UTRAを使用するUMTSのリリースである。UTRA、E-UTRA、GSM（登録商標）、UMTS、およびLTEは、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織の文書に記載されている。CDMA2000は、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織の文書に記載されている。LTE測位プロトコル(LPP)は、LTE用に開発されたメッセージフォーマット規格であり、モバイルデバイスと、A-GPS機能で一般的に使用されてきたロケーションサーバとの間のメッセージフォーマットを規定する。
【００２３】
さらに、サーバ210は、プロセッサ211およびプロセッサ211に結合されたメモリ212を含み得る。特定の実施形態では、メモリ212は、プロセッサ211によって実行可能な命令214を記憶することができるが、これらの命令は、様々な論理モジュール、構成要素、およびアプリケーションを表す。たとえば、メモリ212は、実行されるとき、本明細書で説明する様々な機能をプロセッサ211に実施させるように構成された命令を含むコンピュータ可読コンピュータ実行可能ソフトウェアコードを記憶することができる。メモリ212は、サーバ210の1つまたは複数のセキュリティ証明を記憶することもできる。
【００２４】
モバイルデバイス220は、プロセッサ221およびプロセッサ221に結合されたメモリ222を含み得る。特定の実施形態では、メモリ222は、プロセッサ221によって実行可能な命令224を記憶するが、これらの命令は、様々な論理モジュール、構成要素、およびアプリケーションを表す可能性がある。たとえば、メモリ222は、実行されるとき、本明細書で説明する様々な機能をプロセッサ221に実行させるように構成された命令を含むコンピュータ可読コンピュータ実行可能ソフトウェアコードを記憶することができる。メモリ222は、モバイルデバイス220の1つまたは複数のセキュリティ証明を記憶することもできる。
【００２５】
次に図3aを参照すると、図3aは、場所310に対するユーザの認識と、場所310に対するSPSの認識との間の不一致の可能性の図表現であり、図3aに示すように、場所310は、たとえば、自宅を含む場合がある。そのような実施形態では、モバイルデバイス上のSPSエンジンは、単一のラベルにマッピングする場所情報(緯度、経度、および不確かさなど)を判定することができる。したがって、コンテキストエンジンは、SPS場所情報と、この場所310に対するユーザの認識と実質的に重複する「自宅」というラベルとの間の1対1のマッピングに基づいて場所320を自宅として認識することができる。したがって、この場所に対する機械と人間認識との間にほぼ完全な重複が存在する。そのような実施形態は、かなりの推理を必要としない可能性があり、すなわち、機械は、単一のタイプのセンサー信号から、ユーザが特定の場所に居ると判定することができる。たとえば、図3aに示す実施形態では、SPSまたはwi-fi場所システムは、ユーザが自宅に居ることを示す。しかし、多くの他の場所には、1つまたは複数の下位場所(sub-location)、たとえば、屋内の部屋またはキャンパス内のビルが含まれ得る。したがって、いくつかの実施形態では、コンテキストエンジンは、ユーザの場所を判定するために追加の計算を行わなければならない。
【００２６】
次に図3bを参照すると、図3bは、2つ以上の下位場所312、314、および316を含む場所310、およびこの場所に対するユーザの認識と機械の認識との差の図表現である。たとえば、図3bに示すように、場所に対するユーザの認識が、再び310として示される。たとえば、一実施形態では、ユーザは、場所を「キャンパス」というラベルに関連付けることができる。しかし、受信したセンサー信号、たとえばSPS信号またはwi-fi信号を介して、デバイスは、3つの異なるラベルに関連する3つの異なる場所312、314、および316(たとえば、ドーム312、アスレチックビル314、およびエンジニアリングビル316)を認識する。しかし、そのような実施形態では、デバイスは、「キャンパス」というユーザラベル310を、これら3つのより狭いラベル312、314、および316と関連付けることができない。したがって、上記の実施形態では、ドーム312、アスレチックビル314、およびエンジニアリングビル316に関するデバイスラベルは、キャンパス310に対するユーザの認識とは不一致となる。
【００２７】
図3bに示す実施形態では、310は、場所312、314、および316に関連する3つのラベルを包摂する。そのような実施形態では、デバイスは、センサー信号を310内のより狭い場所のみを示すものと解釈することができる。そのような実施形態では、デバイスは、これらの場所が実際は310の一部であることを認識することができない。すなわち、場所310のユーザラベルは、3つの場所312、314、および316に関連しない。したがって、コンテキストエンジンは、場所312、314、および316に関連する3つのラベルが310内に包摂されるという判定を行うために必要である。たとえば、上記で説明した実施形態では、キャンパス310は、ドーム312、アスレチックビル314、またはエンジニアリングビル316に関するより狭いコンテキストを包摂する。
【００２８】
図3bに示す実施形態は、包摂の概念を紹介する。図3bに示すように、より大きいコンテキスト(たとえば、キャンパス310)によってすべてが包摂される複数の下位コンテキスト(たとえば、ドーム312、アスレチックビル314、またはエンジニアリングビル316)が存在する。本明細書で開示する実施形態は、下位コンテキストをより大きいコンテキストの一部と見なす他のセンサー情報に基づいて判定を行うことについて説明する。これらの判定は、様々なソースから受信した情報、たとえば、センサー130から受信した信号、図1のデバイス112に示すI/Oデバイス126、および/または他のソースに基づく可能性がある。
【００２９】
次に図4aに移ると、図4aは、入力データに基づいて適用されたタグの図表現である。たとえば、図4aに示すように、一実施形態では、デバイスは、場所P1にあるが、そこで信号WiFi1を検出することができ、信号WiFi1には、場所信号またはワイヤレスネットワークに関連する信号が含まれ得る。そのような実施形態では、デバイスは、入力デバイスまたはセンサーから受信した信号を含み得るTag1をさらに受信し得る。デバイスは、Tag1に基づいて、P1に関する判定を行うことができる。たとえば、いくつかの実施形態では、デバイスは、Tag1に基づいて、P1が特定の場所であると判定することができる。たとえば、一実施形態では、デバイスは、P1がユーザのオフィスであると判定することができる。いくつかの実施形態では、Tag1には、プロンプトに応答してユーザにより適用されたタグが含まれ得る。たとえば、いくつかの実施形態では、デバイスは、デバイスがWiFi1の範囲内に来たとき、ユーザが場所を特定するように要求するプロンプトを生成することができる。他の実施形態では、Tag1は、様々な情報を含み得る。たとえば、いくつかの実施形態では、Tag1は、特定の時間、たとえばユーザが通常仕事をしている時間を含み得る。そのような実施形態では、デバイスは、この情報に基づいて、ユーザが仕事中であると判定することができる。他の実施形態では、Tag1は、他のセンサー情報、たとえば、音、光、または他の因子に関連する情報に関連付けられ、その情報に基づいて、場所P1に関する判定を行うことができる。
【００３０】
同様に、図4aに示すように、いくつかの実施形態では、デバイスは、Tag2およびWiFi2に基づいて、場所P2に関する第2の判定を行うことができる。いくつかの実施形態では、Tag2は、Tag1の場合と同様に、様々な利用可能なセンサーまたはユーザ入力情報に基づく可能性がある。
【００３１】
次に図4bに移ると、図4bは、Tag1およびTag2に基づいて行われる包摂判定の図である。図4bに示すように、いくつかの実施形態では、デバイスは、Tag1およびTag2が等しいことをさらに判定することができる。たとえば、いくつかの実施形態では、ユーザは、(たとえば、ユーザプロンプトに応答して)Tag1とTag2の両方に同じタグを適用することができる。あるいは、別の実施形態では、Tag1およびTag2は、異なる可能性があり、たとえば、それらは、異なるセンサーからのものである可能性がある。しかし、いくつかの実施形態では、デバイスは、各タグが等しいと判定することができる。たとえば、デバイスは、図1のデバイス112の構成要素として示されるセンサー130またはI/Oデバイス126から受信しメモリ122に記憶される過去の情報に基づいて、2つのタグの等価性に関する判定を行うことができる。たとえば、一実施形態では、Tag1は、デバイスがジムに関連する(たとえば、ユーザが月曜日、水曜日、および金曜日にジムに行く可能性がある)時刻である可能性がある。さらに、そのような実施形態では、Tag2は、異なるタイプの入力信号を含み得る。たとえば、タグ2は、ユーザに関連する生体データ(たとえば、心拍数、体温など)と関連付けることができる。そのような実施形態では、デバイスは、ユーザが運動していると判定し、したがって、Wi-Fi2をジムと関連付けることもできる。そのような実施形態では、図4bに示すように、Tag1およびTag2は組み合わされ、場所P1およびP2は、より高い抽象レベル、すなわち場所P3に包摂される。したがって、たとえば、上記で説明した実施形態では、場所P3はジムを含むことができ、場所P1およびP2は、それぞれ、ウエート部屋および有酸素運動部屋を含み得る。
【００３２】
次に図5aに移ると、図5aは、特定の場所において利用可能な場所信号の図である。図5aに示す実施形態では、場所P1にあるデバイスは、1つまたは複数のWi-Fi信号Wifi1および1つまたは複数のSPS信号SPS1を受信する。いくつかの実施形態では、SPSが判定した場所は、WiFi信号を使用して判定した場所ほど正確でない。たとえば、ビル内の複数の部屋は、同じSPS判定場所に対応するが、より粒度の細かいWiFi場所判定システムによって弁別可能である場合がある。したがって、図5aに示す実施形態では、ユーザが、ある場所内で移動するにつれて、SPS1は、WiFi1よりも低い頻度で変化し、たとえば、ユーザがビル内の部屋から部屋へ移動するにつれて、SPS1は同じままで、WiFi1が変化する場合がある。
【００３３】
次に図5bに移ると、図5bは、一実装形態による動的包摂推理の図説明である。図5bに示す実施形態では、デバイスは、様々な受信信号にタグが適用されなかったことを意味する「未養成」のモデルで開始することができる。図5bに示す実施形態では、2つの場所P1およびP2が存在する。場所P1およびP2は、オフィスビル内の2つの異なる場所を含み得る。たとえば、一実施形態では、P1は会議室を含むことができ、P2はオフィスを含み得る。デバイスは、場所P1およびP2の各々において、2つの信号を受信する。デバイスは、場所P1において、信号WiFi1およびSPS1を受信する。デバイスは、場所P2において、信号Wifi2およびSPS1を受信する。いくつかの実施形態では、ユーザが場所P1から場所P2に移動し、デバイスが受信する信号が変化するにつれて、タグ、すなわちTag1またはTag2が、それぞれ、各場所に適用される。たとえば、いくつかの実施形態では、上記で説明したように、プロンプトに応答してユーザによりタグが適用され得る。あるいは、他の実施形態では、デバイス上の別のセンサーから受信したデータを監視することにより、デバイスによってタグが適用され得る。
【００３４】
さらに、図5bに示すように、ユーザが場所P1から場所P2に移動するにつれて、信号SPS1は変化しなかったので、デバイスは、場所P1とP2の両方をカバーする第3の場所P3を決定する。この場所が決定されるとき、デバイスは、新規のタグTag3をこの場所に適用することができる。たとえば、上記で説明した実施形態では、場所P1は会議室を含むことができ、P2はオフィスを含むことができ、場所P3は「仕事」というラベルに関連付けることができる。
【００３５】
次に図6aを参照すると、図6aは、一実装形態による動的包摂推理の別の図説明である。図6aは、各々がそれぞれ、WiFi信号、すなわちWifi A、WiFi B、およびWiFi Cに関連する、3つの場所PA、PB、およびPCを示す。さらに、図6aに示すように、場所PAおよびPBは、場所PEに包摂される。これは、上記でさらに詳細に論じたように、各場所に適用されるタグによって決定され得る。同様に、図6aに示す実施形態では、場所PEおよびPCは各々、場所PDに包摂される。さらに、図6aに示すように、各場所は、信号SPS2に関連付けられる。したがって、たとえば、図6aに示す実施形態では、場所PAおよびPBは、ビルPE内の教室などの場所である可能性がある。また、そのような実施形態では、場所PCは、別のビルである可能性がある。ビルPCおよびビルPEは、さらに同じキャンパスPD上に位置する可能性がある。
【００３６】
次に図6bに移ると、図6bは、一実装形態による動的包摂推理の別の図説明である。図6bは、図5bおよび図6aに示す要素を組み込んだ追加のアブストラクションレイヤを示す。たとえば、図6bに示すように、場所PAおよびPBはどちらも、場所PEの一部である。たとえば、上記で説明した実施形態では、PAおよびPBは各々、ビルPE内の教室である可能性がある。同様に、PCは、ビルPEとともに同じキャンパスPDの一部である別のビルである可能性がある。さらに、キャンパスPDに関連する場所の各々は、信号SPS2に関連付けることができる。
【００３７】
さらに、図6bに示すように、場所P1およびP2はどちらも、より大きい場所P3内の下位場所である。たとえば、上記で説明した実施形態では、場所P1は会議室を含むことができ、P2はオフィスを含むことができ、場所P3は、P1とP2の両方が位置する複合体を含み得る。さらに、いくつかの実施形態では、P3内の場所の各々は、同じ信号SPS1に関連付けることができる。図6bに示すように、場所P3およびPDの各々は、より大きい領域810の一部である可能性がある。このより大きい領域は、たとえば、信号SPS1とSPS2の両方に関連する近隣または都市を含み得る。
【００３８】
上記の例は、場所および場所判定に関連する信号に関して説明した。しかし、他の実施形態では、コンテキストエンジンは、他の信号、たとえば、I/Oデバイス126、センサー130、またはメモリ122に記憶されたデータからの信号に基づいて他の判定を行うために包摂を使用することができる。したがって、他の実施形態では、コンテキストエンジンは、任意のタイプのコンテキストならびに対応するラベルおよびモデルの複合体に関する包摂モデルを構築することができる。たとえば、いくつかの実施形態では、ユーザ提供のラベルは、複数の機械生成のコンテキストおよび対応するモデルに対応する場合がある。たとえば、いくつかの実施形態では、ラベルは、精神の状態(たとえば、楽しい、悲しい、集中しているなど)、活動(仕事、遊び、運動、休暇など)、またはユーザのニーズ(たとえば、喉が渇いた、空腹である、または店舗で何かを探している)に関連付けることができる。たとえば、いくつかの実施形態では、コンテキストは、ユーザの車内の動きに関連付けることができる。そのような実施形態では、ユーザの速度または場所、時刻、ユーザのカレンダーアプリケーションに記憶された入力内容、ソーシャルネットワークへの投稿、または任意の他の利用可能なデータなどの因子に関連するセンサー信号は、ユーザのコンテキストに関する推理を行うためにコンテキストエンジンによって使用され得る。たとえば、一実施形態では、ユーザが通常食べる時刻にユーザがいくつかのレストランの近くに居ることを示す場所信号をコンテキストエンジンが受信する場合、コンテキストエンジンは、レストランを探しているユーザに関連するコンテキストを判定することができる。同様に、別の実施形態では、ユーザが依然としてオフィスに居ると同時に、ユーザが通常食べる時刻をとうに過ぎてオフィスに居続ける場合、デバイスは、ユーザが空腹であることに関連するコンテキストを判定することができる。これらの実施形態のうちのいずれかにおいて、デバイスは、近くのレストランのメニューをユーザにさらに提供することができる。
【００３９】
さらなる実施形態では、さらに他の因子を考慮する可能性がある。たとえば、いくつかの実施形態では、コンテキストエンジンは、ユーザの活動に関連するセンサー信号に基づいて判定を行うことができる。たとえば、いくつかの実施形態では、コンテキストエンジンは、異なる活動をより大きい同じ場所内の異なる場所に関連付けることができる。たとえば、一実施形態では、コンテキストエンジンは、たとえばユーザがTVを見ながらリビングルーム内に座ることに関連するコンテキストを判定することができる。そのような実施形態では、コンテキストエンジンは、キッチンに居る間に座ることに関連する別のコンテキストを判定することができる。そのような実施形態では、コンテキストエンジンは、寝室で眠ることに関連するさらに別のコンテキストを判定することができる。そのような実施形態では、コンテキストエンジンは、場所信号に基づいてユーザの正確な場所を判定することができなくても、活動に基づいて場所を絞り込むことが可能になる場合がある。たとえば、上記で説明した実施形態では、コンテキストエンジンは、ユーザが座っている場合、ユーザが2つの部屋のうちの1つに居る可能性が高いことを判定することができる。
【００４０】
次に図7に移ると、図7は、一実装形態による動的包摂推理を行うための方法のフローチャートである。いくつかの実施形態では、図7におけるステージは、プロセッサ、たとえば、汎用コンピュータ、サーバ、またはモバイルデバイス内のプロセッサ、たとえば図1に示すプロセッサ120によって実行されるプログラムコード内に実装され得る。いくつかの実施形態では、これらのステージは、一群のプロセッサ、たとえば、モバイルデバイス112上のプロセッサ120、およびサーバなどの1つまたは複数の汎用コンピュータ上のプロセッサによって実施され得る。いくつかの実施形態では、図7のステップのうちのいくつかは、バイパスされるか、または図7に示すものとは異なる順序で実行される。
【００４１】
図7に示すように、方法700は、時間信号を受信するとき、ステージ702において開始する。いくつかの実施形態では、時間信号は、現在時刻に関連付けることができる。いくつかの実施形態では、時間信号は、図1に示すように、モバイルデバイス112上のプロセッサ120によって受信され得る。いくつかの実施形態では、モバイルデバイスは、正確な時刻を出力するように構成された構成要素を含み得る。他の実施形態では、プロセッサ120は、正確な時間管理機能(たとえば、内部クロック)を含み得る。
【００４２】
方法700は、第1の入力信号を受信するとき、ステージ704に進む。いくつかの実施形態では、第1の入力信号は、現在時刻のユーザに関連するデータを含み得る。いくつかの実施形態では、第1の入力信号は、図1に示す、I/Oデバイス126、センサー130、またはアンテナ128のうちの1つから受信することができる。たとえば、いくつかの実施形態では、第1の入力信号には、場所信号、たとえば、SPS信号が含まれ得る。他の実施形態では、第1の入力信号には、ユーザからの入力、たとえば、ユーザプロンプトに対する応答が含まれ得る。いくつかの実施形態では、そのような応答は、「タグ」と呼ぶことができる。さらなる実施形態では、第1の入力信号には、センサーデータが含まれる。たとえば、いくつかの実施形態では、第1の入力信号には、加速度計、光センサー、オーディオセンサー、生体センサー、または当技術分野で知られているような他の利用可能なセンサーのうちの1つまたは複数から受信したデータが含まれ得る。
【００４３】
次に、ステージ706において、第1のコンテキストが判定される。いくつかの実施形態では、第1のコンテキストは、第1の入力信号および現在時刻に基づいて判定され得る。たとえば、いくつかの実施形態では、第1のコンテキストには、ユーザの現在の場所、たとえば特定の部屋内に関連するコンテキストが含まれ得る。一実施形態では、この特定の部屋には、キッチンが含まれ得る。そのような判定は、第1の入力信号に基づいて行われ得る。たとえば、第1の入力信号が場所信号を含む場合、第1の入力信号は、ユーザがキッチンに居ることを示すことができる。他の実施形態では、そのような判定は、異なるタイプの入力信号に関して行われ得る。たとえば、いくつかの実施形態では、入力信号には、ユーザが料理していることを示す活動信号が含まれ得る。さらに、いくつかの実施形態では、マイクロフォンは、第1の部屋に関連する音を検出することができる。たとえば、第1の部屋がキッチンである場合、これらの音は、食事中である、電子レンジが動作中である、コーヒーを入れていること、またはキッチンに関連するいくつかの他の音に関連付けることができる。さらに他の実施形態では、コンテキスト判定は、光センサーに基づく可能性がある。たとえば、一実施形態では、ユーザは、暗い部屋に居る可能性がある。そのような実施形態では、光センサーは、低レベルの周辺光を検出し、睡眠または寝室に関連するコンテキストを判定することができる。
【００４４】
第1のコンテキストがユーザに関連するコンテキストのデータベースと比較されるとき、本方法は、ステージ708に進む。いくつかの実施形態では、データベースは、図1のメモリ122内に記憶されるデータベースである可能性がある。他の実施形態では、データベースには、サーバ、たとえばデータ接続を介してデバイスに接続されたサーバに記憶される遠隔データベースが含まれ得る。
【００４５】
第2のコンテキストが、ステージ708で論じた比較に部分的に基づいて判定されるとき、本方法は、ステージ710に進む。いくつかの実施形態では、第2のコンテキストは、第1のコンテキストの部分集合を含む。たとえば、いくつかの実施形態では、第1のコンテキストは、場所信号、たとえば、ユーザの家に関連する場所信号に基づく可能性がある。そのような実施形態では、データベースは、通常ユーザが現在時刻に食事をすることを示すデータを含み得る。そのような実施形態では、デバイスは、キッチンに関連する第2のコンテキストを判定することができる。
【００４６】
本方法は、第2の入力信号を受信するとき、ステージ712に進む。第1の入力信号の場合と同様に、いくつかの実施形態では、第2の入力信号は、現在時刻のユーザに関連するデータを含み得る。いくつかの実施形態では、第2の入力信号は、図1に示す、I/Oデバイス126、センサー130、またはアンテナ128のうちの1つから受信することができる。
【００４７】
次に、ステージ714において、第3のコンテキストが判定される。いくつかの実施形態では、第3のコンテキストは、第2の入力信号および現在時刻に基づく可能性がある。たとえば、いくつかの実施形態では、第1のコンテキストは、ユーザの現在の場所、たとえば仕事中であることに関連付けることができる。そのような実施形態では、データベースは、通常ユーザが現在時刻に会議を行うことを示すことができ、したがって、第2のコンテキストは、会議に関連付けることができる。さらに、第2の入力信号は、ユーザのカレンダーアプリケーションに入力されるデータに関連付けることができる。そのような実施形態では、カレンダーアプリケーションは、ユーザが現在時刻に電話会議を予定していることを示すことができる。したがって、第3のコンテキストは、オフィスにおける電話会議に関連付けることができる。
【００４８】
第3のコンテキストがユーザに関連するコンテキストのデータベースと比較されるとき、本方法は、ステージ716に進む。いくつかの実施形態では、データベースは、図1のメモリ122内に記憶されるデータベースである可能性がある。他の実施形態では、データベースには、サーバ、たとえばデータ接続を介してデバイスに接続されたサーバに記憶される遠隔データベースが含まれ得る。
【００４９】
第4のコンテキストが、ステージ716に関して論じた比較に部分的に基づいて判定されるとき、本方法は、ステージ718に進む。たとえば、一実施形態では、第1のコンテキストは、場所信号、たとえば、ユーザの家に関連する場所信号に基づく可能性がある。そのような実施形態では、データベースは、通常ユーザが現在時刻に食事をすることを示すデータを含み得る。そのような実施形態では、デバイスは、キッチンに関連する第2のコンテキストを判定することができる。そのような実施形態では、第3の入力信号は、ユーザが空腹であるというソーシャルネットワーキングサイトの投稿に関連付けることができる。これに基づいて、第3のコンテキストは、ユーザが空腹であることに関連付けることができる。さらに、そのような実施形態では、データベースは、ユーザが好む食物のタイプに関連するデータを含み得る。したがって、そのような実施形態では、デバイスは、ユーザが通常好む食物のタイプをサービスする近くのレストランのメニューをユーザに提供することができる。
【００５０】
コンテキストのうちの1つまたは複数がデータベース内に記憶されるとき、本方法は、ステージ720に進む。いくつかの実施形態では、データベースは、ステージ708および716に関して上記で論じたものと同じデータベースである可能性がある。他の実施形態では、データベースには、異なるデータベースが含まれ得る。いくつかの実施形態では、データベースは、図1のメモリ122内に記憶され得る。他の実施形態では、データベースには、サーバ、たとえばデータ接続を介してデバイスに接続されたサーバに記憶される遠隔データベースが含まれ得る。
【００５１】
本開示の実施形態は、多数の利点を提供する。たとえば、ユーザ入力データと生のデバイスデータ(たとえば、センサーからのデータ)との間の直接的なマッピングがしばしば存在しない。したがって、本開示の実施形態は、デバイスと人間との間のデータ解釈のギャップを埋めるためのシステムおよび方法を提供する。さらなる実施形態は、ユーザの活動に関する判定に基づいて動作を変更することができる、より有用なデバイスなどのさらなる利益を与える。たとえば、本開示の実施形態は、ユーザがモバイルデバイスを使用することを考える前に、データを検索するか、またはリンガーを無効にすることなどのタスクを実行することができるデバイスを実現する。そのような実施形態は、モバイルデバイスのより広い採用およびより大きいユーザ満足につながる可能性がある。
【００５２】
上記で論じた方法、システム、およびデバイスは、例である。様々な構成において、様々な手順または構成要素を、適宜、省略し、置換し、または加えることができる。たとえば、代替構成では、本方法は、説明される順序とは異なる順序で実行されてもよく、ならびに/または、様々なステージが加えられ、省略され、および/もしくは組み合わされてもよい。また、いくつかの構成に関して説明される特徴が、様々な他の構成と組み合わされてもよい。構成の様々な態様および要素を同様に組み合わせることができる。また、技術が発展し、したがって、要素の多くは、例であり、本開示または特許請求の範囲の範囲を限定しない。
【００５３】
例示的な構成(実装形態を含む)の完全な理解を与えるために、説明に具体的な詳細が与えられる。しかしながら、構成は、これらの具体的な詳細なしに実践することができる。たとえば、構成を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不要な詳細なしに示してきた。この説明は、例示的な構成のみを提供し、特許請求の範囲の範囲、適用可能性、または構成を限定しない。むしろ、これらの構成の上述の説明は、説明した技法を実装するための使用可能にする説明を当業者に提供することになる。本開示の趣旨または範囲から逸脱することなく、要素の機能および構成に様々な変更を行うことができる。
【００５４】
また、構成は、流れ図またはブロック図として示されるプロセスとして説明することができる。各々は動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。加えて、動作の順序は並び替えられ得る。プロセスは、図に含まれていない追加のステップを有することができる。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体などの非一時的コンピュータ可読媒体に記憶され得る。プロセッサは説明したタスクを実行し得る。
【００５５】
いくつかの例示的な構成について説明してきたが、様々な変更、代替構造、および均等物は、本開示の趣旨から逸脱することなく使用され得る。たとえば、上記の要素は、より大きいシステムの構成要素である可能性があり、他のルールは、本開示のアプリケーションよりも優先するか、そうでなければ本開示のアプリケーションを変更することができる。また、上記の要素が考慮される前、間、または後に、いくつかのステップを行うことができる。したがって、上記の説明は、特許請求の範囲を制限しない。
【００５６】
本明細書での「ように適合された」または「ように構成された」の使用は、追加のタスクまたはステップを実行するように適合されたデバイス、または構成されたデバイスを排除しない、オープンで包括的な言葉を意味する。加えて、「基づいて」の使用は、1つまたは複数の記載された条件または値に「基づく」プロセス、ステップ、計算、または他の動作が、実際には、追加の条件または記載された値を超える値に基づく可能性がある点で、オープンで包括的であることを意味する。本明細書に含まれる見出し、リスト、および番号付けは、説明を簡単にするためだけであり、限定することを意味しない。
【００５７】
本主題の態様による実施形態は、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、または上記の組合せに実装され得る。一実施形態では、コンピュータは、1つのプロセッサまたは複数のプロセッサを含み得る。プロセッサは、プロセッサに結合されたランダムアクセスメモリ(RAM)などのコンピュータ可読媒体を含むか、またはそれにアクセスすることができる。プロセッサは、センサーサンプリングルーチン、選択ルーチン、および上記で説明した方法を実行する他のルーチンを含む1つまたは複数のコンピュータプログラムを実行するなど、メモリに記憶されたコンピュータ実行可能プログラム命令を実行する。
【００５８】
そのようなプロセッサには、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、および状態機械が含まれ得る。そのようなプロセッサには、PLC、プログラマブル割込コントローラ(PIC)、プログラマブル論理デバイス(PLD)、プログラマブル読取り専用メモリ(PROM)、電子的プログラマブル読取り専用メモリ(EPROMまたはEEPROM)、または他の同様のデバイスなどのプログラマブル電子デバイスがさらに含まれ得る。
【００５９】
そのようなプロセッサは、プロセッサによって実行されるとき、たとえばプロセッサによって実行されるか、または支援される、本明細書で説明したステップをプロセッサに実行させることができる命令を記憶し得る有体のコンピュータ可読媒体などの媒体を含むか、またはその媒体と通信することができる。コンピュータ可読媒体の実施形態には、限定はしないが、すべての電子記憶デバイス、光記憶デバイス、磁気記憶デバイス、またはウェブサーバ内のプロセッサなどのプロセッサにコンピュータ可読命令を提供することが可能な他の記憶デバイスが含まれ得る。媒体の他の例には、限定はしないが、フロッピー（登録商標）ディスク、CD-ROM、磁気ディスク、メモリチップ、ROM、RAM、ASIC、構成されたプロセッサ、すべての光学媒体、すべての磁気テープもしくは他の磁気媒体、またはコンピュータプロセッサが読み取ることができる任意の他の媒体が含まれる。また、ルータ、専用ネットワークもしくは公衆ネットワーク、または他の送信デバイスなどの様々な他のデバイスは、コンピュータ可読媒体を含み得る。説明したプロセッサおよび処理は、1つまたは複数の構造で存在する可能性があり、1つまたは複数の構造を介して分散される可能性がある。プロセッサは、本明細書で説明した方法のうちの1つまたは複数(または方法の一部)を実行するためのコードを含み得る。
【００６０】
本主題について、その特定の実施形態に関して詳細に説明してきたが、上記の理解を達成すると、そのような実施形態に対する改変形態、変形形態、および均等物を容易に生成することができることが当業者には諒解されよう。したがって、本開示は、限定ではなく例として提示され、当業者には容易に明らかになるように、本主題に対する変更、変形、および/または追加を含むことを妨げないことを理解されたい。
【符号の説明】
【００６１】
112  モバイルデバイス
120  プロセッサ
122  メモリ
124  ソフトウェア
126  I/Oデバイス
128  アンテナ
130  センサー
210  サーバ
211  プロセッサ
212  メモリ
214  命令
220  モバイルデバイス
221  プロセッサ
222  メモリ
224  命令
230  アクセスネットワーク
310  場所
312  下位場所
314  下位場所
316  下位場所
320  場所
810  より大きい領域
【図１】
0006013476.tif 000002
【図３ａ】
0006013476.tif 000003
【図３ｂ】
0006013476.tif 000004
【図４ａ】
0006013476.tif 000005
【図４ｂ】
0006013476.tif 000006
【図５ａ】
0006013476.tif 000007
【図５ｂ】
0006013476.tif 000008
【図６ａ】
0006013476.tif 000009
【図６ｂ】
0006013476.tif 000010
【図２】
0006013476.tif 000011
【図７】
0006013476.tif 000012