IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7404296特定のコンテキストについてのユーザニーズの予測
<>
  • 特許-特定のコンテキストについてのユーザニーズの予測 図1
  • 特許-特定のコンテキストについてのユーザニーズの予測 図2
  • 特許-特定のコンテキストについてのユーザニーズの予測 図3
  • 特許-特定のコンテキストについてのユーザニーズの予測 図4A
  • 特許-特定のコンテキストについてのユーザニーズの予測 図4B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-15
(45)【発行日】2023-12-25
(54)【発明の名称】特定のコンテキストについてのユーザニーズの予測
(51)【国際特許分類】
   G06F 16/9035 20190101AFI20231218BHJP
   G06F 16/909 20190101ALI20231218BHJP
【FI】
G06F16/9035
G06F16/909
【請求項の数】 8
【外国語出願】
(21)【出願番号】P 2021027426
(22)【出願日】2021-02-24
(62)【分割の表示】P 2018245181の分割
【原出願日】2016-04-12
(65)【公開番号】P2021099832
(43)【公開日】2021-07-01
【審査請求日】2021-03-25
【審判番号】
【審判請求日】2023-02-06
(31)【優先権主張番号】14/721,613
(32)【優先日】2015-05-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】リム,ユウ・ジン
(72)【発明者】
【氏名】クンツ,ジェームズ
(72)【発明者】
【氏名】リン,ジョセフ・ギャレット
(72)【発明者】
【氏名】ギリランド,チャールズ・ジョーダン
(72)【発明者】
【氏名】フェイデン,デイビッド
(72)【発明者】
【氏名】ジャーラ,サンジット
【合議体】
【審判長】林 毅
【審判官】中村 信也
【審判官】吉田 美彦
(56)【参考文献】
【文献】特開2003-233694(JP,A)
【文献】遠山 緑生、外3名、コンテクスト情報と操作履歴の関連付けによる操作予測システムの提案、情報処理学会研究報告、日本、2004.11.10発行、第2004巻,第112号、p.83-90
(58)【調査した分野】(Int.Cl.,DB名)
G06F16/9035
G06F16/909
(57)【特許請求の範囲】
【請求項1】
コンピュータ実施方法であって、
ユーザが特定のコンテキストについてコンピューティングデバイスを用いて実行する可能性のあるアクションを、前記特定のコンテキストにおける他のコンピューティングデバイスの他のユーザによって実行され以前のアクションの記憶された履歴に基づいて識別するステップであって、前記特定のコンテキストが第1の位置に関連付けられる、ステップと、
前記特定のコンテキストについて実行される前記アクションの尤度が、より広いコンテキストにおいて実行される前記アクションの尤度より十分に重み付けされているかを判定するステップであって、前記より広いコンテキストが、前記第1の位置および少なくとも1つの他の位置を含む複数の位置に関連付けられ、前記複数の位置のそれぞれが、同じ交通方式に関連付けられる、ステップと、
前記特定のコンテキストにおいて実行される前記アクションの前記尤度が、より広いコンテキストについて実行される前記アクションの前記尤度より十分に重み付けされており、かつ前記コンピューティングデバイスの現在のコンテキストが前記特定のコンテキストに対応すると判定したことに応答して、前記コンピューティングデバイスにおいて、前記特定のコンテキストについて前記アクションを完了するための情報を先を見越して自動的に提供するステップと
を備える、方法。
【請求項2】
前記特定のコンテキストについて前記アクションを完了するための前記情報が、前記現在のコンテキストが前記コンピューティングデバイスの前記ユーザに関連付けられたコンテキスト履歴に含まれない新しいコンテキストであると判定したことに応答して、前記コンピューティングデバイスに送信される、請求項1に記載の方法。
【請求項3】
前記特定のコンテキストについて前記アクションを完了するための前記情報が第1の情報であり、前記方法が、
前記特定のコンテキストを除く異なるコンテキストについて実行する可能性のあるアクションを完了するための、前記第1の情報とは異なる第2の情報を決定するステップ
をさらに備える、請求項1または2に記載の方法。
【請求項4】
コンピュータ実施方法であって、
ユーザが特定のコンテキストについてコンピューティングデバイスを用いて実行する可能性のあるアクションを、前記特定のコンテキストにおける他のコンピューティングデバイスの他のユーザによって実行され以前のアクションの記憶された履歴に基づいて識別するステップと、
前記特定のコンテキストについて実行される前記アクションの尤度が、より広いコンテキストにおいて実行される前記アクションの尤度より十分に重み付けされているかを判定するステップであって、前記特定のコンテキストが第1の時間帯であり、前記より広いコンテキストが前記第1の時間帯より多い第2の時間帯である、ステップと、
前記特定のコンテキストにおいて実行される前記アクションの前記尤度が、より広いコンテキストについて実行される前記アクションの前記尤度より十分に重み付けされており、かつ前記コンピューティングデバイスの現在のコンテキストが前記特定のコンテキストに対応すると判定したことに応答して、前記コンピューティングデバイスにおいて、前記特定のコンテキストについて前記アクションを完了するための情報を先を見越して自動的に提供するステップと
を備える、方法。
【請求項5】
前記情報が、前記現在の位置から前記特定の位置へ移動することについての1または複数の提案を含む、請求項1~3のいずれか一項に記載の方法。
【請求項6】
少なくとも1つのプロセッサと、
少なくとも1つのメモリであって、前記少なくとも1つのプロセッサによって実行されたとき、前記少なくとも1つのプロセッサに請求項1~5のいずれか一項に記載の方法を実施させる命令を記憶する、少なくとも1つのメモリと
を備える、コンピューティングシステム。
【請求項7】
請求項1~5のいずれか一項に記載の方法を実施するための手段を備える、システム。
【請求項8】
少なくとも1つのプロセッサによって実行されたとき、前記少なくとも1つのプロセッサに請求項1~5のいずれか一項に記載の方法を実施させる実行可能な命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
ユーザは、不慣れな状況にある場合、ユーザが特定の目標を達成するためにあるタスクを遂行するのを支援し得る情報および事実を得るためにコンピューティングデバイスに目を向ける。いくつかのコンピューティングデバイスは、ユーザが探している特定の情報を見つける際にコンピューティングデバイスをガイドするためにユーザが十分な情報(たとえば検索クエリ語)を提供することができることを必要とする。残念なことに、ユーザは、不慣れな状況を乗り越えて特定の目標を達成するのを成功するために自身が完了する必要があり得るタスクに気付いていない場合があり、さらにユーザが検索するべき情報に気付いていない場合がある。その結果、ユーザが行なう必要があり得るさまざまなアクションの事前知識がないため、ユーザは、特定の目標を達成するのに必要な情報を得ようとする際に、ストレスを感じるとともに、コンピューティングデバイスへ情報を入力し検索語を推測して貴重な時間および資源を無駄にし得る。
【発明の概要】
【課題を解決するための手段】
【0002】
概要
一例において、本開示は方法に関する。当該方法は、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクをコンピューティングシステムによって識別することと、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第1の尤度をコンピューティングシステムによって決定することと、特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第2の尤度をコンピューティングシステムによって決定することとを含む。上記方法はさらに、第1の尤度が第2の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、特定のコンテキストについてタスクを完了するための情報を特定のコンピューティングデバイスにコンピューティングシステムによって送信することを含む。
【0003】
別の例において、本開示はコンピューティングシステムに関する。当該コンピューティングシステムは、少なくとも1つのプロセッサと、少なくとも1つのモジュールとを含んでおり、上記少なくとも1つのモジュールは、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクを識別することと、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第1の尤度を決定することと、特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第2の尤度を決定することとを行うように少なくとも1つのプロセッサによって動作可能である。第1の尤度が第2の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、上記少なくとも1つのモジュールは、特定のコンテキストについてタスクを完了するための情報を特定のコンピューティングデバイスに送信することを行うように上記少なくとも1つのプロセッサによってさらに動作可能である。
【0004】
別の例においては、本開示は、命令を含むコンピュータ読取可能記憶媒体に関する。当該命令は、実行されると、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクを識別することと、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第1の尤度を決定することと、特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第2の尤度を決定することとを行うようにコンピューティングシステムの1つ以上のプロセッサを構成する。上記命令はさらに、実行されると、第1の尤度が第2の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、特定のコンテキストについてタスクを完了するための情報を特定のコンピューティングデバイスに送信することを行うようにコンピューティングシステムの1つ以上のプロセッサを構成する。
【0005】
1つ以上の例の詳細を添付の図面および以下の説明で述べる。記載および図面と請求の範囲とから本開示の他の特徴、目的および利点は明白になるであろう。
【図面の簡単な説明】
【0006】
図1】本開示の1つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するための例示的なシステムを示す概念図である。
図2】本開示の1つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすために情報を提供するように構成される例示的なコンピューティングシステムを示すブロック図である。
図3】本開示の1つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するための例示的なシステムを示す付加的な概念図である。
図4A】本開示の1つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するように構成される例示的なコンピューティングシステムによって行われる例示的な動作を示すフローチャートである。
図4B】本開示の1つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するように構成される例示的なコンピューティングシステムによって行われる例示的な動作を示すフローチャートである。
【発明を実施するための形態】
【0007】
詳細な説明
一般に、この開示の技術は、あるコンピューティングシステムが、特定のコンテキストについて他のコンピューティングデバイスの他のユーザの以前のアクションが与えられていれば、当該特定のコンテキストについてコンピューティングデバイスのユーザのニーズを学習および予測することを可能にし得る。ユーザのコンテキスト情報(たとえば位置、時間およびユーザの興味など)に基づいて、システムは、ユーザが行なう必要があり得るタスクまたはアクションを推測し、当該タスクを完了するかまたは当該アクションを行なうために、他のコンピューティングデバイスのユーザが同様のコンテキストにおいて必要とした情報を自動的に提供し得る。コンピューティングシステムは、タスクを完了するかまたはアクションを行なうためにコンピューティングシステムが提供する情報を、異なるコンテキストについて当該情報の有用性の程度を決定することによって、ランク付けし得る。特定のコンテキストについての有用性の程度が、他のコンテキストにおいてアクションを行なうことについての有用性の程度より十分に大きい場合、コンピューティングシステムは、上記タスクを完了するかまたはアクションを行なうために情報を提供し得る。
【0008】
本開示の全体にわたって、コンピューティングデバイスおよび/またはコンピューティングシステムが、コンピューティングデバイスが情報を分析するためにコンピューティングデバイスのユーザから許可を受け取る場合のみ、コンピューティングデバイスおよびコンピューティングデバイスのユーザに関連付けられる情報(たとえばコンテキスト、位置、速度、検索クエリなど)を分析する例が記載される。たとえば、以下に議論される状況において、コンピューティングデバイスまたはコンピューティングシステムが、あるユーザに関連付けられる情報を収集または利用し得る前に、コンピューティングデバイスおよび/またはコンピューティングシステムのプログラムまたは機構がユーザ情報(たとえばユーザの現在の位置、現在の速度などに関する情報)を収集および使用することが可能であるかどうかをコントロールする入力を提供する機会、または、デバイスおよび/もしくはシステムがユーザに関連し得るコンテンツを受け取るかどうかあるいはどのように受け取るかを指示する機会がユーザに提供され得る。さらに、あるデータは、コンピューティングデバイスおよび/またはコンピューティングシステムによって格納または使用される前に、個人を識別可能な情報が除去されるように1つ以上の態様で処理され得る。たとえば、ユーザの身元は、個人を識別可能な情報が当該ユーザに関して決定され得ないように処理され得るか、または、位置情報が得られるユーザの地理的な位置は、ユーザの特定の位置が決定され得ないように、(都市、郵便番号または状態レベルまで)一般化され得る。したがって、ユーザは、情報がユーザに関してどのように収集されるか、および、当該情報がどのようにコンピューティングデバイスおよびコンピューティングシステムによって使用されるかについてコントロールを有し得る。
【0009】
図1は、本開示の1つ以上の局面に従った、コンピューティングデバイス110Aのユーザのニーズを予測するとともに当該ニーズを満たすための情報を提供するための例示的なシステムとしてシステム100を示す概念図である。システム100は、ネットワーク130を介してコンピューティングデバイス110A~110N(集合的に「コンピューティングデバイス110」と称される)と通信する情報サーバシステム(「ISS(information server system)」)160を含む。
【0010】
ネットワーク130は、たとえば、セルラー、Wi-Fi(登録商標)、および/または、他のタイプのネットワークといった、コンピューティングシステムと、サーバと、コンピューティングデバイスとの間でデータを送信するための任意のパブリックまたはプライベート通信ネットワークを表わす。ネットワーク130は、動作可能に相互結合される1つ以上のネットワークハブ、ネットワークスイッチ、ネットワークルータまたは任意の他のネットワーク機器を含み得、これにより、ISS160とコンピューティングデバイス110との間で情報の交換が提供される。コンピューティングデバイス110およびISS160は、任意の好適な通信技術を使用してネットワーク130を介してデータを送信および受信し得る。
【0011】
ISS160およびコンピューティングデバイス110は各々、それぞれのネットワークリンクを使用してネットワーク130に動作可能に結合され得、コンピューティングデバイス10Nは、異なるネットワークリンクを使用してネットワーク30Bに動作可能に結合され得る。コンピューティングデバイス110およびISS160をネットワーク130に結合するリンクは、イーサネット(登録商標)、ATMまたは他のタイプのネットワーク接続であり得、そのような接続は無線および/または有線接続であり得る。
【0012】
コンピューティングデバイス110は各々、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、コンピュータウォッチ、コンピュータアイウエア、コンピュータ
手袋、または、任意の他のタイプのポータブルコンピューティングデバイスといった個々のモバイルデバイスを表わしている。コンピューティングデバイス110の付加的な例は、ネットワーク130のようなネットワークを介して情報を得るように構成される携帯情報端末(PDA)、ポータブルゲームシステム、メディアプレイヤー、eブックリーダ、モバイルテレビジョンプラットフォーム、自動車ナビゲーションおよび娯楽システム、または、任意の他のタイプのモバイルコンピューティングデバイス、ウェアラブルコンピューティングデバイス、および非ウェアラブルコンピューティングデバイスを含む。
【0013】
コンピューティングデバイス110の各々は、それぞれのユーザインターフェイスデバイス112A~112N(集合的に「UID112」と称される)と、それぞれのユーザインターフェイス(UI)モジュール120A~120N(集合的に「UIモジュール120」と称される)とを含む。さらに、コンピューティングデバイス110の各々は、それぞれのクエリモジュール122A~122N(集合的に「クエリモジュール122」と称される)を含む。モジュール120~122は、それぞれのコンピューティングデバイス110において存在および/または実行されるソフトウェア、ハードウェア、ファームウェア、または、ハードウェア、ソフトウェアおよびファームウェアの混合を使用して記載される動作を行ない得る。コンピューティングデバイス110は、複数のプロセッサまたは複数のデバイスを用いてそれぞれのモジュール120~122を実行し得る。コンピューティングデバイス110は、それぞれのモジュール120~122を、存在するハードウェア上で実行されるバーチャルマシンとして実行し得る。モジュール120~122は、オペレーティングシステムまたはコンピューティングプラットフォームの1つ以上のサービスとして実行され得る。モジュール120~122は、コンピューティングプラットフォームのアプリケーションレイヤーにおいて1つ以上の実行可能プログラムとして実行され得る。
【0014】
コンピューティングデバイス110B~110Nは、コンピューティングデバイス110B~110Nに関連付けられるそれぞれのユーザが情報の検索をそこから行ない得るコンピューティングデバイスのグループを構成する。いくつかの例では、コンピューティングデバイス110Aは、コンピューティングデバイス110B~110Nを有するグループに含まれており、コンピューティングデバイス110Aに関連付けられるユーザはさらに、コンピューティングデバイス110Aから情報の検索を行ない得る。他の例では、コンピューティングデバイス110B~110Nのグループは、コンピューティングデバイス110Aを除外している。
【0015】
コンピューティングデバイス110のUID112は、コンピューティングデバイス110のためのそれぞれの入力および/または出力デバイスとして機能し得る。UID112はさまざまな技術を使用して実現され得る。たとえば、UID112は、存在感知入力スクリーン(presence-sensitive input screen)を使用して入力デバイスとして機能し得る。当該存在感知入力スクリーンの例としては、抵抗性タッチスクリーン、表面音響波タッチスクリーン、容量性タッチスクリーン、投射型容量タッチスクリーン、感圧性スクリーン、音響パルス認識タッチスクリーン、または他の存在感知ディスプレイ技術が挙げられる。さらに、UID112は、ユーザ入力を受信する際に使用されるマイクロホン技術、赤外線センサ技術または他の入力デバイス技術を含み得る。
【0016】
UID112は、1つ以上の任意のディスプレイデバイスを使用して出力(たとえばディスプレイ)デバイスとして機能し得る。1つ以上の任意のディスプレイデバイスの例としては、コンピューティングデバイス110のユーザに可視情報を出力することができる液晶ディスプレイ(LCD)、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、e-インク、または、同様のモノクロまたはカラーディスプレイが挙げられる。さらに、UID112は、ユーザに情報を出力する際に使用されるスピーカ技術、触覚フィードバック技術、または、他の出力デバイス技術を含み得る。
【0017】
UID112は各々、それぞれのコンピューティングデバイス110のユーザから触覚入力を受信し得るそれぞれの存在感知ディスプレイを含み得る。UID112は、ユーザからの1つ以上のジェスチャー(たとえば、指またはスタイラスペンによりUID112の1つ以上の位置をユーザが触れるまたは指すこと)を検出することにより触覚入力の指示を受信し得る。UID112はたとえば、それぞれの存在感知ディスプレイにおいてユーザに出力を提示し得る。UID112は、コンピューティングデバイス110によって提供される機能に関連付けられ得るそれぞれのグラフィカルユーザインターフェイス(たとえばユーザインターフェイス114)として出力を提示し得る。たとえば、UID112は、検索機能に関連するさまざまなユーザインターフェイス(たとえばユーザインターフェイス114)を提示し得る。当該検索機能は、クエリモジュール122、または、コンピューティングプラットフォーム、オペレーティングシステム、アプリケーション、および/もしくは、コンピューティングデバイス110において実行されるあるいはコンピューティングデバイス110からアクセス可能であるサービス(たとえば電子メッセージアプリケーション、インターネットブラウザアプリケーション、モバイルまたはデスクトップオペレーティングシステムなど)の他の機構によって提供される。
【0018】
UIモジュール120は、コンピューティングデバイス110のそれぞれのUID112および他のコンポーネントとのユーザインタラクションを管理する。コンピューティングデバイス110のユーザはUID112において出力を閲覧し、および/または、入力を提供するので、UIモジュール120は、UID112に、表示のためにユーザインターフェイス114(または他の例示的なユーザインターフェイス)のようなそれぞれのユーザインターフェイスを出力させ得る。ユーザがユーザインターフェイスとインタラクションする際に、UIモジュール120およびUID112は、異なる時間において、かつ、ユーザとコンピューティングデバイス110とが異なる位置にある場合に、ユーザから入力の1つ以上の指示を受信し得る。UIモジュール120およびUID112は、UID112において検出される入力を解釈し得、たとえば、コンピューティングデバイス110に機能を実行させるよう、1つ以上の関連付けられるプラットホーム、オペレーティングシステム、アプリケーションおよび/またはコンピューティングデバイス110で実行されるサービスに、UID112において検出される入力に関する情報を中継し得る。
【0019】
UIモジュール120は、1つ以上の関連付けられるプラットホーム、オペレーティングシステム、アプリケーション、ならびに/または、コンピューティングデバイス110および/もしくはISS160のような1つ以上のリモートのコンピューティングシステムにおいて実行されるサービスから情報および命令を受信し得る。さらに、UIモジュール120は、コンピューティングデバイス110による出力(たとえばグラフィック、光のフラッシュ、音、触覚性応答など)を生成するよう、1つ以上の関連するプラットホーム、オペレーティングシステム、アプリケーション、および/または、コンピューティングデバイス110において実行されるサービス、コンピューティングデバイス110のさまざまな出力デバイス(たとえばスピーカ、LEDインジケータ、音声または静電気触覚性出力デバイスなど)の間で仲介者として動作し得る。
【0020】
図1の例では、ユーザインターフェイス114は、ISS160によって提供されるニーズ予測サービスに関連付けられるとともにコンピューティングデバイス110Aによってアクセスされるグラフィカルユーザインターフェイスである。以下に詳細に記載されるように、ユーザインターフェイス114は、コンピューティングデバイス110Aのユーザが現在の時間においてタスクを実行する必要があり得るとISS160が予想する情報を表わすグラフィカル情報(たとえばテキスト)を含む。ユーザインターフェイス14は、コンピューティングデバイス110Aのユーザが現在のコンテキストについてあるタスクを実行する必要があり得ると予測された情報の視覚的な描写のように、さまざまな他のタイプのグラフィカルな指示を含み得る。UIモジュール120Aは、UIモジュール120Aがネットワーク130を介してISS160から受信するデータに基づいてユーザインターフェイス114をUID112Aに出力させ得る。UIモジュール120Aは、ユーザインターフェイス114を提示するためのグラフィカル情報(たとえばテキストデータ、画像データなど)をISS160からの入力として受信し得るとともに、UID112においてユーザインターフェイス114内でグラフィカル情報を提示するためのISS160からの命令も受信し得る。
【0021】
クエリモジュール122は、コンピューティングデバイス110について検索に関連する機能を実行する。クエリモジュール122はISS160にネットワーク130を介して検索クエリ(たとえば文字列)を送信し得、これに応答して、クエリに基づいてISS160によって実行される検索結果を取得し得る。クエリモジュール122は、コンピューティングデバイス110のユーザがUID112において入力を提供すると、UIモジュール120から検索クエリの指示を受信し得る。クエリモジュール122は、たとえば、ISS160から受信される検索結果をUIモジュール120に出力し得、これにより、UIモジュール120がUID112に存在するユーザインターフェイスUIモジュール120の一部分として検索結果を提示する。
【0022】
ISS160は、ネットワーク130のようなネットワークに情報を送信および当該ネットワークから情報を受信可能である1つ以上のデスクトップコンピュータ、ラップトップコンピュータ、メインフレーム、サーバ、クラウドコンピューティングシステムなどといった任意の好適なリモートコンピューティングシステムを表わす。ISS160は、情報を検索するための検索システムと、特定のコンテキストについてコンピューティングデバイス110のユーザのニーズを予測するためのニーズ予測システムとの両方をホストする(または少なくともこれらへのアクセスを提供する)。
【0023】
コンピューティングデバイス110は、ISS160によって提供される検索システムおよびニーズ予測システムへアクセスするよう、ネットワーク130を介してISS160と通信し得る。いくつかの例では、ISS160は、ISS160によって提供されるクラウドへのアクセスを介して検索およびニーズ予測サービスにアクセスする1つ以上のコンピューティングデバイス110にネットワーク130を通じて検索およびニーズ予測
サービスを提供するクラウドコンピューティングシステムを表わす。
【0024】
図1の例では、ISS160はコンテキストモジュール162、ニーズ予測モジュール164および検索モジュール166を含む。モジュール162~166は、ISS160に存在するとともにISS160において実行されるソフトウェア、ハードウェア、ファームウェアまたはハードウェア、ソフトウェアおよびファームウェアの混合を使用して記載される動作を実行し得る。ISS160は、複数のプロセッサまたは複数のデバイスを用いてモジュール162~166を実行し得る。ISS160は、存在するハードウェア上で実行されるバーチャルマシンとしてモジュール162~166を実行し得る。モジュール162~166は、オペレーティングシステムまたはコンピューティングプラットフォームの1つ以上のサービスとして実行され得る。モジュール162~166は、コンピューティングプラットフォームのアプリケーションレイヤーにおいて1つ以上の実行可能なプログラムとして実行され得る。
【0025】
コンテキストモジュール162は、コンピューティングデバイス110に関係するコンテキスト情報を収集し、モジュール164および166に当該情報を提供するとともに、モジュール164および166についてコンテキスト情報に基づいて決定を行う。たとえば、コンテキストモジュール162は、コンピューティングデバイス110Aに関連付けられる位置情報を取得し得、コンピューティングデバイス110Aの現在の位置がコンピューティングデバイス110Aの位置履歴からの以前の位置と一致するかどうか決定し得る。コンテキストモジュール162は、コンピューティングデバイス110の各々に関連付けられるコンテキスト履歴を維持し得るとともに、コンピューティングデバイス110の1つ以上に関連付けられるそれぞれの現在のコンテキストがそれぞれのコンテキスト履歴において発見される以前のコンテキストと一致するかどうか判定し得る。たとえば、コンテキストモジュール162は、コンピューティングデバイス110Aに関連付けられるコンテキスト履歴の一部として、コンピューティングデバイス110Aが特定の日または時間に位置したところを追跡する位置履歴を維持し得る。
【0026】
コンテキストモジュール162は、コンテキストモジュール162が新しい更新された情報を受信すると、コンピューティングデバイス110に関連付けられる現在のコンテキストおよびコンテキスト履歴を連続的に更新し得る。たとえば、コンテキストモジュール162は、コンピューティングデバイス110Aのセンサによって収集された移動情報を受信し得、コンテキストモジュール162がコンピューティングデバイス110Aについて維持する現在の位置を更新するよう移動情報を使用し得る。
【0027】
位置および移動情報は、コンテキストモジュール162がコンピューティングデバイス110の各々について維持し得るコンテキスト情報のタイプのうちのいくつかのみである。本開示の全体にわたって使用されるように、「コンテキスト情報」という用語は、コンピューティングデバイスおよび/またはコンピューティングデバイスのユーザに関連付けられる1つ以上の環境特性または挙動特性を決定するよう、ISS160およびコンピューティングデバイス110のようなコンピューティングシステムおよび/またはコンピューティングデバイスによって使用され得る任意の考えられる情報を説明するために使用される。
【0028】
たとえば、コンテキスト情報は、過去、現在および将来の物理的位置と、移動の程度と、天候およびトラフィック状況と、移動のパターンなどとを含む。いくつかの例では、コンテキスト情報は、コンピューティングデバイス110の1つ以上のセンサ(たとえばジャイロスコープ、加速度計、近接センサなど)によって得られるセンサ情報と、コンピューティングデバイス110の1つ以上の通信ユニットおよび/または無線通信(たとえば全地球測位システム(GPS:global positioning system)、セルラー、Wi-Fi(登録商標)など)から得られる無線伝送情報と、コンピューティングデバイス110の1つ以上の入力デバイス(たとえばカメラ、マイクロホン、キーボード、タッチパッド、マウス、UID112など)によって得られる情報と、コンピューティングデバイス110のネットワーク/デバイス識別子情報(たとえばネットワーク名、デバイスインターネットプロトコルアドレスなど)とを含み得る。
【0029】
さらに、コンテキスト情報は、ユーザの興味のあるトピック(たとえば、ユーザ興味グラフまたは他の何らかのタイプのデータ構造として典型的に維持されるユーザのお気に入りの「もの」)と、ユーザに関連付けられるコンタクト情報(たとえばユーザの個人的なコンタクト情報、および、ユーザの友達、同僚、ソーシャルメディアでのコネクション、家族などに関する情報)と、検索履歴と、位置履歴と、長期および短期のタスクと、カレンダー情報と、アプリケーション使用履歴と、購入履歴と、お気に入りと、ブックマークと、コンピューティングデバイス110およびISS160がコンピューティングデバイス110のユーザについて収集し得る他の情報とを含み得る。
【0030】
さらに、コンテキスト情報は、コンピューティングデバイスの動作状態に関する情報を含み得る。たとえば、所与の時間または特定の位置において実行されるアプリケーションは、コンピューティングデバイスの動作状態に関する情報の例である。コンピューティングデバイスの動作状態に基づいたコンテキスト情報の他の例は、スイッチの位置と、バッテリーレベルと、デバイスが壁のコンセントに差し込まれているかどうか、または、そうでなければ別のデバイスおよび/もしくはマシンに動作可能に結合されているかどうかと、ユーザ認証情報(たとえばどのユーザか)と、デバイスが、「飛行機」モード、スタンバイモード、フルパワーモードで動作しているかどうかと、無線通信、通信ユニット、入力デバイスおよび出力デバイスの動作状態となどを含むがこれらに限定されない。
【0031】
コンテキストモジュール162は、コンテキスト情報を提供し得、かつ、他のモジュール164および166ならびにコンピューティングデバイス110に代わって、コンテキストモジュール162が維持するコンテキスト情報に関する決定を行い得る。たとえば、コンテキストモジュール162は、ニーズ予測モジュール164への送信のために、コンピューティングデバイス110の1つ以上に関連付けられるコンテキスト情報(たとえばそれぞれの位置)を特定するコンテキストモジュール162によって維持されるデータを出力することによって、コンピューティングデバイス110に関連付けられるコンテキスト情報についてISS160のニーズ予測モジュール164からの要求に応答し得る。
【0032】
本開示の全体にわたって、コンピューティングデバイスおよびコンピューティングデバイスのユーザに関連付けられる位置履歴、コンテキスト履歴および/または検索履歴を含むコンテキスト情報をコンピューティングデバイスおよび/またはコンピューティングシステムが分析する例が記載されているが、本願明細書において記載されるコンピューティングデバイスおよびコンピューティングシステムは、コンピューティングデバイスおよび/またはコンピューティングシステムが情報を分析するためにコンピューティングデバイスのユーザから明示的な許可を受信する場合にのみコンテキスト情報を分析し得るということが理解されるべきである。たとえば、本願明細書において議論される状況において、コンピューティングデバイスまたはコンピューティングシステムが、あるユーザに関連付けられる情報を収集または利用し得る前に、コンピューティングデバイスおよび/またはコンピューティングシステムのプログラムまたは機構がユーザ情報(たとえばユーザの現在の位置、現在の速度などに関する情報)を収集および使用することが可能であるかどうかをコントロールする入力を提供する機会、または、デバイスおよび/もしくはシステムがユーザに関連し得るコンテンツを受け取るかどうかあるいはどのように受け取るかを指示する機会がユーザには提供され得る。さらに、あるデータは、コンピューティングデバイスおよび/またはコンピューティングシステムによって格納または使用される前に、個人を識別可能な情報が除去されるように1つ以上の態様で処理され得る。たとえば、ユーザの身元は、個人を識別可能な情報が当該ユーザに関して決定され得ないように処理され得るか、または、位置情報が得られるユーザの地理的な位置は、ユーザの特定の位置が決定され得ないように、(都市、郵便番号または状態レベルまで)一般化され得る。したがって、ユーザは、情報がユーザに関してどのように収集されるか、および、当該情報がどのようにコンピューティングデバイスおよびコンピューティングシステムによって使用されるかについてコントロールを有し得る。
【0033】
検索モジュール166は、検索モジュール166がコンピューティングデバイス110ならびに/またはモジュール162および/もしくは164から受信する検索クエリに基づき、(たとえばインターネットを使用して利用可能な)情報の検索を実行する。たとえば、検索モジュール166は、コンピューティングデバイス110Bのユーザが、空港ターミナルの地図のオンライン画像を見つけるためにコンピューティングデバイス110Bとインタラクションする際に、検索モジュール166がクエリモジュール122Bから受信する文字列のインターネット検索を実行し得る。検索に応答して、検索モジュール166は、空港ターミナルの地図のグラフィック画像を取得し得、コンピューティングデバイス110Bにグラフィック画像を出力し得る。
【0034】
検索モジュール166は、コンピューティングデバイス110のユーザの1つ以上の検索履歴を維持し得る。検索モジュール166によって維持される検索履歴は、コンテキストモジュール162によって維持されるコンテキスト履歴の部分であり得るか、または、コンテキスト履歴とは別個であり得る。検索モジュール166によって生成される検索履歴は、所与の時間に、検索モジュール166が、コンピューティングデバイス110のユーザがどのタイプのクエリを検索しているか決定するようコンピューティングデバイス110のうちの1つ以上の検索履歴を分析し得るようにソート可能および検索可能であり得る。検索モジュール166は、モジュール162および164に検索履歴へのアクセスを提供し得、および/または、モジュール162および164に代わって、検索履歴を分析して検索履歴から情報を出力し得る。
【0035】
ニーズ予測モジュール164は、異なるコンテキストについて、コンピューティングデバイス110のユーザのニーズを学習および予測し、タスクを完了するかまたはアクションを実行するために他のコンピューティングデバイスのユーザが同様のコンテキストにおいて必要とした情報をコンピューティングデバイス110に自動的に提供し得る。たとえば、コンピューティングデバイスのユーザによって実行される以前のアクション(たとえばあるクエリの検索)および/または他のコンピューティングデバイスの他のユーザが与えられると、ニーズ予測モジュール164は、ユーザが特定のコンテキストについて実行する必要があり得るタスクまたはアクションを推測し得る。
【0036】
コンピューティングデバイス110の現在のコンテキストに関してニーズ予測モジュール164がコンテキストモジュール162から受信した情報に基づいて、ニーズ予測モジュール164は、現在のコンテキストが、コンピューティングデバイス110のユーザが以前にタスクまたはアクションを実行した以前のコンテキストにいつ対応するかを決定し得る。ニーズ予測モジュール164は、推測されたアクションまたはタスクをユーザが完了するのを支援し得る情報の検索を実行することを検索モジュール166に要求し得る。ニーズ予測モジュール164は、(たとえばUID112のうちの1つのユーザインターフェイス114として)ユーザへの提示のために、タスクを完了するためにまたはアクションを実行するために検索モジュール166が発見した情報をコンピューティングデバイス110のうちの1つ以上に提供し得る。
【0037】
本願明細書において言及されるようなユーザ「ニーズ」は、(たとえば、検索履歴、購入履歴、アプリケーション使用履歴、および、他のコンテキスト履歴といったアクションログにおける)ユーザアクションのシステムによる観察に基づいて、所与のコンテキストにおけるユーザアクションの意味論的にグループ化されたパターンとして規定され得る。なお、これは、ニーズ予測モジュール164によって使用されるモデルの議論を簡潔にするための単に例示的な定義である。したがって、この例示的な定義によって、タスクまたはアクションは必ずしもニーズでなくてもよく、観察された行われたアクションまたは行なわれたタスクは、ニーズ予測モジュール164がコンピューティングデバイス110のユーザのより一般的なニーズを推測するために使用し得るプロキシであり得る。
【0038】
ニーズ予測モジュール164が、付加的な図に関してより詳細に記載される。要約すると、ニーズ予測モジュール164は、異なるコンテキストについてコンピューティングデバイス110のユーザのニーズを学習するために1つ以上の機械学習技術を実行し得る。言いかえれば、ニーズ予測モジュール164はコンピューティングデバイス110のユーザのニーズを直接的に学習することができない場合があるので、ニーズ予測モジュール164はユーザニーズをモデリングする。ニーズ予測モジュール164は、コンテキストモジュール162からコンテキスト情報を受信し得るとともに、検索モジュール166から検索履歴情報を受信し得、所与のコンテキストについてユーザのニーズを学習するように
モデルをトレーニングするためにモデルに当該情報を入力として提供し得る。ひとたびトレーニングされると、モデルは、特定のコンテキストを入力として受信し得、それに応答して、当該特定のコンテキストについて他のユーザによって以前に実行された1つ以上のタスク、アクションまたは他の観察可能な行為を示す指示(たとえばデータ)を出力する。
【0039】
この開示の技術に従うと、ISS160は、特定のコンテキストについて(たとえば購入履歴、アプリケーション使用などに加えて)コンピューティングデバイス110のグループに関連付けられる検索履歴に少なくとも部分的に基づいて、当該特定のコンテキストについて当該コンピューティングデバイス110のグループのユーザによって実行されるタスクを識別し得る。たとえば、コンピューティングデバイス110Aのユーザは、初めてある外国を訪問し、当該外国の空港まで飛行機に乗り得る。到着時において、コンピューティングデバイス110Aは、ネットワーク130を介してISS160との接続を確立し得る。
【0040】
コンテキストモジュール162は、コンピューティングデバイス110Aの現在のコンテキストを決定し得、ニーズ予測モジュール164と現在のコンテキストを共有し得る。ニーズ予測モジュール164は、同様のコンテキストを与えられたコンピューティングデバイス110の他のユーザによって典型的に実行される1つ以上のアクションを推測するためにニーズ予測モジュール164が使用するモデルへ、コンピューティングデバイス110Aの現在のコンテキストを入力し得る。ニーズ予測モジュール164は、当該モデルを使用して、外国の空港を訪問する際にユーザが典型的に実行する1つ以上のタスクを識別し得る。
【0041】
いくつかの例では、推測されたタスクの例は、コンピューティングデバイス110Aの現在の位置から特定の位置へナビゲートすることを含む。たとえば、ニーズ予測モジュール164のモデルは、ユーザが典型的に当該外国の空港からのタクシーを探していることを示すデータを出力し得る。あるいは、いくつかの例では、モデルは、タクシーを呼ぶためにユーザが典型的にデバイス110のそれぞれから陸上交通に関連するアプリケーションの実行をトリガする(たとえば開く)ことを示すデータを出力し得る。
【0042】
いずれの場合においても、モデルから受信された情報に基づいて、ニーズ予測モジュール164は、コンピューティングデバイス110のユーザが典型的に空港への到着時にタクシーを必要とすると決定し得、したがって、コンピューティングデバイス110Aのユーザがタクシーを必要としているかもしれないと推測し得る。いくつかの例では、ニーズ予測モジュール164は、モデルによって識別されたタスクまたはアクションに基づいて検索を実行するように検索モジュール166に単に要求し得る。その後、ニーズ予測モジュール164は、タクシーを呼ぶ必要があるかもしれないとUIモジュール120Aがユーザに知らせ得るように、コンピューティングデバイス110Aに検索結果(または検索結果に由来する情報)を自動的に出力し得る。
【0043】
しかしながら、他の例においては、ニーズ予測モジュール164は、ニーズモデルから受信される情報に対して、コンピューティングデバイス110Aに情報を送る前に、何らかの付加的な分析を実行し得る。端的に言うと、ニーズ予測モジュール164は、特定のコンテキストについて実行されるタスクの尤度(たとえば確率、カウントなど)がより広いコンテキストについて実行されるタスクの尤度より十分に重み付けされているかどうかを決定し得る。これにより、ニーズ予測モジュール164は、ユーザが実行しなければならないかもしれないタスクが特に、普通ではないか、またはそうでなければ、特定の状況に固有である場合には単にニーズ情報を出力し得る。
【0044】
たとえば、ニーズ予測モジュール164のニーズモデルは、特定の空港にいる際にユーザが典型的にコンピューティングデバイス110から電子メールアプリケーションを開くと決定し得る。しかしながら、ニーズ予測モジュール164のニーズモデルは、ユーザは典型的に、空港および特定の空港を囲む大きな地理的エリアを含む他のコンテキストについてコンピューティングデバイス110から同じ電子メールアプリケーションを開くと決定し得る。ニーズ予測モジュール164は、外国の空港への到着時において電子メールアプリケーションを開く尤度が外国の空港の外側で電子メールアプリケーションを開く尤度と同様であると決定し得る。したがって、ニーズ予測モジュール164は、当該「ニーズ」がユーザに対して割り込むまたは別の態様で先を見越してユーザにアラートを出すほど十分に興味深いものではないので、コンピューティングデバイス110Aのユーザが自身の電子メールをチェックするアラートを受信することを気にかける必要はないと決定し得る。
【0045】
特定のタスクを満たすニーズについての情報がユーザに対して割り込むほど十分に興味深いものであるかどうか決定するために、ニーズ予測モジュール164のニーズモデルは、特定のコンテキストについてコンピューティングデバイス110のグループのユーザによって実行されるタスクの第1の尤度と、特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイス110のグループのユーザによって実行されるタスクの第2の尤度とを比較し得る。たとえば、ニーズ予測モジュール164は、ユーザが外国における空港に位置する場合にコンピューティングデバイス110のユーザの75パーセントが陸上交通について検索を実行していると決定し得、ユーザが外国内のどこかに位置している場合(ユーザが空港にいる場合も含む)にはコンピューティングデバイス110のユーザの20パーセントのみが陸上交通について同じ検索を実行していると決定し得る。
【0046】
ニーズ予測モジュール164のニーズモデルは、2つの尤度間の差としきい値量(たとえば10パーセント、20パーセントなど)とを比較し得、これにより、特定のコンテキストについての情報のニーズがより広いコンテキストにおける同様の情報についてのニーズより十分に重み付けされているかどうか決定する。たとえば、しきい値量は20パーセントであり得る。あるいは、換言すると、ニーズ予測モジュール164のニーズモデルは、特定のコンテキストにおける情報のニーズが、少なくとも20パーセントだけ、より広いコンテキストにおける情報のニーズより重み付けされていることを必要とし得る。
【0047】
第1の尤度が第2の尤度をしきい値量だけ上回っていることと、コンピューティングデバイス110Aの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、ニーズ予測モジュール164は、特定のコンテキストについてタスクを完了するための情報をコンピューティングデバイス110Aに送信し得る。たとえば、コンピューティングデバイス110Aのユーザが外国の空港において陸上交通を必要とすることになる尤度が、ユーザが陸上交通を当該国のいずれかの場所で必要とする尤度より十分に大きいと決定した後、ニーズ予測モジュール164は、検索モジュール166に、外国の空港から陸上交通に乗ることに関係する有益な情報について検索を実行させ得る。
【0048】
いくつかの例では、ISS160がコンピューティングデバイス110Aに送信する特定のコンテキストについてタスクを完了するための情報は、コンピューティングデバイス110のグループに関連付けられる検索履歴からの少なくとも1つの検索結果に基づき得る。たとえば、コンピューティングデバイス110Aへ送信される情報は、特定のコンテキストにおいて検索を実行することにより以前のユーザが得た情報のうちのいくつかまたはすべてであり得る。これにより、ISS160は、検索を実行するようユーザに自身のコンピューティングデバイス110Aとインタラクションすることを必要とすることなしに、ユーザがいずれにしても検索する可能性がある情報を提供している。
【0049】
いくつかの例では、ISS160は、第1の尤度がしきい値量だけ第2の尤度を上回っていないと決定することに応答して、特定のコンテキストについてタスクを完了するための情報をコンピューティングデバイス110Aに送信することを抑制し得る。たとえば、コンピューティングデバイス110Aのユーザが外国の空港で陸上交通を必要とする尤度が、ユーザが当該国のどこかにおいて陸上交通を必要とする尤度よりも十分に大きくないと決定した後、ニーズ予測モジュール164は、外国の空港から陸上交通に乗ることに関係する有益な情報の検索を検索モジュール166に実行させることを抑制し得る。換言すると、ISS160は、ニーズが特定の状況に固有でないがその代わりに多くまたはすべての状況について一般に必要とされる場合、予測されたニーズを満たすための情報を提供しないことがあり得る。
【0050】
いずれの場合においても、第1の尤度がしきい値量だけ第2の尤度を上回っており、かつ、ニーズ予測モジュール164が検索モジュール166にニーズに関係する情報の検索を実行させるとすると、検索モジュール166は当該ニーズに関する情報を返し得る。いくつかの例において、情報は、現在の位置から特定の位置へ移動するための1つ以上の提案を含み得る。いくつかの例において、情報は、空港のタクシー停車場の位置と、チップが当該外国では適切かどうかと、当該外国の空港から陸上交通に乗ることに関する他の有益な情報とを含み得る。たとえば、検索モジュール166は、空港からの陸上交通のドライバーによって現地通貨のみが受け付けられる(たとえば、外貨またはクレジットカードは受け付けられない)と決定し得る。ニーズ予測モジュール164は、検索モジュール166によって得られた情報を伝えるためにUID112Aにおいてユーザインターフェイス114を提示するための命令を含む情報をコンピューティングデバイス110Aに出力し得る。
【0051】
ISS160から情報を受信すると、UIモジュール120Aは、表示のためにUID112Aにユーザインターフェイス114を出力させ得、いくつかの例において、特定のコンテキストにおいてユーザのニーズを満たすための有益な情報がUID112Aで利用可能であるということをユーザに示すようコンピューティングデバイス110Aに可聴アラートも出力させ得る。この例では、ISS160から受信された情報に基づいて、コンピューティングデバイス110Aのユーザは、タクシーに乗る前に両替キオスクに立ち寄るべきであることを知り得る。
【0052】
したがって、本願明細書において記載される技術を実行する例示的なコンピューティングシステムから情報を受信するコンピューティングデバイスのユーザが不慣れな状況にある場合、ユーザは、特定の目標を達成するためにユーザがあるタスクを遂行するのを支援し得る情報および事実を得るために、情報の検索を実行するか、またはそうでなければ、ユーザのコンピューティングデバイスに入力を提供する必要がなくなり得る。その代わりに、例示的なシステムは、状況のコンテキストが与えられると、ユーザのニーズを自動的に推測し得、ユーザのニーズを満たしユーザがタスクまたは目標を達成するのを支援し得る有益な情報をコンピューティングデバイスに自動的に提供する。
【0053】
これにより、入力(たとえば検索クエリ)を提供するようにユーザに要求するとともにさらに、ユーザが探している特定の情報を見つける際に他のコンピューティングデバイスおよびシステムをガイドするための十分な情報(たとえば正しい検索クエリ語)を提供することができることを要求する他のコンピューティングデバイスおよびシステムと異なり、例示的なシステムは、必要とされる情報を自動的に提供する。ユーザが完了する必要があり得るタスクまたはユーザが検索するべき情報にユーザが気がついていない場合であっても、例示的なシステムは、不慣れな状況を乗り越えて特定の目標を達成することを成功するために、必要とされる情報を自動的に提供する。
【0054】
さらに、他のコンピューティングデバイスおよびシステムと異なり、例示的なシステムは、ある「ワオ(Wow)!」ファクタを有する必要とされる情報を提供し得る。言いかえれば、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって実行されるタスクの第1の尤度が、特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって実行されるタスクの第2の尤度をしきい値量だけ上回るかどうかに基づき特定のコンテキストについて情報の出力を決定することによって、例示的なコンピューティングシステムは、特定のコンテキストについてユーザがまだ知らない情報および/またはユーザが必要とするであろうことを知る術がなかった情報を提供する可能性がより高くなり得る。例示的なシステムが提供する情報は、より不明瞭な事実または他のニュアンスの情報のうちのいくつかを含み得る。当該他のニュアンスの情報は、ユーザの特定の状況(たとえば時間、位置など)に対して非常に特定的であり、特定の状況を以前に経験したことがある非常に経験を積んだユーザのみが知っていたであろう情報である。
【0055】
結果、ユーザは、不慣れな状況に遭遇する前にユーザが実行する必要があり得るさまざまなアクションの如何なる事前知識も有する必要がない。ユーザの経験するストレスはより少なくなり得、また、ユーザが特定の目標を達成するのに必要な情報を得ようとする際に情報を検索するためにコンピューティングデバイスにおいて入力を提供するのに費やされる時間がより少なくなり得る。ユーザからの直接的なユーザインタラクション(たとえば入力)が少なくなることにより、例示的なシステムは、情報を検索する能力を単にユーザに提供する他のシステムと比較して、エネルギーを節約して使用するバッテリー電力が少なくなり得る。
【0056】
図2は、本開示の1つ以上の局面に従った、図1のコンピューティングデバイス110のうちの1つのようなコンピューティングデバイスのユーザのニーズを予測するように構成されるとともに、ニーズを満たすための情報を提供するように構成される例示的なコンピューティングシステムとして情報サーバシステム(ISS)260を示すブロック図である。ISS260は図1のISS160のより詳細な例であり、図1のシステム100のコンテキストにおいて以下に記載される。図2は、ISS260の1つの特定の例のみを示しており、ISS260の他の多くの例が他の場合において使用されてもよく、例示的なISS260に含まれるコンポーネントのサブセットを含んでもよく、または、図2に示されない付加的なコンポーネントを含んでもよい。
【0057】
ISS260は、コンジット(conduit)をコンピューティングデバイス110に提供し得、当該コンジットを通じて、コンピューティングデバイス110Aのようなコンピューティングデバイスが検索クエリに関係する情報の検索を実行し得るとともに、いくつかの例において、特定のコンテキストについてコンピューティングデバイス110のユーザのニーズを満たすことになるISS260が予測する情報を自動的に受信し得る。図2の例に示されるように、ISS260は、1つ以上のプロセッサ270と、1つ以上の通信ユニット272と、1つ以上のストレージデバイス274とを含んでいる。ISS260のストレージデバイス274は、コンテキストモジュール262と、ニーズ予測モジュール264と、検索モジュール266とを含んでいる。ニーズ予測モジュール264内では、ストレージデバイス74はトレーニングモジュール268を含んでいる。モジュール262~266はそれぞれ、図1のモジュール162~166よりも高い能力でなければ、図1のモジュール162~166と少なくとも同じ能力を含んでいる。
【0058】
ISS260のストレージデバイス274はさらに、検索履歴データストア270Aと、コンテキスト履歴データストア270Bと、タスクおよびニーズルールデータストア2
70C(集合的に「データストア270」と称される)とを含む。通信チャンネル276は、コンポーネント間通信のためのコンポーネント270、272および274の各々を(物理的に、通信可能に、および/または、動作可能に)相互接続し得る。いくつかの例において、通信チャンネル276は、システムバス、ネットワーク接続、プロセス間通信データ構造、または、データを通信する任意の他の方法を含み得る。
【0059】
ISS260の1つ以上の通信ユニット272は、図1のネットワーク130のような1つ以上のネットワーク上でネットワーク信号を送信および/または受信することによって、図1のコンピューティングデバイス110のような外部コンピューティングデバイスと通信し得る。たとえば、ISS260は、コンピューティングデバイス110と情報を交換するよう、通信ユニット272を使用してネットワーク130を介して無線信号を送信および/または受信し得る。通信ユニット272の例は、情報を送信および/または受信可能である(たとえばイーサネットカードのような)ネットワークインターフェイスカード、光トランシーバ、無線周波数トランシーバ、GPSレシーバ、または、任意の他のタイプのデバイスを含む。通信ユニット272の他の例は、短波無線通信、セルラーデータ無線通信、無線イーサネットネットワーク無線通信、および、ユニバーサルシリアルバス(USB)コントローラを含み得る。
【0060】
ISS260内の1つ以上のストレージデバイス274は、ISS260の動作中に処理のための情報を格納し得る(たとえば、ISS206は、ISS260における実行の間にモジュール262、264、266および268によってアクセスされるデータを格納し得る)。いくつかの例において、ストレージデバイス274は一時記憶であり、これは、ストレージデバイス274の主な目的が長期記憶ではないことを意味する。ISS260の上のストレージデバイス274は、揮発性メモリとして、情報の短期記憶のために構成され得、したがって、電源が切られると、格納されたコンテンツを保持しない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)と、ダイナミックランダムアクセスメモリ(DRAM)と、スタティックランダムアクセスメモリ(SRAM))と、当該技術において公知の揮発性メモリの他の形態とを含む。
【0061】
ストレージデバイス274はさらに、いくつかの例において、1つ以上のコンピュータ読取可能記憶媒体を含む。ストレージデバイス274は、揮発性メモリより大きな量の情報を格納するように構成され得る。ストレージデバイス274はさらに、不揮発性メモリスペースとして情報の長期間記憶のために構成され得、電源オン/オフサイクルの後でも情報を保持し得る。不揮発性メモリの例は、磁気ハードディスクと、光ディスクと、フロッピー(登録商標)ディスクと、フラッシュメモリと、電気的にプログラム可能なメモリ(EPROM:electrically programmable memory)または電気的に消去可能およびプログラム可能なメモリ(EEPROM:electrically erasable and programmable memory)の形態にあるものとを含む。ストレージデバイス274は、プログラム命令、ならびに/または、モジュール262、264、266および268に関連付けられるデータを格納し得る。
【0062】
1つ以上のプロセッサ270は、ISS260内において機能を実現し、および/または、命令を実行し得る。たとえば、ISS260上のプロセッサ270は、モジュール262、264、266および268の機能を実行する、ストレージデバイス274によって格納される命令を受信および実行し得る。プロセッサ270によって実行されるこれらの命令は、ISS260に、プログラム実行の間にストレージデバイス274内に情報を格納させ得る。プロセッサ270は、同じコンテキストについて他のコンピューティングデバイスの他のユーザの以前のアクションが与えられると、さまざまなコンテキストについてコンピューティングデバイスのユーザのニーズを学習および予測するようにモジュール262、264、266および268の命令を実行し得、特定のコンテキストについてコンピューティングデバイスのユーザの予測されたニーズに関連する情報を自動的に提供し得る。すなわち、モジュール262、264、266および268は、本願明細書において記載されるISS270のさまざまなアクションまたは機能を実行するようプロセッサ270によって動作可能であり得る。
【0063】
データストア270は、検索履歴(たとえば検索語、同義語、関連する検索語など)と、コンテキスト履歴(たとえば位置、時刻、デバイス状態情報、ユーザ情報など)と、さまざまなコンテキストについてコンピューティングデバイスのユーザのニーズを予測するための(たとえば機械学習システムの)ルールとに関係する情報を格納するための任意の好適な記憶媒体を表わす。データストア270において格納される情報は、1つ以上のモジュール262~268が、データストア270の1つ以上から入力要求情報を提供し得、また、入力に応答して、データストア270に格納された情報を受信し得るように、検索可能および/または分類され得る。
【0064】
検索履歴データストア270Aは、検索モジュール266によって主に維持され得、コンテキストモジュール262によって一般に維持されるコンテキスト履歴データストア270Bの部分であり得るか、または、コンテキスト履歴データストア270Bとは別個であり得る。検索履歴データストア270Aは、図1のコンピューティングデバイス110のような個々のコンピューティングデバイスによって検索された異なるタイプの情報をオーガナイズする1つ以上の検索可能であるデータベースまたはデータ構造を含み得る。たとえば、検索履歴データストア270Aは、個々またはグループのコンピューティングデバイスに専用の行(row)を含み得、各行内において、検索履歴データストア270Aは、個々またはグループのコンピューティングデバイスの代わりに検索モジュール266が実行した検索に関係する情報を含み得る。データストア270Aに格納された情報のタイプの例は、検索語またはクエリと、検索語に関連付けられるコンピューティングデバイスの時刻および/または位置と、検索語の検索がどれくらい頻繁に行われたかを示す検索語に関連付けられるカウントと、検索語の検索が成功したかどうか(たとえば、直後の検索における検索結果が当該検索が失敗だったことを示唆するかどうか)の指示と、コンピューティングデバイスによって実行される検索に関係する任意および全ての他の情報とを含む。
【0065】
上で示されるように、コンテキスト履歴データストア270Bは、検索履歴データストア270Aのうちのいくつかまたはすべてを含み得る。コンテキスト履歴データストア270Bは、コンピューティングデバイス110のような個々またはグループのコンピューティングデバイスに関連付けられるオーガナイズされ検索可能である履歴コンテキスト情報を含む。コンテキスト履歴データストア270Bに格納され得るコンテキスト情報のタイプは、位置情報と、時刻情報と、(たとえばコンピューティングデバイス110から得られる)センサ情報と、ユーザ関心情報と、デバイス動作状態に関する情報と、アプリケーション実行情報(たとえば何のアプリケーションをいつ実行したか)と、ニーズ予測モジュール264がユーザのニーズを予測する必要があり得る任意および全ての他の情報とを含むが、これらに限定されない。
【0066】
タスクおよびニーズルールデータストア270Cは、現在のコンテキストについてコンピューティングデバイスのユーザによって実行される可能性のあるタスクまたはアクションとタスクを遂行するためにユーザが必要とし得る情報とを予測するよう、ニーズ予測モジュール264が依拠する1つ以上の以前に作り出されたルールを含む。たとえば、データストア270Cは、ニーズ予測モジュール264の機械学習または人工知能システムのルールを格納し得る。ニーズ予測モジュール264の機械学習または人工知能システムは、特定のコンテキストについてコンピューティングデバイス110のユーザに関連付けられるタスクおよびニーズを推測するために、データストア270Cのルールにアクセスし得る。
【0067】
いくつかの例では、ニーズ予測モジュール264は、データストア270Cへの入力としてコンピューティングデバイスの現在のコンテキストを提供し得、現在のコンテキストおよび(現在のコンテキストを含む)より広いコンテキストにおいてコンピューティングデバイスのユーザが実行する必要があり得るタスクまたはアクションに関係する情報を出力として受信し得る。いくつかの例では、データストア270Cのルールは、現在のコンテキストについてタスクまたはアクションに関連付けられる尤度(たとえばカウント、確率など)と、より広いコンテキストについて当該タスクおよびアクションに関連付けられる同様の尤度とを出力し得る。いくつかの例では、ニーズ予測モジュール264は、予測されたタスクをデータストア270Cに入力として提供し得、予測されたタスクを完了するために現在のコンテキストにおいてユーザが必要とし得る情報のタイプに関係する情報を出力として受信し得る。
【0068】
ニーズ予測モジュール264のトレーニングモジュール268は、あるコンテキストについてユーザによって実行されるタスクに関連付けられる尤度を予測および決定するために、データストア270Cに格納されるルールを生成し得る。たとえば、トレーニングモジュール268の機械学習または人工知能システムは、コンテキストモジュール262によって得られデータストア270Bに格納されるコンテキスト情報を分析し得、データストア270Aに格納される検索情報との相関を識別し得る。トレーニングモジュール268により使用される機械学習システムのタイプは、ベイズネットワーク(Bayesian network)、ニューラルネットワーク、および、他のタイプの人工知能モデルを含む。たとえば、トレーニングモジュール268は、同様のコンテキストと、同様のコンテキストにおいて実行される同様の検索クエリとを共有する各コンピューティングデバイス110またはコンピューティングデバイス110のグループについての行を有するテーブルを作り出し得る。コンピューティングデバイス110に関連付けられるコンテキスト情報および検索情報との間の相関に基づいて、トレーニングモジュール268は、特定のコンテキストについて、コンピューティングデバイス110が実行する将来の検索を予想するためのルールを作り出し得る。
【0069】
たとえば、トレーニングモジュール268は、コンピューティングデバイス110の一部が特定の空港にまたはその空港の近くに位置する場合、当該特定の空港についてのターミナルの地図に関係する検索クエリ間に相関が存在すると決定し得る。トレーニングモジュール268は、コンピューティングデバイスが、そのデバイスがその特定の空港に位置する際に空港のターミナルの地図の検索を実行する高い尤度を生成するルールを作り出し得る。
【0070】
別の例として、トレーニングモジュール268は、コンピューティングデバイス110の一部が、当該コンピューティングデバイス110の一部に関連付けられるそれぞれの家の位置にまたはその家の位置の近くに位置する場合、ある日の朝の時間の間、天候に関係する検索クエリ同士の間に相関が存在すると決定し得る。さらに、トレーニングモジュール268は、コンピューティングデバイスが、そのデバイスが家の位置に位置する場合、将来の日の朝の時間の間に天候の検索を実行するであろう中程度の尤度を生成するルールを作り出し得る。トレーニングモジュール268は、パスされた観察されたアクションに基づいて、コンピューティングデバイス110のユーザが特定のコンテキストについて行ない得る将来のアクションのタイプを予測するための任意の数えきれない数のルールを生成し得る。
【0071】
トレーニングモジュール268は、さまざまな態様で、コンテキストCに従ってさまざまなニーズNを有するユーザの確率Pを学習し得る。いくつかの例において、トレーニングモジュール268は、多項式またはカウントを使用してP(N|C)を決定し得る。たとえば、トレーニングモジュール268は、コンピューティングデバイス110が、空港の内部から行なわれた検索の全量と比較して、空港にいる間に空港のターミナルの地図の検索を何回実行したかを決定し得、これにより、合計の検索に対するターミナルの地図の検索の比を決定する。
【0072】
いくつかの例において、トレーニングモジュール268は、ベイズの公式を使用してP(N|C)を決定し得る。たとえば、ベイズの公式を使用して、トレーニングモジュール268は、EQ.1のような方程式を使用し得る。
【0073】
【数1】
【0074】
EQ.1において、P(N)はユーザがニーズNを有する確率であり、P(C|N)は、ユーザがニーズNを有するとした場合、ユーザがコンテキストCにある確率である。すなわち、言いかえれば、あるコンテキストが当該与えられたコンテキストの確率に比例し、あるニーズが当該ニーズの事前確率に一致する場合の、事後確率である。
【0075】
トレーニングモジュール268はさらに、ユーザのニーズを予測するための改善されたルールを決定するために、コンテキスト情報および検索履歴に対してアグリゲーション技術(aggregation technique)およびクラスタリング技術を実行し得る。たとえば、トレーニングモジュール268がコンテキストモジュール262によって決定される各特定のコンテキストについてP(N|C)を計算すると、トレーニングモジュール268は、特定のコンテキストについて計算された確率をアグリゲートし、より一般的なコンテキストについて確率を決定し得る。たとえば、トレーニングモジュール268は、複数の個々の空港について特定のニーズの確率を決定し得、次いで、異なる空港の各々についてそれぞれの確率をすべての空港についての単一の確率へとアグリゲートし得る。
【0076】
トレーニングモジュール268は、検索モジュール266によって観察される同様のアクションを同様のニーズにマッチするようクラスタリング技術を実行し得る。たとえば、トレーニングモジュール268は、2つの異なる検索クエリが同じ検索結果に帰着した場合、これら2つのクエリは類似しているに違いないので、同様のニーズを必要とする同じでなければ類似しているアクションまたはタスクとして扱われ得ると決定し得る。
【0077】
図3は、本開示の1つ以上の局面に従った、図1のコンピューティングデバイス110のうちの1つ以上のようなコンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するための例示的なシステムとして、情報サーバシステム(ISS)360を含むシステム300を示す付加的な概念図である。ISS360は、図1のISS160および図2のISS260の付加的な例であり、図1のシステム100および図2のISS260のコンテキストで以下に記載される。
【0078】
システム300は、コンピューティングデバイス310A~310N(集合的に「コンピューティングデバイス310」と称される)を有するネットワーク330を介して通信するISS360を含む。ISS360は、コンピューティングデバイス310によって実行される観察されたアクションまたはタスクをそれぞれのコンテキスト(たとえば位置)にマッチするためのテーブル370を生成し得るニーズ予測モジュール364を含む。テーブル370に格納されている情報に基づき、ニーズ予測モジュール364は、コンピューティングデバイス310のうちの1つが、ニーズ予測モジュール364が識別し行われる必要が恐らくある予測されたタスクまたはアクションを実行するよう情報をいつ必要とし得るかを決定し得る。
【0079】
図3は、コンピューティングデバイス310A、310B、310Dおよび310Eが位置304に存在していることを示しており、位置304はこの例においてはサンフランシスコ空港(SFO:San Francisco Airport)である。位置304を包含しているのは位置302である。位置302は、この例において、SFOを囲むカリフォルニア州の10平方キロメートルの領域を表わす。言いかえれば、位置304は、第1の地理的エリアに関連付けられる特定のコンテキストを表わし得、位置302は、第1の地理的エリアおよび少なくとも1つの他の地理的エリアを含む第2の地理的エリアに関連付けられるより広いコンテキストを表わし得る。
【0080】
いくつかの例において、特定かつより広いコンテキストは、地理的エリアのサイズ以外の理由で異なり得る。たとえば、特定のコンテキストは第1の位置に関連付けられ得、また、より広いコンテキストは、少なくとも1つの他の位置において第1の位置を含む複数の位置に関連付けられる。複数の位置の各々が同じ交通方式に関連付けられる例を考える。たとえば、特定のコンテキストは一つの空港であり得、より広いコンテキストは複数の空港を含み得る。他の例は、一つの事業所および当該一つの事業所を含む複数の他の事業所、1つの居住ユニットまたは家および必ずしも同じ場所にない複数の他の家などであり得る。
【0081】
いくつかの例では、特定およびより広いコンテキストは、位置または地理的エリアサイズ以外の理由について異なり得る。たとえば、特定のコンテキストは、第1の量の時間(たとえばある日の1時間)を含み得、より広いコンテキストは、第1の量の時間を上回る第2の量の時間(たとえばその日の数時間)を含み得る。
【0082】
ニーズ予測モジュール364は、ネットワーク330を介してコンピューティングデバイス310から受信されるコンテキスト情報および検索クエリに基づき、テーブル370を構築し得る。ニーズ予測モジュール364は、コンピューティングデバイス310Bが位置304に位置している間のコンピューティングデバイス310Bからのクエリ316Bと、コンピューティングデバイス310Bが位置302に位置している間のコンピューティングデバイス310Cからのクエリ316Cと、コンピューティングデバイス310Dが位置304に位置している間のコンピューティングデバイス310Dからのクエリ316Dと、コンピューティングデバイス310Eが位置304に位置している間のコンピューティングデバイス310Eからのクエリ316Eとを受信する。テーブル370から、ニーズ予測モジュール364は、コンピューティングデバイス310のうちの1つが位置304(たとえばSFO内部)にあり、かつ、コンピューティングデバイス310のうちの1つが位置302内にある場合、SFOのターミナルの地図について実行される検索の確率を出力するルールを生成し得る。
【0083】
図3の例において、コンピューティングデバイス310Aのユーザは、位置304に到着する飛行機で移動し得る。位置304にある間、コンピューティングデバイス310Aは、ネットワーク330を介してISS360とコンテキスト情報を共有し得る。ニーズ予測モジュール364は、コンピューティングデバイス310Aが位置302にあると決定し得、コンピューティングデバイス310Aのユーザが、ユーザが予測されたタスクを実行するのを支援するために何らかの情報を必要とする可能性があるかどうか決定するようテーブル370を調べ得る。
【0084】
いくつかの例において、コンピューティングデバイス310Aにタスクを完了するための情報をISS360が提供するかどうかは、ユーザおよび/またはコンピューティングデバイス310Aに関連付けられるコンテキストが新しいか否かに依存し得る。言いかえれば、情報を提供する前に、ニーズ予測モジュール364は、コンピューティングデバイス310Aの現在のコンテキストが、コンピューティングデバイス310Aのユーザに関連付けられるコンテキスト履歴に含まれていない新しいコンテキストかどうか決定し得る。予測モジュール364がコンテキストが新しくないと決定した場合、予測モジュール364は情報を提供することを差し控え得る。なぜならば、ユーザが、タスクを完了し状況を乗り越えるやり方を既に知っていると予測モジュール364が仮定し得るからである。
【0085】
いずれの場合においても、ニーズ予測モジュール364は、コンピューティングデバイス310Aが位置302に位置するので、コンピューティングデバイス310Aが、各々がSFOのターミナルの地図の検索を実行したコンピューティングデバイス310B、310Cおよび310Eと同様のコンテキストを共有していると決定し得る。コンピューティングデバイス310Aがデバイス310B、310Cおよび310Eと同じコンテキストを共有しているという決定に基づいて、ニーズ予測モジュール364は、コンピューティングデバイス310Aのユーザが同様のアクションを実行し得るとともに恐らくSFOのターミナルの地図の検索を実行するであろうということを推測し得る。したがって、コンピューティングデバイス310Aのユーザに他のユーザがターミナルの地図の検索に以前に行ったような検索クエリを入力することを要求するのではなく、ニーズ予測モジュール364は、ユーザがそうでなければ検索する必要があった可能性のあるターミナルの地図のグラフィック画像を表わす情報314を自動的に提供し得る。
【0086】
いくつかの例において、ニーズ予測モジュール364が、テーブル370からの情報を位置302および304と同様である他の空港または他の位置に関係する同様の情報とアグリゲートし得、これにより、ユーザが必要とし得る情報についてより一般的なルールを決定する。当該一般的なルールを使用して、ニーズ予測モジュール364は、特定のコンテキストを除外する異なるコンテキストについて、タスクを完了するために異なる情報を提供し得る。たとえば、ユーザがロサンゼルス空港(LAX:Los Angeles Airport)に着陸した場合、ユーザは、SFOに着陸した場合のように、ターミナルの地図を必要とし得るが、ニーズ予測モジュール364は、SFOのグラフィック画像を提供するのではなく、LAXのターミナルの地図を論理的に提供し得る。
【0087】
いくつかの例では、ニーズ予測モジュール364は、コンピューティングデバイス310についてのサードパーティアプリケーションデベロッパが観察されたアクションに基づいてユーザのニーズについて予測モジュール364にクエリ送信することを可能にするサービスまたはツールを提供し得る。たとえば、金融情報についてコンピューティングデバイス310のうちの1つにおいてコンテンツを示すことに興味を有するデベロッパは、「金融情報」についてニーズ予測モジュール364にクエリ送信することにより、金融情報を出力するために最良のコンテキストを調べることが可能である。ニーズ予測モジュール364は、株式ティッカー記号の検索を行い、金融情報に関係する検索結果を検索し、金融関連のウェブサイトにデバイス310を介して訪れ、金融に関するアプリケーションを開くことを行ったデバイスのコンテキスト履歴を分析し得る。ニーズ予測モジュール364は、範囲(coverage)、品質メトリック(quality metrics)などのような、金融情報についてのニーズがトリガされる時および場所に関係するさまざまなメトリックを潜在的に提供することに加えて、当該ニーズがトリガされるコンテキストをデベロッパに提供し得る。
【0088】
図4Aおよび図4Bは、本開示の1つ以上の局面に従った、コンピューティングデバイスのユーザのニーズを予測するとともにニーズを満たすための情報を提供するように構成される例示的なコンピューティングシステムによって行われる例示的な動作410~436を示すフローチャートである。図4Aおよび図4Bは、図1のシステム100のコンテキストにおいて以下に記載される。たとえば、ISS160は、本開示の1つ以上の局面に従った、コンピューティングデバイス110Aのユーザのニーズを予測するとともにニーズを満たすための情報を提供するための動作410~436を実行し得る。
【0089】
図4Aに示されるように、動作において、ISS160は、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴を受信し得る(410)。たとえば、コンピューティングデバイス110のユーザは、情報の検索を実行するために、それぞれのクエリモジュール122にISS160へ検索クエリを送信させ得る。検索クエリの検索を実行することに加えて、検索モジュール166は、コンピューティングデバイス110の各々に関連付けられる1つ以上の検索履歴を生成するよう、検索クエリおよび/または結果を格納し得る。
【0090】
ISS160は、検索履歴に基づいて、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって実行されるタスクを識別し得る(412)。たとえば、ニーズ予測モジュール164のニーズモデルは、コンピューティングデバイス110のコンテキストと、当該コンテキストの各々において生成される検索履歴との間の1つ以上の相関を決定し得るとともに、同様のコンテキストにある場合にコンピューティングデバイス110が実行し得る1つ以上の検索を推測し得る。
【0091】
ISS160は、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって行われるタスクの第1の尤度を決定し得る(414)。たとえば、任意の所与のコンテキストについて各潜在的なタスクの場合、ニーズ予測モジュール164は、タスクの各々と関係のある、コンピューティングデバイス110のグループに関連付けられる検索履歴からの検索の量を決定し得る。ニーズ予測モジュール164は、検索の量がより大きなタスクが、特定のコンテキストについてユーザによって実行され得るタスクであるより高い尤度を有すると決定し得る。
【0092】
いくつかの例では、ニーズ予測モジュール164は、特定のコンテキストについてコンピューティングデバイス110のグループに関連付けられる検索履歴からの、タスクに関係がある第1の量の検索(すなわち検索の第1のカウント)と、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴からの検索の全量(すなわち、検索の合計のカウント)とに少なくとも部分的に基づいて、第1の尤度を決定し得る。別の言い方をすれば、カウント自体に依拠するのではなく、ニーズ予測モジュール164は、特定のコンテキストにおいて実行されるすべてのタスクと比較して、実行される各タスクについてのパーセンテージまたは比に依拠して、所与のコンテキストについて実行される特定のタスクの尤度を決定するために、特定のカウントを変調し得る。
【0093】
本願明細書において使用されるように、ニーズ予測モジュール164は、アクションに基づいてユーザのニーズを予測するためにニーズ予測モジュール164がアクセスを有する機械学習ルールの1つ以上に基づいて、検索が「タスクに関係がある」かまたは「タスクに関連付けられる」と推測し得る。ルールは、同じ結果に至るかまたは同様のアクションを引き起こす検索が同じニーズと関係があるという仮定に基づき得る。たとえば、ユーザが検索エンジン入力においてターミナルの地図、空港陸上交通、手荷物エリアの位置などについて検索を入力する場合、検索エンジンは、トップの結果として空港ターミナルの地図を生成し得る。したがって、ニーズ予測モジュール164は、ターミナルの地図、空港陸上交通、手荷物エリアの位置の検索がすべて空港ターミナルの地図のニーズと関係があると推測し得る。
【0094】
ISS160は、特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって行なわれるタスクの第2の尤度を決定し得る(416)。たとえば、より広いコンテキストについての各潜在的なタスクについて、ニーズ予測モジュール164は、タスクの各々に関係のある、コンピューティングデバイス110のグループに関連付けられる検索履歴からの付加的な量の検索を決定し得る。ニーズ予測モジュール164は、より広いコンテキストについて検索の量がより大きいタスクも、当該より広いコンテキストについてユーザによって実行され得るタスクである尤度がより高いと決定し得る。
【0095】
ISS160は、第1の尤度がしきい値量だけ第2の尤度を上回るかどうか決定し得る(418)。たとえば、ISS160がタスクを完了するために人が情報を必要とし得ると見なすたびにタスクを完了するための情報を提供するのではなく、ニーズ予測モジュール164は、ニーズが特定のコンテキストについて本当に固有かどうか、またはそうでなければ、より広いコンテキストにおけるニーズのポピュラリティに鑑みてニーズが周知かどうかを決定し得る。
【0096】
第1の尤度がしきい値量だけ第2の尤度を上回っていると決定することに応答して、ISSモジュール160は、特定のコンピューティングデバイス110の現在のコンテキストが、推測されたタスクに関連付けられる特定のコンテキストに対応するかどうか決定し得る(420)。たとえば、トレーニングされたニーズ予測モジュール164によって使用されるモデルにより、ニーズ予測モジュール164は、コンピューティングデバイス110のうちのいずれかの現在のコンテキストが、観察されたニーズを有するコンテキストに関連または対応するかどうかを決定するよう、コンピューティングデバイス110に関するコンテキスト情報をモデルに入力し得る。予測モジュール164は、コンピューティングデバイス110Aが外国の空港からの陸上交通に関する情報について典型的にニーズに関連付けられるコンテキストを有すると決定し得る。
【0097】
特定のコンピューティングデバイス110の現在のコンテキストが特定のコンテキストに対応すると決定したことに応答して、ISS160は、特定のコンテキストについてタスクを完了するための情報を特定のコンピューティングデバイスに送信し得る(422)。たとえば、コンピューティングデバイス110Aのユーザが、タクシーサービスを必要としている状況にあるかもしれないと決定したことに応答して、ニーズ予測モジュール164は、外国の特定の空港からタクシーに乗ることに関する情報について検索モジュール166にクエリ送信し得る。ニーズ予測モジュール164は、コンピューティングデバイス110AにおけるUID112Aでの提示のためのコンテンツとして、検索モジュール166によって抽出された情報をパッケージ化し、UIモジュール120Aにネットワーク130介してデータとして当該コンテンツを送信し得る。UIモジュール120Aは、(たとえばディスプレイにおいて)コンテンツを提示するようにUID112Aを構成し得る。
【0098】
図4Bに示されるように、動作において、ISS160は、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって実行される第2のタスクを検索履歴に基づいて識別し得る(424)。たとえば、ユーザが外国の空港において陸上交通情報について検索すると決定することに加えて、ニーズ予測モジュール164はさらに、コンピューティングデバイス110のユーザがしばしば当該空港のターミナルの地図を検索すると決定し得る。
【0099】
ISS160は、特定のコンテキストについてコンピューティングデバイスのグループのユーザによって実行される第2のタスクの第3の尤度を決定し得(426)、さらに、特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについてコンピューティングデバイスのグループのユーザによって実行される第2のタスクの第4の尤度を決定し得る(428)。たとえば、上で記載された動作414および416と同様に、ニーズ予測モジュール164は、外国の空港のコンテキストと当該外国の全体のコンテキストとの両方において、ターミナルの地図を検索するタスクに関連付けられるそれぞれの尤度を決定し得る。
【0100】
いくつかの例において、第3の尤度が第4の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが特定のコンテキストに対応していることとを決定することに応答して、ISS160は特定のコンテキストについて第2のタスクを完了するための第2の情報を特定のコンピューティングデバイスに送信し得る。たとえば、上に記載された動作418~422と同様に、コンピューティングデバイス110Aのユーザがターミナルの地図を必要としている状況にあるかもしれないと決定したことに応答して、ニーズ予測モジュール164は、外国の特定の空港についてのターミナルの地図に関する情報について検索モジュール166にクエリ送信し得る。ニーズ予測モジュール164は、コンピューティングデバイス110AにおけるUID112Aでの提示のためのコンテンツとして、検索モジュール166によって抽出された情報をパッケージ化し、UIモジュール120Aにネットワーク130を介してデータとして当該コンテンツを送信し得、UIモジュール120Aは、(たとえばディスプレイにおいて)当該コンテンツを提示するようにUID112Aを構成し得る。
【0101】
ISS160は、コンピューティングデバイス110Aが、UID112Aにおいてどの情報(たとえばターミナルの地図またはタクシー情報)を示すべきであるか認識し得るように、第1および第2のタスクのランキングを決定し、コンピューティングデバイス110Aに当該ランキングを提供し得る。
【0102】
ランキングを決定するために、ISS160は、第1の尤度と第2の尤度との間の第1の差を決定し得(430)、第3の尤度と第4の尤度との間の第2の差を決定し得る(432)。第1の差および第2の差に基づいて、ISS160は、第1のタスクおよび第2のタスクのランキングを決定し得る。たとえば、第1および第2のタスクのランキングは必ずしも、特定のコンテキストについてどのタスクが最も多いカウントまたは最も高い確率を有するかに基づき得ない。その代わりに、ランキングは、特定のコンテキストについて、しきい値と比較してどのタスクが最も多いカウントまたは最も高い確率を有するかに基づき得る。しきい値は、より広いコンテキストについてカウントまたは確率の全量を表し得る。言いかえれば、ISS160は、タスクがより固有であるほど、新しい状況におけるユーザに知られているか理解されている可能性は低いという論理的根拠により、特定の状況についてより固有のタスクをより高くランク付けし得る。
【0103】
たとえば、ニーズ予測モジュール164は、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴から、第1のタスクに関係しているかそうでなければ関連付けられる第1の量の検索を決定し得、特定のコンテキストについてコンピューティングデバイスのグループに関連した検索履歴から、第2のタスクに関係しているかそうでなければ関連付けられる第2の量の検索を決定し得る。その後、ニーズ予測モジュール164は、より広いコンテキストについて第1および第2のタスクのそれぞれの量と比較して、これら2つの量に基づいて2つのタスクをランク付けし得る。
【0104】
いずれの場合においても、2つのタスクをランク付けした後、ISS160は、第1の情報および第2の情報を出力することの間に優先順位を付けるためにコンピューティングデバイスに当該ランキングを送信し得る(436)。たとえば、ニーズ予測モジュール164は、ターミナルの地図またはタクシー情報を提示することの間のランキングを示す情報をネットワーク130を介して出力し得る。ランキングの受信の際、UIモジュール120Aは、UID112Aにより高いランク付けされた第1の情報を提示させ得る。
【0105】
ISS160は、アクションログ(たとえば検索履歴)を使用してアクションが観察可能であるので、アクションログをマイニングし、所与のニーズおよびコンテキストについてニーズまたはタスクがどれくらい頻繁に生じたかをカウントすることが可能であるという考えに、ニーズおよびタスクのランキングを基づかせ得る。これにより、ISS160は、互いに対して(たとえば、スコアリング/ランキングするのに重要)、かつ、定数項(たとえば、ニーズを示すかまたは送信するべき時をトリガするのに重要)でニーズを比較する方法として、異なるタスクについて関連付けられるカウントを比較し得る。
【0106】
たとえば、ISS160は、EQ.2において示されるようにユーザコンテキストCが与えられた場合にユーザがニーズNを有する確率P(N|C)に基づいて、候補のニーズNを関数fとしてランク付けするために使用されるスコアリング関数s(N,C)に依拠し得る。
【0107】
【数2】
【0108】
特定のユーザコンテキストCが与えられた場合、ISS160は恐らく、(たとえばポピュラーなニーズに関して興味深いニーズを「取り除く」よう)ポピュラーなニーズvs興味深いニーズの「ワオ(Wow)」ファクタの確率を変調する関数への入力として、トップの候補のニーズを予測するためにP(N|C)を使用し得る。すなわち、コンテキストが与えられたニーズの確率がニーズについての背景確率(background probability)で除算される。たとえば、EQ.3において示される関係に基づくと、
【0109】
【数3】
【0110】
である。
いくつかの例において、確率を使用するのではなく、ISS160はカウントに基づいてニーズまたはタスクをスコアリングし得る。EQ.4は、次のようにニーズスコアを規定する。
【0111】
【数4】
【0112】
この導出において、#Observedは、コンピューティングデバイス110の検索履歴および/またはコンテキスト情報において、あるアクションがニーズ予測モジュール164によって観察された回数であり、#Expected(Background)は、アクションが所与の背景において同様に現われると仮定して、ISS160が現在のコンテキストにおいて当該アクションを観察することを予期する予期された回数である(たとえば[Backgroundにおける#count/Backgroundにおける#all counts]×Contextにおける#all counts)。最後に、Noise(#Observed)は、ISS160が低いカウントを有するアクションがニーズ予測に重要ではないかもしれないと決定したとみなす正規化ファクタである。いくつかの例において、#Noise(#observed)の式は、逆シグモイド関数のような平滑な関数であり得る。Noise(#Observed)についての簡潔な式は、以下のEQ.5に示される関数であり得る。
【0113】
【数5】
【0114】
付記1.特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、上記特定のコンテキストについて上記コンピューティングデバイスのグループのユーザによって行なわれるタスクをコンピューティングシステムによって識別することと、上記特定のコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第1の尤度を上記コンピューティングシステムによって決定することと、上記特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第2の尤度を上記コンピューティングシステムによって決定することと、上記第1の尤度が上記第2の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが上記特定のコンテキストに対応していることとを決定することに応答して、上記特定のコンテキストについて上記タスクを完了するための情報を上記特定のコンピューティングデバイスに上記コンピューティングシステムによって送信することとを含む、方法。
【0115】
付記2.上記特定のコンテキストについて上記タスクを完了するための上記情報は、上記現在のコンテキストが上記コンピューティングデバイスの上記ユーザに関連付けられるコンテキスト履歴に含まれていない新しいコンテキストであると決定することに応答して、さらに送信される、付記1のいずれかに記載の方法。
【0116】
付記3.上記特定のコンテキストについて上記タスクを完了するための上記情報は第1の情報であり、上記方法はさらに、上記特定のコンテキストを除く異なるコンテキストについて上記タスクを完了するための第2の情報を上記コンピューティングシステムによって決定することを含み、上記第2の情報は上記第1の情報とは異なる、付記1~2のいずれかに記載の方法。
【0117】
付記4.上記第1の尤度は、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる検索履歴からの、上記タスクに関連付けられるある量の検索に少なくとも部分的に基づいて決定される、付記1~2のいずれかに記載の方法。
【0118】
付記5.上記ある量の検索は、上記特定のコンテキストについてコンピューティングデバイスの第1のグループに関連付けられる第1の検索履歴からの第1の量の検索であり、上記第2の尤度は、上記より広いコンテキストについてコンピューティングデバイスの第2のグループに関連付けられる第2の検索履歴からの、上記タスクに関連付けられる第2の量の検索に少なくとも部分的に基づいて決定される、付記4に記載の方法。
【0119】
付記6.上記特定のコンテキストが第1の量の時間を含み、上記より広いコンテキストが上記第1の量の時間より多い第2の量の時間を含む、付記1~5のいずれかに記載の方法。
【0120】
付記7.上記特定のコンテキストが第1の地理的エリアに関連付けられ、上記より広いコンテキストが、上記第1の地理的エリアおよび少なくとも1つの他の地理的エリアを含む第2の地理的エリアに関連付けられる、付記1~6のいずれかに記載の方法。
【0121】
付記8.上記特定のコンテキストについて上記タスクを完了するための上記情報は、上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの少なくとも1つの検索結果に基づく、付記1~7のいずれかに記載の方法。
【0122】
付記9.コンピューティングシステムであって、少なくとも1つのプロセッサと、少なくとも1つのモジュールとを含み、上記少なくとも1つのモジュールは、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、上記特定のコンテキストについて上記コンピューティングデバイスのグループのユーザによって行なわれるタスクを識別することと、上記特定のコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第1の尤度を決定することと、上記特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第2の尤度を決定することと、上記第1の尤度が上記第2の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが上記特定のコンテキストに対応していることとを決定することに応答して、上記特定のコンテキストについて上記タスクを完了するための情報を上記特定のコンピューティングデバイスに送信することとを行うように上記少なくとも1つのプロセッサによって動作可能である、コンピューティングシステム。
【0123】
付記10.上記特定のコンテキストが第1の地理的エリアに関連付けられ、上記より広いコンテキストが、上記第1の地理的エリアおよび少なくとも1つの他の地理的エリアを含む第2の地理的エリアに関連付けられる、付記9に記載のコンピューティングシステム。
【0124】
付記11.上記第1の尤度は、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの、上記タスクに関連付けられる第1の量の検索と、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの全量の検索とに少なくとも部分的に基づいて決定される、付記9~10のいずれかに記載のコンピューティングシステム。
【0125】
付記12.上記特定のコンテキストは第1の位置に関連付けられ、上記より広いコンテキストは、上記第1の位置および少なくとも1つの他の位置を含む複数の位置に関連付けられている、付記9~11のいずれかに記載のコンピューティングシステム。
【0126】
付記13.上記複数の位置の各々は、同じ交通方式に関連付けられる、付記12のいずれかに記載のコンピューティングシステム。
【0127】
付記14.上記コンピューティングデバイスのグループは上記特定のコンピューティングデバイスを除く、付記9~13のいずれかに記載のコンピューティングシステム。
【0128】
付記15.上記少なくとも1つのモジュールは、上記第1の尤度が上記第2の尤度を上記しきい値量だけ上回っていないと決定することに応答して、上記特定のコンテキストについて上記タスクを完了するための上記情報を上記特定のコンピューティングデバイスに送信することを抑制するように上記少なくとも1つのプロセッサによってさらに動作可能である、付記9~14のいずれかに記載のコンピューティングシステム。
【0129】
付記16.命令を含むコンピュータ読取可能記憶媒体であって、上記命令は、実行されると、特定のコンテキストについてコンピューティングデバイスのグループに関連付けられる検索履歴に基づいて、上記特定のコンテキストについて上記コンピューティングデバイスのグループのユーザによって行なわれるタスクを識別することと、上記特定のコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第1の尤度を決定することと、上記特定のコンテキストおよび少なくとも1つの他のコンテキストを含むより広いコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記タスクの第2の尤度を決定することと、上記第1の尤度が上記第2の尤度をしきい値量だけ上回っていることと、特定のコンピューティングデバイスの現在のコンテキストが上記特定のコンテキストに対応していることとを決定することに応答して、上記特定のコンテキストについて上記タスクを完了するための情報を上記特定のコンピューティングデバイスに送信することとを行うようにコンピューティングシステムの1つ以上のプロセッサを構成する、コンピュータ読取可能記憶媒体。
【0130】
付記17.上記タスクは第1のタスクであり、上記情報は第1の情報であり、上記命令はさらに、実行されると、上記特定のコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる第2のタスクの第3の尤度を決定することを行うように上記コンピューティングシステムの上記1つ以上のプロセッサを構成し、上記第2のタスクは、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴に基づいてさらに識別され、上記命令はさらに、実行されると、上記特定のコンテキストおよび少なくとも1つの他のコンテキストを含む上記より広いコンテキストについて上記コンピューティングデバイスのグループの上記ユーザによって行なわれる上記第2のタスクの第4の尤度を決定することと、上記第3の尤度が上記第4の尤度を上記しきい値量だけ上回っていることと、上記特定のコンピューティングデバイスの上記現在のコンテキストが上記特定のコンテキストに対応していることとを決定することに応答して、上記特定のコンテキストについて上記第2のタスクを完了するための第2の情報を上記特定のコンピューティングデバイスに送信することとを行うように上記コンピューティングシステムの上記1つ以上のプロセッサを構成する、付記16に記載のコンピュータ読取可能記憶媒体。
【0131】
付記18.上記命令はさらに、実行されると、上記第1の尤度と上記第2の尤度との間の第1の差を決定することと、上記第3の尤度と上記第4の尤度との間の第2の差を決定することと、上記第1の差および上記第2の差に基づいて上記第1のタスクおよび上記第2のタスクのランキングを決定することと、上記第1の情報を出力することと上記第2の情報を出力することとの間に優先順位を付けるために、上記ランキングを上記コンピューティングデバイスに送信することとを行うように上記コンピューティングシステムの上記1つ以上のプロセッサを構成する、付記17に記載のコンピュータ読取可能記憶媒体。
【0132】
付記19.上記命令はさらに、実行されると、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの、上記第1のタスクに関連付けられる第1の量の検索と、上記特定のコンテキストについて上記コンピューティングデバイスのグループに関連付けられる上記検索履歴からの、上記第2のタスクに関連付けられる第2の量の検索とに基づいて上記第1および第2のタスクの上記ランキングを決定することを行うように上記コンピューティングシステムの上記1つ以上のプロセッサを構成する、付記18に記載のコンピュータ読取可能記憶媒体。
【0133】
付記20.上記タスクは、上記特定のコンピューティングデバイスの現在の位置から特定の位置へナビゲートすることを含み、上記情報は、上記現在の位置から上記特定の位置へ移動することについて1つ以上の提案を含む、付記16~19のいずれかに記載のコンピュータ読取可能記憶媒体。
【0134】
付記21.付記1~8の方法のいずれかを行なうための手段を含む、付記9に記載のコンピューティングシステム。
【0135】
付記22.実行されると、付記1~8に記載の方法のいずれかを行うように付記9に記載の上記コンピューティングシステムの上記1つ以上のプロセッサを構成する命令をさらに含む、付記16に記載のコンピュータ読取可能記憶媒体。
【0136】
1つ以上の例において、記載された機能は、ハードウェア、ソフトウェア、ファームウェアまたはその任意の組合せにおいて実現され得る。ソフトウェアにおいて実現される場合、当該機能は、1つ以上の命令またはコードとして、コンピュータ読取可能媒体上に格納またはコンピュータ読取可能媒体を介して送信され得、ハードウェアに基づいた処理ユニットによって実行され得る。コンピュータ読取可能媒体は、データ記憶媒体、または、たとえば通信プロトコルに従ってある位置から別の位置までコンピュータプログラムの転送を促進する任意の媒体を含む通信媒体といった有形の媒体に対応するコンピュータ読取可能記憶媒体を含み得る。この態様において、コンピュータ読取可能媒体は一般に、(1)一時的でない有形のコンピュータ読取可能記憶媒体、または、(2)信号もしくは搬送波のような通信媒体に対応し得る。データ記憶媒体は、この開示において記載される技術の実現のために命令、コードおよび/またはデータ構造を抽出するよう、1つ以上のコンピュータまたは1つ以上のプロセッサによってアクセス可能である任意の利用可能な媒体であり得る。コンピュータプログラムプロダクトはコンピュータ読取可能媒体を含み得る。
【0137】
限定ではなく例示として、そのようなコンピュータ読取可能記憶媒体は、所望のプログラムコードを命令またはデータ構造の形態で格納するために使用され得るとともにコンピュータによってアクセスされ得るRAM、ROM、EEPROM、CD-ROMもしくは他の光学ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または任意の他の記憶媒体を含み得る。さらに、任意の接続は、適切にコンピュータ読取可能媒体と称される。たとえば、同軸ケーブル、光ファイバケーブル、撚り対線、デジタル加入者線(DSL)、または、赤外線、無線通信およびマイクロ波のような無線技術を使用して、命令がウェブサイト、サーバまたは他のリモートソースから送信される場合、当該同軸ケーブル、光ファイバケーブル、撚り対線、DSL、または、赤外線、無線通信およびマイクロ波のような無線技術は、媒体の定義に含まれる。しかしながら、コンピュータ読取可能記憶媒体およびデータ記憶媒体は、接続、搬送波、信号または他の一時的な媒体を含んでいないが、その代りに、一時的でない有形の記憶媒体に関するということが理解されるべきである。本願明細書において使用されるようなディスク(diskおよびdisc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタルバーサタイルディスク(DVD)、フロッピー(登録商標)ディスクおよびブルーレイディスクを含んでおり、ディスク(disk)は通常磁気的にデータを再生するものである一方、ディスク(disc)はレーザによりデータを光学的に再生するものである。上記のものの組合せも、コンピュータ読取可能媒体の範囲内に含まれるべきである。
【0138】
命令は、1つ以上のプロセッサによって実行され得、たとえば、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールドプログラマブルロジックアレ
イ(FPGA:field programmable logic array)、または、他の同等な集積論理回路または離散論理回路によって実行され得る。したがって、本願明細書において使用される「プロセッサ」という用語は、前述の構造、または、本願明細書において記載される技術の実現に好適な任意の他の構造のいずれかを指す。さらに、いくつかの局面において、本願明細書において記載される機能は、専用のハードウェアおよび/またはソフトウェアモジュール内に提供され得る。さらに、1つ以上の回路または論理素子において当該技術が完全に実現され得る。
【0139】
この開示の技術は、無線ハンドセット、集積回路(IC)またはICのセット(たとえばチップセット)を含むさまざまなデバイスまたは装置において実現され得る。さまざまなコンポーネント、モジュールまたはユニットは、開示された技術を実行するように構成されるデバイスの機能的な局面を強調するようにこの開示において記載されているが、必ずしも異なるハードウェアユニットによる実現を要求していない。むしろ、上述したように、さまざまなユニットがハードウェアユニットにおいて組み合わされ得るか、または、好適なソフトウェアおよび/またはファームウェアに関連して上述したような1つ以上のプロセッサを含む共同で動作するハードウェアユニットの集合によって提供され得る。
【0140】
さまざまな実施形態が記載された。これらの実施形態および他の実施形態は添付の請求の範囲内である。
図1
図2
図3
図4A
図4B