"検索エンジンの結果ページ内に目的別アプリケーションを提供する方法であって、ユーザから検索クエリを受け取るステップと、前記検索クエリにユーザコンテキストを表すデータを追加するステップを含む、前記検索クエリを解釈するステップと、前記解釈したクエリに関連する1又はそれ以上の動作を選択するステップを含む、前記解釈したクエリを1又はそれ以上の動作テンプレートに対応付けるステップと、前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付け、前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するステップと、前記1又はそれ以上のアプリケーションを検索結果ページ内に表示するステップと、を含むことを特徴とする方法。前記ユーザの検索クエリを解釈するステップは、前記検索クエリのトークン化形式を生成するステップを含む、ことを特徴とする請求項1に記載の方法。前記ユーザコンテキストは、ユーザプロファイルに記憶されたデータを含む、ことを特徴とする請求項1に記載の方法。前記ユーザコンテキストは、前記ユーザの過去の検索クエリを含む、ことを特徴とする請求項1に記載の方法。前記1又はそれ以上のアプリケーションを検索結果ページ内に表示するステップは、前記検索クエリに基づく少なくとも1つのアプリケーション、並びに前記検索クエリ及び前記ユーザコンテキストに基づく少なくとも1つのアプリケーションを表示するステップを含む、ことを特徴とする請求項1に記載の方法。前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップは、アルゴリズム的に実行される、ことを特徴とする請求項1に記載の方法。前記1又はそれ以上の選択したアプリケーションをランク付けするステップをさらに含む、ことを特徴とする請求項1に記載の方法。前記1又はそれ以上の選択したアプリケーションをランク付けするステップは、ユーザのコミュニティにおける前記アプリケーションの人気に基づいて上位アプリケーションを選択するステップを含む、ことを特徴とする請求項7に記載の方法。前記1又はそれ以上の選択したアプリケーションをランク付けするステップは、前記アプリケーションの過去の収益に基づいて前記上位アプリケーションを選択するステップを含む、ことを特徴とする請求項7に記載の方法。前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付け、前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するステップは、前記検索クエリから抽出されたデータに基づいて前記アプリケーションを事前に埋めるステップをさらに含む、ことを特徴とする請求項1に記載の方法。検索エンジンの結果ページ内に目的別アプリケーションを提供するためのシステムであって、ネットワークを介して検索エンジンに結合された、前記検索エンジンに検索クエリを送信する複数のクライアント装置と、前記検索クエリを解釈し、該検索クエリにユーザコンテキストを表すデータを追加するクエリインタプリタと、前記解釈したクエリを1又はそれ以上の動作テンプレートに対応付ける動作推論モジュールと、を備え、前記解釈したクエリを1又はそれ以上の動作テンプレートに対応付けるステップは、前記解釈したクエリに関連する1又はそれ以上の動作を選択するステップを含み、前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるとともに、アプリケーションデータベースに記憶された、前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するアプリケーションスコアラと、前記1又はそれ以上のアプリケーションを検索結果ページ内に表示するフロントエンドサーバと、をさらに備えることを特徴とするシステム。前記クエリインタプリタは、前記検索クエリのトークン化形式をさらに生成する、ことを特徴とする請求項11に記載のシステム。前記ユーザコンテキストは、ユーザプロファイルに記憶されたデータを含む、ことを特徴とする請求項11に記載のシステム。前記ユーザコンテキストは、前記ユーザの過去の検索クエリを含む、ことを特徴とする請求項11に記載のシステム。前記フロントエンドサーバは、前記検索クエリに基づく少なくとも1つのアプリケーション、並びに前記検索クエリ及び前記ユーザコンテキストに基づく少なくとも1つのアプリケーションをさらに表示する、ことを特徴とする請求項11に記載のシステム。前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップは、アルゴリズム的に実行される、ことを特徴とする請求項11に記載のシステム。前記アプリケーションスコアラは、前記1又はそれ以上の選択したアプリケーションをさらにランク付けする、ことを特徴とする請求項11に記載のシステム。前記1又はそれ以上の選択したアプリケーションをランク付けするステップは、ユーザのコミュニティにおける前記アプリケーションの人気に基づいて上位アプリケーションを選択するステップを含む、ことを特徴とする請求項11に記載のシステム。前記1又はそれ以上の選択したアプリケーションをランク付けするステップは、前記アプリケーションの過去の収益に基づいて前記上位アプリケーションを選択するステップを含む、ことを特徴とする請求項18に記載のシステム。前記検索クエリから抽出されたデータに基づいて前記アプリケーションを事前に埋めるアプリケーションパラメータ化モジュールをさらに備える、ことを特徴とする請求項11に記載のシステム。従って、現在の最先端技術は、ユーザ検索行動の全体像を考えることができない。すなわち、現在の検索エンジン技術は、ユーザのクエリに対して直接的に単純に応答し、ユーザのコンテキスト及び過去の検索履歴を使用することによってクエリの特質を確認しようとはしない。従って、現在の最先端技術では、予想されるユーザの目的に応じて提供されるコンテキストアプリケーションを提供することにより、ユーザ検索体験を高めることが必要とされている。本発明は、検索エンジンの結果ページ内に目的別アプリケーションを提供するためのシステム及び方法に関する。この方法は、ユーザから検索クエリを受け取って、この検索クエリを解釈する。1つの実施形態では、ユーザ検索クエリを解釈するステップが、検索クエリのトークン化形式を生成するステップを含む。代替の実施形態では、ユーザ検索クエリを解釈するステップが、ユーザプロファイルに記憶されたデータを含むユーザコンテキストを表すデータを検索クエリに追加するステップをさらに含む。代替の実施形態では、ユーザ検索クエリを解釈するステップが、ユーザの過去の検索クエリを含むユーザコンテキストを表すデータを検索クエリに追加するステップをさらに含む。次に、この方法は、まず解釈したクエリを1又はそれ以上の動作テンプレートに対応付け、この解釈したクエリを1又はそれ以上の動作テンプレートに対応付けるステップは、解釈したクエリに関連する1又はそれ以上の動作を選択するステップを含む。次に、この方法は、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付け、この1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択する。1つの実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップが、編集判断を使用するステップを含む。代替の実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップが、アルゴリズム的に実行される。代替の実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付け、この1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するステップが、検索クエリ及びユーザコンテキストから抽出されたデータ、及び検索履歴に基づいて、アプリケーションを事前に埋めるステップをさらに含む。1つの実施形態では、この方法が、1又はそれ以上の選択したアプリケーションをランク付けする。1つの実施形態では、1又はそれ以上の選択したアプリケーションをランク付けするステップが、ユーザのコミュニティにおけるアプリケーションの人気に基づいて上位アプリケーションを選択するステップを含む。代替の実施形態では、1又はそれ以上の選択したアプリケーションをランク付けするステップが、アプリケーションの過去の収益に基づいて上位アプリケーションを選択するステップを含む。最後に、この方法は、これらの1又はそれ以上のアプリケーションを検索結果ページ内に表示する。本発明はさらに、検索エンジンの結果ページ内に目的別アプリケーションを提供するためのシステムに関する。このシステムは、ネットワークを介して検索エンジンに結合された複数のクライアント装置を備え、これらのクライアント装置は、検索エンジンに検索クエリを送信する。このシステムは、検索クエリを解釈するクエリインタプリタをさらに備える。1つの実施形態では、クエリインタプリタが、検索クエリのトークン化形式をさらに生成する。代替の実施形態では、クエリインタプリタが、ユーザコンテキストを表すデータを検索クエリにさらに追加する。1つの実施形態では、ユーザコンテキストが、ユーザプロファイルに記憶されたデータを含む。代替の実施形態では、ユーザコンテキストが、ユーザの過去の検索クエリを含む。このシステムは、解釈したクエリを1又はそれ以上の動作テンプレートに対応付ける動作推論モジュールを備え、解釈したクエリを1又はそれ以上の動作テンプレートに対応付けるステップは、解釈したクエリに関連する1又はそれ以上の動作を選択するステップを含む。このシステムは、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるとともに、アプリケーションデータベースに記憶された、1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するアプリケーションスコアラをさらに備える。1つの実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップが、編集判断を使用するステップを含む。別の実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップが、アルゴリズム的に実行される。別の実施形態では、アプリケーションスコアラが、1又はそれ以上の選択したアプリケーションをさらにランク付けする。さらなる実施形態では、アプリケーションスコアラが、1又はそれ以上の選択したアプリケーションをさらにランク付けすることができる。1つの実施形態では、1又はそれ以上の選択したアプリケーションをランク付けするステップが、ユーザのコミュニティにおけるアプリケーションの人気に基づいて上位アプリケーションを選択するステップを含む。代替の実施形態では、1又はそれ以上の選択したアプリケーションをランク付けするステップが、アプリケーションの過去の収益に基づいて上位アプリケーションを選択するステップを含む。このシステムは、これらの1又はそれ以上のアプリケーションを検索結果ページ内に表示するフロントエンドサーバをさらに備える。同じ参照符号が同じ又は対応する部分を示す、限定的ではなく例示的であることが意図された添付図面の図に本発明を示す。以下の説明では、本明細書の一部を成す添付図面を参照し、図中には本発明を実施できる特定の実施形態を例示として示す。本発明の範囲から逸脱することなく、他の実施形態を利用すること、及び構造的な変更を行うことができると理解されたい。図1は、本発明の1つの実施形態による、ユーザコンテキストに基づいてコンテキスト動作を生成するためのシステムを示すブロック図である。図1の実施形態に示すように、複数のクライアント装置102a、102b、102cが、ネットワーク104を介して検索エンジン106に接続されている。検索エンジン106は、フロントエンドサーバ108、動作推論モジュール110、クエリインタプリタ112、アプリケーションスコアラ114、アプリケーションパラメータ化モジュール116、アプリケーションインデックス118及びアプリケーションデータベース120を含む複数の構成要素を備える。クライアント装置102a、102b及び102cは、中央処理装置、メモリユニット、永久記憶装置、オーディオ/ビデオ出力装置、ネットワークインターフェイスなどを有する汎用コンピュータ装置パーソナルコンピュータ、テレビセットトップボックス、モバイル装置などとすることができる。クライアント装置102a、102b及び102cは、ローカルネットワーク又はインターネットなどのワイドエリアネットワークとすることができるネットワーク104を介して通信する。本実施形態では、クライアント装置102a、102b及び102cが、クライアント/サーバ間でテキスト、画像及びその他のデータを交換するためのHTTP、WAP又は同様のプロトコルを介して検索エンジン106に要求を送信する。クライアント装置102a、102b及び102cは、検索結果を求める要求を検索プロバイダ110に送信し、これらの検索要求は検索語を含む。この検索語は、ユーザが生成した検索語であっても、又はユーザ支援による、すなわち提案された検索語であってもよい。1つの実施形態では、クライアント装置102a、102b及び102cが、テキストクエリ文字列を含むHTTP要求を送信することができる。例えば、クライアント装置102a、102b及び102cを操作するユーザは、ニューヨーク、nyの寿司などの検索語を含むクエリ文字列を入力し、HTML形式の要素を介してこのクエリを提出することができる。検索エンジン106は、フロントエンドサーバ108を介してクライアント装置からクエリを受け取る。1つの実施形態では、フロントエンドサーバ108が、APACHEHTTPSERVER、MICROSOFTIIS、又は他のいずれかの好適なウェブサーバソフトウェアなどのウェブサーバソフトウェアを実行する様々なハードウェア構成要素を含むことができる。図示の実施形態では、フロントエンドサーバ108が、所与のユーザにより入力された検索要求を受け取る。フロントエンドサーバ108は、所与のクエリに応答して、まず検索インデックス図示せずから複数の検索結果を取り出すことができる。1つの実施形態では、複数の検索結果が、提出された検索語の1又はそれ以上を少なくとも含む複数のウェブページを含む。図示の実施形態では、当業で公知の様々な方法を使用して、検索インデックス内の複数の検索結果を識別することができる。フロントエンドサーバ108はさらに、この検索結果及びアプリケーションをクライアント装置102a、102b及び102cに送信する。フロントエンドサーバ108は、動作推論モジュール110と通信する。図示の実施形態では、フロントエンドサーバ108が、受け取ったクエリを動作推論モジュール110に送信する。代替の実施形態では、フロントエンドサーバ108が、このクエリに関するメタデータを動作推論モジュール110にさらに送信する。例えば、フロントエンドサーバ108は、ユーザIDなどのデータを含む、クエリ提出ユーザに関連するクッキーで情報を送信することができる。図示の実施形態では、動作推論モジュール110が、高速検索できるように動作にインデックス付けし、動作を取り出して重み付けするためのメタデータを記憶し、コンテキストに基づいて動作を選択する。クエリインタプリタ112は、クエリを受け取ると、所与のクエリを分析して、ユーザのコンテキストを表すクエリの解釈を提供する。例えば、クエリインタプリタ112は、bosボストン発laxロサンゼルス行きの飛行機というクエリを受け取ることができる。これに応じて、クエリインタプリタ112は、この平文クエリを、<トークン:飛行機><都市:ボストン><トークン:行き><都市:ロサンゼルス>などの構造化フォーマットに翻訳することができる。図示のように、クエリインタプリタ112は、受け取ったクエリの特性に基づいて、平文クエリをトークン化バージョンに変換する。前の例では、クエリインタプリタ112が、飛行機及び~行きという用語をトークンとして、またbosボストン及びlaxロサンゼルスという用語を都市として抽出する。代替の実施形態では、クエリインタプリタが、解釈の生成において複数の外部指標を利用することができる。例えば、クエリインタプリタ112は、長期の及び短期の活動を含むユーザプロファイルを利用して、概念及びエンティティ又はオブジェクトと元々のユーザクエリとをマッチさせることができる。また、クエリインタプリタ112は、アプリケーションとのユーザインタラクションに関する収集した指標を利用することもできる。1つの実施形態では、指標が、アプリケーションを使用したユーザ体験の質を表し、ユーザ行動に基づいて素早く改善される。クエリインタプリタ112は、抽出されたコンテキストを動作推論モジュール110に戻す。動作推論モジュール110は、この識別されたコンテキストに基づいて動作を選択する。1つの実施形態では、動作推論モジュール110が、解釈されたコンテキストを複数のテンプレートと比較する。例えば、動作推論モジュール110は、上記の解釈されたコンテキストを、2つのテンプレート動作<航空チケットを購入する>及び<飛行機の到着/出発時間をチェックする>にマッチさせることができる。動作推論モジュール110は、識別された動作及び解釈されたコンテキストをアプリケーションスコアラ114に送信する。図示の実施形態では、アプリケーションスコアラ114が、受け取ったコンテキスト及び動作に基づいてアプリケーションインデックス118からアプリケーションを選択する。また、アプリケーションスコアラ114は、本明細書で説明するように、これらの識別されたアプリケーションを採点してランク付けすることができる。アプリケーションスコアラモジュール114に加え、アプリケーションパラメータ化モジュール116が、解釈されたコンテキストから関連パラメータを抽出する。例えば、上記の例では、アプリケーションパラメータ化モジュール116が、bosボストン及びlaxロサンゼルスという用語を関連パラメータとして抽出することができる。代替の実施形態では、アプリケーションパラメータ化モジュール116がさらに、boxボストン及びlaxロサンゼルスをボストン及びロサンゼルスに変換すること、又はその他の変換動作を実行することができる。アプリケーションパラメータ化モジュール116は、パラメータを識別することに加え、この識別されたパラメータでアプリケーションフィールドを事前に埋めることもできる。所与の例では、アプリケーションパラメータ化モジュール116が、到着及び出発時間を提供するアプリケーションなどの識別されたアプリケーションに、ボストン及びロサンゼルスという都市を挿入することができる。動作推論モジュール110及びアプリケーションパラメータ化モジュール116は、アプリケーションインデックス118を介してアプリケーションにアクセスすることができる。アプリケーションインデックス118は、高速検索のためにアプリケーションにインデックスを付ける。図示の実施形態では、アプリケーションインデックス118が、アプリケーションの高速索引及びランク付けを支援するためのメタデータを記憶する。アプリケーションインデックス118は、高速検索を提供することに加え、アプリケーションデータベース120への追加入力をさらに処理することができる。すなわち、アプリケーションインデックス118は、開発者から新たなアプリケーション及びデータを受け取り、アプリケーションにインデックスを付けてからアプリケーションデータベース120に記憶することができる。検索エンジン106は、開発者がアプリケーションを作成するとともに、アプリケーションデータベース120に記憶されたアプリケーションを維持できるようにするAPIをさらに提供することができる。図2は、本発明の1つの実施形態による、ユーザクエリに基づいてコンテキスト動作を生成するためのシステムを示すフロー図である。図示の実施形態では、方法200が、まずステップ202において検索クエリを受け取る。図示の実施形態では、方法200が、HTML形式などの検索フォーム又はブラウザツールバーなどの他の入力機構を介してクエリを受け取ることができる。先程の例を説明すると、方法200は、bosボストン発laxロサンゼルス行きの飛行機などの平文文字列としてクエリを受け取ることができる。方法200は、検索クエリを受け取った後、ステップ204においてこのクエリを解析して解釈する。図示の実施形態では、方法200が、平文文字列をトークン化形式に変換する。例えば、方法200は、boxボストン発laxロサンゼルス行きの飛行機という平文文字列を、<トークン:飛行機><都市:ボストン><トークン:行き><都市:ロサンゼルス>というトークン化した解釈に変換することができる。見て分かるように、方法200は、bosボストンを<都市:ボストン>というトークンに、laxロサンゼルスを<都市:ロサンゼルス>というトークンに翻訳する。1つの実施形態では、方法200が、様々な用語の綴りや配置が誤っているような場合に、様々なテキスト処理動作を実行してクエリを再フォーマットする。次に、方法200は、ステップ206において、識別して解釈したクエリを動作テンプレートに対応付ける。図示の実施形態では、方法200が、トークン化した解釈にマッチする複数の動作テンプレートを識別することができる。例えば、方法200は、飛行機及び~行きというトークンが、ユーザが2地点間を移動していることを示していると識別することができる。この解釈に基づいて、方法200は、航空チケットを購入する動作及び飛行機の到着/出発時間をチェックする動作などの複数のテンプレートを識別することができる。1つの実施形態では、各識別された動作が所与の重みを伴う。例えば、航空チケットを購入する動作には、飛行機の到着/出発時間をチェックする動作よりも高い重みを与えることができる。この動作の重みの決定は、過去のユーザ指標例えば、ユーザがチケットの購入に関心を持つことが多いこと、収益指標例えば、アプリケーション当たりの収益額、又はこれらの組み合わせに基づくことができる。次に、方法200は、ステップ208において、これらの動作を複数のアプリケーションに対応付ける。例えば、方法200は、航空チケットを購入するを、ユーザが所望の目的地間の航空チケットを購入できるようにするORBITZアプリケーションに対応付けることができ、また飛行機の到着/出発時間をチェックする動作を、FLIGHTSTATS又は同様のアプリケーション開発者により提供されるような航空機スケジュールアプリケーションに対応付けることもできる。1つの実施形態では、方法200が、ステップ204においてトークン化されたデータでアプリケーションを事前に埋めることができる。例えば、方法200は、ORBITZアプリケーションを、出発都市ボストン及び到着都市ロサンゼルスで事前に埋めることができる。1つの実施形態では、動作とアプリケーションの間の対応付けが編集判断に基づく。代替の実施形態では、動作とアプリケーションの間の対応付けがアルゴリズム的決定に基づく。次に、方法200は、ステップ210において、識別されたアプリケーションをランク付けする。アプリケーションのランク付けは、特定タイプのクエリを入力した後でアプリケーションを利用するユーザの数に基づくアプリケーションの人気などの様々な指標を利用することができる。例えば、CITY1都市1発CITY2都市2行きの飛行機この場合、都市1は出発都市を表し都市2は到着都市を表すという形式のクエリを入力するユーザは、FLIGHTSTATSアプリケーションよりもORBITZアプリケーションを頻繁に利用する可能性がある。アプリケーション又はアプリケーションのコンテナページに埋め込まれた様々なユーザ指標収集装置が、このデータを収集することができる。方法200は、このデータに基づいて、ORBITZアプリケーションを、FLIGHTSTATSアプリケーションよりも高くランク付けすべきであると判断することができる。代替の実施形態では、方法200が、アプリケーションが稼いだ広告収益額によるランキングなどの、その他のランキングを使用することができる。これとは別に又はこれと併せて、方法200は、所定のアプリケーション品質、信頼性、又はアプリケーションに関連する他の様々なメタデータパラメータに基づいてアプリケーションをランク付けすることができる。方法200は、アプリケーションをランク付けした後、ステップ212において、所望の検索結果とともにアプリケーションを表示する。方法200は、様々な形で検索結果とともにアプリケーションを表示することができる。1つの実施形態では、方法200が、図4及び図5に示すように検索結果と並べてアプリケーションを表示する。別の実施形態では、方法200が、図6に示すように検索結果の下にハイパーリンクとしてアプリケーションを表示する。図3は、本発明の1つの実施形態による、ユーザコンテキストに基づいてコンテキスト動作を生成する方法を示すフロー図である。図3の実施形態に示すように、方法300は、まずステップ302において検索クエリを受け取る。図示の実施形態では、方法300が、HTML形式などの検索フォーム又はブラウザツールバーなどの他の入力機構を介してクエリを受け取ることができる。先程の例を説明すると、方法300は、bosボストン発laxロサンゼルス行きの飛行機などの平文文字列としてクエリを受け取ることができる。方法300は、検索クエリを受け取った後、ステップ304において、ユーザコンテキストが存在するかどうかを判定する。1つの実施形態では、ユーザコンテキストが存在するかどうかを判定するステップが、ユーザプロファイル又は同様の構造をクエリ提出ユーザに関連付けることができるかどうかを判定するステップを伴う。さらに、コンテキストが存在するかどうかを判定するステップは、所与のユーザに関連するさらなる過去のクエリが存在するかどうかを判定するステップを伴うことができる。1つの実施形態では、検索エンジンがコンテキストデータを記憶することができる。代替の実施形態では、コンテキストデータを、クッキー又は同様の機構の形でクライアント装置に記憶することができる。方法300は、ユーザコンテキストが見つからないと判定した場合、図2に関連して説明したようにクエリに基づいて続行する。一方、方法300は、コンテキストが存在すると判定した場合、まずステップ306においてクエリを解析して解釈する。クエリを解析して解釈するステップは、図2に関連して説明した方法と事実上同様であり、明確にするために繰り返さない。方法300は、クエリを解析して解釈した後、ステップ308において、クエリにコンテキストデータを追加する。図2の例を続けると、方法300は、最初にbosボストン発laxロサンゼルス行きの飛行機というクエリに対して、<トークン:飛行機><都市:ボストン><トークン:行き><都市:ロサンゼルス>という解釈を生成することができる。方法300は、このような解釈を生成した後、ユーザの様々な特徴及び過去のクエリなどのコンテキストデータを追加する。例えば、方法300は、ユーザプロファイルを利用すること、又はユーザの傾向を推定することにより、ユーザが地理的にボストンに位置すること、AMERIKANAIRLINESアメリカン航空のウェブサイトを訪問することが多いこと、TRAVELOCITYよりもORBITZの方を好むこと、頻繁にレストランのウェブページを見ること、などのユーザの個性の様々な側面をクエリに追加することができる。これらのユーザ行動の例は、ユーザプロファイル、過去のユーザデータ、又はこれらの組み合わせに基づくことができる。また、方法300は、過去のクエリを利用して、識別された動作を適合させることができる。例えば、方法300は、ユーザが最近観光ロサンゼルス又はホテルロサンゼルスという検索を行ったことを識別することができ、従って航空チケットに関するインスタント検索にも関わらず、観光に関する動作を選択することができる。方法300は、解釈されたユーザクエリにコンテキストを追加した後、ステップ310において、コンテキストを動作に対応付ける。図示の実施形態では、コンテキストと動作の対応付けを、図2に関連して説明したものと同様に行うことができる。しかしながら、方法300は、ユーザクエリを単純に使用することに加え、ユーザのコンテキストを利用することもできる。例えば、方法300は、ユーザがロサンゼルスでの観光を最近検索した場合、このユーザが他人の旅行を観察することではなく旅行することに関心があると推測することができるので、航空チケットを購入する動作のみを戻して、飛行機の到着/出発時間をチェックする動作を無視することができる。別の例として、方法300は、観光に関するユーザの検索に基づいて、車をレンタルする動作及び/又は目的地の都市の天気をチェックする動作を戻すことができる。さらに別の例として、方法300は、ユーザが観光に関心があることと、ユーザがレストランのウェブサイトを頻繁に訪問していることの組み合わせに基づいて、目的地の都市でレストランを探す動作を戻すことができる。代替の実施形態では、方法300が、アプリケーションを連鎖させることができ、この場合、後続のアプリケーションは、最初のアプリケーションとのユーザインタラクションに基づいて連鎖される。例えば、方法300は、ユーザが最初にレストランアプリケーションとやりとりしたと判断することができ、その後、この最初のアプリケーションとのやりとりに基づいて、映画アプリケーションなどのさらなるアプリケーションを連鎖させることができる。この実施形態では、方法300が、レストランアプリケーションと映画アプリケーションを組み合わせた夜間外出という目的などの認識された目的に基づいてアプリケーションを連鎖させる。1つの実施形態では、連鎖されたアプリケーションを、ユーザに非同期的に提供することができる。例えば、方法300は、検索結果ページにレストランアプリケーションなどの1つのアプリケーションのみを表示することができ、ユーザがこのアプリケーションとやりとりした場合、映画アプリケーションなどの第2の連鎖されたアプリケーションを含むように検索結果ページを更新することができる。対照的に、ユーザがレストランアプリケーションとやりとりしなかった場合、検索結果ページはそのまま変化しない。方法300は、複数の動作を決定した後、ステップ312において、履歴データに基づいてアプリケーションに動作を対応付け、ステップ314において、この動作をランク付けする。図示の実施形態では、履歴データに基づく動作とアプリケーションの対応付けを、図2に関連して説明したものと同様に行うことができる。しかしながら、方法300は、ユーザのコンテキスト、好み及び過去のクエリに基づいて、個々のユーザとの関連性が高いアプリケーションを戻すことができる。1つの実施形態では、方法300が、関連するアプリケーションをアプリケーション階層に編成することができる。上記の例を続けると、方法300は、航空チケットの購入に関するORBITZ、TRAVELOCITY及びEXPEDIAアプリケーションなどの複数のアプリケーションを選択することができる。方法300は、これらのアプリケーションの優先順位が最も高いことをさらに示すことができ、これらのアプリケーションを最も高い優先順位レベル内に配置するはずである。しかしながら、方法300は、ユーザがTRAVELOCITYよりもORBITZを使用する頻度の方が高いというコンテキスト情報を利用して、ORBITZがこの優先順位レベル内で最も優先順位の高いアプリケーションになるようにアプリケーションをランク付けすることができる。方法300は、必要なだけ多くの優先順位レベルを決定することができる。例えば、方法300は、HERTZレンタカーアプリケーション、YAHOOWEATHER天気アプリケーション、及びYELPレストランアプリケーションなどの観光を含む第2の優先順位レベルをさらに作成することができる。図2に関連して説明したように、アプリケーションのランク付けは、特定タイプのクエリの入力時にアプリケーションを利用するユーザの数に基づくアプリケーションの人気などの様々な指標を利用することができる。このデータは、アプリケーション又はアプリケーションのコンテナページ内に埋め込まれた様々なユーザ指標収集装置によって収集することができる。別の実施形態では、方法300が、過去のユーザ検索を利用して、所与の検索目標を識別することができる。例えば、方法300は、ユーザが所与の場所における食事の提案及び映画館を検索したことを識別することができる。方法300は、この検索パターンに基づいて、食事アプリケーションと劇場アプリケーションのバンドリングなどのように、検索履歴に合わせて関連するアプリケーションをバンドリングすることができる。方法300は、アプリケーションをランク付けした後、ステップ316において、所望の検索結果とともにアプリケーションを表示する。検索結果とアプリケーションの表示は、様々な形で行うことができる。1つの実施形態では、図4及び図5に示すようにアプリケーションが検索結果と並んで表示される。別の実施形態では、図6に示すように検索結果の下にハイパーリンクとしてアプリケーションを表示することができる。図4は、本発明の1つの実施形態による、検索結果ページ上のコンテキストアプリケーションを示す画面図である。図4の実施形態に示すように、ユーザクエリ402bosボストン発laロサンゼルス行きの飛行機に応答して、検索エンジンの結果ページが表示される。検索エンジンの結果ページは、最初に検索結果404を表示する。検索エンジンの結果ページは、この検索結果に加え、このクエリ提出ユーザのために選択されたアプリケーション406を含む。具体的には、検索エンジンの結果ページは、ボストン発ロサンゼルス行きの飛行機というユーザのクエリに応答して戻されたORBITZアプリケーションを表示する。また、アプリケーション406は、このユーザクエリに基づいて、From発フィールド及びTo行きフィールドを埋める。図5は、本発明の1つの実施形態による、検索結果ページ上のコンテキストアプリケーションを示す画面図である。図5の実施形態に示すように、ユーザは、住宅ローンの利率という検索クエリ502を入力し、複数の検索結果504を受け取る。図5の実施形態には、ユーザプロファイルデータ又は履歴データを使用せずに選択したアプリケーション508、及びユーザプロファイルデータに基づいて選択したアプリケーション506を示している。アプリケーション508は、主に住宅ローンの利率というクエリに基づいてユーザに提示される。従って、検索エンジンは、住宅ローンの利率というクエリが、全国の平均的住宅ローン利率を示すアプリケーションに関連し得ると判断する。対照的に、アプリケーション506は、ユーザプロファイル又は同様の機構に基づいてユーザに提示される。図示のように、アプリケーション506は、ユーザがその地方の住宅ローン利率を検索できるようにするアプリケーションを表す。検索エンジンは、ユーザプロファイルに基づいて、ユーザプロファイル又は同様の装置に記憶されている可能性のあるユーザ位置でアプリケーションを事前に埋める。また、検索エンジンは、ローン金額、ローンの目的及びローンのタイプも事前に埋める。1つの実施形態では、本発明が、プライバシーの考慮に基づいて、どのフィールドを事前に埋めるべきかを判断することができる。1つの実施形態では、このようなデータを、過去のユーザデータから収集することができる。例えば、検索エンジンは、ユーザが最近、200,000ドル借り換え及びインタレストオンリーローンwikipediaというクエリを1時間又は2時間以内に互いに入力したことを識別することができる。検索エンジンは、これらのクエリに基づいて、ユーザがインタレストオンリーの200,000ドルの借り換えローンに関心を持っていると判断し、アプリケーション506をこのコンテキストデータで事前に埋めることができる。図6は、本発明の1つの実施形態による、検索結果ページ上のコンテキストアプリケーションを示す画面図である。図6に示す実施形態によれば、ユーザは、ナパのレストランという検索クエリ602を入力し、複数の検索結果604を受け取る。また、ユーザは、複数のアプリケーションハイパーリンク606も受け取る。とりわけ、これらのアプリケーションリンクは、ゲストユーザ608に対して提示される。従って、これらのアプリケーションリンクは、ナパのレストランというクエリの解釈に基づいて生成される。図示のように、これらの解釈は、テーブルの予約、レストランの評価、及びレストランを他者と共有することに対応する。図1から図6は、本発明の説明を可能にする概念的説明図である。本発明の実施形態の様々な態様は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせに実装できると理解されたい。このような実施形態では、本発明の機能を実施するために、様々な構成要素及び/又はステップを、ハードウェア、ファームウェア、及び/又はソフトウェアに実装することができる。すなわち、ハードウェア、ファームウェア、又はソフトウェアのモジュールの同じ部分が、構成要素又はステップなどの図示のブロックの1又はそれ以上を実行することができる。ソフトウェア実装では、プログラム又はその他の命令などのコンピュータソフトウェア及び/又はデータが、コンピュータプログラム製品の一部として機械可読媒体に記憶され、取り外し可能記憶ドライブ、ハードドライブ、又は通信インターフェイスを介してコンピュータシステム又は他の装置又は機械にロードされる。コンピュータ制御ロジック又はコンピュータ可読プログラムコードとも呼ばれるコンピュータプログラムが、メインメモリ及び/又は二次メモリに記憶され、コントローラなどの1又はそれ以上のプロセッサにより実行されて、本明細書で説明した本発明の機能を1又はそれ以上のプロセッサに実行させる。本明細書では、機械可読媒体、コンピュータプログラム媒体及びコンピュータ使用可能媒体という用語を、一般に、ランダムアクセスメモリRAM、読み出し専用メモリROM、磁気又は光ディスク、又はフラッシュメモリ装置などの取り外し可能記憶ユニット、ハードディスク、電気、電磁、光、音響、又は搬送波、赤外線信号、デジタル信号などのその他の形の伝播信号などの媒体を意味するために使用している。なお、説明又は図示した要素の一部又は全てを入れ替えることにより他の実施形態が可能となるので、上記の図及び例は、本発明の範囲を単一の実施形態に限定することを意図するものではない。さらに、公知の構成要素を使用して本発明のいくつかの要素を部分的に又は完全に実現できる場合、本発明を曖昧にしないように、このような公知の構成要素の部分については本発明を理解するために必要なもののみを記載しており、これらの公知の構成要素の他の部分については詳細な説明を省いている。本明細書では、特に明示しない限り、単数の構成要素を示す実施形態を、複数の同じ構成要素を含む他の実施形態に必ずしも限定すべきではなく、逆もまた同様である。さらに、出願人は、同様に明示しない限り、明細書又は請求項におけるいずれの用語も非通常的な又は特別な意味を有さないことを意図している。さらに、本発明は、本明細書において例示目的で引用した公知の構成要素の現在知られている同等物及び将来的に知られる同等物を含む。特定の実施形態についての上述の説明は、本明細書で引用した、及び引用により本明細書に組み入れた文献の内容を含む単複の関連技術の範囲内の知識を適用することにより、他者が必要以上の実験を伴わずに、本発明の一般的な概念から逸脱することなくこのような特定の実施形態を修正し、及び/又は様々な用途に容易に適応させることができるように、本発明の一般的な性質を十分に明らかにしたものである。従って、このような適応及び修正は、本明細書に示す教示及び手引きに基づいて、開示した実施形態の同等物の意味及び範囲に含まれることが意図される。本発明の様々な実施形態について上述したが、これらは例示目的で提示したものであり限定的なものではないと理解されたい。単複の関連技術における精通者には、本発明の思想及び範囲から逸脱することなく、形式及び詳細の様々な変更を行い得ることが明らかであろう。従って、本発明は、上述の例示的な実施形態のいずれによっても限定されるべきではなく、以下の特許請求の範囲及びこれらの同等物によってのみ定義されるべきである。"