(57)【特許請求の範囲】
【請求項１】
ユーザから部分的なクエリ語を受信するステップと、
前記部分的なクエリ語に基づいて、前記部分的なクエリ語を含む推奨クエリ語を生成するステップと、
前記推奨クエリ語を生成するステップに応じて、前記推奨クエリ語に関係する実質的に生のコンテンツを取得するために第三者のコンテンツプロバイダの生のクエリを開始するステップであって、前記生のコンテンツは、前記推奨クエリ語に関連し、前記推奨クエリ語が生成された時点または前記時点の後において実質的に最新である情報を含む、ステップと、
前記第三者のコンテンツプロバイダから前記生のコンテンツを受信するステップと、
前記推奨クエリ語および前記生のコンテンツを、互いに隣接して表示できるようにクライアントデバイスに提供するステップと
を含み、
前記推奨クエリ語は、ユーザにクエリ語を入力するよう要求することなく取得され、前記生のクエリは、前記推奨クエリ語を取得することに応じて自動的に開始される、コンピュータ実装方法。
【請求項２】
コンピュータプログラムで符号化されたコンピュータ記憶媒体であって、前記プログラムは、データ処理装置によって実行されるときに、
クライアントデバイスによって推奨クエリ語を取得することと、
前記推奨クエリ語を取得することに応じて、前記推奨クエリ語に関係する生のコンテンツを取得するために生のクエリを開始することと、
前記生のコンテンツを取得することと、
前記クライアントデバイスのユーザインターフェースに前記生のコンテンツを表示することと
を含む動作を前記データ処理装置に実行させる命令を含み、
前記推奨クエリ語は、ユーザにクエリ語を入力するよう要求することなく取得され、前記生のクエリは、前記推奨クエリ語を取得することに応じて自動的に開始される、コンピュータ記憶媒体。
【請求項３】
前記生のコンテンツを表示することは、推奨クエリ語リストの中に前記生のコンテンツを表示することを含む、請求項2に記載のコンピュータ記憶媒体。
【請求項４】
前記生のコンテンツを表示することは、検索ボックスの下のドロップダウンメニューにおいて前記推奨クエリ語リストの中に前記生のコンテンツを表示することを含む、請求項3に記載のコンピュータ記憶媒体。
【請求項５】
前記生のコンテンツを表示することは、前記推奨クエリ語リストにおいて前記推奨クエリ語の代わりに前記生のコンテンツを表示することを含む、請求項3に記載のコンピュータ記憶媒体。
【請求項６】
前記生のコンテンツを表示することは、前記推奨クエリ語リストにおいて前記推奨クエリ語に隣接して前記生のコンテンツを表示することを含む、請求項3に記載のコンピュータ記憶媒体。
【請求項７】
前記推奨クエリ語を取得することは、
ユーザ入力クエリ語を受信することと、
前記ユーザ入力クエリ語を使用して前記推奨クエリ語を生成することと
をさらに含む、請求項2に記載のコンピュータ記憶媒体。
【請求項８】
前記推奨クエリ語を取得することは、
ユーザの専用検索履歴にアクセスすることと、
前記ユーザの専用検索履歴を使用して前記推奨クエリ語を生成することと
をさらに含む、請求項2に記載のコンピュータ記憶媒体。
【請求項９】
前記推奨クエリ語が会社を識別したとき、前記生のコンテンツは、前記会社の最新株価を含む、請求項2に記載のコンピュータ記憶媒体。
【請求項１０】
前記推奨クエリ語がロケーションを識別したとき、前記生のコンテンツは、前記ロケーションの最新気象情報を含む、請求項2に記載のコンピュータ記憶媒体。
【請求項１１】
前記推奨クエリ語が注目点(POI)を識別したとき、前記生のコンテンツは、前記POIとクライアントデバイスの最新ロケーションとの間の距離を含む、請求項2に記載のコンピュータ記憶媒体。
【請求項１２】
前記推奨クエリ語が人物を識別したとき、前記生のコンテンツは、前記人物の状態を含む、請求項2に記載のコンピュータ記憶媒体。
【請求項１３】
前記動作は、
検索ダイアログを呼び出す制御をユーザが選択したと判断することをさらに含み、
前記推奨クエリ語は、前記制御を前記ユーザが選択したと判断することに応じて自動的に取得される、請求項2に記載のコンピュータ記憶媒体。
【請求項１４】
前記動作は、
前記生のコンテンツを含むリンクをユーザが選択したことを検知することと、
リンクを前記ユーザが選択したことを検知することに基づいて、前記推奨クエリ語に関係するウェブドキュメントにアクセスすることと
をさらに含む、請求項2に記載のコンピュータ記憶媒体。
【請求項１５】
前記生のコンテンツは、前記生のクエリが実行される時点で最新である前記推奨クエリ語に関係する情報を表す、請求項2に記載のコンピュータ記憶媒体。
【請求項１６】
前記推奨クエリ語を取得することは、前記推奨クエリ語を生成することをさらに含む、請求項2に記載のコンピュータ記憶媒体。
【請求項１７】
前記推奨クエリ語を取得することは、検索エンジンから前記推奨クエリ語を受信することをさらに含む、請求項2に記載のコンピュータ記憶媒体。
【請求項１８】
検索エンジンによって推奨クエリ語を生成するステップと、
前記推奨クエリ語を生成するステップに応じて、前記推奨クエリ語に関係する生のコンテンツを取得するために生のクエリを実行するステップと、
前記生のコンテンツを取得するステップと、
前記生のコンテンツをクライアントデバイスに提供するステップと
を含み、
前記推奨クエリ語は、ユーザにクエリ語を入力するよう要求することなく取得され、前記生のクエリは、前記推奨クエリ語を取得することに応じて自動的に開始される、コンピュータ実装方法。
【請求項１９】
検索エンジンと、
前記検索エンジンによって実行されたときに、前記検索エンジンに
推奨クエリ語を生成することと、
前記推奨クエリ語を生成することに応じて、前記推奨クエリ語に関係する生のコンテンツを取得するために生のクエリを実行することと、
前記生のコンテンツを取得することと、
前記生のコンテンツをクライアントデバイスに提供することと
を含む動作を行わせる命令が保存された、前記検索エンジンに結合されたコンピュータ可読媒体と
を含み、
前記推奨クエリ語は、ユーザにクエリ語を入力するよう要求することなく取得され、前記生のクエリは、前記推奨クエリ語を取得することに応じて自動的に開始される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2010年2月3日に出願され、「INFORMATION  SEARCH  SYSTEM  WITH  REAL-TIME  FEEDBACK」と題し、その開示が参照により本明細書に組み込まれる米国特許出願第12/699,532号の優先権を主張する。
【０００２】
本明細書は、検索エンジンに関する。
【背景技術】
【０００３】
インターネットで入手できる情報の量が劇的に増加しており、ユーザは特定の関連情報の場所を突き止めるための効果的な検索クエリを作成するのに苦労している。近年、検索エンジンプロバイダ間の競争により、検索結果を表示するために使用されるユーザインターフェースのほか、検索エンジンアルゴリズムの進化が急加速している。
【０００４】
ユーザがクエリ語を検索ボックスまたは他の形式の検索フィールドに入れたときに、検索エンジンは、任意の数の適切なクエリ修正戦略を使用して推奨クエリ語を生成して提供することによって応答することができる。一例では、推奨クエリ語は、ユーザがタイプし始めたばかりの完全な単語、またはユーザが過去に選択した推奨クエリ語でありうる。別の例では、推奨クエリ語は、過去に検索エンジンの他のユーザによって検索クエリを実行するために使用されたときに、当該ユーザが入力したクエリ語を使用して生成された検索結果と比較して、そうした他のユーザをより満足させた検索結果を生成した語であることがある。他の例では、推奨クエリ語は、ユーザが検索エンジンの使用に関してより豊富な経験を持っていた場合、または追加的事実を把握していた場合に、ユーザが入力するつもりだった可能性があるか、入力したと思われる語であることがある。
【０００５】
しかしながら、どのクエリ修正戦略が使用されるかにかかわらず、推奨クエリ語自体は、過去の情報、たとえばユーザの過去の活動、所定のクエリフォーマット、または所定のクエリ再作成ルールに基づいて生成されうる。これらは、これらが指し示す人物、場所、事象または他の物に関連するリアルタイムの情報または状態に対する洞察を提供しないので、推奨クエリ語自体は、本明細書では「静的な」、「陳腐な」または「更新されていない」コンテンツと見なされる。
【発明の概要】
【課題を解決するための手段】
【０００６】
本明細書で説明する主題の革新的な一態様では、推奨クエリ語または他の静的なコンテンツのみを単に生成して提供する代わりに、検索エンジンが推奨クエリ語を使用して、推奨クエリ語が指し示す人物、場所、事象または他の物に関する他の「生の」コンテンツを、推奨クエリ語自体の生成と同時またはほぼ同時に取得することができる。この追加的コンテンツは、推奨クエリ語が検索エンジンによって生成された時点またはその直後に取得され(そのため「生の」ものである)、そのためリアルタイム情報を反映することから、本明細書では「生の」、「新鮮な」、「リアルタイムの」、「最新の」または「更新された」コンテンツ、情報またはフィードバックと呼ばれる。コンテンツは、推奨クエリ語が生成されたちょうどその時、またはユーザが部分的または完全なクエリ語を入力した時点では最新のものではないこともあるため、生のコンテンツは代わりに「実質的に生の」コンテンツと呼ばれることもある。生のコンテンツは取得されると、対応する推奨クエリ語の代わりに、または当該語に加えてユーザに提示されうる。
【０００７】
たとえば、推奨クエリ語「weather  New  York(気象  ニューヨーク)」を生成することに応じて、検索エンジンまたはクライアントデバイスがクエリ(「生のクエリ」または「実質的に生のクエリ」と呼ぶ)を自動的に実行して、推奨クエリ語が生成された時点またはその直後において最新であるニューヨーク市の気象情報を、生のコンテンツとして特定または識別することができる。この最新の気象データは、リアルタイムのまたはリアルタイムに近い情報を反映しており、推奨クエリ語自体とともに、またはそれの代わりに、クライアントデバイスのユーザインターフェースを通じてユーザに提供されうる。この生のコンテンツは、ユーザに提示される前に、クライアントデバイスまたは検索エンジンによって処理可能であり、テキストデータ(たとえば、3桁の最新の温度表示、または最新の気象データを含むXMLドキュメント)または他の種類のデータ(たとえば、最新の気象状態を示唆する画像もしくはアイコン、または音声による気象報告の音声ファイル)を含みうる。
【０００８】
一般に、本明細書で説明する主題の別の革新的態様は、クライアントデバイスによって推奨クエリ語を取得するアクションと、推奨クエリ語を取得するアクションに応じて推奨クエリ語に関係する生のコンテンツを取得するために生のクエリを開始するアクションと、生のコンテンツを取得するアクションと、クライアントデバイスのユーザインターフェースに生のコンテンツを表示するアクションとを含む方法に具現化されうる。本態様の他の実施形態は、コンピュータ記憶デバイスに符号化された、本方法のアクションを実行するように構成された、対応するシステム、装置およびコンピュータプログラムを含む。
【０００９】
これらの実施形態および他の実施形態は、以下の特徴のうちの1つまたは複数をそれぞれ随意的に含むことができる。たとえば、生のコンテンツは、検索ボックスの下のドロップダウンメニューの推奨クエリ語リストの中に、推奨クエリ語リストの推奨クエリ語の代わりに、または推奨クエリ語リストの推奨クエリ語に隣接して表示されうる。推奨クエリ語を取得することは、ユーザ入力クエリ語を受信すること、ユーザ入力クエリ語を使用して推奨クエリ語を生成すること、またはユーザの専用検索履歴にアクセスすること、およびユーザの専用検索履歴を使用して推奨クエリ語を生成することをさらに含むことができる。ユーザにクエリ語を入力するように要求することなく推奨クエリ語を取得することができ、推奨クエリ語を取得することに応じて生のクエリが自動的に開始されうる。
【００１０】
推奨クエリ語が会社、ロケーション、注目点(point-of-interest:POI)または人物を識別したとき、生のコンテンツはそれぞれ、当該会社の最新株価、当該ロケーションの最新気象情報、POIとクライアントデバイスの最新ロケーションとの間の距離、または当該人物の状態でありうる。生のクエリは、推奨クエリ語自体を含むことができる。アクションは、検索ダイアログを呼び出す制御をユーザが選択したと判断することに応じて推奨クエリ語が自動的に取得される場合に、当該制御をユーザが選択したと判断することを含んでよく、またはアクションは、生のコンテンツを含むリンクをユーザが選択したことを検知すること、およびリンクをユーザが選択したことを検知することに基づいて推奨クエリ語に関係するウェブドキュメントにアクセスすることを含んでよい。生のコンテンツは、生のクエリが提出された時点で最新である推奨クエリ語に関係する情報を表すことができる。生のコンテンツは、生のクエリが実行された時点で最新である推奨クエリ語に関係する情報を表すことができる。推奨クエリ語を取得することは、推奨クエリ語を生成すること、または検索エンジンから推奨クエリ語を受信することを含むことができる。
【００１１】
一般に、本明細書で説明する主題の別の革新的態様は、検索エンジンによって推奨クエリ語を生成するアクションと、推奨クエリ語を生成するアクションに応じて推奨クエリ語に関係する生のコンテンツを取得するためにクエリを実行するアクションと、生のコンテンツを取得するアクションと、クライアントデバイスに生のコンテンツを提供するアクションとを含む方法に具現化されうる。本態様の他の実施形態は、コンピュータ記憶デバイスに符号化された、本方法のアクションを実行するように構成された、対応するシステム、装置およびコンピュータプログラムを含む。
【００１２】
一般に、本明細書で説明する主題の別の革新的態様は、ユーザから部分的なクエリ語を受信するアクション、部分的なクエリ語に基づいて、部分的なクエリ語を含む推奨クエリ語を生成するアクションを含む方法に具現化されうる。アクションはさらに、推奨クエリ語を生成するアクションに応じて、推奨クエリ語に関係する実質的に生のコンテンツを取得するために第三者のコンテンツプロバイダの生のクエリを開始するアクションであって、生のコンテンツが、推奨クエリ語に関連し、推奨クエリ語が生成された時点またはその時点の後において実質的に最新である情報を含む、アクションと、第三者のコンテンツプロバイダから生のコンテンツを受信するアクションと、推奨クエリ語および生のコンテンツを、互いに隣接して表示できるようにクライアントデバイスに提供するアクションとを含む。
【００１３】
本明細書で説明する主題の1つまたは複数の実施形態の詳細を、添付の図面および以下の説明で示す。主題の他の潜在的な特徴、態様および利点は、説明、図面および特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】情報検索システムにおけるリアルタイムフィードバックを提供する例示的な枠組みのコンテキスト図である。
【図２】例示的なシステムのブロック図である。
【図３】例示的なプロセスの流れ図である。
【図４】例示的なプロセスの流れ図である。
【図５Ａ】様々な検索コンテキスト依存状態における検索ユーザインターフェースの例を示す図である。
【図５Ｂ】様々な検索コンテキスト依存状態における検索ユーザインターフェースの例を示す図である。
【図５Ｃ】様々な検索コンテキスト依存状態における検索ユーザインターフェースの例を示す図である。
【図６Ａ】様々な検索コンテキスト依存状態における検索ユーザインターフェースの例を示す図である。
【図６Ｂ】様々な検索コンテキスト依存状態における検索ユーザインターフェースの例を示す図である。
【図６Ｃ】様々な検索コンテキスト依存状態における検索ユーザインターフェースの例を示す図である。
【図６Ｄ】様々な検索コンテキスト依存状態における検索ユーザインターフェースの例を示す図である。
【図７】例示的なシステムのブロック図である。
【発明を実施するための形態】
【００１５】
同じ参照番号は、全体を通じて対応する構成要素を表す。
【００１６】
図1は、情報検索システム100におけるリアルタイムフィードバックを提供する例示的な枠組みの概念図である。より詳細には、図は情報検索システム100を構成するクライアントデバイス102(たとえば、セルラー電話、PDA、またはパーソナルコンピュータ)および検索エンジン104を示しており、さらに、クライアントデバイス102と検索エンジン104との間のデータのフロー106と、(それぞれ時間系列状態「A」〜「F」におけるユーザインターフェース108a〜108fと標示された)様々な状態にあるクライアントデバイス102のユーザインターフェース108の両方を示している。電子デバイスの計算能力および記憶容量が増加しており、アプリケーション、デバイスおよびシステム(クライアントデバイス102および検索エンジン104など)の開発者にとって、たとえば後述するリアルタイムフィードバックを提供することによって、より豊かで、より敏感で、より満足でき没頭できる検索体験をユーザに提供するためにこれらの改良を活用する機会が生じている。
【００１７】
クライアントデバイス102のユーザは、ユーザインターフェース108の検索ボックス110にクエリ語の一部または1つもしくは複数の完全なクエリ語を入力することによって、公衆ネットワークまたはプライベートネットワークに保存されている情報の検索を開始することができる。クライアントデバイス102はまた、クエリ語を明示的に入力することなく、検索ダイアログを呼び出す制御を選択することによって、情報の検索を開始することができ、この場合、入力済みクエリ語はヌル値として扱われる。簡潔にするために、本明細書はクエリ語の一部分、または完全なクエリ語(それ自体は単一の文字、または1つもしくは複数の部分的もしくは完全な単語、句、一連の文字もしくは表現を含む)を、「ユーザ入力済みクエリ語」または単に「入力済みクエリ語」と呼ぶ。
【００１８】
一般に、クライアントデバイス102および検索エンジン104は、クエリおよび応答の手法を使用して対話し、クライアントデバイス102は、(入力済みクエリ語のような)1つまたは複数のクエリ語を含む検索クエリ要求を検索エンジン104に送信し、検索エンジン104は、クエリ語を使用して検索クエリを実行し、1組の検索結果を識別する情報で応答する。この情報は、検索エンジン結果ページを表示するためにクライアントデバイス102が処理するハイパーテキストマークアップ言語(HTML)ドキュメントとしてフォーマットされうる。入力済みクエリ語を使用して、検索エンジン104は、公衆ネットワーク(たとえば、インターネット)またはプライベートネットワーク(たとえば、イントラネットサーバ)に保存されている情報の検索クエリを実行することができる。
【００１９】
検索要求を検索エンジン104に送信することに加えて、クライアントデバイス102は、入力済みクエリ語を使用して、連絡先データベース、ローカルファイル、キャッシュ済みデータ、履歴データ、ユーザプロファイル情報、構成設定、もしくは他のデータなど、クライアントデバイス102にローカル保存されている情報を検索すること、またはクエリを受信する能力を有するクライアントデバイス102にインストールされているアプリケーションにクエリを出すこともできる。クライアントデバイス102が検索エンジン104と通信して検索クエリの結果を取得するのと同様に、こうしたアプリケーションは、検索エンジンの代わりに他のサーバと通信して結果を取得することができる。クライアントデバイス102はまた、ローカル保存されている情報の全部もしくは一部、またはローカル保存されている情報のインデックスを検索エンジン104に周期的に送信することができ、それによりこの情報を、要求された検索クエリの実行中に検索エンジン104によって検索すること、および検索クエリの結果で戻すことができる。
【００２０】
図1の状態「A」は、ユーザがユーザインターフェース108aの検索ボックス110を選択することによって、検索クエリを要求していることを示している。いくつかの実施形態では、検索クエリを要求する意向は、ユーザがユーザインターフェース108の「検索」ボタンを選択したとき、またはユーザが検索ボックス110(たとえば、Googleデスクトップ検索もしくはツールバー、またはウェブブラウザの検索ボックス)をクリック、利用(tap)、もしくはその他の方法で選択したときに生じる。あるいは、検索ボックス110に入力されたクエリ語に対してプレフィックス検索が実行される場合、検索クエリを要求する意向は、ユーザがクエリ語の1つまたは複数の文字を検索ボックス110に入力し始めたときに生じる。
【００２１】
図示の例では、単一の文字「w」が検索ボックス110にクエリ語として入力されている。検索ボックス110に入力されたクエリ語に対してプレフィックス検索が実行される場合、単一の文字「w」は、より長いクエリ語の最初の文字として入力されていることもある。あるいは、ユーザは単一の文字「w」を検索ボックスに入力し、ユーザインターフェース108の「検索」ボタンを選択している場合がある。さらに代替的なケースでは、ユーザは音声インターフェースに「ダブルユー」と話し、次いで検索クエリを要求するために音声コマンドを話している場合がある。いずれの場合でも、クライアントデバイス102は、入力済みクエリ語「w」を含むデータ113を検索エンジン104にネットワーク経由で送信し、検索ボックス110を含むユーザインターフェース108aが表示される。
【００２２】
クライアントデバイス102および検索エンジン104は、単独で、または互いに組み合わせて、ユーザ入力済みクエリ語を使用して推奨クエリ語を生成するために使用されうる。クライアントデバイス102または検索エンジン104は、ユーザが完全なクエリ語または句を検索ボックス110に入力した後に、推奨クエリ語をそれぞれ生成することができ、ユーザが検索ダイアログを呼び出した後、ただし文字を入力する前に推奨クエリ語を生成することができ、またはプレフィックス検索の場合、クエリ語または句のプレフィックスを構成する文字をユーザが入力したときに推奨クエリ語を生成することができる。こうした推奨クエリ語は、過去に当該ユーザまたは他のユーザに対し既に推奨され、当該ユーザまたは他のユーザによって選択された語を含むことができる。
【００２３】
検索クエリを実行することに加えて、検索エンジン104はクエリ修正モジュールまたはアプリケーションを含み、これは1つまたは複数のクエリ修正戦略を用い、ユーザ入力済みクエリ語を処理して1つまたは複数の推奨クエリ語を生成する。一例では、推奨クエリ語は、ユーザがいくつかの文字を入力した後に、ユーザが入力しようとしていた可能性があると検索エンジン104が判断する語でありうる。たとえば、ユーザが小さなキーボードを使用している場合、検索エンジン104は、ユーザが選択できるよう複数のクエリ語を推奨することによって、ユーザが長いクエリ語または複数のクエリ語を入力する手間を省くことができる。
【００２４】
推奨クエリ語はまた、検索エンジン104の他の過去のユーザによって検索クエリを実行するために使用されたときに、検索エンジン104にとって、入力済みクエリ語を使用して生成された検索結果と比較して、そうしたユーザをより満足させるように見えた検索結果を生成した語を含むことができる。状態「B」では、文字「w」のみが検索ボックス110に入力されており、検索エンジン104によって生成される推奨クエリ語は、「weather(気象)」、「Walgreens(ウォルグリーン)」および「Walmart(ウォルマート)」、「walrus(セイウチ)」または他の語を含むことができる。
【００２５】
検索エンジン104がプレフィックス検索(または「インクリメンタル検索」)を実施している場合、推奨クエリ語は、ユーザによって入力されている文字と合致する語である。ユーザはプレフィックス検索において、入力される文字が増えるにつれて、また推奨クエリ語の精度が徐々に高まるにつれて、推奨クエリ語の関連性または正確性が高まることに気づく。検索エンジン104は、たとえばユーザインターフェース108bの検索ボックス110の下のドロップダウンリスト116に、ユーザがクエリ語を入力したときに推奨クエリ語を生成して提供することができる。
【００２６】
異なるクエリ修正戦略の一例では、検索エンジン104自体が、(たとえば、検索エンジン104によってクエリ結果「Elevation:8,848  meters  (29,029  FT)(海抜:8,848メートル(29,029フィート))」を生成するために、クエリ語「what  is  the  height  of  mount  Everest(エベレスト山の高さはどれだけか)」を使用することによって)一定の特別な種類のクエリを直接尋ねるように構成されている場合、検索エンジン104は、入力済みクエリ語を、こうした種類の特別なクエリに対応する所要のスタイル、条件またはフォーマットに合わせた推奨クエリ語を生成して提供することができる。たとえば、検索エンジン104を始動させてユーザの意図する質問内容を直接尋ねる際に質問を表す語「what  is(どれだけか)」が必要な場合に、ユーザがクエリ語「height  of  Mount  Everest(エベレスト山の高さ)」のみ入力したときに、検索エンジン104はクエリ語「What  is  the  height  of  Mount  Everest(エベレスト山の高さはどれだけか)」を推奨することができる。別の例では、検索エンジン104を始動させて入力済みクエリ語についての辞書の定義を示すにあたり「define:(定義:)」というフォーマットが必要な場合、ユーザがクエリ語「what  does  lycanthrope  mean(オオカミつきとはどういう意味か)」、「lycanthrope  definition(オオカミつきの定義)」または「what  is  a  werewolf(オオカミ人間とは何か)」を入力したときに、検索エンジン104はクエリ語「define:lycanthrope(定義:オオカミつき)」を推奨することができる。
【００２７】
別の例では、あるロケーションの最新の気象についてのクエリを直接尋ねるにあたり、検索エンジン104がクエリ語「weather(気象)」およびロケーション名をこの順番で入力することを求めている場合、ユーザがクエリ語「snow  nyc(雪  nyc)」、「weather  home(気象  自宅)」、「new  York  weather(ニューヨーク  気象)」、「statue  of  liberty  fog(自由の女神像  霧)」、「weather  10030(気象  10030)」などを入力したとき、検索エンジン104はクエリ語「weather  New  York(気象  ニューヨーク)」を推奨することができる。「snow  nyc」の場合、検索エンジン104は、入力済みの部分的なクエリ語「snow」の拡大版として推奨クエリ語「weather」を生成することができ、入力済みの部分的なクエリ語「nyc」はニューヨークという都市を指す周知の口語的または俗語的な略語または方法であることを示す表にアクセスすることによって、推奨クエリ語「New  York」を生成することができる。
【００２８】
別のクエリ修正戦略の類似の例では、検索エンジンはクエリ語「wheather  new  york」に対してスペルチェックを実行することができ、代わりに推奨クエリ語「weather  New  York」を生成して提供することができる。さらに別の例では、検索エンジン104は、ユーザ入力済みクエリ語「lycanthrope  film(オオカミつきの映画)」に基づいて、類義語の推奨クエリ語「werewolf  movie(オオカミ人間の映画)」を生成することができる。
【００２９】
検索エンジン104は、ユーザ入力済みクエリ語を、ユーザによって過去の検索エンジンクエリで使用されたクエリ語、他のユーザの過去の検索エンジンクエリ、クライアントデバイス102もしくは検索エンジン104でインデックス化されたデータ、ユーザ選好情報、または他のデータと比較することによって、推奨クエリ語を生成することができる。状態「B」では、たとえば、検索エンジン104は、ユーザ入力済みクエリ語「w」に基づいて推奨クエリ語「weather」、「Walgreens」、「Walmart」、および「walrus」を生成し、それらの推奨クエリ語を識別するデータ114をクライアントデバイス102に返信している。検索エンジン104によって識別された特定の推奨クエリ語は、任意の数のクエリ修正戦略を使用して生成されている可能性がある。
【００３０】
検索エンジン104は、ユーザの過去の活動または検索エンジン104の他のユーザの活動に基づいて推奨クエリ語を生成することができる。検索エンジン104は、たとえばユーザプロファイルまたはブラウザクッキーに基づいてユーザを認識することができ、当該情報を使用して入力済みクエリ語を、当該ユーザまたは他のユーザが過去に頻繁に入力し、選択し、または関連性を見出しているか満足しているクエリ語または検索結果と照合することができる。図示の例では、検索エンジン104は、推奨クエリ語「weather」、「Walmart」、「Walgreens」または「walrus」を、過去に他のユーザがこれらのクエリ語を使用して取得した検索結果の関連性または推定される満足度に基づいて生成することができる。
【００３１】
検索エンジン104から推奨クエリ語を取得することに加えて、またはその代わりに、クライアントデバイス102自体も、ローカル情報(たとえば、最近実行されたローカルアプリケーションもしくは最近使用されたクエリ語のインデックス、連絡先のデータベース、またはクライアントデバイス102で検索される能力を記録しているクライアントデバイス上のアプリケーション)を検索することによって推奨クエリ語を生成することができる。たとえば、ユーザは、1つまたは複数のお気に入りのロケーション、ブックマークされたかお気に入りのウェブページ、連絡先またはPOI(たとえば、図書館、レストラン、以前訪問した、「お気に入りの」またはタグ付きのロケーション)に関する情報を内蔵ハードドライブ、フラッシュメモリ、または他の記憶デバイスに保存することができる。別の例では、ユーザの過去の検索またはブラウジング履歴に関する情報も、クライアントデバイス102に保存して、推奨クエリ語を生成するために使用することができる。検索を要求する意向が生じているが、ユーザがクエリ語を入力していない場合、クライアントデバイス104はこのローカル情報を使用して、クライアントデバイス104で直近にアクセスされたアイテムを識別するクエリ語、クライアントデバイス104で頻度が最も高い入力済みクエリ語、または以前に推奨されたクエリ語を推奨することができる。
【００３２】
図示の例では、クライアントデバイス102は、状態「B」では、クエリ語「w」を使用して、連絡先のローカルデータベース内のローカル連絡先「Wally  Anderson」を識別し、推奨クエリ語としてその連絡先の名前を推奨することができる。同様に、クライアントデバイスはクエリ語「w」を使用して、最近実行されたか最近インストールされたアプリケーション「Wacky  Solitaire」を識別し、推奨クエリ語としてそのアプリケーションの名前を推奨することができる。あるいは、「Wacky  Solitaire」は、それ自体が検索可能なものとして記録しているクライアントデバイス102で作動しているアプリケーションによってクエリ語として推奨されている可能性がある。クライアント102とサーバ104との間の図示の通信に加えて、そのようなアプリケーションは、利用可能なソフトウェアのダウンロードに関して別個のサーバにクエリを出す際にクエリ語「W」を使用している可能性があり、この別個のサーバから推奨語「Wacky  Solitaire」を受信している可能性がある。
【００３３】
ユーザが過去にクエリ語「weather  New  York」を入力し、検索クエリを要求したときに、クエリ語「weather  New  York」はユーザの検索履歴に保存され、語「New  York」はユーザ選好情報または設定に保存されている可能性がある。このローカルな情報を使用して、クライアントデバイス102は、クエリ語「w」が検索ボックス110に入力されたときにユーザが同じ検索クエリを繰り返そうとしているかもしれないと判断し、「weather  New  York」という推奨クエリ語111を生成して提供することができる。同様のプロセスを使用して、推奨クエリ語「Weather  92067」を生成することができる。ローカル保存された情報を使用することによって、ユーザとクライアントデバイス102との間の以前の対話に依拠することで、ネットワーク送信遅延なしに迅速に推奨クエリ語を生成してユーザに提供することができる。生のコンテンツの取得中に、かつては生のコンテンツと見なされたこれらの以前に選択されたクエリ語に関連するコンテンツにキャッシュからアクセスして、かかるコンテンツをこれらの語とともに表示することができる。
【００３４】
クライアントデバイス102は、検索エンジン104によって生成され、検索エンジン104から受信した推奨クエリ語を使用してローカル情報(たとえば、ユーザ選好、または最近使用されたクエリ語)を検索することによって、他の推奨クエリ語をさらに生成することができる。たとえば、クライアントデバイス102は、ユーザの自宅住所(たとえば、郵便番号92067)などの構成情報または設定を保存しうる。クエリ語「weather」が検索エンジン104によって推奨されているとき、このクエリ語をユーザの自宅住所データと組み合わせて、推奨クエリ語「weather  92067」を形成することができる。別の例では、ユーザは、ユーザが関心を持っている株式表示記号のリストを保存しうる。クライアントデバイス102または検索エンジン104はこの情報を使用して、推奨クエリ語を生成することができ、次いでこの推奨クエリ語を使用して、そうした会社の最新株価に関するクエリを出すことや、かかる株価をユーザに提示することができる。
【００３５】
さらなる例では、単一の入力文字「w」は、クライアントデバイス102にとって、ローカル気象情報を取得するためのクエリ語を推奨するのに十分ではないかもしれないが、検索エンジン104がクエリ語「weather」を最初に推奨したときに、クライアントデバイス102はクエリ語「weather  New  York」または「weather  92067」を推奨することができる。上述の技法に加えて、ユーザが過去に実行した以前の「weather」クエリに基づいて、またはユーザが「New  York」もしくは郵便番号「92067」に対応するロケーションに関心を持っているかもしれないことを示すクライアントデバイス102に保存されているローカル情報(たとえば、ユーザ選好情報または最新ロケーション情報)に基づいて、ロケーション「New  York」および「92067」を識別することができる。
【００３６】
クライアントデバイス102によって推奨されるクエリ語のセットおよび/または検索エンジン104によって推奨されるクエリ語のセットが、ユーザインターフェース108bに示されているように、クライアントデバイス102によって表示される。推奨クエリ語の異なるセットを表示前にマージすること、または別個に表示することができる。ユーザインターフェース108bに示されているように、クライアントデバイス102は、クライアントデバイス102および検索エンジン104によって生成された推奨クエリ語を結合しており、検索ボックス110の下のドロップダウンリスト116に結合された推奨クエリ語リストを表示している。クエリ語のセットを結合することは、重複する推奨クエリ語を削除すること、または特定のクエリ語を他のクエリ語との比較で優先させることもしくは評価することを含みうる。
【００３７】
すべての推奨クエリ語について生のコンテンツを取得することや、生のコンテンツを取得しようと試みることが必要なわけではないが、いくつかの実装形態では、試みは、推奨クエリ語のすべてについて生のクエリを作成することによって行われる。状態「C」に示されているように、推奨クエリ語がクライアントデバイス102によって取得されているとき、生のコンテンツに関連しうる推奨クエリ語のサブセットを選択することができ、このサブセットは、クライアントデバイス102および/または検索エンジン104によって生成された推奨クエリ語の全部または全部よりも少ない部分を含む。推奨クエリ語と生のコンテンツとの関連性は、検索エンジン104によってもしくは検索エンジン104で、かつ/またはクライアントデバイス102のユーザによって記録されうる。
【００３８】
サブセットについて推奨クエリ語を選択する一例では、語「weather」およびロケーション名または識別子を含むクエリ語(すなわち、「weather  New  York」および「weather  92067」)が、生のコンテンツとして最新気象情報を取得するために選択されうる。人物の名前(すなわち「Wally  Anderson」)を含むクエリ語が、生のコンテンツとして当該人物に関する最新の状態またはロケーションの情報を取得するために選択されうる。たとえば、推奨クエリ語「Wally  Anderson」を、ローカルデータベース内の連絡先としてクライアントデバイス102が認識することができ、サブセットの一部として選択することができる。
【００３９】
さらに、会社の名前(すなわち、「Walgreens」および「Walmart」)を含むクエリ語が、生のコンテンツとして最新レビュー情報または最新株価情報を取得するために選択されうる。たとえば、検索エンジン104は、株式公開企業のデータベースから推奨クエリ語「Walmart」を認識し、サブセットの一部として当該推奨クエリ語を選択することができる。代替的な一手法では、計算コストを最小限にするため、生のコンテンツとの明確な関連性がない他の推奨クエリ語(すなわち、「Wacky  Solitaire」、「walrus」および単一の単語「weather」)について生のコンテンツを取得しようとさらに努力することはしない。あるいは、「デフォルト」処理が生じて、これらの推奨クエリ語について生のコンテンツを取得することが可能であり、たとえばその手段として、これらの推奨クエリ語を使用して最新情報を得るべくウィキペディアまたは百科事典に生のクエリを出す。さらなる代替的なケースでは、特定のクエリ語について生のコンテンツが取得されない場合、キャッシュ済みコンテンツをキャッシュから取得して、これらの推奨クエリ語とともに表示することができる。
【００４０】
推奨クエリ語のサブセットは、第三者のサーバまたはサービスのような検索エンジン104の外部から取得された動的情報に基づいて少なくとも部分的に選択されうる。たとえば、ユーザはオンライン連絡先管理サービス(たとえば、Gmail連絡先)またはソーシャルネットワーキングサイト(たとえば、Facebook、Linkedln、MySpace)にリンクされうる。次いで、推奨クエリ語(すなわち、「Wally  Anderson」)が連絡先であるか、友人であるか、友人の友人であるか、あるいは別の形でユーザとの結び付きがある人物であるかを判断するために、これらのサイトおよびサービスにクエリを出すことができる。このクエリの結果を使用して、推奨クエリ語のセットまたはサブセットの一部として当該推奨クエリ語を選択すべきか否かを判断することができる。
【００４１】
第三者のサーバまたはサービスを使用してサブセットを選択する別の例では、ユーザは、Google  Finance、Bloomberg.com、Quicken.com、またはユーザが銀行、貯金、クレジットもしくは投資に関する情報を設定できるその他のサイトなどの金融情報または管理サービスと結び付いていることがある。クライアントデバイス102または検索エンジン104は、推奨クエリ語を、金融情報または管理サービスにおけるユーザのアカウントに関連する情報と比較して、サブセットの一部としてこれらの推奨クエリ語の一部を選択することができる。たとえば、第三者の金融情報または管理サービスに保存されている情報は、ユーザが「MasterCard(マスターカード)」にアカウントを持っており、「Masco  Corp.(マスココーポレーション)」(たとえば、表示名「MAS」)の株式を所有していることを示す場合がある。ユーザがクエリ語「mas」を検索ボックスに入力したとき、検索エンジン104は、クエリ語「MasterCard」、「Masco  Corp.」および「Massey  Ferguson(マッセイファーガソン)」を推奨しうるが、第三者の金融情報または管理サービスに保存されている情報は、ユーザと「Massey  Ferguson」とのつながりを反映していないので、サブセットの一部として「MasterCard」および「Masco  Corp」のみを選択することができる。
【００４２】
推奨クエリ語のサブセットについての生のコンテンツが、サブセット内の選択されたクエリ語を識別するデータを検索エンジン104に提供することによって取得される。生のコンテンツは、推奨クエリ語が検索エンジンによって生成された時点またはその直後に取得される情報である。生のコンテンツは、推奨クエリ語に関連する情報でありうる。生のコンテンツは、推奨クエリ語が生成されたとき、またはその直後に(たとえば、推奨クエリ語の生成から1秒または30秒以内に)、価値が検索エンジンによって事前にインデックス化されていないか、保存されていないデータでありうる。そうではなく生のコンテンツは、ユーザがクエリ語を入力した後に、第三者のコンテンツプロバイダから得られたか、検索エンジンで機動的に更新された情報を含みうる。
【００４３】
生のコンテンツを取得するにあたり、デバイスまたはシステムは、推奨クエリ語を生成することに応じて、またはそれと同時に、生のクエリまたは機動的な更新を実行する必要がある。したがってこれは、検索エンジンによる前回の訪問またはクロールの時点で最新であったキャッシュ済みコンテンツのようなコンテンツとは異なるが、ユーザ入力済みクエリ語が受信され、推奨クエリ語が生成された後に当該訪問またはクロールが生じた場合はこの限りでない。たとえば、検索エンジン104は周期的に気象コンテンツプロバイダを訪問し、「直近の」気象情報として特定のロケーションの気象情報を保存することがある。気象情報およびこの特定のロケーションに関係する推奨クエリ語が生成されるとき、保存されている「直近の」気象情報は、推奨クエリ語が生成される前に取得されている場合には生の情報とは見なされない。
【００４４】
検索エンジン104自体が推奨クエリ語のサブセットを選択する場合、そうしたクエリ語について生のコンテンツを取得するプロセスは、クライアントデバイス102との間でサブセットを識別するデータを交換することなしにただちに開始しうる。クライアントデバイス102が推奨クエリ語のサブセットの全部または一部を選択したとき、サブセットを識別する情報がクライアントデバイス102から検索エンジン104に送信されて、生のコンテンツを取得するプロセスが開始する。
【００４５】
例示的な一実装形態では、推奨クエリ語の全部について生のコンテンツを取得する試みがなされる場合、クライアントデバイス102または検索エンジン104によって推奨クエリ語のサブセットを選択または識別する必要はない。しかしながら、図1に示す例示的な枠組みは、推奨クエリ語のサブセットがクライアントデバイス102によって少なくとも部分的に選択されることを想定している。この想定の下では、状態「C」に示されているように、推奨クエリ語のサブセット内のクエリ語を識別するデータ118がクライアントデバイス102から検索エンジン104に送信されて、生のクエリを実行して生のコンテンツを取得する。データ118は、たとえば関連する生のコンテンツを取得するのに役立つかもしれないクライアントデバイス102の最新ロケーションまたはクライアントデバイス102のユーザを識別する情報などの他の情報も含むことができる。
【００４６】
特定の選択済みクエリ語について生成された生のコンテンツは、クライアントデバイス102のユーザの最新の状況または状態に関係しうる。たとえばユーザの検索履歴または設定によってその他のロケーション情報が推奨されていない場合、クライアントデバイス102の最新ロケーションを使用して生のコンテンツを取得することができ、たとえばそのために、推奨クエリ語「weather」を使用して最新ロケーションにおける最新の気象を判断すること、または推奨語「Walgreens」を使用して最寄りの「Walgreens」ストアまでの最新距離を判断することができる。したがって、サブセットの特定の推奨クエリ語を識別することに加えて、ローカルデバイスはさらに、リアルタイムデータを生成し、このリアルタイムデータをサーバ104に送信して生のクエリで使用して、生のコンテンツを取得することができる。図示の例では、たとえばクライアントデバイスは、その最新ロケーション(「45.116816  lat.,  93.433085  lon.(緯度45.116816度、経度93.433085度)」)をセルラータワーもしくはWi-Fi三角測量から、内蔵GPS受信機から、またはユーザ入力から判断することができ、この情報を検索エンジン104に送信されるデータ118に含めることができる。
【００４７】
推奨クエリ語がユーザインターフェース108bのドロップダウンリスト116において生成され提供されているとき、サブセットを識別し、サブセットの推奨クエリ語の識別情報をクライアントデバイス102と検索エンジン104との間で通信し、検索エンジン104によって生のクエリを実行して生のコンテンツを取得し、クライアントデバイス102に生のコンテンツを提供して表示するのに追加の時間を要することがある。生のコンテンツを取得する試みがなされていること、および生のコンテンツを短時間だけユーザインターフェース108に提供できることを示すインジケータとして、キャッシュ済みコンテンツおよび/または動的な螺旋矢印120がサブセットの推奨クエリ語に隣接して表示されうる。
【００４８】
螺旋矢印120はクライアントデバイス102のユーザに対し、生のコンテンツは取得中であり、間もなく提供されることを示すことができ、そのため、ユーザは生のコンテンツを目にするまで待つか、生のコンテンツを待つ代わりに推奨クエリ語へのリンクを選択するか(すなわち、ユーザは表示される種類の生のコンテンツを知っており、そのようなコンテンツに関心がない)を決めることができる。生のコンテンツが表示されたとき、または(たとえば、所定の時間の経過後、もしくは生のコンテンツについてヌル値が受信された後)特定の推奨クエリ語について生のコンテンツが取得されないとクライアントデバイス102もしくは検索エンジン104が判断したとき、螺旋矢印120は除去される。
【００４９】
この図示の例で使用される視覚的キューは動的な螺旋矢印であるが、他の例では、この視覚的キューは静的であることがあり、砂時計や他の進行インジケータであることもある。加えて、生のコンテンツの取得の進行状況は、推奨クエリ語のサブセットを識別するために使用される文字または図形の大きさ、フォント、色、背景またはその他の特性の変化によって視覚的に合図されうる。たとえば、サブセットの要素クエリ語(member  query  terms)をイタリック体または太字にして、生のクエリを実行するために検索エンジン104にそれらが送信118されているか、その予定であることを示すことができる。他の例では、視覚的キューは示されない。
【００５０】
推奨クエリ語は、ユーザが以前のクエリの最中に選択済みの語、および以前取得され、クライアントデバイス102またはサーバ104に現在キャッシュされている生のコンテンツを有する可能性のある語を含むことができる。ユーザが推奨クエリ語「Walmart」を以前選択している場合、その時点でWalmart株の株価が1株33ドルであったことを示す生のコンテンツが取得された可能性がある。今回、ユーザ入力済みクエリ語「w」に応答して、検索エンジン104が推奨クエリ語「Walmart」を再び生成するとき、そのコンテンツはもはや生のコンテンツではあるとは見なされず、キャッシュ済みコンテンツであると見なされる。生のコンテンツの取得中に、キャッシュ済みコンテンツが他の視覚的キューの代わりにまたは当該キューに加えて、推奨クエリ語に隣接して表示されうる。たとえば状態「B」では、最新データの取得中にユーザに対し即座にデータを示すために、推奨クエリ語「Walmart」の隣にキャッシュ済みコンテンツ117(「$33/shr(1株33ドル)」)が表示される。キャッシュ済みコンテンツ117は、生のコンテンツとは異なる外観を有するようにフォーマット可能であり、たとえばその手段として、異なるフォントまたは色を使用し、その結果、ユーザはこのコンテンツを生のコンテンツと混同しなくなる。
【００５１】
状態「D」では、検索エンジン104は、生のコンテンツを取得するために実行する生のクエリの種類、生のクエリのターゲット、および生のクエリを作成するのに使用するクエリ語を決定するために推奨クエリ語自体を使用して、サブセットの推奨クエリ語のうちの1つまたは複数について生のコンテンツを取得する。本明細書で使用する「生のクエリ」は、推奨クエリ語が生成された後に生じる生のコンテンツを取得するためのクエリである。
【００５２】
生のクエリの種類に関するいくつかの例では、推奨クエリ語が、語「weather」およびロケーション(すなわち、「weather  New  York」および「weather  92067」)を含む場合、検索エンジン104は、ロケーションをクエリ語として使用して、気象サービスによって実行される生のクエリを作成して、当該ロケーションにおける最新気象予報を取得することができる。推奨クエリ語が人物の名前(すなわち、「Wally  Anderson」)を含む場合、検索エンジン104は、その名前をクエリ語として使用して、ソーシャルネットワークプロバイダによって実行される生のクエリを作成して、当該人物の最新状態(たとえば、Facebookの状態、直近のツイート、またはチャットの利用)またはロケーションを取得することができる。クエリ語が会社の名前(すなわち、「Walgreens」および「Walmart」)を含む場合、検索エンジン104は、その会社名をクエリ語として使用して、会社情報サービスによって実行される生のクエリを作成して、最新レビュー情報または最新株価情報を取得することができる。
【００５３】
生のクエリの種類に関する他の例では、推奨クエリ語がテレビのショー、歌、映画、または他のメディアコンテンツの名前、タイトルまたは他の識別子を含む場合、検索エンジン104は、名前またはタイトルをクエリ語として使用して、スケジュールサーバ(たとえば、tvguide.com)によって実行される生のクエリを作成して、その名前に対応しうる現地のショーの時間を取得することができる。推奨クエリ語がスポーツチームまたはスポーツ選手の名前を含む場合、検索エンジン104は、その名前をクエリ語として使用して、スポーツニュースサービス(たとえば、espn.com,  nfl.com)が実行する生のクエリを作成して、かかるチームまたは選手に関連する直近のスコアまたは統計を取得することができる。推奨クエリ語が、ユーザが取引している銀行またはアカウント提供者の名前を含む場合、検索エンジン104は、ユーザのアカウント情報を使用して、当該銀行のまたは当該アカウント提供者のサーバが実行する生のクエリを作成して、ユーザの最新アカウント残高を取得することができる。
【００５４】
ユーザはまた、生のコンテンツを取得するために実行する生のクエリの種類、クエリのターゲット、クエリを作成するために使用するクエリ語を指定することによって、特定の種類の推奨クエリ語について特定の種類の生のコンテンツが取得されることを示すことができる。たとえばユーザは、生のクエリのターゲット(たとえば、gaspricewatch.com)、生のクエリを作成するためのクエリ語(たとえば、「lowest  price(最低価格)」および最新ロケーションの郵便番号)および生のコンテンツとして提示される情報の種類(たとえば、最低現地価格測定基準)を指定することによって、ユーザの最新ロケーションの近くにおける現地の燃料価格を取得するためにクエリ語「gas(ガス)」または「fuel(燃料)」を使用することを、クライアントデバイス102または検索エンジン104に保存されるユーザ選好において定めることができる。
【００５５】
図1に示す例では、推奨クエリ語「weather  New  York」および「weather  92067」を検索エンジン104が使用して、クエリ語「New  York」および「92067」を使用して気象サービスに生のクエリを出し、それらの推奨クエリ語が生成された時点(またはその直後)のそれぞれニューヨークおよび郵便番号92067における最新の気象を表す生のコンテンツ「55°, partly  cloudy(華氏55度、ところにより曇り)」および「76°,  sunny(華氏76度、晴れ)」を取得する。推奨クエリ語「Walgreens」および「Walmart」を検索エンジン104が使用して、クエリ語として会社名「Walgreens」および「Walmart」を使用して会社情報サービスに生のクエリを出し、それらの推奨クエリ語が生成された時点(またはその直後)の最新株価情報を取得する。「Walgreens」の場合、株価情報が入手できておらず、会社情報サービスは最新株価「<none>(<なし>)」を返信している。「Walmart」の場合、会社情報サービスは、最新株価「$38  per  share(1株38ドル)」を返信している。推奨クエリ語「Wally  Anderson」を検索エンジン104が使用して、ソーシャルネットワークにクエリを出しており、ソーシャルネットワークは検索エンジン104に対し、推奨クエリ語が生成された時点(またはその直後)の「Wally  Anderson」の状態が「away(外出中)」であることを示す応答を返信している。
【００５６】
最後に、図1は、推奨クエリ語を使用して生のコンテンツを取得する目的で生のクエリを作成するために検索エンジン104を使用することを示しているが、他の例示的な実装形態では、クライアントデバイスが、検索エンジン104の関与なしに、または検索エンジン104によって作成された生のクエリとともに、もしくはかかる生のクエリに加えて、生のクエリのうちの1つまたは複数を作成し、生のコンテンツを取得する。
【００５７】
状態「E」に示すように、推奨クエリ語について取得された生のコンテンツは、検索エンジン104からクライアントデバイス102に送信されるデータ122において包含または識別される。たとえばサブセットの推奨クエリ語の全部について生のコンテンツの全部が取得された後に、1つのメッセージでデータ122を送信することができ、または各推奨クエリ語について、もしくは推奨クエリ語のグループについて、生のコンテンツが取得された後に、複数のメッセージでデータを送信することができる。データは生のコンテンツ自体を包含することができ、または検索エンジン104は生のコンテンツを処理して、アイコンなどの生のコンテンツに関係する情報を識別または送信することができる。
【００５８】
次いでクライアント102は、生のコンテンツを処理し、各推奨クエリ語について、対応する螺旋矢印120を除去し、生のコンテンツに関係する情報を、ユーザインターフェース108e上に、推奨クエリ語自体に隣接して、または推奨クエリ語自体の代わりに表示することができる。生のコンテンツを処理する際に、クライアントデバイス102は、生のコンテンツの特定の部分または生のコンテンツに含まれる情報を表すアイコンを選択して表示することができる。サブセット内のある推奨クエリ語について生のコンテンツを入手することができない場合、対応する螺旋矢印を除去して、生のコンテンツは目先的に入手できないことをユーザに示す。たとえば、クライアントデバイス102は、「Walgreens」という推奨クエリ語に隣接した螺旋矢印を、その語について生のコンテンツを入手することができないことを示すデータ122を受信したことに基づいて、または検索エンジン104から生のコンテンツを受信せずに所定の時間(たとえば、5秒、30秒、1分)待機したことに基づいて除去する。
【００５９】
上記のように、「weather  New  York」という推奨クエリ語111について検索エンジン104によって取得された生のコンテンツは、「55°,  partly  cloudy」という情報を含む。クライアントデバイス102または検索エンジン104は、この情報を処理して、代表的アイコン(たとえば、晴天のときは太陽、雪が降っているときは雪片、曇りのときは雲)を選択して表示する。検索エンジン104がアイコンを選択したとき、アイコンまたは生のコンテンツのみをクライアントデバイス102に送信して表示してよく、またはアイコンと生のコンテンツの両方を送信してもよい。
【００６０】
別の例では、推奨クエリ語に隣接して生のコンテンツに関係する情報を表示する代わりに、ユーザが推奨クエリ語の辺りでポインタをウロウロさせたときに、生のコンテンツをバルーンダイアログまたはポップアップダイアログボックスとして提示することができる。どの手法を使用して生のコンテンツを表示するかにかかわりなく、多くのユーザが推奨クエリ語の選択またはさらなる検索の開始のためのさらなるアクションを起こすことなく、ドロップダウンリスト116自体の中に求めていた情報を見出すことが予想される。
【００６１】
状態「F」に示されているように、生のコンテンツが表示されているか否かにかかわりなく、ユーザはドロップダウンリスト116内の特定の推奨クエリ語を選択して、特定の推奨クエリ語に対応する機能を始動させることができる。推奨クエリ語の選択により、クライアントデバイス102を通じて、選択されたクエリ語を検索エンジン104または別のサーバに送信して、選択されたクエリ語を使用して検索クエリを実行するよう要求することができる。あるいは、特定のクエリ語についてユニフォームリソースロケータ(URL)のような他の情報が保存される場合、クライアントデバイス102は、特定のクエリ語に関連するURLを検索エンジン104に送信することができる。たとえば、推奨クエリ語「Walgreens」についてURL「www.walgreens.com」がクライアントデバイス102に保存される場合、クエリ語「Walgreens」へのリンク118を選択することで、クライアントデバイス102はこのURLを識別するHTTP要求130を検索エンジン104(または別のサーバ)に送信してウェブページを要求することができる。
【００６２】
生のコンテンツを含んだ推奨クエリ語をユーザが選択していた場合、クライアントデバイス102は、ユーザが以前に関心を持っていた生のコンテンツへのショートカットとして、当該推奨クエリ語をローカル保存することができる。この点で、次にユーザがクライアントデバイス102で検索ダイアログを開始したときに、ユーザに文字入力を全く要求することなく、これらのショートカットを、更新された生のコンテンツを含め、検索ボックス110の下に表示できる。したがって、生のコンテンツへのショートカットを保存することによって、検索ボックス110は、ほとんどタイプしないか、全くタイプしないで、任意の数の対象について生のコンテンツを表示できる一種の特別な（ad-hoc）ウィジェットとなる。ユーザがショートカットに関連する推奨クエリ語と合致するプレフィックスをタイプし始めると、その生のコンテンツは、検索ボックス110の下のドロップダウンリスト内で上位にランクされる。
【００６３】
クライアントデバイスでユーザが選択を行ったときに始動する機能は、ユーザが推奨クエリ語を選択するか、または生のコンテンツを選択するかによって異なることがある。たとえば、ユーザがユーザインターフェース108e上の「Mr.  Anderson」という語へのリンクを選択した場合、クライアントデバイス102は、ローカル保存されている連絡先情報を取得して表示することができる。ユーザがユーザインターフェース108e上で「is  Away」という語へのリンクを選択した場合、クライアントデバイスは、識別された連絡先についてソーシャルネットワークページを取得して表示することができる。
【００６４】
図2は、リアルタイムフィードバックを提供するように適合された例示的な情報検索システム200のブロック図である。システム200は、公衆ネットワークまたはプライベートネットワークでありうるネットワーク205を含む。ネットワーク205は、クライアントデバイス210、検索エンジン250および/またはコンテンツプロバイダ280を通信可能に接続する。
【００６５】
いくつかの実装形態では、クライアントデバイス210はモバイルデバイス、たとえばセルラー電話、ポータブルコンピュータ、パーソナルコンピュータ、PDA、ノートブック、ナビゲーションシステム、自動情報科学システム(automotive  informatics  system)、または他のモバイルシステムもしくは非モバイルシステムでありうる。いくつかの実装形態では、クライアントデバイス210は、デスクトップコンピュータなどの実質的に固定されたシステムでありうる。いくつかの実装形態では、クライアントデバイスは図1のクライアントデバイス102でありうる。
【００６６】
クライアントデバイス210は、インターフェース212を含む。いくつかの実装形態では、インターフェース212は、ネットワークインターフェース、ワイヤレス通信モジュール、通信ポート、またはクライアントデバイスをネットワーク205に通信可能に接続できるその他のモジュールでありうる。プロセッサ214は、ユーザインターフェース216、検索アプリケーション218、入力モジュール220、クエリ生成器222、推奨クエリ語選択器224、生コンテンツモジュール226、またはクライアントデバイス210に含まれうるその他のソフトウェアモジュールに含まれる命令および他のコンピュータコードなどの命令および他のコンピュータコードを実行するために含まれる。
【００６７】
ユーザインターフェース216は、ボタン、入力ボックス、制御、ダイアログ、および検索アプリケーション218のようなクライアントデバイス210上で作動するプロセスと対話するためにユーザが操作し閲覧することができるその他の要素を提供する。いくつかの実装形態では、ユーザインターフェース216は、図1のユーザインターフェース108でありうる。検索アプリケーション218は、クライアントデバイス210または検索エンジン250に位置する情報の検索に関係する機能をユーザに提供する、プロセッサ214によって実行されるソフトウェアアプリケーションである。入力モジュール220は、検索ダイアログの呼び出し、クエリ語の入力、または推奨クエリ語の選択の機構をユーザに提供するために含まれる。
【００６８】
クエリ生成器222は、推奨検索語を使用して生のコンテンツを取得するためにクライアントデバイス210によって使用される。推奨クエリ語選択器224は、生のクエリのためにどのクエリ語または推奨クエリ語を選択するかを決定する(たとえば、生のコンテンツに関連しうるクエリ語を決定する)ために含まれる。生コンテンツモジュール226は、サーバ250に対し生のクエリのために選択されているクエリ語を提出し、提出されたクエリ語に関係する生のコンテンツを受信し、サーバ250から受信された生のコンテンツとクエリ語とを関連付けることに関係する機能を実行するために含まれる。
【００６９】
GPSモジュール228は、全地球測位システムから信号を受信し、クライアントデバイス210の最新の地理的ロケーションを特定するために含まれる。いくつかの実装形態では、ロケーション情報を生コンテンツモジュール226または他のプロセスが使用して、クライアントデバイス210の物理的ロケーションとクエリ語とを関連付けることができる。
【００７０】
クライアントデバイス210は、1組のユーザ選好232、専用検索履歴234または1つもしくは複数の他のアプリケーション236などの電子情報を保存するための記憶媒体230を含む。他のアプリケーション236は、検索されることが可能である場合、この可能性を検索アプリケーション218に記録して、クエリ語が入力されたときに検索され結果を返すようにすることができる。したがって、他のアプリケーション236はまた、推奨クエリ語を提供するために検索する自身のインデックスを含むことができる。
【００７１】
こうした他のアプリケーション236はまた、サーバ/ネットワークベースであることもあり、クライアントデバイスのみに構内接続されているとは限らない。たとえば、クライアントデバイス210のブックストアアプリケーションは、ユーザがクエリ語を検索ボックスに入力したときに、別個のサーバでインデックス化された本のカタログを検索することができ、推奨クエリ語として入力済みの語と合致する本を返すことができる。また、協働して、ブックストアアプリケーションおよび別個のサーバは、最新価格、最新販売部数など、この推奨クエリ語に関する生のコンテンツを返すことができる。
【００７２】
いくつかの実装形態では、記憶媒体230は、読取り専用メモリ、スタティックランダムアクセスメモリ(たとえば、フラッシュメモリ)、ダイナミックランダムアクセスメモリ、磁気記憶媒体(たとえば、ハードドライブ、フロッピー（登録商標）ディスク)、および光ドライブ、またはこれらのもしくは他の形態のデジタル情報記憶媒体の組合せであってよい。ユーザ選好232は、ユーザによって示される設定である。たとえば、ユーザは、ユーザ選好232の1つとして保存される「自宅」のロケーションまたは場所(たとえば、住所、郵便番号、場所設定)を設定することができる。いくつかの実装形態では、クライアントデバイス210は、ユーザの現在のロケーションについての推奨クエリ語およびユーザの好むロケーションについての推奨クエリ語も表示することができる。たとえば、ユーザが別の都市に移動しており、クエリ語「weather」を入力するシナリオでは、クライアントデバイス210は推奨クエリ語(たとえば、気象状態)を、GPS228によって特定されたポジションについてだけでなく、ユーザの「自宅」のロケーションについても表示することができる。ユーザ選好232の他の例として、人物、場所、事象または他の物(たとえば、スポーツチーム、テレビのショー)、会社、事象またはPOI(たとえば、ATM、骨董店、病院)を識別する情報がある。いくつかの実装形態では、ユーザ選好232は、ユーザが見たいと思う種類の生のコンテンツに関する情報を含むことができる。たとえばユーザ選好232は、ユーザが見たいと思っているのは、推奨クエリ語に含まれる最新のガソリン価格であって、株価ではないことを示すことができる。
【００７３】
専用検索履歴234は、クライアントデバイス210との間におけるユーザの過去の活動または対話に関係する情報を含む。いくつかの実装形態では、専用検索履歴234は、ユーザが入力した検索クエリのリスト、またはユーザが選択した推奨クエリ語のリストを保存することができる。いくつかの実装形態では、専用検索履歴234は、最近アクセスされた連絡先、ブラウズされたウェブページ、最近アクセスされたローカルファイル、または他のアプリケーション236などの最近使用されたローカルアプリケーションのリストを含むことができる。
【００７４】
記憶媒体230はまた、インデックス238および連絡先データベース240を保存する。いくつかの実装形態では、インデックス238は、情報のクエリおよび記録へのアクセスの実行速度を上げるために使用できる構造化データでありうる。たとえば、個々の連絡先記録は複数のアドレス、電子画像、添付もしくは埋め込みドキュメント、または検索対象となる可能性が低いかもしれないその他のデータを含みうる。これらの記録の各々の大きさまたはそれらの構造が原因で、それらのコンテンツを読み取るプロセスが遅くなることがある。検索可能なデータのインデックスを作成することによって、情報検索速度を上げることができる。たとえば、インデックスが含みうるのは、JPEGファイルに関連するファイル名およびメタデータ(たとえば、日付スタンプ、ジオタグ、シャッター速度)またはMP3ファイルに関連するファイル名およびメタデータ(たとえば、歌の名前、アーティスト、アルバム)であって、それらの実際の画像や音声コンテンツではない。連絡先記録、電子ファイル、または他の情報ソースをインデックス化して、クライアントデバイス210のアプリケーションおよびモジュールが記憶媒体230内の情報の場所を効果的に突き止めるために使用できる情報の宝庫を作成することができる。
【００７５】
連絡先データベース240は、人物、場所または会社について記述したデータ記録の集まりである。たとえば、セルラー電話などのクライアントデバイス210の一実施形態では、連絡先データベース240は、電話の電話帳または連絡先リストでありうる。デスクトップコンピュータの一実施形態では、連絡先データベース240は、電子メールプログラム(たとえば、Microsoft  Outlook、Lotus  Notes)に関連する連絡先リストでありうる。
【００７６】
一般に、検索エンジン250は、クライアントデバイス210などのデバイスを介してユーザに情報検索サービスを提供する。検索エンジン250は、コンテンツプロバイダ280などのソースからの情報を分析し、情報をインデックス化し、それにより必要なときに情報を効率的に検索し識別することができる。いくつかの実装形態では、検索エンジンは図1の検索エンジン104であることもある。いくつかの実装形態では、検索エンジンは、Google検索エンジン、Microsoft  Bing検索エンジン、Yahoo検索エンジン、または他のそのようなサービスなどのインターネット検索プロバイダでありうる。
【００７７】
検索エンジン250はインターフェース252を含む。いくつかの実装形態では、インターフェース252は、ネットワークインターフェース、ワイヤレス通信モジュール、通信ポート、またはクライアントデバイスをネットワーク205に通信可能に接続できるその他のモジュールでありうる。プロセッサ254は、クエリ修正器256、クエリ生成器258、クエリ語-情報種類マッパー260に含まれている命令および他のコンピュータコードなどの命令および他のコンピュータコードを実行するために含まれる。
【００７８】
クエリ修正器256は、入力クエリ語を受け取って、推奨クエリ修正、改良、再作成、スペル訂正、プレフィックス検索、およびユーザの検索クエリを変更できるその他の機能を実施して、ユーザが見つけようとしていたものを検索エンジン250が発見する確率を場合により高めるシステムである。たとえば、スペルの誤った検索語は、正しいスペルと比較して、インデックス264に存在する可能性が低いかもしれず、そのため正しい情報を発見する可能性を低下させうる。クエリ修正器256は、スペルミスを検出し、推奨クエリ語の少なくとも一部として訂正されたスペルを提示することができる。別の例では、ユーザはクエリ語「Doberman  lodging  near  Brownsdale,  MN(ミネソタ州ブラウンズデール近くのドーベルマン犬の宿泊施設)」を使用して犬小屋を検索したいと思うことがあるが、このクエリ語は当該地域の犬小屋のサブセットのみを提供することがある(たとえば、犬小屋は一般的にたった1つの品種を対象としているとは限らない)。クエリ修正器256は、一般化されうるクエリ語を検出し、検索語を再作成して、より幅広い、ひいては場合により一段と生産的な検索クエリを推奨することができる。たとえば、語「Doberman(ドーベルマン犬)」は語「dog(犬)」に抽象化することができ、次いでクエリ修正器256を通じて「lodging(宿泊施設)」の類義語「kennel(犬小屋)」を推奨して、推奨クエリ語「dog  kennel  near  Brownsdale,  MN(ミネソタ州ブラウンズデール近くの犬小屋)」を作成することができる。
【００７９】
生クエリ生成器258を検索エンジン250が使用して、クエリ語-情報種類マッパー260によって提供されるデータに基づく生のコンテンツを取得する。クエリ語-情報種類マッパー260は、様々な種類の推奨クエリ語について、どのような種類の生のコンテンツが求められるかを指定する。たとえば、クエリ語によっては、人名と識別されるものもあり、一般にソーシャルネットワーク情報(たとえば、状態)と結び付くことがある。別の例では、クエリ語によっては、場所の名前または座標と識別されるものもあり、一般に距離、気象状態などと結び付くことがある。
【００８０】
いくつかの実装形態では、クエリ語-情報種類マッパー260およびクエリ修正器256は協働してクエリ語を推奨することができる。たとえば、デンバーのユーザが、語「skiing(スキー)」についてクエリを開始することがある。クエリ修正器256は、このクエリを「ski  resorts(スキー場)」または「snow  conditions(雪の状態)」に修正することができ、一方でクエリ語-情報種類マッパー260はこれらの語の一部または全部を、1つまたは複数の情報種類、たとえば近くのスキー場までの距離、および当該ロケーションの気象状態または雪の深さと結び付けることができる。クエリ語「skiing」の本例では、検索エンジン250は推奨クエリ語「Iron  Horse  Resort,  65mi,  28  deg  F,  66  in(アイアンホースリゾート、65マイル、華氏28度、66インチ)」および「Breckenridge,  82mi,  22  deg  F,  102in(ブリッケンリッジ、82マイル、華氏22度、102インチ)」で応答することができる。
【００８１】
コンテンツプロバイダ280は、ネットワーク205を介してアクセス可能な情報を提供する。いくつかの例では、コンテンツプロバイダ280は公衆もしくはプライベートのウェブサーバ、ウェブサービス、ファイル共有、またはネットワーク205によってアクセスされうる情報のその他の宝庫でありうる。いくつかの実装形態では、コンテンツプロバイダ280は、気象ニュース、金融情報、スポーツニュース、ソーシャルネットワーク最新情報、映画の上映スケジュール、または他の動的データなどの生のコンテンツのプロバイダでありうる。
【００８２】
コンテンツプロバイダはインターフェース282を含む。いくつかの実装形態では、インターフェース282は、ネットワークインターフェース、ワイヤレス通信モジュール、通信ポート、またはクライアントデバイスをネットワーク205に通信可能に接続できるその他のモジュールでありうる。プロセッサ284は、クエリ処理器286に含まれている命令および他のコンピュータコードなどの命令および他のコンピュータコードを実行するために含まれる。クエリ処理器286は、ネットワーク205を介して通信するデバイスからのクエリ、たとえばクライアントデバイス210および検索エンジン250からのHTTP「GET」要求を受信し、当該クエリに対する応答を提供する。
【００８３】
コンテンツプロバイダ280は、生のコンテンツ288を保存または生成する。いくつかの実装形態では、生のコンテンツ288は、スポーツのスコア、燃料価格、気象状態、株価、ショーの時間、個人の状態、または他の種類の動的データなど、時間とともに変化する情報でありうる。いくつかの例では、クエリ処理器286は、クライアントデバイス210または検索エンジン250からの要求に対して、応答に生のコンテンツ288の一部または全部を含めることによって応答することができる。たとえば、生のコンテンツ288を、推奨クエリ語との関連で提供し、ユーザインターフェース216でユーザに提示することができる。
【００８４】
図3および図4は、生のコンテンツを取得して提供するための例示的なプロセス300およびプロセス400の流れ図である。プロセス300は、図1のクライアントデバイス102または図2のクライアントデバイス210によって実行されうる。プロセス400は、検索エンジン104または検索エンジン250によって実行されうる。一般的に言って、推奨クエリ語または他の静的コンテンツのみを生成して提供する代わりに、プロセス300およびプロセス400は、推奨クエリ語を生成するのと同時またはほぼ同時に、推奨クエリ語が指し示す人物、場所、事象または他の物に関する生のコンテンツを取得して提供するように動作する。
【００８５】
生のコンテンツが取得されると、プロセス300およびプロセス400は、推奨クエリ語自体を提示する代わりに、またはそれに加えて、ユーザに生のコンテンツを提示する(またはユーザに提示する生のコンテンツを提供する)ように動作する。たとえば、推奨クエリ語「weather  New  York」を生成することに応じて、プロセス300および400はクエリを自動的に実行して、推奨クエリ語が生成された時点またはその直後における最新のニューヨークの気象情報を特定することができ、この最新の気象情報を推奨クエリ語とともにユーザに提供することができる。この生のコンテンツはテキストデータ(たとえば、3桁の最新温度表示または最新気象情報を含むXMLドキュメント)を含むことができ、または生のコンテンツは他の種類のデータ(たとえば、最新の気象の状態を示唆する画像もしくはアイコン、または音声による気象報告の音声ファイル)を含むことができる。
【００８６】
手短に言えば、プロセス300は、クライアントデバイスによって推奨クエリ語を取得するアクションと、推奨クエリ語に関係する生のコンテンツを取得するためにクエリを開始するアクションと、推奨クエリ語を取得するアクションに応じて生のコンテンツを取得するアクションと、クライアントデバイスのユーザインターフェースに生のコンテンツを表示するアクションとを含む。さらに詳細には、プロセス300が始まると(310)、クライアントデバイスが推奨クエリ語を取得する(320)。推奨クエリ語を取得することは、クライアントデバイスで推奨クエリ語を生成すること、または検索エンジンなどの別のエンティティから推奨クエリ語を識別する情報を受信することを含むことができる。
【００８７】
ユーザがクエリ語を検索ボックスに入れたとき、検索エンジンは、任意の数のクエリ修正戦略を使用して、推奨クエリ語を生成して提供することによって応答することができる。一例では、推奨クエリ語は、検索エンジンの他の過去のユーザによって検索クエリを実行するために使用されたときに、入力済みクエリ語を使用して生成された検索結果と比較して、そうしたユーザをより満足させた検索結果を生成した語であることがある。他の例では、推奨クエリ語は、ユーザが検索エンジンの使用に関してより豊富な経験を持っていた場合に、ユーザが所望の検索結果を得るために入力するつもりだった可能性があるか、入力したと思われる語であることがある。
【００８８】
クライアントデバイスおよび検索エンジンは、単独で、または互いに組み合わせて、ユーザ入力済みクエリ語を使用して推奨クエリ語を生成するために使用されうる。クライアントデバイスまたは検索エンジンは、ユーザが完全なクエリ語または句を検索ボックスに入力した後に、推奨クエリ語をそれぞれ生成することができ、ユーザが検索ダイアログを呼び出した後、ただし文字を入力する前に推奨クエリ語を生成することができ、またはプレフィックス検索の場合、クエリ語または句のプレフィックスを構成する文字をユーザが入力したときに推奨クエリ語を生成することができる。
【００８９】
推奨クエリ語は、検索ボックスにクエリ語を入力することをユーザに要求することなしに、クライアントデバイスまたはサーバによって生成されうる。たとえば、クライアントデバイスは、生のコンテンツへのショートカットとしてユーザによって以前選択された推奨クエリ語をローカル保存することができる。ユーザがクライアントデバイスで検索ダイアログを開始したとき、これらのショートカットを、更新された生のコンテンツを含め、検索ボックスに隣接して自動的に表示することができる。ユーザによって以前選択された推奨クエリ語と合致するプレフィックスをユーザがタイプし始めた場合、そうした推奨クエリ語に関連する生のコンテンツを、検索ボックスの近くに、たとえば検索ボックスの下のドロップダウンリストに目立つように表示することができる。
【００９０】
いくつかの実装形態では、推奨クエリ語はユーザ入力クエリ語に基づいて生成される。いくつかの実装態様では、推奨は、ユーザ入力クエリ語の拡大、抽象化、改良、再構成または他の変更に基づくことがある。たとえば、ユーザ入力クエリ語が「plane(飛行機、かんな)」である場合、「aircraft(航空機)」および「woodworking  tools(木工具)」のような推奨クエリ語が生成されうる。いくつかの実装形態では、推奨は、ユーザの選好、ロケーション、過去の検索活動または専用検索履歴に基づくことがある。他の実装形態では、推奨クエリ語は、検索エンジンの他の過去のユーザによって検索クエリを実行するために使用されたときに、検索エンジンにとって、他の過去のユーザを満足させるように見える検索結果を生成した語を表すことがある。
【００９１】
推奨クエリ語は、HTML、XML、テキスト、2進または他の形式の電子コードとして生成されうる。クライアントデバイスは、推奨クエリ語リストに推奨クエリ語を表示することができる。たとえば、推奨クエリ語をドリップダウンリスト、ポップアップボックス、または文字列のリストもしくは集合を表示できるその他のユーザインターフェース要素に表示することができる。
【００９２】
推奨クエリ語を取得することに加えて、クライアントデバイスまたはサーバは、クエリ語に関連しうるキャッシュ済みコンテンツを取得することができる。たとえば、推奨クエリ語は、ユーザが以前のクエリの最中に選択済みの語、および以前に取得され、現在キャッシュされている生のコンテンツを有する可能性のある語を含むことがある。以前に推奨されたクエリ語が再び推奨された場合、生のコンテンツの取得中に、当該クエリ語に関連するキャッシュ済みコンテンツを、その他の視覚的キューの代わりに、またはそれに追加して推奨クエリ語に隣接して表示することができる。その際に、生のコンテンツの取得中に、ユーザに対し即座にデータが示される。キャッシュ済みコンテンツは、生のコンテンツとは異なる外観を有するようにフォーマット可能であり、たとえばその手段として、異なるフォントまたは色を使用し、その結果、ユーザはこのコンテンツを生のコンテンツと混同しなくなる。
【００９３】
推奨クエリ語を取得することに応じて、生のクエリが開始される(330)。生のクエリを開始することは、実行する生のクエリを作成すること、または信号を他のエンティティ(たとえば、検索エンジン)に通信して、実行する生のクエリの作成を当該他のエンティティに行わせることを伴うことがある。
【００９４】
クライアントデバイスは、推奨クエリ語を使用して生のクエリを開始するか否かを決定することができる。たとえば、推奨クエリ語を、生のコンテンツに関連する人物、場所、会社、事象または他の物として識別することができる。生のクエリが開始されると、生のコンテンツを取得する試みがなされていることを示す視覚的キューが推奨クエリ語の近くに表示されうる。たとえば、砂時計の記号、螺旋矢印、スピニングギア、または進行中の動作を象徴するその他の静止画像もしくは動画が、推奨クエリ語との関連で表示されうる。
【００９５】
生のコンテンツを取得するために実行する生のクエリの種類、生のクエリのターゲット、および生のクエリを作成するのに使用するクエリ語を決定するために推奨クエリ語自体を使用して、推奨クエリ語のうちの1つまたは複数について生のコンテンツが取得される(340)。たとえば、最新気象報告情報、最新のソーシャルネットワーク更新情報、最新株価情報、または他の種類の動的情報のような生のコンテンツが、検索エンジンから、または別のコンテンツプロバイダから受信されうる。生のコンテンツを取得することは、生のコンテンツを生成すること、またはコンテンツプロバイダから直接的に、もしくは別のエンティティ(たとえば、検索エンティティ)を介して生のコンテンツを識別する情報を受信することを含むことができる。
【００９６】
生のクエリの種類に関するいくつかの例では、推奨クエリ語が、語「weather」およびロケーションを含む場合、検索エンジンまたはクライアントデバイスは、ロケーションをクエリ語として使用して、気象サービスによって実行される生のクエリを作成して、当該ロケーションにおける最新気象予報を取得することができる。推奨クエリ語が人物の名前を含む場合、検索エンジンまたはクライアントデバイスは、その名前をクエリ語として使用して、ソーシャルネットワークプロバイダによって実行される生のクエリを作成して、当該人物の最新の状態またはロケーションを取得することができる。クエリ語が会社の名前を含む場合、検索エンジンまたはクライアントデバイスは、その会社名をクエリ語として使用して、会社情報サービスによって実行される生のクエリを作成して、最新レビュー情報または最新株価情報を取得することができる。推奨クエリ語がテレビのショー、歌、映画または他のメディアコンテンツの名前、タイトルまたは他の識別子を含む場合、検索エンジンまたはクライアントデバイスは、その名前またはタイトルをクエリ語として使用して、スケジュールサーバによって実行される生のクエリを作成して、その名前に対応する現地のショーの時間を取得することができる。推奨クエリ語がスポーツチーム、リーグまたはスポーツ選手の名前を含む場合、検索エンジンまたはクライアントデバイスは、その名前をクエリ語として使用して、スポーツニュースサービス(たとえば、espn.com,  nfl.com)によって実行される生のクエリを作成して、かかるチームまたは選手に関連する直近のスコアまたは統計を取得することができる。推奨クエリ語が、ユーザが取引している銀行またはアカウント提供者の名前を含む場合、検索エンジンまたはクライアントデバイスは、ユーザのアカウント情報を使用して、当該銀行のまたは当該アカウント提供者のサーバによって実行される生のクエリを作成して、ユーザの最新アカウント残高を取得することができる。
【００９７】
取得されると、クライアントデバイスは生のコンテンツをユーザに表示し(350)、それによりプロセス300を終了させる(360)。生のコンテンツは、未加工データとして、画像、記号として、またはアイコンとして対応する推奨クエリ語に近接して表示されうる。たとえば曇天状態を、あるロケーションに関する推奨クエリ語と同じ線上に雲の画像として表示できる。別の例では、ユーザがある会社名に関する推奨クエリ語の辺りでポインタを止めたときに、文字列として株価を表示できる。検索エンジンがアイコンを選択した場合、アイコンもしくは生のコンテンツのみをクライアントデバイスに送信して表示すること、またはアイコンと生のコンテンツの両方を送信することができる。
【００９８】
別の例では、推奨クエリ語に隣接して生のコンテンツに関係する情報を表示する代わりに、ユーザが推奨クエリ語の辺りでポインタをウロウロさせたときに、生のコンテンツをバルーンダイアログまたはポップアップダイアログボックスとして提示することができる。どの手法を使用して生のコンテンツを表示するかにかかわりなく、多くのユーザが推奨クエリ語の選択またはさらなる検索の開始のためのさらなるアクションを起こすことなく、ドロップダウンリスト自体の中に求めていた情報を見出すことが予想される。
【００９９】
いくつかの実装形態では、推奨クエリ語の視覚表示を更新することによって、生のコンテンツを表示することができる。たとえば、更新中であることを示すために使用される記号(たとえば、砂時計)を生のコンテンツに置き換えることによって、生のコンテンツを表示することができる。いくつかの実装形態では、表示されている推奨クエリ語全体を、生のコンテンツを含む、更新され、場合により修正された推奨クエリ語に置き換えて表示することができる。
【０１００】
ユーザは、ユーザインターフェースに表示される推奨クエリ語または生のコンテンツを選択することができ、クライアントデバイスは、ユーザが以前に関心を持っていた生のコンテンツへのショートカットとして、当該推奨クエリ語をローカル保存することができる。この点で、次にユーザがクライアントデバイスで検索ダイアログを開始したときに、ユーザに文字入力を全く要求することなく、これらのショートカットを、更新された生のコンテンツを含め、検索ボックスの下に表示できる。したがって、生のコンテンツへのショートカットを保存することによって、検索ボックスは、ほとんどタイプしないか、全くタイプしないで、任意の数の対象について生のコンテンツを表示できる一種の特別なウィジェットとなる。ユーザがショートカットに関連する推奨クエリ語と合致するプレフィックスをタイプし始めると、その生のコンテンツは、検索ボックスの下のドロップダウンリスト内で上位にランクされる。
【０１０１】
図4を参照すると、プロセス400は、検索エンジンによって推奨クエリ語を生成するアクション、推奨クエリ語に関係する生のコンテンツを取得するためにクエリを実行するアクション、推奨クエリ語を生成するアクションに応じて生のコンテンツを取得するアクション、クライアントデバイスに生のコンテンツを提供するアクションを含む。プロセス400が始まると(410)、推奨クエリ語が生成される(420)。検索エンジンによって生成される推奨クエリ語は、検索エンジンの他の過去のユーザによって検索クエリを実行するために使用されたときに、検索エンジンにとって、入力済みクエリ語を使用して生成された検索結果と比較して、そうしたユーザをより満足させるように見えた検索結果を生成した語を含むことができる。
【０１０２】
推奨クエリ語に関連しうる生のコンテンツを取得するために生のクエリが生成される(430)。生のコンテンツが取得され(440)、クライアントデバイスに提供され(450)、それによりプロセス400は終了する(460)。生のコンテンツを提供することは、生のコンテンツを表示するか他の方法で出力すること、または生のコンテンツを識別するデータを別のエンティティ(たとえば、クライアントデバイス)に送信することを含むことができる。生のコンテンツを表示するためにクライアントデバイス102が処理するHTMLドキュメントに生のコンテンツを含めることができる。
【０１０３】
図5A〜5Cは、様々な検索コンテキスト依存状態における例示的なユーザインターフェース500を示している。図5Aの例では、ユーザはキーパッド510でタイプすることによって、検索入力ボックス505に検索クエリ語「pizza(ピザ)」を入力している。前述の方法および技法を使用して、ユーザインターフェース500は、エントリ515〜525に推奨クエリ語リストを表示する。本例では、エントリ515に含まれる推奨クエリ語は、ユーザの現在のロケーションに基づいたもの、たとえば、セルラータワーとの近さによって、またはWi-Fi測位技法によって特定された、GPS受信機から取得されたロケーション情報に基づいたものでありうる。ユーザのロケーションに基づき、エントリ515は近くのピザ屋の名前、アドレス、およびユーザの現在のロケーションとピザ屋との間の距離測定を表示する。エントリ520は、クエリ語「pizza」に関連するマップロケーションを検索する便利な方法をユーザに提供できるマッピングアプリケーションまたはウェブサイトへのリンクを含む。エントリ525は、会社「Pizza  Hut(ピザハット)」の検索を実行するためのリンクを含む。
【０１０４】
図5Bの例では、ユーザは検索入力ボックス505に検索クエリ「weather  nyc」を入力している。前述の方法および技法を使用して、ユーザインターフェース500は、エントリ530、545および550に推奨クエリ語のリストを表示する。本例では、クエリ語「weather  nyc」が検索エンジンによって分析されて、語「nyc」が「New  York,  New  York(ニューヨーク州ニューヨーク)」を意味すると明確化されている可能性があり、次いで明確化された語を語「weather」との関連で使用してエントリ530、545および550を提供している。エントリ530は、ニューヨーク州ニューヨークの最新気象状態について生のクエリの結果を表示し、最新気象状態(たとえば、雷雨)を象徴する画像535ならびに当日の予想最高気温、予想最低気温および気象予報の文字表示540を含む。エントリ545は、ニューヨーク市の10日間の気象予報へのリンクを含み、エントリ550は、ニューヨーク市の気象予報に関するより一般的な検索へのリンクを含む。
【０１０５】
図5Cの例では、ユーザは検索入力ボックス505に検索クエリ「adam」を入力している。前述の方法および技法を使用して、ユーザインターフェース500は、エントリ560に推奨クエリ語を表示する。本例では、推奨クエリ語が分析されて、検索クエリ語は人物の名前の一部(たとえば「Adam」)でありうると判断された可能性がある。また、ユーザはたとえば「Adam  Hill」という名の人物とのつながりを持っている可能性がある。Adam  Hillは、ソーシャルネットワーキングサイト上のユーザの「友人」、インスタントメッセージングの仲間、ユーザの電話帳に記載されている者、またはこのユーザが過去に通信した相手でありうるからである。エントリ560は、「Adam  Hill」という名前565および電話番号570を含む。また、エントリ560は、Adam  HillのFacebookプロファイルから取得された更新済み写真575のような生のコンテンツ、およびAdam  HillのTwitterでの直近の「ツイート」から取得された状態580(たとえば、「is  sick  today(本日は体調が悪い)」)も含む。
【０１０６】
図6A〜6Dは、様々な検索コンテキスト依存状態における例示的なユーザインターフェース600を示している。いくつかの実装形態では、検索アプリケーション600は、図1のユーザインターフェース108でありうる。図示の例では、ユーザは文字「w」を検索ボックス605に入力している。図6Aは、「weather」という推奨クエリ語615、ユーザ入力済みクエリ語「w」から生成されうるその他の推奨のような検索クエリ推奨のリストを含むドロップダウンリスト610を示している。いくつかの実装形態では、推奨クエリ語リストは、図2の検索エンジン250のような検索エンジンから取得されうる。いくつかの実装形態では、検索クエリ推奨は、ユーザが検索ボックス605に情報を入力したときに機動的に修正されうる(たとえば、プレフィックス変換)。いくつかの実装形態では、図6Aはドロップダウンリスト610を、検索エンジンがクエリ語を推奨した後であって、検索エンジンが推奨クエリ語の少なくとも一部について生のコンテンツを提供する前に存在する状態で示すことができる。
【０１０７】
図6Bは、ドロップダウンリスト610に示された情報をどのように変更して生のコンテンツを表示できるかを示す一例を表している。図6Bの例では、推奨クエリ語615が説明618および生のコンテンツ620に置き換えられている。説明618および生のコンテンツ620を含むエントリは、推奨クエリ語615よりも広い縦幅を占める。残りの推奨クエリ語625のリストは下に移動して、推奨クエリ語615の縦のサイズと比較して、更新された推奨クエリ語620の縦のサイズが大きくなるように調整されている。
【０１０８】
図6Cは、ドロップダウンリスト610に示された情報をどのように変更して生のコンテンツを表示できるかを示す一例を表している。図6Cの例では、第1のエントリは、推奨クエリ語615、推奨クエリ語615に関連する説明630、および生のコンテンツ632を含む。第1のエントリは大きな縦幅を占めるので、残りの推奨クエリ語625のリストは調整措置として下に移動している。
【０１０９】
図6Dは、ドロップダウンリスト610に示された情報をどのように変更して生のコンテンツを表示できるかを示すさらに別の例を表している。図6Dの例では、第1のエントリは、推奨クエリ語615およびユーザに関連するロケーション(たとえば、ユーザの現在のロケーション、自宅のロケーション、最近検索されたロケーション)についての生のコンテンツを表すアイコン640を含む。本例では、アイコン640は、追加の縦幅を占めることなく推奨クエリ語615に隣接したロケーションに表示され、したがって残りの推奨クエリ語625を移動させる必要はない。
【０１１０】
図7は、本明細書で説明する技法で使用できる、一般的なコンピュータデバイス700および一般的なモバイルコンピュータデバイス750の一例を示している。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すように意図されている。コンピューティングデバイス750は、携帯情報端末、セルラー電話、スマートフォン、および他の類似のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すように意図されている。本明細書で示す構成要素、それらの接続および関係、ならびにそれらの機能は、例を示すことのみが意図されており、本文書で説明および/または特許請求する本発明の実装形態を限定することが意図されているわけではない。
【０１１１】
コンピューティングデバイス700は、プロセッサ702、メモリ704、記憶デバイス706、メモリ704および高速拡張ポート710に接続している高速インターフェース708、ならびに低速バス714および記憶デバイス706に接続している低速インターフェース712を含む。構成要素702、704、706、708、710および712の各々は、様々なバスを使用して相互接続されており、共通マザーボードに、または適宜他の方法で取り付けられうる。プロセッサ702は、高速インターフェース708に結合されたディスプレイ716のような外部の入力/出力デバイスにGUIのグラフィカル情報を表示するために、メモリ704内または記憶デバイス706上に保存された命令を含む、コンピューティングデバイス700内における実行する命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが適宜、複数のメモリおよび複数の種類のメモリとともに使用されうる。また、複数のコンピューティングデバイス700を接続し、各デバイスが(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部分を行うこともできる。
【０１１２】
メモリ704は、コンピューティングデバイス700内の情報を保存する。一実装形態では、メモリ704は揮発性メモリユニットまたは複数のユニットである。別の実装形態では、メモリ704は不揮発性メモリユニットまたは複数のユニットである。メモリ704は、磁気ディスクまたは光ディスクのような別の形態のコンピュータ可読媒体であってもよい。
【０１１３】
記憶デバイス706は、コンピューティングデバイス700のために大量記憶を行うことが可能である。一実装形態では、記憶デバイス706は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、または一連のデバイス(記憶域ネットワークまたは他の構成のデバイスを含む)などのコンピュータ可読媒体であっても、コンピュータ可読媒体を包含してもよい。コンピュータプログラム製品は、情報担体に明白に具現化できる。コンピュータプログラム製品は、実行されたときに、上述のような1つまたは複数の方法を実施する命令を包含してもよい。情報担体は、メモリ704、記憶デバイス706またはプロセッサ702のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【０１１４】
高速コントローラ708は、コンピューティングデバイス700の帯域幅集中動作を管理し、低速コントローラ712は、低帯域幅集中動作を管理する。このような機能の割り当ては例にすぎない。一実装形態では、高速コントローラ708はメモリ704、ディスプレイ716(たとえば、グラフィックスプロセッサまたは加速器を経由)に結合されるほか、高速拡張ポート710に結合され、それは様々な拡張カード(不図示)に対応可能である。本実装形態では、低速コントローラ712は、記憶デバイス706および低速拡張ポート714に結合される。低速拡張ポートは、様々な通信ポート(たとえば、USB、ブルートゥース、イーサネット（登録商標）、ワイヤレスイーサネット（登録商標）)を含むことができ、たとえばネットワークアダプタを介して、キーボード、ポインティングデバイス、スキャナ、またはスイッチもしくはルータなどのネットワーキングデバイスのような1つまたは複数の入力/出力デバイスに結合されうる。
【０１１５】
コンピューティングデバイス700は、図示されているようにいくつかの異なる形態で実施できる。たとえば、標準サーバ720として、またはそのようなサーバのグループで複数回実施できる。また、ラックサーバシステム724の一部として実施できる。加えて、ラップトップコンピュータ722のようなパーソナルコンピュータで実施できる。あるいは、コンピューティングデバイス700の構成要素を、デバイス750のようなモバイルデバイス(不図示)の他の構成要素と結合することができる。そのようなデバイスの各々は、コンピューティングデバイス700、750のうちの1つまたは複数を含むことができ、システム全体は、互いに通信する複数のコンピューティングデバイス700、750で構成されうる。
【０１１６】
コンピューティングデバイス750は、プロセッサ752、メモリ764、ディスプレイ754のような入力/出力デバイス、通信インターフェース766、およびトランシーバ768などの構成要素を含む。デバイス750は、追加の記憶を行うためのマイクロドライブまたは他のデバイスなどの記憶デバイスを備えることもできる。構成要素750、752、764、754、766および768の各々は、様々なバスを使用して相互接続されており、構成要素のうちのいくつかは、共通マザーボードに、または適宜他の方法で取り付けられうる。
【０１１７】
プロセッサ752は、メモリ764に保存されている命令を含むコンピューティングデバイス750内の命令を実行することができる。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップの1チップセットとして実装できる。プロセッサはたとえば、ユーザインターフェースの制御、デバイス750によって実行されるアプリケーション、およびデバイス750によるワイヤレス通信など、デバイス750の他の構成要素との協調が可能である。
【０１１８】
プロセッサ752は、ディスプレイ754に結合された制御インターフェース758およびディスプレイインターフェース756を通じてユーザと通信することができる。ディスプレイ754はたとえば、TFT  LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術でありうる。ディスプレイインターフェース756は、ユーザにグラフィカル情報および他の情報を提示するためにディスプレイ754を駆動する適切な回路を含むことができる。制御インターフェース758は、ユーザからコマンドを受信し、プロセッサ752に提出するためにコマンドを変換することができる。加えて、外部インターフェース762は、プロセッサ752との通信を行うことができ、それにより、デバイス750は他のデバイスとの近領域通信が可能になる。外部インターフェース762は、たとえば、いくつかの実装形態において有線通信、または他の実装形態においてワイヤレス通信を行うことができ、複数のインターフェースを使用することもできる。
【０１１９】
メモリ764は、コンピューティングデバイス750内の情報を保存する。メモリ764は、コンピュータ可読媒体、揮発性メモリユニットまたは不揮発性メモリユニットのうちの1つまたは複数として実装できる。また、たとえばSIMM(シングルインラインメモリモジュール)カードインターフェースなど、拡張インターフェース772を介してデバイス750に拡張メモリ774を提供し、接続することができる。このような拡張メモリ774は、デバイス750に追加の記憶スペースを提供することができ、またはデバイス750のアプリケーションもしくは他の情報を保存することもできる。詳細には、拡張メモリ774は、上述のプロセスを実行または補完する命令を含むことができ、または安全な情報を含むこともできる。したがって、たとえば、拡張メモリ774は、デバイス750のセキュリティモジュールとして提供されること、またはデバイス750の安全な使用を許可する命令でプログラムされることがある。加えて、ハッキングできない方法でSIMMカードに識別情報を記録するなど、追加情報とともに、SIMMカードを介して安全なアプリケーションを提供することができる。
【０１２０】
メモリはたとえば、後述のとおり、フラッシュメモリおよび/またはNVRAMメモリを含むことができる。一実装形態では、コンピュータプログラム製品は、情報担体に明白に具現化される。コンピュータプログラム製品は、実行されたときに、上述のような1つまたは複数の方法を実施する命令を包含する。情報担体は、メモリ764、拡張メモリ774、またはプロセッサ752のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【０１２１】
デバイス750は通信インターフェース766を介してワイヤレス通信することができ、それは必要に応じてデジタル信号処理回路を含みうる。通信インターフェース766は、GSM（登録商標）音声コール、SMS、EMSまたはMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000またはGPRSなどの様々なモジュールまたはプロトコルによる通信を行うことができる。そのような通信は、たとえば無線周波数トランシーバ768を通じて生じうる。加えて、短距離通信がブルートゥース、Wi-Fiまたは他のそのようなトランシーバ(不図示)を使用するなどして生じうる。加えて、GPS(全地球測位システム)受信機モジュール770はデバイス750に追加のナビゲーション関連およびロケーション関連ワイヤレスデータを提供することができ、これはデバイス750で作動しているアプリケーションによって適宜使用されうる。
【０１２２】
デバイス750はまた、オーディオコーデック760を使用して音声通信することができ、オーディオコーデック760は、ユーザから音声情報を受信し、それを使用可能なデジタル情報に変換することができる。オーディオコーデック760は、たとえばデバイス750のハンドセット内のスピーカー経由などで、ユーザのために可聴音を同様に生成することができる。そのような音は、音声通話からの音を含むことができ、記録された音(たとえば、音声メッセージ、音楽ファイルなど)を含むことができ、デバイス750で動作するアプリケーションによって生成される音を含むこともできる。
【０１２３】
コンピューティングデバイス750は、図示されているようにいくつかの異なる形態で実施できる。たとえば、セルラー電話780として実施できる。また、スマートフォン782、携帯情報端末または他の類似のモバイルデバイスの一部として実施することもできる。
【０１２４】
本明細書で説明するシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せで実現できる。様々な実装形態は、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間でデータおよび命令を送受信するように結合された、専用または汎用でありうる、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能かつ/または解釈可能である1つまたは複数のコンピュータプログラムでの実装を含むことができる。
【０１２５】
(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)これらのコンピュータプログラムは、プログラマブルプロセッサ向けの機械命令を含み、高レベル手続き型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械言語で実施できる。本明細書で使用する用語「機械可読媒体」、「コンピュータ可読媒体」は、機械可読信号として機械命令を受信する機械可読媒体を含む、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。用語「機械可読信号」は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【０１２６】
ユーザと対話するために、本明細書で説明するシステムおよび技法は、ユーザに情報を表示するためのディスプレイデバイス(たとえば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ)、ならびにユーザがコンピュータに入力を行うことができるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)を有するコンピュータで実施できる。他の種類のデバイスを使用してユーザと対話することも可能で、たとえば、ユーザに提供されるフィードバックは、任意の形式の知覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)であってよく、ユーザからの入力は、音響、音声または触覚入力を含む任意の形式で受信できる。
【０１２７】
本明細書で説明するシステムおよび技法は、(たとえばデータサーバとしての)後置構成要素を含む、またはミドルウェア構成要素(たとえばアプリケーションサーバ)を含む、または前置構成要素(たとえば、本明細書で説明するシステムおよび技法の実施に対してユーザが対話できるグラフィカルユーザインタフェースもしくはウェブブラウザを有するクライアントコンピュータ)を含む、またはかかる後置、ミドルウェアもしくは前置構成要素の任意の組合せを含むコンピューティングシステムで実施できる。システムの構成要素は、任意の形式または媒体によるデジタルデータ通信(たとえば、通信ネットワーク)によって相互接続できる。通信ネットワークの例として、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、およびインターネットがある。
【０１２８】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いに離れており、通常は通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータで稼動し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【０１２９】
また、図示された論理フローは、所望の結果を達成するために、示された特定の順序または順次であることを要求しているわけではない。また、説明したフローに他のステップを提供してよく、または説明したフローからステップを除去してよく、説明したシステムに他の構成要素を追加してよく、説明したシステムから他の構成要素を除去してよい。したがって、他の実施形態も、後述の特許請求の範囲内である。
【符号の説明】
【０１３０】
100  情報検索システム
102  クライアントデバイス
104  検索エンジン、サーバ
106  データのフロー
108  ユーザインターフェース
110  検索ボックス
111  推奨クエリ語
114  データ
116  ドロップダウンリスト
117  キャッシュ済みコンテンツ
118  データ、送信
120  螺旋矢印
122  データ
130  HTTP要求
200  情報検索システム
205  ネットワーク
210  クライアントデバイス
212  インターフェース
214  プロセッサ
216  ユーザインターフェース
218  検索アプリケーション
220  入力モジュール
222  クエリ生成器
224  推奨クエリ語選択器
226  生コンテンツモジュール
228  GPSモジュール
230  記憶媒体
232  ユーザ選好
234  専用検索履歴
236  他のアプリケーション
238  インデックス
240  連絡先データベース
250  検索エンジン、サーバ
252  インターフェース
254  プロセッサ
256  クエリ修正器
258  クエリ生成器
260  クエリ語-情報種類マッパー
280  コンテンツプロバイダ
282  インターフェース
284  プロセッサ
286  クエリ処理器
288  生のコンテンツ
300  プロセス
400  プロセス
500  ユーザインターフェース
505  検索入力ボックス
515  エントリ
520  エントリ
525  エントリ
530  エントリ
540  文字表示
545  エントリ
550  エントリ
560  エントリ
565  名前
570  電話番号
575  写真
580  状態
600  ユーザインターフェース、検索アプリケーション
605  検索ボックス
610  ドロップダウンリスト
615  推奨クエリ語
618  説明
620  生のコンテンツ
625  残りの推奨クエリ語
630  説明
632  生のコンテンツ
640  アイコン
700  コンピュータデバイス、コンピューティングデバイス
702  プロセッサ
704  メモリ
706  記憶デバイス
708  高速インターフェース、高速コントローラ
710  高速拡張ポート
712  低速インターフェース、低速コントローラ
714  低速バス、低速拡張ポート
716  ディスプレイ
720  標準サーバ
722  ラップトップコンピュータ
724  ラックサーバシステム
750  モバイルコンピュータデバイス、コンピューティングデバイス
752  プロセッサ
754  ディスプレイ
756  ディスプレイインターフェース
758  制御インターフェース
760  オーディオコーデック
762  外部インターフェース
764  メモリ
766  通信インターフェース
768  トランシーバ
770  受信機モジュール
772  拡張インターフェース
774  拡張メモリ
780  セルラー電話
782  スマートフォン
【図１】
0005539544.tif 000002
【図２】
0005539544.tif 000003
【図３】
0005539544.tif 000004
【図４】
0005539544.tif 000005
【図５Ａ】
0005539544.tif 000006
【図５Ｂ】
0005539544.tif 000007
【図５Ｃ】
0005539544.tif 000008
【図６Ａ】
0005539544.tif 000009
【図６Ｂ】
0005539544.tif 000010
【図６Ｃ】
0005539544.tif 000011
【図６Ｄ】
0005539544.tif 000012
【図７】
0005539544.tif 000013