(57)【要約】      （修正有）【課題】ユーザが探している特定の情報をガイドするための情報を提供する。【解決手段】特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、特定のユーザによって行なわれるタスクを識別する。システムは、ユーザによって行なわれるタスクの第１の尤度を決定し、かつ、特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについて行なわれるタスクの第２の尤度を決定する。第１の尤度が第２の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、システムは、特定のコンテキストについてタスクを完了するための情報を特定のコンピューティングデバイスに送信する。【選択図】図１
2019075160.tif 000002
【特許請求の範囲】
【請求項１】
特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、前記特定のコンテキストについて前記コンピューティングデバイスのグループのユーザによって行なわれるタスクをコンピューティングシステムによって識別することと、
前記特定のコンテキストについて前記コンピューティングデバイスのグループの前記ユーザによって行なわれる前記タスクの第１の尤度を前記コンピューティングシステムによって決定することと、
前記特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについて前記コンピューティングデバイスのグループの前記ユーザによって行なわれる前記タスクの第２の尤度を前記コンピューティングシステムによって決定することと、
前記第１の尤度が前記第２の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが前記特定のコンテキストに対応していることとを決定することに応答して、前記特定のコンテキストについて前記タスクを完了するための情報を前記特定のコンピューティングデバイスに前記コンピューティングシステムによって送信することとを含む、方法。
【請求項２】
前記特定のコンテキストについて前記タスクを完了するための前記情報は、前記現在のコンテキストが前記コンピューティングデバイスの前記ユーザに関連付けられるコンテキスト履歴に含まれていない新しいコンテキストであると決定することに応答して、さらに送信される、請求項１に記載の方法。
【請求項３】
前記特定のコンテキストについて前記タスクを完了するための前記情報は第１の情報であり、前記方法はさらに、
前記特定のコンテキストを除く異なるコンテキストについて前記タスクを完了するための第２の情報を前記コンピューティングシステムによって決定することを含み、前記第２の情報は前記第１の情報とは異なる、請求項１〜２のいずれか１項に記載の方法。
【請求項４】
前記第１の尤度は、前記特定のコンテキストについて前記コンピューティングデバイスのグループに関連付けられる第１の検索履歴からの、前記タスクに関連付けられる第１の量の第１の検索に少なくとも部分的に基づいて決定され、前記第２の尤度は、前記より広いコンテキストについてコンピューティングデバイスの第２のグループに関連付けられる第２の検索履歴からの、前記タスクに関連付けられる第２の量の第２の検索に少なくとも部分的に基づいて決定される、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記方法において、
前記特定のコンテキストが第１の量の時間を含み、前記より広いコンテキストが前記第１の量の時間より多い第２の量の時間を含むか、または、
前記特定のコンテキストが第１の地理的エリアに関連付けられ、前記より広いコンテキストが、前記第１の地理的エリアおよび少なくとも１つの他の地理的エリアを含む第２の地理的エリアに関連付けられるか
のうちの少なくとも１つが成り立つ、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記特定のコンテキストについて前記タスクを完了するための前記情報は、前記コンピューティングデバイスのグループに関連付けられる前記検索履歴からの少なくとも１つの検索結果に基づく、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
コンピューティングシステムであって、
少なくとも１つのプロセッサと、
少なくとも１つのモジュールとを含み、前記少なくとも１つのモジュールは、
特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、前記特定のコンテキストについて前記コンピューティングデバイスのグループのユーザによって行なわれるタスクを識別することと、
前記特定のコンテキストについて前記コンピューティングデバイスのグループの前記ユーザによって行なわれる前記タスクの第１の尤度を決定することと、
前記特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについて前記コンピューティングデバイスのグループの前記ユーザによって行なわれる前記タスクの第２の尤度を決定することと、
前記第１の尤度が前記第２の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが前記特定のコンテキストに対応していることとを決定することに応答して、前記特定のコンテキストについて前記タスクを完了するための情報を前記特定のコンピューティングデバイスに送信することとを行うように前記少なくとも１つのプロセッサによって動作可能である、コンピューティングシステム。
【請求項８】
前記第１の尤度は、前記特定のコンテキストについて前記コンピューティングデバイスのグループに関連付けられる前記検索履歴からの、前記タスクに関連付けられる第１の量の検索と、前記特定のコンテキストについて前記コンピューティングデバイスのグループに関連付けられる前記検索履歴からの全量の検索とに少なくとも部分的に基づいて決定される、請求項７に記載のコンピューティングシステム。
【請求項９】
前記特定のコンテキストは第１の位置に関連付けられ、前記より広いコンテキストは、前記第１の位置および少なくとも１つの他の位置を含む複数の位置に関連付けられ、前記複数の位置の各々は同じ交通方式に関連付けられる、請求項７〜８のいずれか１項に記載のコンピューティングシステム。
【請求項１０】
前記コンピューティングデバイスのグループは前記特定のコンピューティングデバイスを除く、請求項７〜９のいずれか１項に記載のコンピューティングシステム。
【請求項１１】
前記少なくとも１つのモジュールは、前記第１の尤度が前記第２の尤度を前記しきい値量だけ上回っていないと決定することに応答して、前記特定のコンテキストについて前記タスクを完了するための前記情報を前記特定のコンピューティングデバイスに送信することを抑制するように前記少なくとも１つのプロセッサによってさらに動作可能である、請求項７〜１０のいずれか１項に記載のコンピューティングシステム。
【請求項１２】
前記少なくとも１つのモジュールは、
前記特定のコンテキストについて前記コンピューティングデバイスのグループの前記ユーザによって行なわれる第２のタスクの第３の尤度を決定することを行うように前記少なくとも１つのプロセッサによってさらに動作可能であり、前記第２のタスクは、前記特定のコンテキストについて前記コンピューティングデバイスのグループに関連付けられる前記検索履歴に基づいてさらに識別され、前記少なくとも１つのモジュールは、
前記特定のコンテキストおよび少なくとも１つの他のコンテキストを含む前記より広いコンテキストについて前記コンピューティングデバイスのグループの前記ユーザによって行なわれる前記第２のタスクの第４の尤度を決定することと、
前記第３の尤度が前記第４の尤度を前記しきい値量だけ上回っていることと、前記特定のコンピューティングデバイスの前記現在のコンテキストが前記特定のコンテキストに対応していることと決定することに応答して、前記特定のコンテキストについて前記第２のタスクを完了するための第２の情報を前記特定のコンピューティングデバイスに送信することとを行うように前記少なくとも１つのプロセッサによってさらに動作可能である、請
求項７〜１１のいずれか１項に記載のコンピューティングシステム。
【請求項１３】
前記少なくとも１つのモジュールは、
前記第１の尤度と前記第２の尤度との間の第１の差を決定することと、
前記第３の尤度と前記第４の尤度との間の第２の差を決定することと、
前記第１の差および前記第２の差に基づいて前記第１のタスクおよび前記第２のタスクのランキングを決定することと、
前記第１の情報を出力することと前記第２の情報を出力することとの間に優先順位を付けるために、前記ランキングを前記コンピューティングデバイスに送信することとを行うように前記少なくとも１つのプロセッサによってさらに動作可能である、請求項１２に記載のコンピューティングシステム。
【請求項１４】
前記タスクは、前記特定のコンピューティングデバイスの現在の位置から特定の位置へナビゲートすることを含み、前記情報は、前記現在の位置から前記特定の位置へ移動することについて１つ以上の提案を含む、請求項７〜１３のいずれか１項に記載のコンピューティングシステム。
【請求項１５】
請求項１〜６に記載の方法のいずれか１つを行なうための手段を含む、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
背景
ユーザは、不慣れな状況にある場合、ユーザが特定の目標を達成するためにあるタスクを遂行するのを支援し得る情報および事実を得るためにコンピューティングデバイスに目を向ける。いくつかのコンピューティングデバイスは、ユーザが探している特定の情報を見つける際にコンピューティングデバイスをガイドするためにユーザが十分な情報（たとえば検索クエリ語）を提供することができることを必要とする。残念なことに、ユーザは、不慣れな状況を乗り越えて特定の目標を達成するのを成功するために自身が完了する必要があり得るタスクに気付いていない場合があり、さらにユーザが検索するべき情報に気付いていない場合がある。その結果、ユーザが行なう必要があり得るさまざまなアクションの事前知識がないため、ユーザは、特定の目標を達成するのに必要な情報を得ようとする際に、ストレスを感じるとともに、コンピューティングデバイスへ情報を入力し検索語を推測して貴重な時間および資源を無駄にし得る。
【発明の概要】
【課題を解決するための手段】
【０００２】
概要
一例において、本開示は方法に関する。当該方法は、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクをコンピューティングシステムによって識別することと、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第１の尤度をコンピューティングシステムによって決定することと、特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第２の尤度をコンピューティングシステムによって決定することとを含む。上記方法はさらに、第１の尤度が第２の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、特定のコンテキストについてタスクを完了するための情報を特定のコンピューティングデバイスにコンピューティングシステムによって送信することを含む。
【０００３】
別の例において、本開示はコンピューティングシステムに関する。当該コンピューティングシステムは、少なくとも１つのプロセッサと、少なくとも１つのモジュールとを含んでおり、上記少なくとも１つのモジュールは、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクを識別することと、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第１の尤度を決定することと、特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第２の尤度を決定することとを行うように少なくとも１つのプロセッサによって動作可能である。第１の尤度が第２の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、上記少なくとも１つのモジュールは、特定のコンテキストについてタスクを完了するための情報を特定のコンピューティングデバイスに送信することを行うように上記少なくとも１つのプロセッサによってさらに動作可能である。
【０００４】
別の例においては、本開示は、命令を含むコンピュータ読取可能記憶媒体に関する。当該命令は、実行されると、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクを識別することと、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第１の尤度を決定することと、特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第２の尤度を決定することとを行うようにコンピューティングシステムの１つ以上のプロセッサを構成する。上記命令はさらに、実行されると、第１の尤度が第２の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、特定のコンテキストについてタスクを完了するための情報を特定のコンピューティングデバイスに送信することを行うようにコンピューティングシステムの１つ以上のプロセッサを構成する。
【０００５】
１つ以上の例の詳細を添付の図面および以下の説明で述べる。記載および図面と請求の範囲とから本開示の他の特徴、目的および利点は明白になるであろう。
【図面の簡単な説明】
【０００６】
【図１】本開示の１つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するための例示的なシステムを示す概念図である。
【図２】本開示の１つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすために情報を提供するように構成される例示的なコンピューティングシステムを示すブロック図である。
【図３】本開示の１つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するための例示的なシステムを示す付加的な概念図である。
【図４Ａ】本開示の１つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するように構成される例示的なコンピューティングシステムによって行われる例示的な動作を示すフローチャートである。
【図４Ｂ】本開示の１つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するように構成される例示的なコンピューティングシステムによって行われる例示的な動作を示すフローチャートである。
【発明を実施するための形態】
【０００７】
詳細な説明
一般に、この開示の技術は、あるコンピューティングシステムが、特定のコンテキストについて他のコンピューティングデバイスの他のユーザの以前のアクションが与えられていれば、当該特定のコンテキストについてコンピューティングデバイスのユーザのニーズを学習および予測することを可能にし得る。ユーザのコンテキスト情報（たとえば位置、時間およびユーザの興味など）に基づいて、システムは、ユーザが行なう必要があり得るタスクまたはアクションを推測し、当該タスクを完了するかまたは当該アクションを行なうために、他のコンピューティングデバイスのユーザが同様のコンテキストにおいて必要とした情報を自動的に提供し得る。コンピューティングシステムは、タスクを完了するかまたはアクションを行なうためにコンピューティングシステムが提供する情報を、異なるコンテキストについて当該情報の有用性の程度を決定することによって、ランク付けし得る。特定のコンテキストについての有用性の程度が、他のコンテキストにおいてアクショ
ンを行なうことについての有用性の程度より十分に大きい場合、コンピューティングシステムは、上記タスクを完了するかまたはアクションを行なうために情報を提供し得る。
【０００８】
本開示の全体にわたって、コンピューティングデバイスおよび／またはコンピューティングシステムが、コンピューティングデバイスが情報を分析するためにコンピューティングデバイスのユーザから許可を受け取る場合のみ、コンピューティングデバイスおよびコンピューティングデバイスのユーザに関連付けられる情報（たとえばコンテキスト、位置、速度、検索クエリなど）を分析する例が記載される。たとえば、以下に議論される状況において、コンピューティングデバイスまたはコンピューティングシステムが、あるユーザに関連付けられる情報を収集または利用し得る前に、コンピューティングデバイスおよび／またはコンピューティングシステムのプログラムまたは機構がユーザ情報（たとえばユーザの現在の位置、現在の速度などに関する情報）を収集および使用することが可能であるかどうかをコントロールする入力を提供する機会、または、デバイスおよび／もしくはシステムがユーザに関連し得るコンテンツを受け取るかどうかあるいはどのように受け取るかを指示する機会がユーザに提供され得る。さらに、あるデータは、コンピューティングデバイスおよび／またはコンピューティングシステムによって格納または使用される前に、個人を識別可能な情報が除去されるように１つ以上の態様で処理され得る。たとえば、ユーザの身元は、個人を識別可能な情報が当該ユーザに関して決定され得ないように処理され得るか、または、位置情報が得られるユーザの地理的な位置は、ユーザの特定の位置が決定され得ないように、（都市、郵便番号または状態レベルまで）一般化され得る。したがって、ユーザは、情報がユーザに関してどのように収集されるか、および、当該情報がどのようにコンピューティングデバイスおよびコンピューティングシステムによって使用されるかについてコントロールを有し得る。
【０００９】
図１は、本開示の１つ以上の局面に従った、コンピューティングデバイス１１０Ａのユーザのニーズを予測するとともに当該ニーズを満たすための情報を提供するための例示的なシステムとしてシステム１００を示す概念図である。システム１００は、ネットワーク１３０を介してコンピューティングデバイス１１０Ａ〜１１０Ｎ（集合的に「コンピューティングデバイス１１０」と称される）と通信する情報サーバシステム（「ＩＳＳ（information server system）」）１６０を含む。
【００１０】
ネットワーク１３０は、たとえば、セルラー、Ｗｉ−Ｆｉ（登録商標）、および/また
は、他のタイプのネットワークといった、コンピューティングシステムと、サーバと、コンピューティングデバイスとの間でデータを送信するための任意のパブリックまたはプライベート通信ネットワークを表わす。ネットワーク１３０は、動作可能に相互結合される１つ以上のネットワークハブ、ネットワークスイッチ、ネットワークルータまたは任意の他のネットワーク機器を含み得、これにより、ＩＳＳ１６０とコンピューティングデバイス１１０との間で情報の交換が提供される。コンピューティングデバイス１１０およびＩＳＳ１６０は、任意の好適な通信技術を使用してネットワーク１３０を介してデータを送信および受信し得る。
【００１１】
ＩＳＳ１６０およびコンピューティングデバイス１１０は各々、それぞれのネットワークリンクを使用してネットワーク１３０に動作可能に結合され得、コンピューティングデバイス１０Ｎは、異なるネットワークリンクを使用してネットワーク３０Ｂに動作可能に結合され得る。コンピューティングデバイス１１０およびＩＳＳ１６０をネットワーク１３０に結合するリンクは、イーサネット（登録商標）、ＡＴＭまたは他のタイプのネットワーク接続であり得、そのような接続は無線および／または有線接続であり得る。
【００１２】
コンピューティングデバイス１１０は各々、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、コンピュータウォッチ、コンピュータアイウエア、コンピュータ
手袋、または、任意の他のタイプのポータブルコンピューティングデバイスといった個々のモバイルデバイスを表わしている。コンピューティングデバイス１１０の付加的な例は、ネットワーク１３０のようなネットワークを介して情報を得るように構成される携帯情報端末（ＰＤＡ）、ポータブルゲームシステム、メディアプレイヤー、ｅブックリーダ、モバイルテレビジョンプラットフォーム、自動車ナビゲーションおよび娯楽システム、または、任意の他のタイプのモバイルコンピューティングデバイス、ウェアラブルコンピューティングデバイス、および非ウェアラブルコンピューティングデバイスを含む。
【００１３】
コンピューティングデバイス１１０の各々は、それぞれのユーザインターフェイスデバイス１１２Ａ〜１１２Ｎ（集合的に「ＵＩＤ１１２」と称される）と、それぞれのユーザインターフェイス（ＵＩ）モジュール１２０Ａ〜１２０Ｎ（集合的に「ＵＩモジュール１２０」と称される）とを含む。さらに、コンピューティングデバイス１１０の各々は、それぞれのクエリモジュール１２２Ａ〜１２２Ｎ（集合的に「クエリモジュール１２２」と称される）を含む。モジュール１２０〜１２２は、それぞれのコンピューティングデバイス１１０において存在および／または実行されるソフトウェア、ハードウェア、ファームウェア、または、ハードウェア、ソフトウェアおよびファームウェアの混合を使用して記載される動作を行ない得る。コンピューティングデバイス１１０は、複数のプロセッサまたは複数のデバイスを用いてそれぞれのモジュール１２０〜１２２を実行し得る。コンピューティングデバイス１１０は、それぞれのモジュール１２０〜１２２を、存在するハードウェア上で実行されるバーチャルマシンとして実行し得る。モジュール１２０〜１２２は、オペレーティングシステムまたはコンピューティングプラットフォームの１つ以上のサービスとして実行され得る。モジュール１２０〜１２２は、コンピューティングプラットフォームのアプリケーションレイヤーにおいて１つ以上の実行可能プログラムとして実行され得る。
【００１４】
コンピューティングデバイス１１０Ｂ〜１１０Ｎは、コンピューティングデバイス１１０Ｂ〜１１０Ｎに関連付けられるそれぞれのユーザが情報の検索をそこから行ない得るコンピューティングデバイスのグループを構成する。いくつかの例では、コンピューティングデバイス１１０Ａは、コンピューティングデバイス１１０Ｂ〜１１０Ｎを有するグループに含まれており、コンピューティングデバイス１１０Ａに関連付けられるユーザはさらに、コンピューティングデバイス１１０Ａから情報の検索を行ない得る。他の例では、コンピューティングデバイス１１０Ｂ〜１１０Ｎのグループは、コンピューティングデバイス１１０Ａを除外している。
【００１５】
コンピューティングデバイス１１０のＵＩＤ１１２は、コンピューティングデバイス１１０のためのそれぞれの入力および／または出力デバイスとして機能し得る。ＵＩＤ１１２はさまざまな技術を使用して実現され得る。たとえば、ＵＩＤ１１２は、存在感知入力スクリーン（presence-sensitive input screen）を使用して入力デバイスとして機能し
得る。当該存在感知入力スクリーンの例としては、抵抗性タッチスクリーン、表面音響波タッチスクリーン、容量性タッチスクリーン、投射型容量タッチスクリーン、感圧性スクリーン、音響パルス認識タッチスクリーン、または他の存在感知ディスプレイ技術が挙げられる。さらに、ＵＩＤ１１２は、ユーザ入力を受信する際に使用されるマイクロホン技術、赤外線センサ技術または他の入力デバイス技術を含み得る。
【００１６】
ＵＩＤ１１２は、１つ以上の任意のディスプレイデバイスを使用して出力（たとえばディスプレイ）デバイスとして機能し得る。１つ以上の任意のディスプレイデバイスの例としては、コンピューティングデバイス１１０のユーザに可視情報を出力することができる液晶ディスプレイ（ＬＣＤ）、ドットマトリックスディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、ｅ−インク、または、同様のモノクロまたはカラーディスプレイが挙げられる。さらに、ＵＩＤ１１２は、ユ
ーザに情報を出力する際に使用されるスピーカ技術、触覚フィードバック技術、または、他の出力デバイス技術を含み得る。
【００１７】
ＵＩＤ１１２は各々、それぞれのコンピューティングデバイス１１０のユーザから触覚入力を受信し得るそれぞれの存在感知ディスプレイを含み得る。ＵＩＤ１１２は、ユーザからの１つ以上のジェスチャー（たとえば、指またはスタイラスペンによりＵＩＤ１１２の１つ以上の位置をユーザが触れるまたは指すこと）を検出することにより触覚入力の指示を受信し得る。ＵＩＤ１１２はたとえば、それぞれの存在感知ディスプレイにおいてユーザに出力を提示し得る。ＵＩＤ１１２は、コンピューティングデバイス１１０によって提供される機能に関連付けられ得るそれぞれのグラフィカルユーザインターフェイス（たとえばユーザインターフェイス１１４）として出力を提示し得る。たとえば、ＵＩＤ１１２は、検索機能に関連するさまざまなユーザインターフェイス（たとえばユーザインターフェイス１１４）を提示し得る。当該検索機能は、クエリモジュール１２２、または、コンピューティングプラットフォーム、オペレーティングシステム、アプリケーション、および／もしくは、コンピューティングデバイス１１０において実行されるあるいはコンピューティングデバイス１１０からアクセス可能であるサービス（たとえば電子メッセージアプリケーション、インターネットブラウザアプリケーション、モバイルまたはデスクトップオペレーティングシステムなど）の他の機構によって提供される。
【００１８】
ＵＩモジュール１２０は、コンピューティングデバイス１１０のそれぞれのＵＩＤ１１２および他のコンポーネントとのユーザインタラクションを管理する。コンピューティングデバイス１１０のユーザはＵＩＤ１１２において出力を閲覧し、および／または、入力を提供するので、ＵＩモジュール１２０は、ＵＩＤ１１２に、表示のためにユーザインターフェイス１１４（または他の例示的なユーザインターフェイス）のようなそれぞれのユーザインターフェイスを出力させ得る。ユーザがユーザインターフェイスとインタラクションする際に、ＵＩモジュール１２０およびＵＩＤ１１２は、異なる時間において、かつ、ユーザとコンピューティングデバイス１１０とが異なる位置にある場合に、ユーザから入力の１つ以上の指示を受信し得る。ＵＩモジュール１２０およびＵＩＤ１１２は、ＵＩＤ１１２において検出される入力を解釈し得、たとえば、コンピューティングデバイス１１０に機能を実行させるよう、１つ以上の関連付けられるプラットホーム、オペレーティングシステム、アプリケーションおよび／またはコンピューティングデバイス１１０で実行されるサービスに、ＵＩＤ１１２において検出される入力に関する情報を中継し得る。
【００１９】
ＵＩモジュール１２０は、１つ以上の関連付けられるプラットホーム、オペレーティングシステム、アプリケーション、ならびに／または、コンピューティングデバイス１１０および／もしくはＩＳＳ１６０のような１つ以上のリモートのコンピューティングシステムにおいて実行されるサービスから情報および命令を受信し得る。さらに、ＵＩモジュール１２０は、コンピューティングデバイス１１０による出力（たとえばグラフィック、光のフラッシュ、音、触覚性応答など）を生成するよう、１つ以上の関連するプラットホーム、オペレーティングシステム、アプリケーション、および／または、コンピューティングデバイス１１０において実行されるサービス、コンピューティングデバイス１１０のさまざまな出力デバイス（たとえばスピーカ、ＬＥＤインジケータ、音声または静電気触覚性出力デバイスなど）の間で仲介者として動作し得る。
【００２０】
図１の例では、ユーザインターフェイス１１４は、ＩＳＳ１６０によって提供されるニーズ予測サービスに関連付けられるとともにコンピューティングデバイス１１０Ａによってアクセスされるグラフィカルユーザインターフェイスである。以下に詳細に記載されるように、ユーザインターフェイス１１４は、コンピューティングデバイス１１０Ａのユーザが現在の時間においてタスクを実行する必要があり得るとＩＳＳ１６０が予想する情報を表わすグラフィカル情報（たとえばテキスト）を含む。ユーザインターフェイス１４は
、コンピューティングデバイス１１０Ａのユーザが現在のコンテキストについてあるタスクを実行する必要があり得ると予測された情報の視覚的な描写のように、さまざまな他のタイプのグラフィカルな指示を含み得る。ＵＩモジュール１２０Ａは、ＵＩモジュール１２０Ａがネットワーク１３０を介してＩＳＳ１６０から受信するデータに基づいてユーザインターフェイス１１４をＵＩＤ１１２Ａに出力させ得る。ＵＩモジュール１２０Ａは、ユーザインターフェイス１１４を提示するためのグラフィカル情報（たとえばテキストデータ、画像データなど）をＩＳＳ１６０からの入力として受信し得るとともに、ＵＩＤ１１２においてユーザインターフェイス１１４内でグラフィカル情報を提示するためのＩＳＳ１６０からの命令も受信し得る。
【００２１】
クエリモジュール１２２は、コンピューティングデバイス１１０について検索に関連する機能を実行する。クエリモジュール１２２はＩＳＳ１６０にネットワーク１３０を介して検索クエリ（たとえば文字列）を送信し得、これに応答して、クエリに基づいてＩＳＳ１６０によって実行される検索結果を取得し得る。クエリモジュール１２２は、コンピューティングデバイス１１０のユーザがＵＩＤ１１２において入力を提供すると、ＵＩモジュール１２０から検索クエリの指示を受信し得る。クエリモジュール１２２は、たとえば、ＩＳＳ１６０から受信される検索結果をＵＩモジュール１２０に出力し得、これにより、ＵＩモジュール１２０がＵＩＤ１１２に存在するユーザインターフェイスＵＩモジュール１２０の一部分として検索結果を提示する。
【００２２】
ＩＳＳ１６０は、ネットワーク１３０のようなネットワークに情報を送信および当該ネットワークから情報を受信可能である１つ以上のデスクトップコンピュータ、ラップトップコンピュータ、メインフレーム、サーバ、クラウドコンピューティングシステムなどといった任意の好適なリモートコンピューティングシステムを表わす。ＩＳＳ１６０は、情報を検索するための検索システムと、特定のコンテキストについてコンピューティングデバイス１１０のユーザのニーズを予測するためのニーズ予測システムとの両方をホストする（または少なくともこれらへのアクセスを提供する）。
【００２３】
コンピューティングデバイス１１０は、ＩＳＳ１６０によって提供される検索システムおよびニーズ予測システムへアクセスするよう、ネットワーク１３０を介してＩＳＳ１６０と通信し得る。いくつかの例では、ＩＳＳ１６０は、ＩＳＳ１６０によって提供されるクラウドへのアクセスを介して検索およびニーズ予測サービスにアクセスする１つ以上のコンピューティングデバイス１１０にネットワーク１３０を通じて検索およびニーズ予測サービスを提供するクラウドコンピューティングシステムを表わす。
【００２４】
図１の例では、ＩＳＳ１６０はコンテキストモジュール１６２、ニーズ予測モジュール１６４および検索モジュール１６６を含む。モジュール１６２〜１６６は、ＩＳＳ１６０に存在するとともにＩＳＳ１６０において実行されるソフトウェア、ハードウェア、ファームウェアまたはハードウェア、ソフトウェアおよびファームウェアの混合を使用して記載される動作を実行し得る。ＩＳＳ１６０は、複数のプロセッサまたは複数のデバイスを用いてモジュール１６２〜１６６を実行し得る。ＩＳＳ１６０は、存在するハードウェア上で実行されるバーチャルマシンとしてモジュール１６２〜１６６を実行し得る。モジュール１６２〜１６６は、オペレーティングシステムまたはコンピューティングプラットフォームの１つ以上のサービスとして実行され得る。モジュール１６２〜１６６は、コンピューティングプラットフォームのアプリケーションレイヤーにおいて１つ以上の実行可能なプログラムとして実行され得る。
【００２５】
コンテキストモジュール１６２は、コンピューティングデバイス１１０に関係するコンテキスト情報を収集し、モジュール１６４および１６６に当該情報を提供するとともに、モジュール１６４および１６６についてコンテキスト情報に基づいて決定を行う。たとえ
ば、コンテキストモジュール１６２は、コンピューティングデバイス１１０Ａに関連付けられる位置情報を取得し得、コンピューティングデバイス１１０Ａの現在の位置がコンピューティングデバイス１１０Ａの位置履歴からの以前の位置と一致するかどうか決定し得る。コンテキストモジュール１６２は、コンピューティングデバイス１１０の各々に関連付けられるコンテキスト履歴を維持し得るとともに、コンピューティングデバイス１１０の１つ以上に関連付けられるそれぞれの現在のコンテキストがそれぞれのコンテキスト履歴において発見される以前のコンテキストと一致するかどうか判定し得る。たとえば、コンテキストモジュール１６２は、コンピューティングデバイス１１０Ａに関連付けられるコンテキスト履歴の一部として、コンピューティングデバイス１１０Ａが特定の日または時間に位置したところを追跡する位置履歴を維持し得る。
【００２６】
コンテキストモジュール１６２は、コンテキストモジュール１６２が新しい更新された情報を受信すると、コンピューティングデバイス１１０に関連付けられる現在のコンテキストおよびコンテキスト履歴を連続的に更新し得る。たとえば、コンテキストモジュール１６２は、コンピューティングデバイス１１０Ａのセンサによって収集された移動情報を受信し得、コンテキストモジュール１６２がコンピューティングデバイス１１０Ａについて維持する現在の位置を更新するよう移動情報を使用し得る。
【００２７】
位置および移動情報は、コンテキストモジュール１６２がコンピューティングデバイス１１０の各々について維持し得るコンテキスト情報のタイプのうちのいくつかのみである。本開示の全体にわたって使用されるように、「コンテキスト情報」という用語は、コンピューティングデバイスおよび／またはコンピューティングデバイスのユーザに関連付けられる１つ以上の環境特性または挙動特性を決定するよう、ＩＳＳ１６０およびコンピューティングデバイス１１０のようなコンピューティングシステムおよび／またはコンピューティングデバイスによって使用され得る任意の考えられる情報を説明するために使用される。
【００２８】
たとえば、コンテキスト情報は、過去、現在および将来の物理的位置と、移動の程度と、天候およびトラフィック状況と、移動のパターンなどとを含む。いくつかの例では、コンテキスト情報は、コンピューティングデバイス１１０の１つ以上のセンサ（たとえばジャイロスコープ、加速度計、近接センサなど）によって得られるセンサ情報と、コンピューティングデバイス１１０の１つ以上の通信ユニットおよび／または無線通信（たとえば全地球測位システム（ＧＰＳ：global positioning system）、セルラー、Ｗｉ−Ｆｉ（
登録商標）など）から得られる無線伝送情報と、コンピューティングデバイス１１０の１つ以上の入力デバイス（たとえばカメラ、マイクロホン、キーボード、タッチパッド、マウス、ＵＩＤ１１２など）によって得られる情報と、コンピューティングデバイス１１０のネットワーク／デバイス識別子情報（たとえばネットワーク名、デバイスインターネットプロトコルアドレスなど）とを含み得る。
【００２９】
さらに、コンテキスト情報は、ユーザの興味のあるトピック（たとえば、ユーザ興味グラフまたは他の何らかのタイプのデータ構造として典型的に維持されるユーザのお気に入りの「もの」）と、ユーザに関連付けられるコンタクト情報（たとえばユーザの個人的なコンタクト情報、および、ユーザの友達、同僚、ソーシャルメディアでのコネクション、家族などに関する情報）と、検索履歴と、位置履歴と、長期および短期のタスクと、カレンダー情報と、アプリケーション使用履歴と、購入履歴と、お気に入りと、ブックマークと、コンピューティングデバイス１１０およびＩＳＳ１６０がコンピューティングデバイス１１０のユーザについて収集し得る他の情報とを含み得る。
【００３０】
さらに、コンテキスト情報は、コンピューティングデバイスの動作状態に関する情報を含み得る。たとえば、所与の時間または特定の位置において実行されるアプリケーション
は、コンピューティングデバイスの動作状態に関する情報の例である。コンピューティングデバイスの動作状態に基づいたコンテキスト情報の他の例は、スイッチの位置と、バッテリーレベルと、デバイスが壁のコンセントに差し込まれているかどうか、または、そうでなければ別のデバイスおよび／もしくはマシンに動作可能に結合されているかどうかと、ユーザ認証情報（たとえばどのユーザか）と、デバイスが、「飛行機」モード、スタンバイモード、フルパワーモードで動作しているかどうかと、無線通信、通信ユニット、入力デバイスおよび出力デバイスの動作状態となどを含むがこれらに限定されない。
【００３１】
コンテキストモジュール１６２は、コンテキスト情報を提供し得、かつ、他のモジュール１６４および１６６ならびにコンピューティングデバイス１１０に代わって、コンテキストモジュール１６２が維持するコンテキスト情報に関する決定を行い得る。たとえば、コンテキストモジュール１６２は、ニーズ予測モジュール１６４への送信のために、コンピューティングデバイス１１０の１つ以上に関連付けられるコンテキスト情報（たとえばそれぞれの位置）を特定するコンテキストモジュール１６２によって維持されるデータを出力することによって、コンピューティングデバイス１１０に関連付けられるコンテキスト情報についてＩＳＳ１６０のニーズ予測モジュール１６４からの要求に応答し得る。
【００３２】
本開示の全体にわたって、コンピューティングデバイスおよびコンピューティングデバイスのユーザに関連付けられる位置履歴、コンテキスト履歴および／または検索履歴を含むコンテキスト情報をコンピューティングデバイスおよび／またはコンピューティングシステムが分析する例が記載されているが、本願明細書において記載されるコンピューティングデバイスおよびコンピューティングシステムは、コンピューティングデバイスおよび／またはコンピューティングシステムが情報を分析するためにコンピューティングデバイスのユーザから明示的な許可を受信する場合にのみコンテキスト情報を分析し得るということが理解されるべきである。たとえば、本願明細書において議論される状況において、コンピューティングデバイスまたはコンピューティングシステムが、あるユーザに関連付けられる情報を収集または利用し得る前に、コンピューティングデバイスおよび／またはコンピューティングシステムのプログラムまたは機構がユーザ情報（たとえばユーザの現在の位置、現在の速度などに関する情報）を収集および使用することが可能であるかどうかをコントロールする入力を提供する機会、または、デバイスおよび／もしくはシステムがユーザに関連し得るコンテンツを受け取るかどうかあるいはどのように受け取るかを指示する機会がユーザには提供され得る。さらに、あるデータは、コンピューティングデバイスおよび／またはコンピューティングシステムによって格納または使用される前に、個人を識別可能な情報が除去されるように１つ以上の態様で処理され得る。たとえば、ユーザの身元は、個人を識別可能な情報が当該ユーザに関して決定され得ないように処理され得るか、または、位置情報が得られるユーザの地理的な位置は、ユーザの特定の位置が決定され得ないように、（都市、郵便番号または状態レベルまで）一般化され得る。したがって、ユーザは、情報がユーザに関してどのように収集されるか、および、当該情報がどのようにコンピューティングデバイスおよびコンピューティングシステムによって使用されるかについてコントロールを有し得る。
【００３３】
検索モジュール１６６は、検索モジュール１６６がコンピューティングデバイス１１０ならびに／またはモジュール１６２および／もしくは１６４から受信する検索クエリに基づき、（たとえばインターネットを使用して利用可能な）情報の検索を実行する。たとえば、検索モジュール１６６は、コンピューティングデバイス１１０Ｂのユーザが、空港ターミナルの地図のオンライン画像を見つけるためにコンピューティングデバイス１１０Ｂとインタラクションする際に、検索モジュール１６６がクエリモジュール１２２Ｂから受信する文字列のインターネット検索を実行し得る。検索に応答して、検索モジュール１６６は、空港ターミナルの地図のグラフィック画像を取得し得、コンピューティングデバイス１１０Ｂにグラフィック画像を出力し得る。
【００３４】
検索モジュール１６６は、コンピューティングデバイス１１０のユーザの１つ以上の検索履歴を維持し得る。検索モジュール１６６によって維持される検索履歴は、コンテキストモジュール１６２によって維持されるコンテキスト履歴の部分であり得るか、または、コンテキスト履歴とは別個であり得る。検索モジュール１６６によって生成される検索履歴は、所与の時間に、検索モジュール１６６が、コンピューティングデバイス１１０のユーザがどのタイプのクエリを検索しているか決定するようコンピューティングデバイス１１０のうちの１つ以上の検索履歴を分析し得るようにソート可能および検索可能であり得る。検索モジュール１６６は、モジュール１６２および１６４に検索履歴へのアクセスを提供し得、および／または、モジュール１６２および１６４に代わって、検索履歴を分析して検索履歴から情報を出力し得る。
【００３５】
ニーズ予測モジュール１６４は、異なるコンテキストについて、コンピューティングデバイス１１０のユーザのニーズを学習および予測し、タスクを完了するかまたはアクションを実行するために他のコンピューティングデバイスのユーザが同様のコンテキストにおいて必要とした情報をコンピューティングデバイス１１０に自動的に提供し得る。たとえば、コンピューティングデバイスのユーザによって実行される以前のアクション（たとえばあるクエリの検索）および／または他のコンピューティングデバイスの他のユーザが与えられると、ニーズ予測モジュール１６４は、ユーザが特定のコンテキストについて実行する必要があり得るタスクまたはアクションを推測し得る。
【００３６】
コンピューティングデバイス１１０の現在のコンテキストに関してニーズ予測モジュール１６４がコンテキストモジュール１６２から受信した情報に基づいて、ニーズ予測モジュール１６４は、現在のコンテキストが、コンピューティングデバイス１１０のユーザが以前にタスクまたはアクションを実行した以前のコンテキストにいつ対応するかを決定し得る。ニーズ予測モジュール１６４は、推測されたアクションまたはタスクをユーザが完了するのを支援し得る情報の検索を実行することを検索モジュール１６６に要求し得る。ニーズ予測モジュール１６４は、（たとえばＵＩＤ１１２のうちの１つのユーザインターフェイス１１４として）ユーザへの提示のために、タスクを完了するためにまたはアクションを実行するために検索モジュール１６６が発見した情報をコンピューティングデバイス１１０のうちの１つ以上に提供し得る。
【００３７】
本願明細書において言及されるようなユーザ「ニーズ」は、（たとえば、検索履歴、購入履歴、アプリケーション使用履歴、および、他のコンテキスト履歴といったアクションログにおける）ユーザアクションのシステムによる観察に基づいて、所与のコンテキストにおけるユーザアクションの意味論的にグループ化されたパターンとして規定され得る。なお、これは、ニーズ予測モジュール１６４によって使用されるモデルの議論を簡潔にするための単に例示的な定義である。したがって、この例示的な定義によって、タスクまたはアクションは必ずしもニーズでなくてもよく、観察された行われたアクションまたは行なわれたタスクは、ニーズ予測モジュール１６４がコンピューティングデバイス１１０のユーザのより一般的なニーズを推測するために使用し得るプロキシであり得る。
【００３８】
ニーズ予測モジュール１６４が、付加的な図に関してより詳細に記載される。要約すると、ニーズ予測モジュール１６４は、異なるコンテキストについてコンピューティングデバイス１１０のユーザのニーズを学習するために１つ以上の機械学習技術を実行し得る。言いかえれば、ニーズ予測モジュール１６４はコンピューティングデバイス１１０のユーザのニーズを直接的に学習することができない場合があるので、ニーズ予測モジュール１６４はユーザニーズをモデリングする。ニーズ予測モジュール１６４は、コンテキストモジュール１６２からコンテキスト情報を受信し得るとともに、検索モジュール１６６から検索履歴情報を受信し得、所与のコンテキストについてユーザのニーズを学習するように
モデルをトレーニングするためにモデルに当該情報を入力として提供し得る。ひとたびトレーニングされると、モデルは、特定のコンテキストを入力として受信し得、それに応答して、当該特定のコンテキストについて他のユーザによって以前に実行された１つ以上のタスク、アクションまたは他の観察可能な行為を示す指示（たとえばデータ）を出力する。
【００３９】
この開示の技術に従うと、ＩＳＳ１６０は、特定のコンテキストについて（たとえば購入履歴、アプリケーション使用などに加えて）コンピューティングデバイス１１０のグループに関連付けられる検索履歴に少なくとも部分的に基づいて、当該特定のコンテキストについて当該コンピューティングデバイス１１０のグループのユーザによって実行されるタスクを識別し得る。たとえば、コンピューティングデバイス１１０Ａのユーザは、初めてある外国を訪問し、当該外国の空港まで飛行機に乗り得る。到着時において、コンピューティングデバイス１１０Ａは、ネットワーク１３０を介してＩＳＳ１６０との接続を確立し得る。
【００４０】
コンテキストモジュール１６２は、コンピューティングデバイス１１０Ａの現在のコンテキストを決定し得、ニーズ予測モジュール１６４と現在のコンテキストを共有し得る。ニーズ予測モジュール１６４は、同様のコンテキストを与えられたコンピューティングデバイス１１０の他のユーザによって典型的に実行される１つ以上のアクションを推測するためにニーズ予測モジュール１６４が使用するモデルへ、コンピューティングデバイス１１０Ａの現在のコンテキストを入力し得る。ニーズ予測モジュール１６４は、当該モデルを使用して、外国の空港を訪問する際にユーザが典型的に実行する１つ以上のタスクを識別し得る。
【００４１】
いくつかの例では、推測されたタスクの例は、コンピューティングデバイス１１０Ａの現在の位置から特定の位置へナビゲートすることを含む。たとえば、ニーズ予測モジュール１６４のモデルは、ユーザが典型的に当該外国の空港からのタクシーを探していることを示すデータを出力し得る。あるいは、いくつかの例では、モデルは、タクシーを呼ぶためにユーザが典型的にデバイス１１０のそれぞれから陸上交通に関連するアプリケーションの実行をトリガする（たとえば開く）ことを示すデータを出力し得る。
【００４２】
いずれの場合においても、モデルから受信された情報に基づいて、ニーズ予測モジュール１６４は、コンピューティングデバイス１１０のユーザが典型的に空港への到着時にタクシーを必要とすると決定し得、したがって、コンピューティングデバイス１１０Ａのユーザがタクシーを必要としているかもしれないと推測し得る。いくつかの例では、ニーズ予測モジュール１６４は、モデルによって識別されたタスクまたはアクションに基づいて検索を実行するように検索モジュール１６６に単に要求し得る。その後、ニーズ予測モジュール１６４は、タクシーを呼ぶ必要があるかもしれないとＵＩモジュール１２０Ａがユーザに知らせ得るように、コンピューティングデバイス１１０Ａに検索結果（または検索結果に由来する情報）を自動的に出力し得る。
【００４３】
しかしながら、他の例においては、ニーズ予測モジュール１６４は、ニーズモデルから受信される情報に対して、コンピューティングデバイス１１０Ａに情報を送る前に、何らかの付加的な分析を実行し得る。端的に言うと、ニーズ予測モジュール１６４は、特定のコンテキストについて実行されるタスクの尤度（たとえば確率、カウントなど）がより広いコンテキストについて実行されるタスクの尤度より十分に重み付けされているかどうかを決定し得る。これにより、ニーズ予測モジュール１６４は、ユーザが実行しなければならないかもしれないタスクが特に、普通ではないか、またはそうでなければ、特定の状況に固有である場合には単にニーズ情報を出力し得る。
【００４４】
たとえば、ニーズ予測モジュール１６４のニーズモデルは、特定の空港にいる際にユーザが典型的にコンピューティングデバイス１１０から電子メールアプリケーションを開くと決定し得る。しかしながら、ニーズ予測モジュール１６４のニーズモデルは、ユーザは典型的に、空港および特定の空港を囲む大きな地理的エリアを含む他のコンテキストについてコンピューティングデバイス１１０から同じ電子メールアプリケーションを開くと決定し得る。ニーズ予測モジュール１６４は、外国の空港への到着時において電子メールアプリケーションを開く尤度が外国の空港の外側で電子メールアプリケーションを開く尤度と同様であると決定し得る。したがって、ニーズ予測モジュール１６４は、当該「ニーズ」がユーザに対して割り込むまたは別の態様で先を見越してユーザにアラートを出すほど十分に興味深いものではないので、コンピューティングデバイス１１０Ａのユーザが自身の電子メールをチェックするアラートを受信することを気にかける必要はないと決定し得る。
【００４５】
特定のタスクを満たすニーズについての情報がユーザに対して割り込むほど十分に興味深いものであるかどうか決定するために、ニーズ予測モジュール１６４のニーズモデルは、特定のコンテキストについてコンピューティングデバイス１１０のグループのユーザによって実行されるタスクの第１の尤度と、特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイス１１０のグループのユーザによって実行されるタスクの第２の尤度とを比較し得る。たとえば、ニーズ予測モジュール１６４は、ユーザが外国における空港に位置する場合にコンピューティングデバイス１１０のユーザの７５パーセントが陸上交通について検索を実行していると決定し得、ユーザが外国内のどこかに位置している場合（ユーザが空港にいる場合も含む）にはコンピューティングデバイス１１０のユーザの２０パーセントのみが陸上交通について同じ検索を実行していると決定し得る。
【００４６】
ニーズ予測モジュール１６４のニーズモデルは、２つの尤度間の差としきい値量（たとえば１０パーセント、２０パーセントなど）とを比較し得、これにより、特定のコンテキストについての情報のニーズがより広いコンテキストにおける同様の情報についてのニーズより十分に重み付けされているかどうか決定する。たとえば、しきい値量は２０パーセントであり得る。あるいは、換言すると、ニーズ予測モジュール１６４のニーズモデルは、特定のコンテキストにおける情報のニーズが、少なくとも２０パーセントだけ、より広いコンテキストにおける情報のニーズより重み付けされていることを必要とし得る。
【００４７】
第１の尤度が第２の尤度をしきい値量だけ上回っていることと、コンピューティングデバイス１１０Ａの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、ニーズ予測モジュール１６４は、特定のコンテキストについてタスクを完了するための情報をコンピューティングデバイス１１０Ａに送信し得る。たとえば、コンピューティングデバイス１１０Ａのユーザが外国の空港において陸上交通を必要とすることになる尤度が、ユーザが陸上交通を当該国のいずれかの場所で必要とする尤度より十分に大きいと決定した後、ニーズ予測モジュール１６４は、検索モジュール１６６に、外国の空港から陸上交通に乗ることに関係する有益な情報について検索を実行させ得る。
【００４８】
いくつかの例では、ＩＳＳ１６０がコンピューティングデバイス１１０Ａに送信する特定のコンテキストについてタスクを完了するための情報は、コンピューティングデバイス１１０のグループに関連付けられる検索履歴からの少なくとも１つの検索結果に基づき得る。たとえば、コンピューティングデバイス１１０Ａへ送信される情報は、特定のコンテキストにおいて検索を実行することにより以前のユーザが得た情報のうちのいくつかまたはすべてであり得る。これにより、ＩＳＳ１６０は、検索を実行するようユーザに自身のコンピューティングデバイス１１０Ａとインタラクションすることを必要とすることなし
に、ユーザがいずれにしても検索する可能性がある情報を提供している。
【００４９】
いくつかの例では、ＩＳＳ１６０は、第１の尤度がしきい値量だけ第２の尤度を上回っていないと決定することに応答して、特定のコンテキストについてタスクを完了するための情報をコンピューティングデバイス１１０Ａに送信することを抑制し得る。たとえば、コンピューティングデバイス１１０Ａのユーザが外国の空港で陸上交通を必要とする尤度が、ユーザが当該国のどこかにおいて陸上交通を必要とする尤度よりも十分に大きくないと決定した後、ニーズ予測モジュール１６４は、外国の空港から陸上交通に乗ることに関係する有益な情報の検索を検索モジュール１６６に実行させることを抑制し得る。換言すると、ＩＳＳ１６０は、ニーズが特定の状況に固有でないがその代わりに多くまたはすべての状況について一般に必要とされる場合、予測されたニーズを満たすための情報を提供しないことがあり得る。
【００５０】
いずれの場合においても、第１の尤度がしきい値量だけ第２の尤度を上回っており、かつ、ニーズ予測モジュール１６４が検索モジュール１６６にニーズに関係する情報の検索を実行させるとすると、検索モジュール１６６は当該ニーズに関する情報を返し得る。いくつかの例において、情報は、現在の位置から特定の位置へ移動するための１つ以上の提案を含み得る。いくつかの例において、情報は、空港のタクシー停車場の位置と、チップが当該外国では適切かどうかと、当該外国の空港から陸上交通に乗ることに関する他の有益な情報とを含み得る。たとえば、検索モジュール１６６は、空港からの陸上交通のドライバーによって現地通貨のみが受け付けられる（たとえば、外貨またはクレジットカードは受け付けられない）と決定し得る。ニーズ予測モジュール１６４は、検索モジュール１６６によって得られた情報を伝えるためにＵＩＤ１１２Ａにおいてユーザインターフェイス１１４を提示するための命令を含む情報をコンピューティングデバイス１１０Ａに出力し得る。
【００５１】
ＩＳＳ１６０から情報を受信すると、ＵＩモジュール１２０Ａは、表示のためにＵＩＤ１１２Ａにユーザインターフェイス１１４を出力させ得、いくつかの例において、特定のコンテキストにおいてユーザのニーズを満たすための有益な情報がＵＩＤ１１２Ａで利用可能であるということをユーザに示すようコンピューティングデバイス１１０Ａに可聴アラートも出力させ得る。この例では、ＩＳＳ１６０から受信された情報に基づいて、コンピューティングデバイス１１０Ａのユーザは、タクシーに乗る前に両替キオスクに立ち寄るべきであることを知り得る。
【００５２】
したがって、本願明細書において記載される技術を実行する例示的なコンピューティングシステムから情報を受信するコンピューティングデバイスのユーザが不慣れな状況にある場合、ユーザは、特定の目標を達成するためにユーザがあるタスクを遂行するのを支援し得る情報および事実を得るために、情報の検索を実行するか、またはそうでなければ、ユーザのコンピューティングデバイスに入力を提供する必要がなくなり得る。その代わりに、例示的なシステムは、状況のコンテキストが与えられると、ユーザのニーズを自動的に推測し得、ユーザのニーズを満たしユーザがタスクまたは目標を達成するのを支援し得る有益な情報をコンピューティングデバイスに自動的に提供する。
【００５３】
これにより、入力（たとえば検索クエリ）を提供するようにユーザに要求するとともにさらに、ユーザが探している特定の情報を見つける際に他のコンピューティングデバイスおよびシステムをガイドするための十分な情報（たとえば正しい検索クエリ語）を提供することができることを要求する他のコンピューティングデバイスおよびシステムと異なり、例示的なシステムは、必要とされる情報を自動的に提供する。ユーザが完了する必要があり得るタスクまたはユーザが検索するべき情報にユーザが気がついていない場合であっても、例示的なシステムは、不慣れな状況を乗り越えて特定の目標を達成することを成功
するために、必要とされる情報を自動的に提供する。
【００５４】
さらに、他のコンピューティングデバイスおよびシステムと異なり、例示的なシステムは、ある「ワオ（Ｗｏｗ）！」ファクタを有する必要とされる情報を提供し得る。言いかえれば、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって実行されるタスクの第１の尤度が、特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって実行されるタスクの第２の尤度をしきい値量だけ上回るかどうかに基づき特定のコンテキストについて情報の出力を決定することによって、例示的なコンピューティングシステムは、特定のコンテキストについてユーザがまだ知らない情報および／またはユーザが必要とするであろうことを知る術がなかった情報を提供する可能性がより高くなり得る。例示的なシステムが提供する情報は、より不明瞭な事実または他のニュアンスの情報のうちのいくつかを含み得る。当該他のニュアンスの情報は、ユーザの特定の状況（たとえば時間、位置など）に対して非常に特定的であり、特定の状況を以前に経験したことがある非常に経験を積んだユーザのみが知っていたであろう情報である。
【００５５】
結果、ユーザは、不慣れな状況に遭遇する前にユーザが実行する必要があり得るさまざまなアクションの如何なる事前知識も有する必要がない。ユーザの経験するストレスはより少なくなり得、また、ユーザが特定の目標を達成するのに必要な情報を得ようとする際に情報を検索するためにコンピューティングデバイスにおいて入力を提供するのに費やされる時間がより少なくなり得る。ユーザからの直接的なユーザインタラクション（たとえば入力）が少なくなることにより、例示的なシステムは、情報を検索する能力を単にユーザに提供する他のシステムと比較して、エネルギーを節約して使用するバッテリー電力が少なくなり得る。
【００５６】
図２は、本開示の１つ以上の局面に従った、図１のコンピューティングデバイス１１０のうちの１つのようなコンピューティングデバイスのユーザのニーズを予測するように構成されるとともに、ニーズを満たすための情報を提供するように構成される例示的なコンピューティングシステムとして情報サーバシステム（ＩＳＳ）２６０を示すブロック図である。ＩＳＳ２６０は図１のＩＳＳ１６０のより詳細な例であり、図１のシステム１００のコンテキストにおいて以下に記載される。図２は、ＩＳＳ２６０の１つの特定の例のみを示しており、ＩＳＳ２６０の他の多くの例が他の場合において使用されてもよく、例示的なＩＳＳ２６０に含まれるコンポーネントのサブセットを含んでもよく、または、図２に示されない付加的なコンポーネントを含んでもよい。
【００５７】
ＩＳＳ２６０は、コンジット（conduit）をコンピューティングデバイス１１０に提供
し得、当該コンジットを通じて、コンピューティングデバイス１１０Ａのようなコンピューティングデバイスが検索クエリに関係する情報の検索を実行し得るとともに、いくつかの例において、特定のコンテキストについてコンピューティングデバイス１１０のユーザのニーズを満たすことになるＩＳＳ２６０が予測する情報を自動的に受信し得る。図２の例に示されるように、ＩＳＳ２６０は、１つ以上のプロセッサ２７０と、１つ以上の通信ユニット２７２と、１つ以上のストレージデバイス２７４とを含んでいる。ＩＳＳ２６０のストレージデバイス２７４は、コンテキストモジュール２６２と、ニーズ予測モジュール２６４と、検索モジュール２６６とを含んでいる。ニーズ予測モジュール２６４内では、ストレージデバイス７４はトレーニングモジュール２６８を含んでいる。モジュール２６２〜２６６はそれぞれ、図１のモジュール１６２〜１６６よりも高い能力でなければ、図１のモジュール１６２〜１６６と少なくとも同じ能力を含んでいる。
【００５８】
ＩＳＳ２６０のストレージデバイス２７４はさらに、検索履歴データストア２７０Ａと、コンテキスト履歴データストア２７０Ｂと、タスクおよびニーズルールデータストア２
７０Ｃ（集合的に「データストア２７０」と称される）とを含む。通信チャンネル２７６は、コンポーネント間通信のためのコンポーネント２７０、２７２および２７４の各々を（物理的に、通信可能に、および／または、動作可能に）相互接続し得る。いくつかの例において、通信チャンネル２７６は、システムバス、ネットワーク接続、プロセス間通信データ構造、または、データを通信する任意の他の方法を含み得る。
【００５９】
ＩＳＳ２６０の１つ以上の通信ユニット２７２は、図１のネットワーク１３０のような１つ以上のネットワーク上でネットワーク信号を送信および／または受信することによって、図１のコンピューティングデバイス１１０のような外部コンピューティングデバイスと通信し得る。たとえば、ＩＳＳ２６０は、コンピューティングデバイス１１０と情報を交換するよう、通信ユニット２７２を使用してネットワーク１３０を介して無線信号を送信および／または受信し得る。通信ユニット２７２の例は、情報を送信および／または受信可能である（たとえばイーサネットカードのような）ネットワークインターフェイスカード、光トランシーバ、無線周波数トランシーバ、ＧＰＳレシーバ、または、任意の他のタイプのデバイスを含む。通信ユニット２７２の他の例は、短波無線通信、セルラーデータ無線通信、無線イーサネットネットワーク無線通信、および、ユニバーサルシリアルバス（ＵＳＢ）コントローラを含み得る。
【００６０】
ＩＳＳ２６０内の１つ以上のストレージデバイス２７４は、ＩＳＳ２６０の動作中に処理のための情報を格納し得る（たとえば、ＩＳＳ２０６は、ＩＳＳ２６０における実行の間にモジュール２６２、２６４、２６６および２６８によってアクセスされるデータを格納し得る）。いくつかの例において、ストレージデバイス２７４は一時記憶であり、これは、ストレージデバイス２７４の主な目的が長期記憶ではないことを意味する。ＩＳＳ２６０の上のストレージデバイス２７４は、揮発性メモリとして、情報の短期記憶のために構成され得、したがって、電源が切られると、格納されたコンテンツを保持しない。揮発性メモリの例は、ランダムアクセスメモリ（ＲＡＭ）と、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）と、スタティックランダムアクセスメモリ（ＳＲＡＭ））と、当該技術において公知の揮発性メモリの他の形態とを含む。
【００６１】
ストレージデバイス２７４はさらに、いくつかの例において、１つ以上のコンピュータ読取可能記憶媒体を含む。ストレージデバイス２７４は、揮発性メモリより大きな量の情報を格納するように構成され得る。ストレージデバイス２７４はさらに、不揮発性メモリスペースとして情報の長期間記憶のために構成され得、電源オン／オフサイクルの後でも情報を保持し得る。不揮発性メモリの例は、磁気ハードディスクと、光ディスクと、フロッピー（登録商標）ディスクと、フラッシュメモリと、電気的にプログラム可能なメモリ（ＥＰＲＯＭ：electrically programmable memory）または電気的に消去可能およびプログラム可能なメモリ（ＥＥＰＲＯＭ：electrically erasable and programmable memory
）の形態にあるものとを含む。ストレージデバイス２７４は、プログラム命令、ならびに／または、モジュール２６２、２６４、２６６および２６８に関連付けられるデータを格納し得る。
【００６２】
１つ以上のプロセッサ２７０は、ＩＳＳ２６０内において機能を実現し、および／または、命令を実行し得る。たとえば、ＩＳＳ２６０上のプロセッサ２７０は、モジュール２６２、２６４、２６６および２６８の機能を実行する、ストレージデバイス２７４によって格納される命令を受信および実行し得る。プロセッサ２７０によって実行されるこれらの命令は、ＩＳＳ２６０に、プログラム実行の間にストレージデバイス２７４内に情報を格納させ得る。プロセッサ２７０は、同じコンテキストについて他のコンピューティングデバイスの他のユーザの以前のアクションが与えられると、さまざまなコンテキストについてコンピューティングデバイスのユーザのニーズを学習および予測するようにモジュール２６２、２６４、２６６および２６８の命令を実行し得、特定のコンテキストについて
コンピューティングデバイスのユーザの予測されたニーズに関連する情報を自動的に提供し得る。すなわち、モジュール２６２、２６４、２６６および２６８は、本願明細書において記載されるＩＳＳ２７０のさまざまなアクションまたは機能を実行するようプロセッサ２７０によって動作可能であり得る。
【００６３】
データストア２７０は、検索履歴（たとえば検索語、同義語、関連する検索語など）と、コンテキスト履歴（たとえば位置、時刻、デバイス状態情報、ユーザ情報など）と、さまざまなコンテキストについてコンピューティングデバイスのユーザのニーズを予測するための（たとえば機械学習システムの）ルールとに関係する情報を格納するための任意の好適な記憶媒体を表わす。データストア２７０において格納される情報は、１つ以上のモジュール２６２〜２６８が、データストア２７０の１つ以上から入力要求情報を提供し得、また、入力に応答して、データストア２７０に格納された情報を受信し得るように、検索可能および／または分類され得る。
【００６４】
検索履歴データストア２７０Ａは、検索モジュール２６６によって主に維持され得、コンテキストモジュール２６２によって一般に維持されるコンテキスト履歴データストア２７０Ｂの部分であり得るか、または、コンテキスト履歴データストア２７０Ｂとは別個であり得る。検索履歴データストア２７０Ａは、図１のコンピューティングデバイス１１０のような個々のコンピューティングデバイスによって検索された異なるタイプの情報をオーガナイズする１つ以上の検索可能であるデータベースまたはデータ構造を含み得る。たとえば、検索履歴データストア２７０Ａは、個々またはグループのコンピューティングデバイスに専用の行（row）を含み得、各行内において、検索履歴データストア２７０Ａは
、個々またはグループのコンピューティングデバイスの代わりに検索モジュール２６６が実行した検索に関係する情報を含み得る。データストア２７０Ａに格納された情報のタイプの例は、検索語またはクエリと、検索語に関連付けられるコンピューティングデバイスの時刻および／または位置と、検索語の検索がどれくらい頻繁に行われたかを示す検索語に関連付けられるカウントと、検索語の検索が成功したかどうか（たとえば、直後の検索における検索結果が当該検索が失敗だったことを示唆するかどうか）の指示と、コンピューティングデバイスによって実行される検索に関係する任意および全ての他の情報とを含む。
【００６５】
上で示されるように、コンテキスト履歴データストア２７０Ｂは、検索履歴データストア２７０Ａのうちのいくつかまたはすべてを含み得る。コンテキスト履歴データストア２７０Ｂは、コンピューティングデバイス１１０のような個々またはグループのコンピューティングデバイスに関連付けられるオーガナイズされ検索可能である履歴コンテキスト情報を含む。コンテキスト履歴データストア２７０Ｂに格納され得るコンテキスト情報のタイプは、位置情報と、時刻情報と、（たとえばコンピューティングデバイス１１０から得られる）センサ情報と、ユーザ関心情報と、デバイス動作状態に関する情報と、アプリケーション実行情報（たとえば何のアプリケーションをいつ実行したか）と、ニーズ予測モジュール２６４がユーザのニーズを予測する必要があり得る任意および全ての他の情報とを含むが、これらに限定されない。
【００６６】
タスクおよびニーズルールデータストア２７０Ｃは、現在のコンテキストについてコンピューティングデバイスのユーザによって実行される可能性のあるタスクまたはアクションとタスクを遂行するためにユーザが必要とし得る情報とを予測するよう、ニーズ予測モジュール２６４が依拠する１つ以上の以前に作り出されたルールを含む。たとえば、データストア２７０Ｃは、ニーズ予測モジュール２６４の機械学習または人工知能システムのルールを格納し得る。ニーズ予測モジュール２６４の機械学習または人工知能システムは、特定のコンテキストについてコンピューティングデバイス１１０のユーザに関連付けられるタスクおよびニーズを推測するために、データストア２７０Ｃのルールにアクセスし
得る。
【００６７】
いくつかの例では、ニーズ予測モジュール２６４は、データストア２７０Ｃへの入力としてコンピューティングデバイスの現在のコンテキストを提供し得、現在のコンテキストおよび（現在のコンテキストを含む）より広いコンテキストにおいてコンピューティングデバイスのユーザが実行する必要があり得るタスクまたはアクションに関係する情報を出力として受信し得る。いくつかの例では、データストア２７０Ｃのルールは、現在のコンテキストについてタスクまたはアクションに関連付けられる尤度（たとえばカウント、確率など）と、より広いコンテキストについて当該タスクおよびアクションに関連付けられる同様の尤度とを出力し得る。いくつかの例では、ニーズ予測モジュール２６４は、予測されたタスクをデータストア２７０Ｃに入力として提供し得、予測されたタスクを完了するために現在のコンテキストにおいてユーザが必要とし得る情報のタイプに関係する情報を出力として受信し得る。
【００６８】
ニーズ予測モジュール２６４のトレーニングモジュール２６８は、あるコンテキストについてユーザによって実行されるタスクに関連付けられる尤度を予測および決定するために、データストア２７０Ｃに格納されるルールを生成し得る。たとえば、トレーニングモジュール２６８の機械学習または人工知能システムは、コンテキストモジュール２６２によって得られデータストア２７０Ｂに格納されるコンテキスト情報を分析し得、データストア２７０Ａに格納される検索情報との相関を識別し得る。トレーニングモジュール２６８により使用される機械学習システムのタイプは、ベイズネットワーク（Bayesian network）、ニューラルネットワーク、および、他のタイプの人工知能モデルを含む。たとえば、トレーニングモジュール２６８は、同様のコンテキストと、同様のコンテキストにおいて実行される同様の検索クエリとを共有する各コンピューティングデバイス１１０またはコンピューティングデバイス１１０のグループについての行を有するテーブルを作り出し得る。コンピューティングデバイス１１０に関連付けられるコンテキスト情報および検索情報との間の相関に基づいて、トレーニングモジュール２６８は、特定のコンテキストについて、コンピューティングデバイス１１０が実行する将来の検索を予想するためのルールを作り出し得る。
【００６９】
たとえば、トレーニングモジュール２６８は、コンピューティングデバイス１１０の一部が特定の空港にまたはその空港の近くに位置する場合、当該特定の空港についてのターミナルの地図に関係する検索クエリ間に相関が存在すると決定し得る。トレーニングモジュール２６８は、コンピューティングデバイスが、そのデバイスがその特定の空港に位置する際に空港のターミナルの地図の検索を実行する高い尤度を生成するルールを作り出し得る。
【００７０】
別の例として、トレーニングモジュール２６８は、コンピューティングデバイス１１０の一部が、当該コンピューティングデバイス１１０の一部に関連付けられるそれぞれの家の位置にまたはその家の位置の近くに位置する場合、ある日の朝の時間の間、天候に関係する検索クエリ同士の間に相関が存在すると決定し得る。さらに、トレーニングモジュール２６８は、コンピューティングデバイスが、そのデバイスが家の位置に位置する場合、将来の日の朝の時間の間に天候の検索を実行するであろう中程度の尤度を生成するルールを作り出し得る。トレーニングモジュール２６８は、パスされた観察されたアクションに基づいて、コンピューティングデバイス１１０のユーザが特定のコンテキストについて行ない得る将来のアクションのタイプを予測するための任意の数えきれない数のルールを生成し得る。
【００７１】
トレーニングモジュール２６８は、さまざまな態様で、コンテキストＣに従ってさまざまなニーズＮを有するユーザの確率Ｐを学習し得る。いくつかの例において、トレーニン
グモジュール２６８は、多項式またはカウントを使用してＰ（Ｎ｜Ｃ）を決定し得る。たとえば、トレーニングモジュール２６８は、コンピューティングデバイス１１０が、空港の内部から行なわれた検索の全量と比較して、空港にいる間に空港のターミナルの地図の検索を何回実行したかを決定し得、これにより、合計の検索に対するターミナルの地図の検索の比を決定する。
【００７２】
いくつかの例において、トレーニングモジュール２６８は、ベイズの公式を使用してＰ（Ｎ｜Ｃ）を決定し得る。たとえば、ベイズの公式を使用して、トレーニングモジュール２６８は、ＥＱ．１のような方程式を使用し得る。
【００７３】
【数１】
2019075160.tif 000003
【００７４】
ＥＱ．１において、Ｐ（Ｎ）はユーザがニーズＮを有する確率であり、Ｐ（Ｃ｜Ｎ）は、ユーザがニーズＮを有するとした場合、ユーザがコンテキストＣにある確率である。すなわち、言いかえれば、あるコンテキストが当該与えられたコンテキストの確率に比例し、あるニーズが当該ニーズの事前確率に一致する場合の、事後確率である。
【００７５】
トレーニングモジュール２６８はさらに、ユーザのニーズを予測するための改善されたルールを決定するために、コンテキスト情報および検索履歴に対してアグリゲーション技術（aggregation technique）およびクラスタリング技術を実行し得る。たとえば、トレ
ーニングモジュール２６８がコンテキストモジュール２６２によって決定される各特定のコンテキストについてＰ（Ｎ｜Ｃ）を計算すると、トレーニングモジュール２６８は、特定のコンテキストについて計算された確率をアグリゲートし、より一般的なコンテキストについて確率を決定し得る。たとえば、トレーニングモジュール２６８は、複数の個々の空港について特定のニーズの確率を決定し得、次いで、異なる空港の各々についてそれぞれの確率をすべての空港についての単一の確率へとアグリゲートし得る。
【００７６】
トレーニングモジュール２６８は、検索モジュール２６６によって観察される同様のアクションを同様のニーズにマッチするようクラスタリング技術を実行し得る。たとえば、トレーニングモジュール２６８は、２つの異なる検索クエリが同じ検索結果に帰着した場合、これら２つのクエリは類似しているに違いないので、同様のニーズを必要とする同じでなければ類似しているアクションまたはタスクとして扱われ得ると決定し得る。
【００７７】
図３は、本開示の１つ以上の局面に従った、図１のコンピューティングデバイス１１０のうちの１つ以上のようなコンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するための例示的なシステムとして、情報サーバシステム（ＩＳＳ）３６０を含むシステム３００を示す付加的な概念図である。ＩＳＳ３６０は、図１のＩＳＳ１６０および図２のＩＳＳ２６０の付加的な例であり、図１のシステム１００および図２のＩＳＳ２６０のコンテキストで以下に記載される。
【００７８】
システム３００は、コンピューティングデバイス３１０Ａ〜３１０Ｎ（集合的に「コンピューティングデバイス３１０」と称される）を有するネットワーク３３０を介して通信するＩＳＳ３６０を含む。ＩＳＳ３６０は、コンピューティングデバイス３１０によって実行される観察されたアクションまたはタスクをそれぞれのコンテキスト（たとえば位置）にマッチするためのテーブル３７０を生成し得るニーズ予測モジュール３６４を含む。テーブル３７０に格納されている情報に基づき、ニーズ予測モジュール３６４は、コンピューティングデバイス３１０のうちの１つが、ニーズ予測モジュール３６４が識別し行わ
れる必要が恐らくある予測されたタスクまたはアクションを実行するよう情報をいつ必要とし得るかを決定し得る。
【００７９】
図３は、コンピューティングデバイス３１０Ａ、３１０Ｂ、３１０Ｄおよび３１０Ｅが位置３０４に存在していることを示しており、位置３０４はこの例においてはサンフランシスコ空港（ＳＦＯ：San Francisco Airport）である。位置３０４を包含しているのは
位置３０２である。位置３０２は、この例において、ＳＦＯを囲むカリフォルニア州の１０平方キロメートルの領域を表わす。言いかえれば、位置３０４は、第１の地理的エリアに関連付けられる特定のコンテキストを表わし得、位置３０２は、第１の地理的エリアおよび少なくとも１つの他の地理的エリアを含む第２の地理的エリアに関連付けられるより広いコンテキストを表わし得る。
【００８０】
いくつかの例において、特定かつより広いコンテキストは、地理的エリアのサイズ以外の理由で異なり得る。たとえば、特定のコンテキストは第１の位置に関連付けられ得、また、より広いコンテキストは、少なくとも１つの他の位置において第１の位置を含む複数の位置に関連付けられる。複数の位置の各々が同じ交通方式に関連付けられる例を考える。たとえば、特定のコンテキストは一つの空港であり得、より広いコンテキストは複数の空港を含み得る。他の例は、一つの事業所および当該一つの事業所を含む複数の他の事業所、１つの居住ユニットまたは家および必ずしも同じ場所にない複数の他の家などであり得る。
【００８１】
いくつかの例では、特定およびより広いコンテキストは、位置または地理的エリアサイズ以外の理由について異なり得る。たとえば、特定のコンテキストは、第１の量の時間（たとえばある日の１時間）を含み得、より広いコンテキストは、第１の量の時間を上回る第２の量の時間（たとえばその日の数時間）を含み得る。
【００８２】
ニーズ予測モジュール３６４は、ネットワーク３３０を介してコンピューティングデバイス３１０から受信されるコンテキスト情報および検索クエリに基づき、テーブル３７０を構築し得る。ニーズ予測モジュール３６４は、コンピューティングデバイス３１０Ｂが位置３０４に位置している間のコンピューティングデバイス３１０Ｂからのクエリ３１６Ｂと、コンピューティングデバイス３１０Ｂが位置３０２に位置している間のコンピューティングデバイス３１０Ｃからのクエリ３１６Ｃと、コンピューティングデバイス３１０Ｄが位置３０４に位置している間のコンピューティングデバイス３１０Ｄからのクエリ３１６Ｄと、コンピューティングデバイス３１０Ｅが位置３０４に位置している間のコンピューティングデバイス３１０Ｅからのクエリ３１６Ｅとを受信する。テーブル３７０から、ニーズ予測モジュール３６４は、コンピューティングデバイス３１０のうちの１つが位置３０４（たとえばＳＦＯ内部）にあり、かつ、コンピューティングデバイス３１０のうちの１つが位置３０２内にある場合、ＳＦＯのターミナルの地図について実行される検索の確率を出力するルールを生成し得る。
【００８３】
図３の例において、コンピューティングデバイス３１０Ａのユーザは、位置３０４に到着する飛行機で移動し得る。位置３０４にある間、コンピューティングデバイス３１０Ａは、ネットワーク３３０を介してＩＳＳ３６０とコンテキスト情報を共有し得る。ニーズ予測モジュール３６４は、コンピューティングデバイス３１０Ａが位置３０２にあると決定し得、コンピューティングデバイス３１０Ａのユーザが、ユーザが予測されたタスクを実行するのを支援するために何らかの情報を必要とする可能性があるかどうか決定するようテーブル３７０を調べ得る。
【００８４】
いくつかの例において、コンピューティングデバイス３１０Ａにタスクを完了するための情報をＩＳＳ３６０が提供するかどうかは、ユーザおよび／またはコンピューティング
デバイス３１０Ａに関連付けられるコンテキストが新しいか否かに依存し得る。言いかえれば、情報を提供する前に、ニーズ予測モジュール３６４は、コンピューティングデバイス３１０Ａの現在のコンテキストが、コンピューティングデバイス３１０Ａのユーザに関連付けられるコンテキスト履歴に含まれていない新しいコンテキストかどうか決定し得る。予測モジュール３６４がコンテキストが新しくないと決定した場合、予測モジュール３６４は情報を提供することを差し控え得る。なぜならば、ユーザが、タスクを完了し状況を乗り越えるやり方を既に知っていると予測モジュール３６４が仮定し得るからである。
【００８５】
いずれの場合においても、ニーズ予測モジュール３６４は、コンピューティングデバイス３１０Ａが位置３０２に位置するので、コンピューティングデバイス３１０Ａが、各々がＳＦＯのターミナルの地図の検索を実行したコンピューティングデバイス３１０Ｂ、３１０Ｃおよび３１０Ｅと同様のコンテキストを共有していると決定し得る。コンピューティングデバイス３１０Ａがデバイス３１０Ｂ、３１０Ｃおよび３１０Ｅと同じコンテキストを共有しているという決定に基づいて、ニーズ予測モジュール３６４は、コンピューティングデバイス３１０Ａのユーザが同様のアクションを実行し得るとともに恐らくＳＦＯのターミナルの地図の検索を実行するであろうということを推測し得る。したがって、コンピューティングデバイス３１０Ａのユーザに他のユーザがターミナルの地図の検索に以前に行ったような検索クエリを入力することを要求するのではなく、ニーズ予測モジュール３６４は、ユーザがそうでなければ検索する必要があった可能性のあるターミナルの地図のグラフィック画像を表わす情報３１４を自動的に提供し得る。
【００８６】
いくつかの例において、ニーズ予測モジュール３６４が、テーブル３７０からの情報を位置３０２および３０４と同様である他の空港または他の位置に関係する同様の情報とアグリゲートし得、これにより、ユーザが必要とし得る情報についてより一般的なルールを決定する。当該一般的なルールを使用して、ニーズ予測モジュール３６４は、特定のコンテキストを除外する異なるコンテキストについて、タスクを完了するために異なる情報を提供し得る。たとえば、ユーザがロサンゼルス空港（ＬＡＸ：Los Angeles Airport）に
着陸した場合、ユーザは、ＳＦＯに着陸した場合のように、ターミナルの地図を必要とし得るが、ニーズ予測モジュール３６４は、ＳＦＯのグラフィック画像を提供するのではなく、ＬＡＸのターミナルの地図を論理的に提供し得る。
【００８７】
いくつかの例では、ニーズ予測モジュール３６４は、コンピューティングデバイス３１０についてのサードパーティアプリケーションデベロッパが観察されたアクションに基づいてユーザのニーズについて予測モジュール３６４にクエリ送信することを可能にするサービスまたはツールを提供し得る。たとえば、金融情報についてコンピューティングデバイス３１０のうちの１つにおいてコンテンツを示すことに興味を有するデベロッパは、「金融情報」についてニーズ予測モジュール３６４にクエリ送信することにより、金融情報を出力するために最良のコンテキストを調べることが可能である。ニーズ予測モジュール３６４は、株式ティッカー記号の検索を行い、金融情報に関係する検索結果を検索し、金融関連のウェブサイトにデバイス３１０を介して訪れ、金融に関するアプリケーションを開くことを行ったデバイスのコンテキスト履歴を分析し得る。ニーズ予測モジュール３６４は、範囲（coverage）、品質メトリック（quality metrics）などのような、金融情報
についてのニーズがトリガされる時および場所に関係するさまざまなメトリックを潜在的に提供することに加えて、当該ニーズがトリガされるコンテキストをデベロッパに提供し得る。
【００８８】
図４Ａおよび図４Ｂは、本開示の１つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するように構成される例示的なコンピューティングシステムによって行われる例示的な動作４１０〜４３６を示すフローチャートである。図４Ａおよび図４Ｂは、図１のシステム１００のコンテ
キストにおいて以下に記載される。たとえば、ＩＳＳ１６０は、本開示の１つ以上の局面に従った、コンピューティングデバイス１１０Ａのユーザのニーズを予測するとともにニーズを満たすための情報を提供するための動作４１０〜４３６を実行し得る。
【００８９】
図４Ａに示されるように、動作において、ＩＳＳ１６０は、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴を受信し得る（４１０）。たとえば、コンピューティングデバイス１１０のユーザは、情報の検索を実行するために、それぞれのクエリモジュール１２２にＩＳＳ１６０へ検索クエリを送信させ得る。検索クエリの検索を実行することに加えて、検索モジュール１６６は、コンピューティングデバイス１１０の各々に関連付けられる１つ以上の検索履歴を生成するよう、検索クエリおよび／または結果を格納し得る。
【００９０】
ＩＳＳ１６０は、検索履歴に基づいて、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって実行されるタスクを識別し得る（４１２）。たとえば、ニーズ予測モジュール１６４のニーズモデルは、コンピューティングデバイス１１０のコンテキストと、当該コンテキストの各々において生成される検索履歴との間の１つ以上の相関を決定し得るとともに、同様のコンテキストにある場合にコンピューティングデバイス１１０が実行し得る１つ以上の検索を推測し得る。
【００９１】
ＩＳＳ１６０は、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行われるタスクの第１の尤度を決定し得る（４１４）。たとえば、任意の所与のコンテキストについて各潜在的なタスクの場合、ニーズ予測モジュール１６４は、タスクの各々と関係のある、コンピューティングデバイス１１０のグループに関連付けられる検索履歴からの検索の量を決定し得る。ニーズ予測モジュール１６４は、検索の量がより大きなタスクが、特定のコンテキストについてユーザによって実行され得るタスクであるより高い尤度を有すると決定し得る。
【００９２】
いくつかの例では、ニーズ予測モジュール１６４は、特定のコンテキストについてコンピューティングデバイス１１０のグループに関連付けられる検索履歴からの、タスクに関係がある第１の量の検索（すなわち検索の第１のカウント）と、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴からの検索の全量（すなわち、検索の合計のカウント）とに少なくとも部分的に基づいて、第１の尤度を決定し得る。別の言い方をすれば、カウント自体に依拠するのではなく、ニーズ予測モジュール１６４は、特定のコンテキストにおいて実行されるすべてのタスクと比較して、実行される各タスクについてのパーセンテージまたは比に依拠して、所与のコンテキストについて実行される特定のタスクの尤度を決定するために、特定のカウントを変調し得る。
【００９３】
本願明細書において使用されるように、ニーズ予測モジュール１６４は、アクションに基づいてユーザのニーズを予測するためにニーズ予測モジュール１６４がアクセスを有する機械学習ルールの１つ以上に基づいて、検索が「タスクに関係がある」かまたは「タスクに関連付けられる」と推測し得る。ルールは、同じ結果に至るかまたは同様のアクションを引き起こす検索が同じニーズと関係があるという仮定に基づき得る。たとえば、ユーザが検索エンジン入力においてターミナルの地図、空港陸上交通、手荷物エリアの位置などについて検索を入力する場合、検索エンジンは、トップの結果として空港ターミナルの地図を生成し得る。したがって、ニーズ予測モジュール１６４は、ターミナルの地図、空港陸上交通、手荷物エリアの位置の検索がすべて空港ターミナルの地図のニーズと関係があると推測し得る。
【００９４】
ＩＳＳ１６０は、特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって
行なわれるタスクの第２の尤度を決定し得る（４１６）。たとえば、より広いコンテキストについての各潜在的なタスクについて、ニーズ予測モジュール１６４は、タスクの各々に関係のある、コンピューティングデバイス１１０のグループに関連付けられる検索履歴からの付加的な量の検索を決定し得る。ニーズ予測モジュール１６４は、より広いコンテキストについて検索の量がより大きいタスクも、当該より広いコンテキストについてユーザによって実行され得るタスクである尤度がより高いと決定し得る。
【００９５】
ＩＳＳ１６０は、第１の尤度がしきい値量だけ第２の尤度を上回るかどうか決定し得る（４１８）。たとえば、ＩＳＳ１６０がタスクを完了するために人が情報を必要とし得ると見なすたびにタスクを完了するための情報を提供するのではなく、ニーズ予測モジュール１６４は、ニーズが特定のコンテキストについて本当に固有かどうか、またはそうでなければ、より広いコンテキストにおけるニーズのポピュラリティに鑑みてニーズが周知かどうかを決定し得る。
【００９６】
第１の尤度がしきい値量だけ第２の尤度を上回っていると決定することに応答して、ＩＳＳモジュール１６０は、特定のコンピューティングデバイス１１０の現在のコンテキストが、推測されたタスクに関連付けられる特定のコンテキストに対応するかどうか決定し得る（４２０）。たとえば、トレーニングされたニーズ予測モジュール１６４によって使用されるモデルにより、ニーズ予測モジュール１６４は、コンピューティングデバイス１１０のうちのいずれかの現在のコンテキストが、観察されたニーズを有するコンテキストに関連または対応するかどうかを決定するよう、コンピューティングデバイス１１０に関するコンテキスト情報をモデルに入力し得る。予測モジュール１６４は、コンピューティングデバイス１１０Ａが外国の空港からの陸上交通に関する情報について典型的にニーズに関連付けられるコンテキストを有すると決定し得る。
【００９７】
特定のコンピューティングデバイス１１０の現在のコンテキストが特定のコンテキストに対応すると決定したことに応答して、ＩＳＳ１６０は、特定のコンテキストについてタスクを完了するための情報を特定のコンピューティングデバイスに送信し得る（４２２）。たとえば、コンピューティングデバイス１１０Ａのユーザが、タクシーサービスを必要としている状況にあるかもしれないと決定したことに応答して、ニーズ予測モジュール１６４は、外国の特定の空港からタクシーに乗ることに関する情報について検索モジュール１６６にクエリ送信し得る。ニーズ予測モジュール１６４は、コンピューティングデバイス１１０ＡにおけるＵＩＤ１１２Ａでの提示のためのコンテンツとして、検索モジュール１６６によって抽出された情報をパッケージ化し、ＵＩモジュール１２０Ａにネットワーク１３０介してデータとして当該コンテンツを送信し得る。ＵＩモジュール１２０Ａは、（たとえばディスプレイにおいて）コンテンツを提示するようにＵＩＤ１１２Ａを構成し得る。
【００９８】
図４Ｂに示されるように、動作において、ＩＳＳ１６０は、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって実行される第２のタスクを検索履歴に基づいて識別し得る（４２４）。たとえば、ユーザが外国の空港において陸上交通情報について検索すると決定することに加えて、ニーズ予測モジュール１６４はさらに、コンピューティングデバイス１１０のユーザがしばしば当該空港のターミナルの地図を検索すると決定し得る。
【００９９】
ＩＳＳ１６０は、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって実行される第２のタスクの第３の尤度を決定し得（４２６）、さらに、特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって実行される第２のタスクの第４の尤度を決定し得る（４２８）。たとえば、上で記載された動作４１４および
４１６と同様に、ニーズ予測モジュール１６４は、外国の空港のコンテキストと当該外国の全体のコンテキストとの両方において、ターミナルの地図を検索するタスクに関連付けられるそれぞれの尤度を決定し得る。
【０１００】
いくつかの例において、第３の尤度が第４の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、ＩＳＳ１６０は特定のコンテキストについて第２のタスクを完了するための第２の情報を特定のコンピューティングデバイスに送信し得る。たとえば、上に記載された動作４１８〜４２２と同様に、コンピューティングデバイス１１０Ａのユーザがターミナルの地図を必要としている状況にあるかもしれないと決定したことに応答して、ニーズ予測モジュール１６４は、外国の特定の空港についてのターミナルの地図に関する情報について検索モジュール１６６にクエリ送信し得る。ニーズ予測モジュール１６４は、コンピューティングデバイス１１０ＡにおけるＵＩＤ１１２Ａでの提示のためのコンテンツとして、検索モジュール１６６によって抽出された情報をパッケージ化し、ＵＩモジュール１２０Ａにネットワーク１３０を介してデータとして当該コンテンツを送信し得、ＵＩモジュール１２０Ａは、（たとえばディスプレイにおいて）当該コンテンツを提示するようにＵＩＤ１１２Ａを構成し得る。
【０１０１】
ＩＳＳ１６０は、コンピューティングデバイス１１０Ａが、ＵＩＤ１１２Ａにおいてどの情報（たとえばターミナルの地図またはタクシー情報）を示すべきであるか認識し得るように、第１および第２のタスクのランキングを決定し、コンピューティングデバイス１１０Ａに当該ランキングを提供し得る。
【０１０２】
ランキングを決定するために、ＩＳＳ１６０は、第１の尤度と第２の尤度との間の第１の差を決定し得（４３０）、第３の尤度と第４の尤度との間の第２の差を決定し得る（４３２）。第１の差および第２の差に基づいて、ＩＳＳ１６０は、第１のタスクおよび第２のタスクのランキングを決定し得る。たとえば、第１および第２のタスクのランキングは必ずしも、特定のコンテキストについてどのタスクが最も多いカウントまたは最も高い確率を有するかに基づき得ない。その代わりに、ランキングは、特定のコンテキストについて、しきい値と比較してどのタスクが最も多いカウントまたは最も高い確率を有するかに基づき得る。しきい値は、より広いコンテキストについてカウントまたは確率の全量を表し得る。言いかえれば、ＩＳＳ１６０は、タスクがより固有であるほど、新しい状況におけるユーザに知られているか理解されている可能性は低いという論理的根拠により、特定の状況についてより固有のタスクをより高くランク付けし得る。
【０１０３】
たとえば、ニーズ予測モジュール１６４は、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴から、第１のタスクに関係しているかそうでなければ関連付けられる第１の量の検索を決定し得、特定のコンテキストについてコンピューティングデバイスのグループに関連した検索履歴から、第２のタスクに関係しているかそうでなければ関連付けられる第２の量の検索を決定し得る。その後、ニーズ予測モジュール１６４は、より広いコンテキストについて第１および第２のタスクのそれぞれの量と比較して、これら２つの量に基づいて２つのタスクをランク付けし得る。
【０１０４】
いずれの場合においても、２つのタスクをランク付けした後、ＩＳＳ１６０は、第１の情報および第２の情報を出力することの間に優先順位を付けるためにコンピューティングデバイスに当該ランキングを送信し得る（４３６）。たとえば、ニーズ予測モジュール１６４は、ターミナルの地図またはタクシー情報を提示することの間のランキングを示す情報をネットワーク１３０を介して出力し得る。ランキングの受信の際、ＵＩモジュール１２０Ａは、ＵＩＤ１１２Ａにより高いランク付けされた第１の情報を提示させ得る。
【０１０５】
ＩＳＳ１６０は、アクションログ（たとえば検索履歴）を使用してアクションが観察可能であるので、アクションログをマイニングし、所与のニーズおよびコンテキストについてニーズまたはタスクがどれくらい頻繁に生じたかをカウントすることが可能であるという考えに、ニーズおよびタスクのランキングを基づかせ得る。これにより、ＩＳＳ１６０は、互いに対して（たとえば、スコアリング／ランキングするのに重要）、かつ、定数項（たとえば、ニーズを示すかまたは送信するべき時をトリガするのに重要）でニーズを比較する方法として、異なるタスクについて関連付けられるカウントを比較し得る。
【０１０６】
たとえば、ＩＳＳ１６０は、ＥＱ．２において示されるようにユーザコンテキストＣが与えられた場合にユーザがニーズＮを有する確率Ｐ（Ｎ｜Ｃ）に基づいて、候補のニーズＮを関数ｆとしてランク付けするために使用されるスコアリング関数ｓ（Ｎ，Ｃ）に依拠し得る。
【０１０７】
【数２】
2019075160.tif 000004
【０１０８】
特定のユーザコンテキストＣが与えられた場合、ＩＳＳ１６０は恐らく、（たとえばポピュラーなニーズに関して興味深いニーズを「取り除く」よう）ポピュラーなニーズｖｓ興味深いニーズの「ワオ（Ｗｏｗ）」ファクタの確率を変調する関数への入力として、トップの候補のニーズを予測するためにＰ（Ｎ｜Ｃ）を使用し得る。すなわち、コンテキストが与えられたニーズの確率がニーズについての背景確率（background probability）で除算される。たとえば、ＥＱ．３において示される関係に基づくと、
【０１０９】
【数３】
2019075160.tif 000005
【０１１０】
である。
いくつかの例において、確率を使用するのではなく、ＩＳＳ１６０はカウントに基づいてニーズまたはタスクをスコアリングし得る。ＥＱ．４は、次のようにニーズスコアを規定する。
【０１１１】
【数４】
2019075160.tif 000006
【０１１２】
この導出において、#Observedは、コンピューティングデバイス１１０の検索履歴およ
び／またはコンテキスト情報において、あるアクションがニーズ予測モジュール１６４によって観察された回数であり、#Expected(Background)は、アクションが所与の背景にお
いて同様に現われると仮定して、ＩＳＳ１６０が現在のコンテキストにおいて当該アクションを観察することを予期する予期された回数である（たとえば[Backgroundにおける#count/Backgroundにおける#all counts]×Contextにおける#all counts）。最後に、Noise(#Observed)は、ＩＳＳ１６０が低いカウントを有するアクションがニーズ予測に重要ではないかもしれないと決定したとみなす正規化ファクタである。いくつかの例において、#N
oise(#observed)の式は、逆シグモイド関数のような平滑な関数であり得る。Noise(#Observed)についての簡潔な式は、以下のＥＱ．５に示される関数であり得る。
【０１１３】
【数５】
2019075160.tif 000007
【０１１４】
付記１．特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、上記特定のコンテキストについて上記コンピューティングデバイスのグループのユーザによって行なわれるタスクをコンピューティングシステムによって識別することと、上記特定のコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第１の尤度を上記コンピューティングシステムによって決定することと、上記特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第２の尤度を上記コンピューティングシステムによって決定することと、上記第１の尤度が上記第２の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが上記特定のコンテキストに対応していることとを決定することに応答して、上記特定のコンテキストについて上記タスクを完了するための情報を上記特定のコンピューティングデバイスに上記コンピューティングシステムによって送信することとを含む、方法。
【０１１５】
付記２．上記特定のコンテキストについて上記タスクを完了するための上記情報は、上記現在のコンテキストが上記コンピューティングデバイスの上記ユーザに関連付けられるコンテキスト履歴に含まれていない新しいコンテキストであると決定することに応答して、さらに送信される、付記１のいずれかに記載の方法。
【０１１６】
付記３．上記特定のコンテキストについて上記タスクを完了するための上記情報は第１の情報であり、上記方法はさらに、上記特定のコンテキストを除く異なるコンテキストについて上記タスクを完了するための第２の情報を上記コンピューティングシステムによって決定することを含み、上記第２の情報は上記第１の情報とは異なる、付記１〜２のいずれかに記載の方法。
【０１１７】
付記４．上記第１の尤度は、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる検索履歴からの、上記タスクに関連付けられるある量の検索に少なくとも部分的に基づいて決定される、付記１〜２のいずれかに記載の方法。
【０１１８】
付記５．上記ある量の検索は、上記特定のコンテキストについてコンピューティングデバイスの第１のグループに関連付けられる第１の検索履歴からの第１の量の検索であり、上記第２の尤度は、上記より広いコンテキストについてコンピューティングデバイスの第２のグループに関連付けられる第２の検索履歴からの、上記タスクに関連付けられる第２の量の検索に少なくとも部分的に基づいて決定される、付記４に記載の方法。
【０１１９】
付記６．上記特定のコンテキストが第１の量の時間を含み、上記より広いコンテキストが上記第１の量の時間より多い第２の量の時間を含む、付記１〜５のいずれかに記載の方法。
【０１２０】
付記７．上記特定のコンテキストが第１の地理的エリアに関連付けられ、上記より広い
コンテキストが、上記第１の地理的エリアおよび少なくとも１つの他の地理的エリアを含む第２の地理的エリアに関連付けられる、付記１〜６のいずれかに記載の方法。
【０１２１】
付記８．上記特定のコンテキストについて上記タスクを完了するための上記情報は、上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの少なくとも１つの検索結果に基づく、付記１〜７のいずれかに記載の方法。
【０１２２】
付記９．コンピューティングシステムであって、少なくとも１つのプロセッサと、少なくとも１つのモジュールとを含み、上記少なくとも１つのモジュールは、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、上記特定のコンテキストについて上記コンピューティングデバイスのグループのユーザによって行なわれるタスクを識別することと、上記特定のコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第１の尤度を決定することと、上記特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第２の尤度を決定することと、上記第１の尤度が上記第２の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが上記特定のコンテキストに対応していることとを決定することに応答して、上記特定のコンテキストについて上記タスクを完了するための情報を上記特定のコンピューティングデバイスに送信することとを行うように上記少なくとも１つのプロセッサによって動作可能である、コンピューティングシステム。
【０１２３】
付記１０．上記特定のコンテキストが第１の地理的エリアに関連付けられ、上記より広いコンテキストが、上記第１の地理的エリアおよび少なくとも１つの他の地理的エリアを含む第２の地理的エリアに関連付けられる、付記９に記載のコンピューティングシステム。
【０１２４】
付記１１．上記第１の尤度は、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの、上記タスクに関連付けられる第１の量の検索と、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの全量の検索とに少なくとも部分的に基づいて決定される、付記９〜１０のいずれかに記載のコンピューティングシステム。
【０１２５】
付記１２．上記特定のコンテキストは第１の位置に関連付けられ、上記より広いコンテキストは、上記第１の位置および少なくとも１つの他の位置を含む複数の位置に関連付けられている、付記９〜１１のいずれかに記載のコンピューティングシステム。
【０１２６】
付記１３．上記複数の位置の各々は、同じ交通方式に関連付けられる、付記１２のいずれかに記載のコンピューティングシステム。
【０１２７】
付記１４．上記コンピューティングデバイスのグループは上記特定のコンピューティングデバイスを除く、付記９〜１３のいずれかに記載のコンピューティングシステム。
【０１２８】
付記１５．上記少なくとも１つのモジュールは、上記第１の尤度が上記第２の尤度を上記しきい値量だけ上回っていないと決定することに応答して、上記特定のコンテキストについて上記タスクを完了するための上記情報を上記特定のコンピューティングデバイスに送信することを抑制するように上記少なくとも１つのプロセッサによってさらに動作可能である、付記９〜１４のいずれかに記載のコンピューティングシステム。
【０１２９】
付記１６．命令を含むコンピュータ読取可能記憶媒体であって、上記命令は、実行され
ると、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、上記特定のコンテキストについて上記コンピューティングデバイスのグループのユーザによって行なわれるタスクを識別することと、上記特定のコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第１の尤度を決定することと、上記特定のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第２の尤度を決定することと、上記第１の尤度が上記第２の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが上記特定のコンテキストに対応していることとを決定することに応答して、上記特定のコンテキストについて上記タスクを完了するための情報を上記特定のコンピューティングデバイスに送信することとを行うようにコンピューティングシステムの１つ以上のプロセッサを構成する、コンピュータ読取可能記憶媒体。
【０１３０】
付記１７．上記タスクは第１のタスクであり、上記情報は第１の情報であり、上記命令はさらに、実行されると、上記特定のコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる第２のタスクの第３の尤度を決定することを行うように上記コンピューティングシステムの上記１つ以上のプロセッサを構成し、上記第２のタスクは、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴に基づいてさらに識別され、上記命令はさらに、実行されると、上記特定のコンテキストおよび少なくとも１つの他のコンテキストを含む上記より広いコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記第２のタスクの第４の尤度を決定することと、上記第３の尤度が上記第４の尤度を上記しきい値量だけ上回っていることと、上記特定のコンピューティングデバイスの上記現在のコンテキストが上記特定のコンテキストに対応していることとを決定することに応答して、上記特定のコンテキストについて上記第２のタスクを完了するための第２の情報を上記特定のコンピューティングデバイスに送信することとを行うように上記コンピューティングシステムの上記１つ以上のプロセッサを構成する、付記１６に記載のコンピュータ読取可能記憶媒体。
【０１３１】
付記１８．上記命令はさらに、実行されると、上記第１の尤度と上記第２の尤度との間の第１の差を決定することと、上記第３の尤度と上記第４の尤度との間の第２の差を決定することと、上記第１の差および上記第２の差に基づいて上記第１のタスクおよび上記第２のタスクのランキングを決定することと、上記第１の情報を出力することと上記第２の情報を出力することとの間に優先順位を付けるために、上記ランキングを上記コンピューティングデバイスに送信することとを行うように上記コンピューティングシステムの上記１つ以上のプロセッサを構成する、付記１７に記載のコンピュータ読取可能記憶媒体。
【０１３２】
付記１９．上記命令はさらに、実行されると、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの、上記第１のタスクに関連付けられる第１の量の検索と、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの、上記第２のタスクに関連付けられる第２の量の検索とに基づいて上記第１および第２のタスクの上記ランキングを決定することを行うように上記コンピューティングシステムの上記１つ以上のプロセッサを構成する、付記１８に記載のコンピュータ読取可能記憶媒体。
【０１３３】
付記２０．上記タスクは、上記特定のコンピューティングデバイスの現在の位置から特定の位置へナビゲートすることを含み、上記情報は、上記現在の位置から上記特定の位置へ移動することについて１つ以上の提案を含む、付記１６〜１９のいずれかに記載のコンピュータ読取可能記憶媒体。
【０１３４】
付記２１．付記１〜８の方法のいずれかを行なうための手段を含む、付記９に記載のコンピューティングシステム。
【０１３５】
付記２２．実行されると、付記１〜８に記載の方法のいずれかを行うように付記９に記載の上記コンピューティングシステムの上記１つ以上のプロセッサを構成する命令をさらに含む、付記１６に記載のコンピュータ読取可能記憶媒体。
【０１３６】
１つ以上の例において、記載された機能は、ハードウェア、ソフトウェア、ファームウェアまたはその任意の組合せにおいて実現され得る。ソフトウェアにおいて実現される場合、当該機能は、１つ以上の命令またはコードとして、コンピュータ読取可能媒体上に格納またはコンピュータ読取可能媒体を介して送信され得、ハードウェアに基づいた処理ユニットによって実行され得る。コンピュータ読取可能媒体は、データ記憶媒体、または、たとえば通信プロトコルに従ってある位置から別の位置までコンピュータプログラムの転送を促進する任意の媒体を含む通信媒体といった有形の媒体に対応するコンピュータ読取可能記憶媒体を含み得る。この態様において、コンピュータ読取可能媒体は一般に、（１）一時的でない有形のコンピュータ読取可能記憶媒体、または、（２）信号もしくは搬送波のような通信媒体に対応し得る。データ記憶媒体は、この開示において記載される技術の実現のために命令、コードおよび／またはデータ構造を抽出するよう、１つ以上のコンピュータまたは１つ以上のプロセッサによってアクセス可能である任意の利用可能な媒体であり得る。コンピュータプログラムプロダクトはコンピュータ読取可能媒体を含み得る。
【０１３７】
限定ではなく例示として、そのようなコンピュータ読取可能記憶媒体は、所望のプログラムコードを命令またはデータ構造の形態で格納するために使用され得るとともにコンピュータによってアクセスされ得るＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光学ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または任意の他の記憶媒体を含み得る。さらに、任意の接続は、適切にコンピュータ読取可能媒体と称される。たとえば、同軸ケーブル、光ファイバケーブル、撚り対線、デジタル加入者線（ＤＳＬ）、または、赤外線、無線通信およびマイクロ波のような無線技術を使用して、命令がウェブサイト、サーバまたは他のリモートソースから送信される場合、当該同軸ケーブル、光ファイバケーブル、撚り対線、ＤＳＬ、または、赤外線、無線通信およびマイクロ波のような無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ読取可能記憶媒体およびデータ記憶媒体は、接続、搬送波、信号または他の一時的な媒体を含んでいないが、その代りに、一時的でない有形の記憶媒体に関するということが理解されるべきである。本願明細書において使用されるようなディスク（ｄｉｓｋおよびｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタルバーサタイルディスク（ＤＶＤ）、フロッピー（登録商標）ディスクおよびブルーレイディスクを含んでおり、ディスク（ｄｉｓｋ）は通常磁気的にデータを再生するものである一方、ディスク（ｄｉｓｃ）はレーザによりデータを光学的に再生するものである。上記のものの組合せも、コンピュータ読取可能媒体の範囲内に含まれるべきである。
【０１３８】
命令は、１つ以上のプロセッサによって実行され得、たとえば、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ：application specific integrated circuit）、フィールドプログラマブルロジックアレ
イ（ＦＰＧＡ：field programmable logic array）、または、他の同等な集積論理回路または離散論理回路によって実行され得る。したがって、本願明細書において使用される「プロセッサ」という用語は、前述の構造、または、本願明細書において記載される技術の実現に好適な任意の他の構造のいずれかを指す。さらに、いくつかの局面において、本願
明細書において記載される機能は、専用のハードウェアおよび／またはソフトウェアモジュール内に提供され得る。さらに、１つ以上の回路または論理素子において当該技術が完全に実現され得る。
【０１３９】
この開示の技術は、無線ハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえばチップセット）を含むさまざまなデバイスまたは装置において実現され得る。さまざまなコンポーネント、モジュールまたはユニットは、開示された技術を実行するように構成されるデバイスの機能的な局面を強調するようにこの開示において記載されているが、必ずしも異なるハードウェアユニットによる実現を要求していない。むしろ、上述したように、さまざまなユニットがハードウェアユニットにおいて組み合わされ得るか、または、好適なソフトウェアおよび／またはファームウェアに関連して上述したような１つ以上のプロセッサを含む共同で動作するハードウェアユニットの集合によって提供され得る。
【０１４０】
さまざまな実施形態が記載された。これらの実施形態および他の実施形態は添付の請求の範囲内である。
【図１】
2019075160.tif 000008
【図２】
2019075160.tif 000009
【図３】
2019075160.tif 000010
【図４Ａ】
2019075160.tif 000011
【図４Ｂ】
2019075160.tif 000012
【手続補正書】
【提出日】平成31年1月23日(2019.1.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサによって実行される方法であって、
第１のコンピューティングデバイスが第１の現在のコンテキストを有することを識別することと、
前記第１の現在のコンテキストについてのタスクの第１の尤度が、前記第１の現在のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについての前記タスクの第２の尤度を上回っていることを、付加的なコンピューティングデバイスに関連付けられる履歴に基づいて決定することと、
前記第１の現在のコンテキストについての前記タスクの前記第１の尤度が、前記より広いコンテキストについての前記タスクの前記第２の尤度を上回っていることを決定することと、前記第１のコンピューティングデバイスが前記第１の現在のコンテキストを有することを識別することとに応答して、前記第１の現在のコンテキストについての前記タスクを完了する際に、前記第１のコンピューティングデバイスの第１のユーザを支援するための情報を前記第１のコンピューティングデバイスに出力させることと、
第２のコンピューティングデバイスが、前記第１の現在のコンテキストと異なる第２の現在のコンテキストを有することを識別することと、
前記第２の現在のコンテキストについての前記タスクの第３の尤度が前記より広いコンテキストについての前記タスクの前記第２の尤度を上回っていないことを、前記付加的なコンピューティングデバイスに関連付けられる前記履歴に基づいて決定することと、
前記第２の現在のコンテキストについての前記タスクの前記第３の尤度が、前記より広いコンテキストについての前記タスクの前記第２の尤度を上回っていないことを決定することと、前記第２のコンピューティングデバイスが前記第２の現在のコンテキストを有することを識別することとに応答して、前記第２の現在のコンテキストについての前記タスクを完了する際に、前記第２のコンピューティングデバイスが前記第２のコンピューティングデバイスの第２のユーザを支援するために如何なる情報も出力することを抑制することとを含む、方法。
【請求項２】
前記第１のコンピューティングデバイスが前記第１の現在のコンテキストを有することを識別することは、前記第１のコンピューティングデバイスの１つ以上のセンサからのセンサ情報に少なくとも部分的に基づく、請求項１に記載の方法。
【請求項３】
前記第１のコンピューティングデバイスが前記第１の現在のコンテキストを有することを識別することは、前記第１のコンピューティングデバイスの動作状態に関する情報に少なくとも部分的に基づく、請求項１または請求項２に記載の方法。
【請求項４】
前記第１のコンピューティングデバイスの前記動作状態に関する前記情報は、所与の時間に前記第１のコンピューティングデバイスによって実行されるアプリケーションに関する情報を含む、請求項３に記載の方法。
【請求項５】
前記第１の現在のコンテキストについての前記タスクを完了する際に、前記第１のコンピューティングデバイスの第１のユーザを支援するための情報を前記第１のコンピューティングデバイスに出力させることはさらに、前記第１の現在のコンテキストが、前記第１のコンピューティングデバイスの前記第１のユーザに関連付けられるコンテキスト履歴に含まれていない新しいコンテキストであることを決定することに応答する、請求項１〜請求項４のいずれか１項に記載の方法。
【請求項６】
前記履歴は検索履歴を含む、請求項１〜請求項５のいずれか１項に記載の方法。
【請求項７】
前記第１の現在のコンテキストが第１の地理的エリアに関連付けられ、前記より広いコンテキストが、前記第１の地理的エリアおよび少なくとも１つの他の地理的エリアを含む第２の地理的エリアに関連付けられる、請求項１〜請求項６のいずれか１項に記載の方法。
【請求項８】
前記第１の現在のコンテキストが第１の量の時間を含み、前記より広いコンテキストが前記第１の量の時間より多い第２の量の時間を含む、請求項１〜請求項７のいずれか１項に記載の方法。
【請求項９】
コンピューティングシステムであって、
少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、
第１のコンピューティングデバイスが第１の現在のコンテキストを有することを識別することと、
前記第１の現在のコンテキストについてのタスクの第１の尤度が、前記第１の現在のコンテキストおよび少なくとも１つの他のコンテキストを含むより広いコンテキストについての前記タスクの第２の尤度を上回っていることを、付加的なコンピューティングデバイスに関連付けられる履歴に基づいて決定することと、
前記第１の現在のコンテキストについての前記タスクの前記第１の尤度が、前記より広いコンテキストについての前記タスクの前記第２の尤度を上回っていることを決定することと、前記第１のコンピューティングデバイスが前記第１の現在のコンテキストを有することを識別することとに応答して、前記第１の現在のコンテキストについての前記タスクを完了する際に、前記第１のコンピューティングデバイスの第１のユーザを支援するための情報を前記第１のコンピューティングデバイスに出力させることと、
第２のコンピューティングデバイスが、前記第１の現在のコンテキストと異なる第２の現在のコンテキストを有することを識別することと、
前記第２の現在のコンテキストについての前記タスクの第３の尤度が前記より広いコンテキストについての前記タスクの前記第２の尤度を上回っていないことを、前記付加的なコンピューティングデバイスに関連付けられる前記履歴に基づいて決定することと、
前記第２の現在のコンテキストについての前記タスクの前記第３の尤度が、前記より広いコンテキストについての前記タスクの前記第２の尤度を上回っていないことを決定することと、前記第２のコンピューティングデバイスが前記第２の現在のコンテキストを有することを識別することとに応答して、前記第２の現在のコンテキストについての前記タスクを完了する際に、前記第２のコンピューティングデバイスが前記第２のコンピューティングデバイスの第２のユーザを支援するために如何なる情報も出力することを抑制することとを行うように構成される、コンピューティングシステム。
【請求項１０】
前記第１のコンピューティングデバイスが前記第１の現在のコンテキストを有することを識別する際に、前記少なくとも１つのプロセッサは、前記第１のコンピューティングデバイスの１つ以上のセンサからのセンサ情報に少なくとも部分的に基づいて、前記第１のコンピューティングデバイスが前記第１の現在のコンテキストを有することを識別するように構成される、請求項９に記載のコンピューティングシステム。
【請求項１１】
前記第１のコンピューティングデバイスが前記第１の現在のコンテキストを有することを識別する際に、前記少なくとも１つのプロセッサは、前記第１のコンピューティングデバイスの動作状態に関する情報に少なくとも部分的に基づいて、前記第１のコンピューティングデバイスが前記第１の現在のコンテキストを有することを識別するように構成される、請求項９または請求項１０に記載のコンピューティングシステム。
【請求項１２】
前記第１のコンピューティングデバイスの前記動作状態に関する前記情報は、所与の時間に前記第１のコンピューティングデバイスによって実行されるアプリケーションに関する情報を含む、請求項１１に記載のコンピューティングシステム。
【請求項１３】
前記第１の現在のコンテキストについての前記タスクを完了する際に、前記第１のコンピューティングデバイスの第１のユーザを支援するための情報を前記第１のコンピューティングデバイスに出力させることはさらに、前記第１の現在のコンテキストが、前記第１のコンピューティングデバイスの前記第１のユーザに関連付けられるコンテキスト履歴に含まれていない新しいコンテキストであることを決定することに応答する、請求項９〜請求項１２のいずれか１項に記載のコンピューティングシステム。
【請求項１４】
前記履歴は検索履歴を含む、請求項９〜請求項１３のいずれか１項に記載のコンピューティングシステム。
【請求項１５】
前記第１の現在のコンテキストが第１の地理的エリアに関連付けられ、前記より広いコンテキストが、前記第１の地理的エリアおよび少なくとも１つの他の地理的エリアを含む第２の地理的エリアに関連付けられる、請求項９〜請求項１４のいずれか１項に記載のコンピューティングシステム。
【請求項１６】
前記第１の現在のコンテキストが第１の量の時間を含み、前記より広いコンテキストが前記第１の量の時間より多い第２の量の時間を含む、請求項９〜請求項１５のいずれか１項に記載のコンピューティングシステム。
【請求項１７】
プログラムであって、１つ以上のプロセッサによって実行されることにより、前記１つ以上のプロセッサに請求項１〜請求項８のいずれか１項に記載の方法を実施させる、プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
ＩＳＳ１６０およびコンピューティングデバイス１１０は各々、それぞれのネットワークリンクを使用してネットワーク１３０に動作可能に結合され得、コンピューティングデバイス１１０は、異なるネットワークリンクを使用してネットワーク１３０に動作可能に結合され得る。コンピューティングデバイス１１０およびＩＳＳ１６０をネットワーク１３０に結合するリンクは、イーサネット（登録商標）、ＡＴＭまたは他のタイプのネットワーク接続であり得、そのような接続は無線および／または有線接続であり得る。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
図１の例では、ユーザインターフェイス１１４は、ＩＳＳ１６０によって提供されるニーズ予測サービスに関連付けられるとともにコンピューティングデバイス１１０Ａによってアクセスされるグラフィカルユーザインターフェイスである。以下に詳細に記載されるように、ユーザインターフェイス１１４は、コンピューティングデバイス１１０Ａのユーザが現在の時間においてタスクを実行する必要があり得るとＩＳＳ１６０が予想する情報を表わすグラフィカル情報（たとえばテキスト）を含む。ユーザインターフェイス１１４は、コンピューティングデバイス１１０Ａのユーザが現在のコンテキストについてあるタスクを実行する必要があり得ると予測された情報の視覚的な描写のように、さまざまな他のタイプのグラフィカルな指示を含み得る。ＵＩモジュール１２０Ａは、ＵＩモジュール１２０Ａがネットワーク１３０を介してＩＳＳ１６０から受信するデータに基づいてユーザインターフェイス１１４をＵＩＤ１１２Ａに出力させ得る。ＵＩモジュール１２０Ａは、ユーザインターフェイス１１４を提示するためのグラフィカル情報（たとえばテキストデータ、画像データなど）をＩＳＳ１６０からの入力として受信し得るとともに、ＵＩＤ１１２においてユーザインターフェイス１１４内でグラフィカル情報を提示するためのＩＳＳ１６０からの命令も受信し得る。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
ＩＳＳ２６０は、コンジット（conduit）をコンピューティングデバイス１１０に提供し得、当該コンジットを通じて、コンピューティングデバイス１１０Ａのようなコンピューティングデバイスが検索クエリに関係する情報の検索を実行し得るとともに、いくつかの例において、特定のコンテキストについてコンピューティングデバイス１１０のユーザのニーズを満たすことになるＩＳＳ２６０が予測する情報を自動的に受信し得る。図２の例に示されるように、ＩＳＳ２６０は、１つ以上のプロセッサ２７０と、１つ以上の通信ユニット２７２と、１つ以上のストレージデバイス２７４とを含んでいる。ＩＳＳ２６０のストレージデバイス２７４は、コンテキストモジュール２６２と、ニーズ予測モジュール２６４と、検索モジュール２６６とを含んでいる。ニーズ予測モジュール２６４内では、ストレージデバイス２７４はトレーニングモジュール２６８を含んでいる。モジュール２６２〜２６６はそれぞれ、図１のモジュール１６２〜１６６よりも高い能力でなければ、図１のモジュール１６２〜１６６と少なくとも同じ能力を含んでいる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７０
【補正方法】変更
【補正の内容】
【００７０】
別の例として、トレーニングモジュール２６８は、コンピューティングデバイス１１０の一部が、当該コンピューティングデバイス１１０の一部に関連付けられるそれぞれの家の位置にまたはその家の位置の近くに位置する場合、ある日の朝の時間の間、天候に関係する検索クエリ同士の間に相関が存在すると決定し得る。さらに、トレーニングモジュール２６８は、コンピューティングデバイスが、そのデバイスが家の位置に位置する場合、将来の日の朝の時間の間に天候の検索を実行するであろう中程度の尤度を生成するルールを作り出し得る。トレーニングモジュール２６８は、過去の観察されたアクションに基づいて、コンピューティングデバイス１１０のユーザが特定のコンテキストについて行ない得る将来のアクションのタイプを予測するための任意の数えきれない数のルールを生成し得る。
【外国語明細書】
2019075160000001.pdf