JP5795101B2 - リアルタイムフィードバックを伴う情報検索システム - Google Patents

リアルタイムフィードバックを伴う情報検索システム Download PDF

Info

Publication number
JP5795101B2
JP5795101B2 JP2014093434A JP2014093434A JP5795101B2 JP 5795101 B2 JP5795101 B2 JP 5795101B2 JP 2014093434 A JP2014093434 A JP 2014093434A JP 2014093434 A JP2014093434 A JP 2014093434A JP 5795101 B2 JP5795101 B2 JP 5795101B2
Authority
JP
Japan
Prior art keywords
user
query
recommended
recommended query
raw content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014093434A
Other languages
English (en)
Other versions
JP2014167815A (ja
Inventor
マイケル・ジェイ・レビュー
プラセンジット・プカン
Original Assignee
グーグル・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by グーグル・インコーポレーテッド filed Critical グーグル・インコーポレーテッド
Publication of JP2014167815A publication Critical patent/JP2014167815A/ja
Application granted granted Critical
Publication of JP5795101B2 publication Critical patent/JP5795101B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Description

関連出願の相互参照
本出願は、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 スマートフォン

Claims (20)

  1. ライアントデバイスによって推奨クエリ語を取得し、
    前記推奨クエリ語の取得に応じて、前記推奨クエリ語に関する生のコンテンツを取得するために生のクエリを開始し、
    前記生のコンテンツを取得し、
    前記クライアントデバイスのユーザインターフェース上に前記生のコンテンツを表示する
    ことを含む動作を1つまたは複数のコンピュータに実行させるように動作可能な命令を記憶する1つまたは複数の記憶デバイスを含み、
    前記推奨クエリ語は、ユーザにクエリ語を入力するよう要求することなく取得され、前記生のクエリは、前記推奨クエリ語の取得に応じて自動的に開始されるシステム。
  2. 前記生のコンテンツを表示することは、推奨クエリ語リストの中に前記生のコンテンツを表示することを含む、請求項1に記載のシステム。
  3. 前記生のコンテンツを表示することは、前記推奨クエリ語リストにおいて前記推奨クエリ語の代わりに前記生のコンテンツを表示することを含む、請求項2に記載のシステム。
  4. 前記生のコンテンツを表示することは、前記推奨クエリ語リストにおいて前記推奨クエリ語に隣接して前記生のコンテンツを表示することを含む、請求項2に記載のシステム。
  5. 前記推奨クエリ語を取得することは、
    ユーザ入力クエリ語を受信することと、
    前記ユーザ入力クエリ語を使用して前記推奨クエリ語を生成することと
    をさらに含む、請求項1に記載のシステム。
  6. 前記推奨クエリ語を取得することは、
    ユーザの専用検索履歴にアクセスすることと、
    前記ユーザの専用検索履歴を使用して前記推奨クエリ語を生成することと
    をさらに含む、請求項1に記載のシステム。
  7. 前記推奨クエリ語が会社を識別したとき、前記生のコンテンツは、前記会社の最新株価を含む、請求項1に記載のシステム。
  8. 前記推奨クエリ語がロケーションを識別したとき、前記生のコンテンツは、前記ロケーションの最新気象情報を含む、請求項1に記載のシステム。
  9. 前記推奨クエリ語が注目点(POI)を識別したとき、前記生のコンテンツは、前記POIとクライアントデバイスの最新ロケーションとの間の距離を含む、請求項1に記載のシステム。
  10. 前記推奨クエリ語が人物を識別したとき、前記生のコンテンツは、前記人物の状態を含む、請求項1に記載のシステム。
  11. 前記動作は、
    検索ダイアログを呼び出す制御をユーザが選択したと判断することをさらに含み、
    前記推奨クエリ語は、前記制御を前記ユーザが選択したと判断することに応じて自動的に取得される、請求項1に記載のシステム。
  12. 前記動作は、
    前記生のコンテンツを含むリンクをユーザが選択したことを検知することと、
    リンクを前記ユーザが選択したことを検知することに基づいて、前記推奨クエリ語に関係するウェブドキュメントにアクセスすることと
    をさらに含む、請求項1に記載のシステム。
  13. 1つまたは複数の記憶デバイスに記憶される方法であって、
    クライアントデバイスによって推奨クエリ語を取得するステップと、
    前記推奨クエリ語の取得に応じて、前記推奨クエリ語に関する生のコンテンツを取得するために生のクエリを前記クライアントデバイスによって開始するステップと、
    前記生のコンテンツを前記クライアントデバイスによって取得するステップと、
    前記クライアントデバイスのユーザインターフェース上に前記生のコンテンツを前記クライアントデバイスによって表示するステップと
    を含み、
    前記推奨クエリ語は、ユーザにクエリ語を入力するよう要求することなく取得され、前記生のクエリは、前記推奨クエリ語の取得に応じて自動的に開始される方法。
  14. 前記生のコンテンツを表示するステップは、推奨クエリ語リストの中に前記生のコンテンツを表示するステップを含む、請求項13に記載の方法。
  15. 前記推奨クエリ語を取得するステップは、
    ユーザ入力クエリ語を受信するステップと、
    前記ユーザ入力クエリ語を使用して前記推奨クエリ語を生成するステップと
    をさらに含む、請求項13に記載の方法。
  16. 前記推奨クエリ語を取得するステップは、
    ユーザの専用検索履歴にアクセスするステップと、
    前記ユーザの専用検索履歴を使用して前記推奨クエリ語を生成するステップと
    をさらに含む、請求項13に記載の方法。
  17. 前記推奨クエリ語が会社を識別したとき、前記生のコンテンツは、前記会社の最新株価を含む、請求項13に記載の方法。
  18. 前記推奨クエリ語が人物を識別したとき、前記生のコンテンツは、前記人物の状態を含む、請求項13に記載の方法。
  19. 検索ダイアログを呼び出す制御をユーザが選択したと前記クライアントデバイスによって判断するステップをさらに含み、
    前記推奨クエリ語は、前記制御を前記ユーザが選択したと判断することに応じて自動的に取得される、請求項13に記載の方法。
  20. 前記生のコンテンツを含むリンクをユーザが選択したことを前記クライアントデバイスによって検知するステップと、
    リンクを前記ユーザが選択したことを検知することに基づいて、前記推奨クエリ語に関係するウェブドキュメントに前記クライアントデバイスによってアクセスするステップと
    をさらに含む、請求項13に記載の方法。
JP2014093434A 2010-02-03 2014-04-30 リアルタイムフィードバックを伴う情報検索システム Active JP5795101B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/699,532 US9129012B2 (en) 2010-02-03 2010-02-03 Information search system with real-time feedback
US12/699,532 2010-02-03

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012551956A Division JP5539544B2 (ja) 2010-02-03 2010-02-26 リアルタイムフィードバックを伴う情報検索システム

Publications (2)

Publication Number Publication Date
JP2014167815A JP2014167815A (ja) 2014-09-11
JP5795101B2 true JP5795101B2 (ja) 2015-10-14

Family

ID=42245555

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012551956A Active JP5539544B2 (ja) 2010-02-03 2010-02-26 リアルタイムフィードバックを伴う情報検索システム
JP2014093434A Active JP5795101B2 (ja) 2010-02-03 2014-04-30 リアルタイムフィードバックを伴う情報検索システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012551956A Active JP5539544B2 (ja) 2010-02-03 2010-02-26 リアルタイムフィードバックを伴う情報検索システム

Country Status (10)

Country Link
US (1) US9129012B2 (ja)
EP (1) EP2531934A1 (ja)
JP (2) JP5539544B2 (ja)
KR (1) KR101680288B1 (ja)
AU (1) AU2010345063C1 (ja)
BR (1) BR112012019563A2 (ja)
CA (1) CA2788651C (ja)
IL (1) IL221168A (ja)
RU (1) RU2546308C2 (ja)
WO (1) WO2011096945A1 (ja)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US8229467B2 (en) 2006-01-19 2012-07-24 Locator IP, L.P. Interactive advisory system
US20120284253A9 (en) * 2009-12-01 2012-11-08 Rishab Aiyer Ghosh System and method for query suggestion based on real-time content stream
US11113299B2 (en) 2009-12-01 2021-09-07 Apple Inc. System and method for metadata transfer among search entities
US20110262102A1 (en) * 2010-04-13 2011-10-27 Lahr Nils B System and methods for optimizing buffering heuristics in media
US8751521B2 (en) * 2010-04-19 2014-06-10 Facebook, Inc. Personalized structured search queries for online social networks
KR101174216B1 (ko) * 2010-10-25 2012-08-14 엔에이치엔(주) 지역기반의 검색어를 추천하는 시스템 및 그 방법
US20120109994A1 (en) * 2010-10-28 2012-05-03 Microsoft Corporation Robust auto-correction for data retrieval
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for system level search user interface
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US8515984B2 (en) * 2010-11-16 2013-08-20 Microsoft Corporation Extensible search term suggestion engine
US8725743B2 (en) * 2011-04-07 2014-05-13 Microsoft Corporation Accessible commanding interface
US8639679B1 (en) * 2011-05-05 2014-01-28 Google Inc. Generating query suggestions
US9088816B2 (en) 2011-06-03 2015-07-21 Airborne Media Group, Inc. Venue-oriented social functionality via a mobile communication device
US20130054631A1 (en) * 2011-08-30 2013-02-28 Microsoft Corporation Adding social network data to search suggestions
KR20130024739A (ko) * 2011-08-31 2013-03-08 성균관대학교산학협력단 실시간 경험 분석 시스템 및 방법
US20130073944A1 (en) * 2011-09-15 2013-03-21 Yahoo! Inc. Method and system for dynamically providing contextually relevant posts on an article
US9253282B2 (en) 2011-10-18 2016-02-02 Qualcomm Incorporated Method and apparatus for generating, using, or updating an enriched user profile
US8983996B2 (en) 2011-10-31 2015-03-17 Yahoo! Inc. Assisted searching
US8224836B1 (en) * 2011-11-02 2012-07-17 Google Inc. Searching in multiple languages
US8645360B2 (en) * 2011-11-03 2014-02-04 Google Inc. Previewing search results
US9858313B2 (en) * 2011-12-22 2018-01-02 Excalibur Ip, Llc Method and system for generating query-related suggestions
WO2013154550A1 (en) * 2012-04-11 2013-10-17 Intel Corporation User interface content personalization system
US10303754B1 (en) * 2012-05-30 2019-05-28 Callidus Software, Inc. Creation and display of dynamic content component
CN102724310B (zh) * 2012-06-18 2016-06-08 深圳市Tcl云创科技有限公司 一种通过移动终端实现云搜索的方法
US9367633B2 (en) * 2012-06-29 2016-06-14 Yahoo! Inc. Method or system for ranking related news predictions
WO2014014374A1 (en) * 2012-07-19 2014-01-23 Yandex Europe Ag Search query suggestions based in part on a prior search
US9141707B2 (en) 2012-07-19 2015-09-22 Facebook, Inc. Context-based object retrieval in a social networking system
US9183570B2 (en) * 2012-08-31 2015-11-10 Google, Inc. Location based content matching in a computer network
CN102937975B (zh) * 2012-10-17 2016-06-29 奇飞翔艺(北京)软件有限公司 一种网页搜索设备和方法
US20140129973A1 (en) * 2012-11-08 2014-05-08 Microsoft Corporation Interaction model for serving popular queries in search box
US9105068B2 (en) * 2012-11-12 2015-08-11 Facebook, Inc. Grammar model for structured search queries
US9218392B1 (en) * 2012-11-30 2015-12-22 Amazon Technologies, Inc. Interest related search results
US9430782B2 (en) * 2012-12-17 2016-08-30 Facebook, Inc. Bidding on search results for targeting users in an online system
US20140172564A1 (en) * 2012-12-17 2014-06-19 Facebook, Inc. Targeting objects to users based on queries in an online system
US9367607B2 (en) 2012-12-31 2016-06-14 Facebook, Inc. Natural-language rendering of structured search queries
US9361363B2 (en) 2012-12-31 2016-06-07 Facebook, Inc. Modifying structured search queries on online social networks
US9361653B2 (en) * 2013-01-16 2016-06-07 Sap Se Social recommendations for business process platform
EP2763050A1 (en) * 2013-01-31 2014-08-06 Google, Inc. Serving font glyphs
CN104050164A (zh) * 2013-03-11 2014-09-17 北京百度网讯科技有限公司 输入信息的处理方法及设备
US20140280297A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Search annotation and suggestion
WO2014139120A1 (en) 2013-03-14 2014-09-18 Microsoft Corporation Search intent preview, disambiguation, and refinement
US20150213041A1 (en) * 2013-03-15 2015-07-30 Google Inc. Search suggestion rankings
CN105051734B (zh) * 2013-04-04 2019-06-11 索尼公司 信息处理设备、数据输入辅助方法以及程序
US20140344250A1 (en) * 2013-05-20 2014-11-20 Microsoft Corporation Enhanced search refinement for personal information services
US9646062B2 (en) 2013-06-10 2017-05-09 Microsoft Technology Licensing, Llc News results through query expansion
US9374431B2 (en) 2013-06-20 2016-06-21 Microsoft Technology Licensing, Llc Frequent sites based on browsing patterns
US9576074B2 (en) 2013-06-20 2017-02-21 Microsoft Technology Licensing, Llc Intent-aware keyboard
US9342626B1 (en) * 2013-06-22 2016-05-17 Google Inc. Query suggestions based on entity collections of one or more past queries
CN104346354B (zh) * 2013-07-29 2017-12-01 阿里巴巴集团控股有限公司 一种提供推荐词的方法及装置
RU2592393C2 (ru) 2013-08-30 2016-07-20 Общество С Ограниченной Ответственностью "Яндекс" Система и способ завершения пользовательского запроса и предоставления ответа на запрос
US9633123B2 (en) 2013-10-14 2017-04-25 Red Hat, Inc. Data federation query suggestion
US9672288B2 (en) 2013-12-30 2017-06-06 Yahoo! Inc. Query suggestions
US9454621B2 (en) * 2013-12-31 2016-09-27 Google Inc. Surfacing navigational search results
CN105095234A (zh) * 2014-04-30 2015-11-25 富泰华工业(深圳)有限公司 文档内容自动搜索系统及方法
CN104063433A (zh) * 2014-06-10 2014-09-24 百度在线网络技术(北京)有限公司 推荐内容的展现方法和装置
CN106796590B (zh) * 2014-06-16 2020-09-11 谷歌有限责任公司 在搜索结果中显露直播事件
CN104142990A (zh) * 2014-07-28 2014-11-12 百度在线网络技术(北京)有限公司 搜索方法及装置
US20160078035A1 (en) * 2014-09-11 2016-03-17 Facebook, Inc. Systems and methods for providing real-time content items associated with topics
US10242106B2 (en) * 2014-12-17 2019-03-26 Excalibur Ip, Llc Enhance search assist system's freshness by extracting phrases from news articles
KR102339461B1 (ko) 2014-12-18 2021-12-15 삼성전자 주식회사 전자 장치의 텍스트 기반 컨텐츠 운용 방법 및 장치
KR20160075039A (ko) * 2014-12-19 2016-06-29 장성준 사용자 단말 및 사용자 단말에서의 웹 페이지 표시 방법
US20160189043A1 (en) * 2014-12-24 2016-06-30 Locator IP, L.P. Crime forcasting system
US9852226B2 (en) 2015-08-10 2017-12-26 Microsoft Technology Licensing, Llc Search engine results system using entity density
US10176251B2 (en) 2015-08-31 2019-01-08 Raytheon Company Systems and methods for identifying similarities using unstructured text analysis
RU2632136C2 (ru) * 2015-10-06 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для доставки целевого контента целевому пользователю
CN105426498A (zh) * 2015-11-24 2016-03-23 小米科技有限责任公司 输出提示词的方法及装置
RU2015156695A (ru) 2015-12-29 2017-07-05 Общество С Ограниченной Ответственностью "Яндекс" Способ и система обработки префикса, связанного с поисковым запросом
US10305828B2 (en) 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US10078673B2 (en) * 2016-04-20 2018-09-18 Google Llc Determining graphical elements associated with text
US10222957B2 (en) 2016-04-20 2019-03-05 Google Llc Keyboard with a suggested search query region
US10140017B2 (en) 2016-04-20 2018-11-27 Google Llc Graphical keyboard application with integrated search
US9965530B2 (en) 2016-04-20 2018-05-08 Google Llc Graphical keyboard with integrated search features
US10452671B2 (en) * 2016-04-26 2019-10-22 Facebook, Inc. Recommendations from comments on online social networks
US10614140B2 (en) 2016-06-01 2020-04-07 International Business Machines Corporation Keyword based data crawling
US10664157B2 (en) 2016-08-03 2020-05-26 Google Llc Image search query predictions by a keyboard
US10242113B2 (en) * 2016-10-13 2019-03-26 International Business Machines Corporation Modifying messages to be more discoverable on a social network
JP6401428B1 (ja) * 2017-04-27 2018-10-10 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
CN107402702A (zh) * 2017-07-17 2017-11-28 北京小米移动软件有限公司 运营入口获取方法和装置
US20190354603A1 (en) * 2018-05-21 2019-11-21 Qingdao Hisense Electronics Co., Ltd. Display apparatus with intelligent user interface
US11250486B1 (en) 2018-08-03 2022-02-15 Rentpath Holdings, Inc. Systems and methods for displaying filters and intercepts leveraging a predictive analytics architecture
US11455361B2 (en) * 2019-08-09 2022-09-27 Microsoft Technology Licensing, Llc Query entity-experience classification
US11397859B2 (en) 2019-09-11 2022-07-26 International Business Machines Corporation Progressive collocation for real-time discourse
CN111340633A (zh) * 2020-03-04 2020-06-26 上海点掌文化传媒股份有限公司 一种用于股市资讯信息的股民服务系统
KR102317120B1 (ko) * 2020-04-01 2021-10-22 주식회사 컴홈 서비스 플랫폼에서 인공지능 처리를 위한 머시닝 시스템
US11556707B2 (en) * 2020-06-18 2023-01-17 Google Llc Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input
US11281682B1 (en) 2020-11-09 2022-03-22 Optum, Inc. Combining data sources for type down search results
US11429601B2 (en) * 2020-11-10 2022-08-30 Bank Of America Corporation System for generating customized data input options using machine learning techniques
US12008043B2 (en) * 2021-03-29 2024-06-11 Microsoft Technology Licensing, Llc Natural language query processing and debugging

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873095A (en) * 1996-08-12 1999-02-16 Electronic Data Systems Corporation System and method for maintaining current status of employees in a work force
US20050257400A1 (en) * 1998-11-06 2005-11-24 Microsoft Corporation Navigating a resource browser session
JP2001249933A (ja) 2000-03-06 2001-09-14 Nippon Telegr & Teleph Corp <Ntt> 検索語入力補完方法及び装置、並びに該方法を実施するためのプログラムを格納した記録媒体
GB0205130D0 (en) 2002-03-06 2002-04-17 Symbian Ltd A method of enabling a wireless information device to access data services
US7930301B2 (en) * 2003-03-31 2011-04-19 Microsoft Corporation System and method for searching computer files and returning identified files and associated files
US20050283458A1 (en) * 2004-06-22 2005-12-22 Microsoft Corporation Automatic detection of frequently used query patterns in a query workload
JP2006079368A (ja) 2004-09-09 2006-03-23 I-Face Inc 情報配信システム、クライアントおよび方法
JP2006163645A (ja) 2004-12-03 2006-06-22 Kenji Kita 情報検索方法、情報検索装置、情報検索プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP4781741B2 (ja) 2005-07-25 2011-09-28 ヤフー株式会社 情報検索システム、情報検索プログラム
US7672932B2 (en) 2005-08-24 2010-03-02 Yahoo! Inc. Speculative search result based on a not-yet-submitted search query
US7747639B2 (en) 2005-08-24 2010-06-29 Yahoo! Inc. Alternative search query prediction
US7676517B2 (en) 2005-10-14 2010-03-09 Microsoft Corporation Search results injected into client applications
US8010523B2 (en) * 2005-12-30 2011-08-30 Google Inc. Dynamic search box for web browser
US20090234814A1 (en) * 2006-12-12 2009-09-17 Marco Boerries Configuring a search engine results page with environment-specific information
JP5312349B2 (ja) * 2007-02-09 2013-10-09 ノキア コーポレイション 情報コンテンツの一部分をクライアント装置に与える方法およびシステム
JP2008217068A (ja) 2007-02-28 2008-09-18 Brother Ind Ltd ネットワークシステムと通信装置
US9268856B2 (en) * 2007-09-28 2016-02-23 Yahoo! Inc. System and method for inclusion of interactive elements on a search results page
JP2009237750A (ja) 2008-03-26 2009-10-15 Denso It Laboratory Inc 情報検索支援装置及び情報検索支援方法
US7945683B1 (en) * 2008-09-04 2011-05-17 Sap Ag Method and system for multi-tiered search over a high latency network
US20100146012A1 (en) * 2008-12-04 2010-06-10 Microsoft Corporation Previewing search results for suggested refinement terms and vertical searches
US8392530B1 (en) * 2008-12-18 2013-03-05 Adobe Systems Incorporated Media streaming in a multi-tier client-server architecture

Also Published As

Publication number Publication date
KR20130009961A (ko) 2013-01-24
US20110191364A1 (en) 2011-08-04
JP2014167815A (ja) 2014-09-11
BR112012019563A2 (pt) 2016-05-03
KR101680288B1 (ko) 2016-11-28
WO2011096945A1 (en) 2011-08-11
RU2012137281A (ru) 2014-03-10
RU2546308C2 (ru) 2015-04-10
JP2013519150A (ja) 2013-05-23
CA2788651A1 (en) 2011-08-11
CA2788651C (en) 2018-06-12
AU2010345063B2 (en) 2015-06-11
JP5539544B2 (ja) 2014-07-02
AU2010345063A1 (en) 2012-08-16
CN102844753A (zh) 2012-12-26
AU2010345063C1 (en) 2015-12-03
US9129012B2 (en) 2015-09-08
EP2531934A1 (en) 2012-12-12
IL221168A (en) 2017-07-31

Similar Documents

Publication Publication Date Title
JP5795101B2 (ja) リアルタイムフィードバックを伴う情報検索システム
US10002168B2 (en) Suggesting search results to users before receiving any search query from the users
US10885076B2 (en) Computerized system and method for search query auto-completion
US10489448B2 (en) Method and system for dynamically ranking images to be matched with content in response to a search query
JP5608286B2 (ja) 無限ブラウズ
US9582549B2 (en) Computer application data in search results
RU2680757C2 (ru) Выявление навигационных результатов поиска
US10565255B2 (en) Method and system for selecting images based on user contextual information in response to search queries
US20200104427A1 (en) Personalized neural query auto-completion pipeline
US10120951B2 (en) Bifurcated search
CN107491465B (zh) 用于搜索内容的方法和装置以及数据处理系统
US20170293616A1 (en) Method for processing and rendering feed-like based images for mobile devices
JP2024050849A (ja) 繰り返し可能クエリの識別および発行
US11308154B2 (en) Method and system for dynamically overlay content provider information on images matched with content items in response to search queries
US11537674B2 (en) Method of and system for generating search query completion suggestion on search engine
US10496698B2 (en) Method and system for determining image-based content styles
US20190163798A1 (en) Parser for dynamically updating data for storage

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150811

R150 Certificate of patent or registration of utility model

Ref document number: 5795101

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250