(57)【特許請求の範囲】
【請求項１】
コンピューター実行可能命令を記憶した１以上のコンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体であって、前記コンピューター実行可能命令は、コンピューティング・デバイスに、複数のサーチ入力に応答してトピック・クエリ提案を生成する方法を実行させ、前記方法は、
複数のサーチ入力をユーザーから受けるステップであって、前記複数のサーチ入力はサーチ・セッションの全部分である、ステップと、
サーチ入力ごとにサーチ結果のセットを生成するステップであって、それにより複数のサーチ結果セットを形成するステップと、
サーチ結果の前記セットの各々からトピックを抽出するステップと、
前記複数のサーチ結果セットのうちの少なくとも２つから抽出された、１以上の共通のトピックを識別するステップと、
前記１以上の共通のトピックを表示のために出力するステップと、
個々のトピックの選択を受けるステップであって、前記選択を受ける前記個々のトピックは、前記１以上の共通のトピック内のものである、ステップと、
前記選択を受けた前記個々のトピックと関連する、サーチ結果の前記セットからのサーチ結果のサブセットを、表示のために出力するステップと
を含む、コンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体。
【請求項２】
請求項１に記載のコンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体であって、サーチ結果の前記サブセットは、前記選択を受ける前に、前記ユーザーに対し表示のために出力されない、コンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体。
【請求項３】
請求項１に記載のコンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体であって、前記サーチ入力は１以上の文書内のテキストの部分であり、前記サーチ入力として前記ユーザーからテキストの前記部分の指定を受ける、コンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体。
【請求項４】
請求項３に記載のコンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体であって、前記方法は、前記ユーザーから、テキストの前記部分が指定された後に、前記トピックを生成するための命令を受けるステップを更に含む、コンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体。
【請求項５】
請求項１に記載のコンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体であって、前記方法は、新たなサーチ・セッションの開始を示すものを受けるステップを更に含む、コンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体。
【請求項６】
請求項１に記載のコンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体であって、前記方法は、
前記１以上の共通のトピック内の追加のトピックの選択を受けるステップと、
前記個々のトピックおよび前記追加のトピックと関連する、サーチ結果の前記セットからのサーチ結果の新たなサブセットを、表示のために出力するステップと
を更に含む、コンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体。
【請求項７】
請求項１に記載のコンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体であって、前記トピックは、サーチ結果の前記セット内の個々のサーチ結果に対して自然言語分析を行うことにより、サーチ結果の前記セットから抽出される、コンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体。
【請求項８】
請求項１に記載のコンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体であって、前記サーチ入力は、前記サーチ・セッション中に送信される複数のサーチ・クエリである、コンピューター・ストレージ・ハードウエア・デバイスまたはコンピューター・ストレージ媒体。
【請求項９】
複数のサーチ入力に応答してトピック・クエリ提案を生成するための方法であって、
コンピューター・デバイスが、複数のサーチ入力をユーザーから受けるステップであって、前記複数のサーチ入力はサーチ・セッションの全部分である、ステップと、
コンピューター・デバイスが、サーチ入力ごとにサーチ結果のセットを生成するステップであって、それにより複数のサーチ結果セットを形成するステップと、
コンピューター・デバイスが、サーチ結果の前記セットの各々からトピックを抽出するステップと、
コンピューター・デバイスが、前記複数のサーチ結果セットのうちの少なくとも２つから抽出された、１以上の共通のトピックを識別するステップと、
コンピューター・デバイスが、前記１以上の共通のトピックを表示のために出力するステップと、
コンピューター・デバイスが、個々のトピックの選択を受けるステップであって、前記選択を受ける前記個々のトピックは、前記１以上の共通のトピック内のものである、ステップと、
コンピューター・デバイスが、前記選択を受けた前記個々のトピックと関連する、サーチ結果の前記セットからのサーチ結果のサブセットを、表示のために出力するステップと
を含む方法。
【請求項１０】
請求項９に記載の方法であって、サーチ結果の前記サブセットは、前記選択を受ける前に、前記ユーザーに対し表示のために出力されない、方法。
【請求項１１】
請求項９に記載の方法であって、前記サーチ入力は１以上の文書内のテキストの部分であり、前記サーチ入力として前記ユーザーからテキストの前記部分の指定を受ける、方法。
【請求項１２】
請求項１１に記載の方法であって、コンピューター・デバイスが、前記ユーザーから、テキストの前記部分が指定された後に、前記トピックを生成するための命令を受けるステップを更に含む方法。
【請求項１３】
請求項９に記載の方法であって、コンピューター・デバイスが、新たなサーチ・セッションの開始を示すものを受けるステップを更に含む方法。
【請求項１４】
請求項９に記載の方法であって、
コンピューター・デバイスが、前記１以上の共通のトピック内の追加のトピックの選択を受けるステップと、
コンピューター・デバイスが、前記個々のトピックおよび前記追加のトピックと関連する、サーチ結果の前記セットからのサーチ結果の新たなサブセットを、表示のために出力するステップと
を更に含む方法。
【請求項１５】
請求項９に記載の方法であって、前記トピックは、サーチ結果の前記セット内の個々のサーチ結果に対して自然言語分析を行うことにより、サーチ結果の前記セットから抽出される、方法。
【請求項１６】
請求項９に記載の方法であって、前記サーチ入力は、前記サーチ・セッション中に送信される複数のサーチ・クエリである、方法。
【請求項１７】
複数のサーチ入力に応答してトピック・クエリ提案を生成するためのシステムであって、該システムは、
１以上のプロセッサーと、
コンピューター実行可能命令を記憶した１以上のコンピューター・ストレージ媒体と
を含み、前記コンピューター実行可能命令は、前記１以上のプロセッサーに、
複数のサーチ入力をユーザーから受けるステップであって、前記複数のサーチ入力はサーチ・セッションの全部分である、ステップと、
サーチ入力ごとにサーチ結果のセットを生成するステップであって、それにより複数のサーチ結果セットを形成するステップと、
サーチ結果の前記セットの各々からトピックを抽出するステップと、
前記複数のサーチ結果セットのうちの少なくとも２つから抽出された、１以上の共通のトピックを識別するステップと、
前記１以上の共通のトピックを表示のために出力するステップと、
個々のトピックの選択を受けるステップであって、前記選択を受ける前記個々のトピックは、前記１以上の共通のトピック内のものである、ステップと、
前記選択を受けた前記個々のトピックと関連する、サーチ結果の前記セットからのサーチ結果のサブセットを、表示のために出力するステップと
を実行させる、システム。
【請求項１８】
請求項１７に記載のシステムであって、サーチ結果の前記セットまたは前記サブセットは、前記選択を受ける前に、前記ユーザーに対し表示のために出力されない、システム。
【請求項１９】
請求項１７に記載のシステムであって、前記サーチ入力は１以上の文書内のテキストの部分であり、前記サーチ入力として前記ユーザーからテキストの前記部分の指定を受ける、システム。
【請求項２０】
請求項１７に記載のシステムであって、前記サーチ入力は、前記サーチ・セッション中に送信される複数のサーチ・クエリである、システム。
【請求項２１】
請求項１から８のうちの何れか一項に記載のコンピューター実行可能命令を含むプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  ユーザーは、適切なウェブサイトおよび他のコンテンツの場所を、サーチ・エンジンを用いて見つけることができる。サーチには様々なタイプがある。幾つかのサーチは、質問（例えば、カンザス州における最大の都市は？）に対する特定の答えを捜し、他のサーチは、トピック（宇宙エレベーターはどのように働くか？）についてについて学習するために捜す。ユーザーは、役に立つサーチ結果を返してくるクエリを作るために苦心することがある。幾つかのサーチ・エンジンは、人気のあるクエリを提案し（サーチ・エンジンへ提出された以前のクエリの基づく）、ユーザーは自身でクエリを書かずに提出することができる。しかし、人気のあるクエリは、同じトピックや主題事項と関連することが多く、似た結果を生成する。人気のあるクエリは、比較的人気の無いトピックと関連するサーチ結果を戻すクエリをユーザーが作ることの、手助けにはならない。
【発明の概要】
【０００２】
[0002]  この概要は、以下の詳細な説明で更に説明する概念のうちの選択したものを、簡素化した形で紹介するものである。この概要は、特許請求の範囲に記載の主題事項の鍵となる特徴や本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載の主題事項の範囲を決定する際の支援として分離して用いることを意図していない。
【０００３】
[0003]  本発明の実施形態は、トピックのサーチの提案および／またはフィードバックを提供する。トピックのサーチの提案は、サーチの対象とするトピックや主題事項を、クエリと組み合わせて又はクエリに代えて、ユーザーが指定することを可能にする。本発明は、ユーザーにより与えられるサーチ入力に基づいて複数のトピックを生成することができる。１つの実施形態では、サーチ入力はサーチ・プレフィックスであり、サーチ・プレフィックスは、完成したサーチ・クエリがサーチ・エンジンへ提出される前にサーチ・クエリ・ボックスへ入力された１以上の語を含む。次に、サーチ・インターフェースは、サーチ・プレフィックスから導き出されたトピックをユーザーに呈示する。インターフェースは、ドロップダウン・ボックスにトピックを表示することができ、これにより、ユーザーがクエリを完成させる代わりにトピックのうちの１つを選択することを可能にする。また、本発明の実施形態は、オートコンプリート・クエリ提案と、対応するトピックとを呈示することができる。
【０００４】
[0004]  １つの実施形態では、ユーザーは、複数のサーチ入力を指定する。サーチ入力は、サーチ入力としてユーザーにより設計されたウェブ・ページ内のテキストとすることができる。サーチ入力は、サーチ・セッション中に提出される複数のサーチ・クエリでもよい。本発明は、サーチ入力に基づいてサーチ結果を生成し、次に、サーチ結果から抽出されたトピックを呈示する。１つの実施形態では、トピックは、サーチ結果メタデータの自然言語分析を行うことにより抽出される。メタデータは、サーチ結果のユニフォーム・リソース・ロケーター（「ＵＲＬ」）、タイトル、および要約テキスト（即ち、サーチ結果と共に示される小型の抄録）を含むことができる。
【０００５】
[0005]  本発明の実施形態は、添付の図面を参照して詳細に説明される。
【図面の簡単な説明】
【０００６】
【図１】図１は、本発明の実施形態を実施するために適する例示的なコンピューティング環境のブロック図である。
【図２】図２は、本発明の実施形態に従った、トピック・クエリ提案を生成することに適するコンピューティング・システムのアーキテクチャーの図である。
【図３】図３は、本発明の実施形態に従った、トピック・クエリ提案を生成するコンピューティング環境内のコンポーネント間で生じる通信の図である。
【図４】図４は、本発明の実施形態に従った、サーチ・プレフィックスに応答してトピック・クエリ提案とオートコンプリート・クエリとを示すサーチ・インターフェースの図である。
【図５】図５は、本発明の実施形態に従った、トピック・クエリ提案を生成する方法を示すフローチャートである。
【図６】図６は、本発明の実施形態に従った、サーチ・プレフィックスからトピック・クエリ提案を生成する方法を示すフローチャートである。
【図７】図７は、本発明の実施形態に従った、複数のサーチ入力に応答してトピック・クエリ提案を生成する方法を示すフローチャートである。
【発明を実施するための形態】
【０００７】
[0013]  本発明の実施形態の主題事項が、ここで、法定的な要求に適合するように特定的に説明される。しかし、説明自体は、この特許の範囲を限定することを意図していない。むしろ、発明者は、別の現存する技術や将来の技術と関連して、この書類に記載のステップと似た別のステップやステップの組み合わせを含むように、特許請求の範囲に記載の主題事項が別の方法で実施でき得ることを企図している。更に、ここでは「ステップ」や「ブロック」という用語を用いて、方法で用いられる様々なエレメントを暗示し得るが、これらの用語は、個々のステップの順序が明確に説明されていない限り、即ち、明確に説明されている場合を除いて、ここで開示される様々なステップ中やステップ間での何れかの特定の順序を意味するものと解釈すべきではない。
【０００８】
[0014]  本発明の実施形態は、可能性のあるトピックのサーチの提案および／またはフィードバックを計算し、呈示する。トピックのサーチの提案は、サーチの対象とするトピックや主題事項を、クエリと組み合わせて又はクエリに代えて、ユーザーが指定することを可能にする。本発明は、ユーザーにより与えられるサーチ入力に基づいて複数のトピックを生成することができる。１つの実施形態では、サーチ入力はサーチ・プレフィックスであり、サーチ・プレフィックスは、完成したサーチ・クエリがサーチ・エンジンへ提出される前にサーチ・クエリ・ボックスへ入力された１以上の語を含む。次に、サーチ・インターフェースは、サーチ・プレフィックスから導き出されたトピックをユーザーに呈示する。インターフェースは、ドロップダウン・ボックスにトピックを表示することができ、これにより、ユーザーがクエリを完成させる代わりにトピックのうちの１つを選択することを可能にする。また、本発明の実施形態は、オートコンプリート（auto-complete）・クエリ提案と、対応するトピックとを呈示することができる
[0015]  １つの実施形態では、ユーザーは、複数のサーチ入力を指定する。サーチ入力は、サーチ入力としてユーザーにより設計されたウェブ・ページ内のテキストとすることができる。サーチ入力は、サーチ・セッション中に提出される複数のサーチ・クエリでもよい。本発明は、サーチ入力に基づいてサーチ結果を生成し、次に、サーチ結果から抽出されたトピックを呈示する。１つの実施形態では、トピックは、サーチ結果メタデータの自然言語分析を行うことにより抽出される。メタデータは、サーチ結果のユニフォーム・リソース・ロケーター（「ＵＲＬ」）、タイトル、および要約テキスト（即ち、サーチ結果と共に示される小型の抄録）を含むことができる。
【０００９】
[0016]  １つの構成では、トピック・クエリ提案を生成する方法が提供される。方法は、サーチ・クエリを受け取ること、およびサーチ・クエリに対してのサーチ結果の準備的セットを生成することを含む。方法はまた、サーチ結果のセットからトピックを抽出することを含む。方法はまた、表示のために準備的なサーチ結果が出力される前に、表示のためにトピックを出力すること、およびトピック内の個々のトピックの選択を受け取ることを含む。方法はまた、個々のトピックと関連するサーチ結果の予備的セットからのサーチ結果のサブセットを、表示のために出力することを含む。
【００１０】
[0017]  別の構成では、サーチ・プレフィックスからトピック・クエリ提案を生成する方法が提供される。方法は、サーチ・プレフィックスを受け取ることを含む。サーチ・プレフィックスは、ユーザーによりサーチ・インターフェースへ入力されたキャラクターのグループである。サーチ・プレフィックスは、１以上のキャラクターであり、完成したサーチ・クエリよりも小さい。方法はまた、サーチ・プレフィックスに基づくオートコンプリート・クエリを生成することを含む。方法はまた、オートコンプリート・クエリに対してのサーチ結果のセットを生成することを含む。方法はまた、サーチ結果のセットからトピックを抽出することを含む。方法はまた、表示およびユーザーによる選択のためにトピックを出力することを含む。
【００１１】
[0018]  別の構成では、複数のサーチ入力に応答してトピック・クエリ提案を生成する方法が提供される。方法は、ユーザーからの、サーチ・セッションの全部分である複数のサーチ入力を受け取ることと、それぞれのサーチ入力に対して、サーチ結果のセットを生成することとを含む。方法はまた、サーチ結果の各セットからトピックを抽出することを含む。方法はまた、サーチ結果の少なくとも２つのセットから抽出された１以上の共通のトピックを識別することを含む。方法はまた、表示のために１以上の共通のトピックを出力することを含む。方法はまた、１以上の共通のトピックの中の個々のトピックの選択を受け取ることを含む。方法はまた、個々のトピックと関連するサーチ結果のセットからのサーチ結果のサブセットを、表示のために出力することを含む。
【００１２】
[0019]  本発明の実施形態の概観を簡単に説明したが、本発明の実施形態の実施における使用に適する例示的な動作環境を以下で説明する。
例示的な動作環境
[0020]  全般的に図を参照するが、特に、最初に図１を参照すると、本発明の実施形態を実施するための例示的な動作環境が示されており、全体がコンピューティング・デバイス１００として表されている。コンピューティング・デバイス１００は、適切なコンピューティング環境の一例であり、本発明の使用や機能の範囲に関する限定を提案することを意図していない。コンピューティング・デバイス１００は、示されるコンポーネントの何れのものとも、また何れのものの組み合わせとも関連する依存性や必要性を有するものと解釈すべきではない。
【００１３】
[0021]  本発明は、コンピューターや、パーソナル・データ・アシスタントや他の手持ち型デバイスなどのような他の機械により実行される、コンピューター・コードや、プログラム・コンポーネントなどのようなコンピューター実行可能命令を含む機械使用可能命令の一般的コンテキストにおいて、説明することができる。一般に、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含むプログラム・コンポーネントはコードと関連し、コードは、特定のタスクを行ったり、特定の抽象データ型をインプリメントする。本発明の実施形態は様々なシステム構成で実施することができ、そのシステム構成は、手持ち型デバイス、大衆消費電子製品、汎用コンピューター、専門用コンピューティング・デバイスなどを含む。本発明の実施形態はまた、分散型のコンピューティング環境で実施することもでき、分散型のコンピューティング環境では、タスクは、通信ネットワークを通じてリンクされるリモート・プロセッシング・デバイスにより行われる。
【００１４】
[0022]  図１を続けて参照すると、コンピューティング・デバイス１００はバス１１０を含み、バス１１０は、メモリ１１２、１以上のプロセッサー１１４、１以上のプレゼンテーション・コンポーネント１１６、入力／出力（Ｉ／Ｏ）ポート１１８、Ｉ／Ｏコンポーネント１２０、および例示的な電源１２２といったデバイスを、直接的または間接的に結合する。バス１１０は、１以上のバス（アドレス・バスや、データ・バスや、これらの組み合わせなど）であり得ることを表している。図１の様々なブロックは、明瞭にするために線を用いて示しているが、実際には、様々なコンポーネントの輪郭は明確に描けず、隠喩的に、線は、より正確に言うと灰色であり曖昧である。例えば、或る者は、ディスプレイ・デバイスなどのようなプレゼンテーション・デバイスはＩ／Ｏコンポーネント１２０であると考え得る。また、プロセッサーはメモリを有する。ここでの発明は、そのようなことは技術的に自然なことと認識しており、反復して述べるが、図１は単に、本発明の１以上実施形態と関連して使用できる例示的なコンピューティング・デバイスを示している。「ワークステーション」、「サーバー」、「ラップトップ」、「手持ち型デバイス」などのようなカテゴリの間での区別は行っていない。なぜなら、これらの全ては図１の範囲内にあると考えられており、「コンピューター」や「コンピューティング・デバイス」と関連する。
【００１５】
[0023]  コンピューティング・デバイス１００は典型的には様々なコンピューター・ストレージ媒体を含む。限定ではなく例として、コンピューター・ストレージ媒体は、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）、電気的消去可能プログラマブル・リード・オンリー・メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、または他のメモリ技術、コンパクト・ディスク・リード・オンリー・メモリ（ＣＤＲＯＭ）、デジタル・バーサタイル・ディスク（ＤＶＤ）、または他の光媒体やホログラフィー媒体、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置を含む。コンピューター・ストレージ媒体は、一時的ではないものとすることができる。
【００１６】
[0024]  メモリ１１２は、揮発性および／または不揮発性のメモリの形のコンピューター・ストレージ媒体を含む。メモリ１１２は、取り外し可能、取り外し不可能、またはそれらの組み合わせとすることができる。例示のメモリは、ソリッドステート・メモリ、ハード・ドライブ、光ディスク・ドライブなどを含む。コンピューティング・デバイス１００は１以上のプロセッサー１１４を含み、プロセッサー１１４は、バス１１０やメモリ１１２やＩ／Ｏコンポーネント１２０などのような様々なエンティティから、データを読み出す。プレゼンテーション・コンポーネント１１６（１以上）は、ユーザーまたは他のデバイスに対してデータ・インジケーションを呈示する。例示のプレゼンテーション・コンポーネント１１６は、ディスプレイ・デバイス、スピーカー、プリンティング・コンポーネント、振動コンポーネントなどを含む。Ｉ／Ｏポート１１８は、コンピューティング・デバイス１００が他のデバイスと論理的に結合されることを可能にし、他のデバイスはＩ／Ｏコンポーネント１２０を含み、他のデバイスの幾つかはビルト・インとすることができる。例示のＩ／Ｏコンポーネント１２０は、マイクロフォン、ジョイスティック、ゲーム・パッド、サテライト・ディッシュ、スキャナー、プリンター、ワイヤレス・デバイスなどを含む。
【００１７】
例示的なシステム・アーキテクチャー
[0025]  ここで図２を参照すると、本発明の実施形態に従ったトピック・クエリ提案の生成に適する例示のコンピューティング・システム・アーキテクチャー２００が示されている。図２に示すコンピューティング・システム・アーキテクチャー２００は、１つの適するコンピューティング・システム・アーキテクチャー２００の例である。コンピューティング・システム・アーキテクチャー２００は、図１を参照して説明したコンピューティング・デバイス１００と類似の１以上のコンピューティング・デバイスを含む。コンピューティング・システム・アーキテクチャー２００は、ここで示す何れかのモジュール／コンポーネントやモジュール／コンポーネントの組み合わせと関連する依存性や必要性を有するものと、解釈すべきではない。コンピューティング・システム・アーキテクチャー２００は、サーチ・フロント・エンド２１０、サーチ・エンジン２１２、トピック抽出器２１４、サーチ・データ・ストア２１６、およびオートコンプリート・クエリ・コンポーネント２１８を含む。
【００１８】
[0026]  サーチ・フロント・エンド２１０はサーチ・インターフェースを生成し、サーチ・インターフェースを介して、ユーザーは、サーチ基準を入力し、サーチ結果を受け取る。サーチ・インターフェースは、インターネットなどのようなネットワークを介して通信され、クライアント・デバイスで動作するブラウザーに表示される。別の実施形態では、サーチ・インターフェースは、サーチ・ツール・バーとインタラクションすることができる。サーチ・フロント・エンド２１０は、サーチ・エンジン２１２とインタラクションして、ユーザーに対して表示するサーチ結果を受け取る。サーチ・フロント・エンド２１０は、サーチ・クエリをサーチ・エンジンへ通信し、サーチ・エンジン２１２からサーチ結果のセットを受け取ることができる。サーチ・フロント・エンド２１０は、トピック抽出器２１４などのような他のコンポーネントと通信することもできる。
【００１９】
[0027]  トピック抽出器２１４は、クエリと関連する一連のトピックを、サーチ・フロント・エンド２１０へ通信することができる。それらのトピックは、サーチ・フロント・エンド２１０により生成されたインターフェース内で、ユーザーによる選択のために呈示することができる。サーチ・フロント・エンド２１０はまた、コンピューティング・システム・アーキテクチャー２００内の示されていない他のコンポーネントと、通信することができる。例えば、サーチ・フロント・エンド２１０は、サーチ結果ページで呈示される広告を提供する広告エンジンと、通信することができる。サーチ・フロント・エンド２１０は、ユーザーの選択したトピックを広告エンジンへ通信し、ユーザーの選択したトピックと関連する広告を受け取ることができる。
【００２０】
[0028]  サーチ・エンジン２１２は、サーチ・クエリを受け取り、ユーザーに対してのサーチ結果を生成する。サーチ・エンジンはクローラー（crawler）を含むことができ、クローラーは、サーチ・クエリに応答して、使用可能なコンテンツを探査し、関連するコンテンツを識別するために用いることができるインデックスを生成する。サーチ・エンジンはまた、クエリに対しての関連性や応答性に基づいて、サーチ結果をランク付けすることができる。サーチ・クエリに応答して示されるサーチ・クエリの結果と、それらの結果とのユーザーのインタラクションとは、サーチ・データ・ストア２１６内に格納することができる。サーチ・データ・ストア２１６はまた、以前に述べたサーチのインデックスと、図２に示される又は示されていないコンポーネントにより生成された他のデータセットとを、含むことができる。サーチ・エンジン２１２に加えて、他のコンポーネントも、サーチ・データ・ストア２１６に対してのデータの読み出しおよび書き込みを行うことができる。
【００２１】
[0029]  トピック抽出器２１４は、様々なコンテンツからトピックを抽出する。例えば、トピック抽出器２１４は、ウェブ・ページからトピックを抽出することができる。１つの実施形態では、サーチ・エンジン２１２は、ウェブ・ページを含むサーチ結果のセットを、トピック抽出器２１４へ送る。トピック抽出器２１４は、ウェブ・ページを分析して、キーワード、エンティティを抽出し、ウェブ・ページと関連するトピックを決定する。トピックは、ウェブ・ページと関連する主題事項のカテゴリである。トピック抽出器２１４がウェブ・ページに対しての１以上のトピックを確かめると、それらのトピックをサーチ・フロント・エンド２１０へ送ることができ、サーチ・フロント・エンド２１０はそれらを選択のためにユーザーに呈示する。
【００２２】
[0030]  トピックは、各ページに関してのキーワードや有り得るトピックのリストを決定するために使用できるＴＦ−ＩＤＦ（term frequency, inverse document frequency）などのような自然言語処理技術を用いて、抽出することができる。複数のページにわたって最も頻繁に抽出されるトピックは、クエリの支援のために、ユーザーに呈示することができる。トピック抽出器２１４は、トピックと、トピックが抽出されたウェブ・ページとを識別するインデックスを維持することができる。トピックがユーザーにより選択されると、インデックスを、トピックと関連するサーチ結果を戻すために用いることができる。
【００２３】
[0031]  １つの実施形態では、トピック抽出器２１４は、トピックを決定するために、ウェブ・ページのメタデータのみ、例えば、ユニフォーム・リソース・ロケーター（「ＵＲＬ」）、要約テキスト（即ち、サーチ結果と共に示される小型の抄録）、およびタイトルを、分析する。この実施形態では、ウェブ・ページの残りのコンテンツについては、ウェブ・ページの主題事項またはトピックを決定するためのトピック抽出器による分析が行われない。
【００２４】
[0032]  オートコンプリート・コンポーネント２１８は、サーチ・プレフィックスを受け取り、サーチ・プレフィックスに基づいて、提案されるクエリの生成を試みる。サーチ・プレフィックスは、サーチの選択または提出の前に、サーチ・インターフェースにおいてユーザーにより提出されたキャラクターを含む。プレフィックスは、完全な語よりも少ないものであり得、また、最小の場合は１個の文字であり得る。他の実施形態では、プレフィックスは、複数の語を含むことができる。別の実施形態では、プレフィックスは、少数の語や、不完全な語を含むことができる。オートコンプリート・コンポーネント２１８は、提案されるクエリを生成し、それらを、選択できるものとしてユーザーに呈示する。追加のキャラクターがユーザーにより入力されると、プレフィックスは変わり、オートコンプリート・コンポーネント２１８は、受け取った追加のキャラクターに従って、提案されるクエリを代えることができる。オートコンプリート・コンポーネント２１８は、サーチ・プレフィックスと、以前に他のユーザーにより頻繁に提出されていたクエリとを一致させることを試みる。オートコンプリート・コンポーネント２１８は、１以上のオートコンプリート・クエリをサーチ・エンジン２１２へ通信することができ、サーチ・エンジン２１２は、トピック抽出器２１４へ通信されるサーチ結果を生成する。このように、サーチ・クエリが完成する前に、トピックが、ユーザーへ呈示するために生成される。
【００２５】
[0033]  ここで図３を参照すると、本発明の実施形態に従った、サーチ・インターフェースにおいてトピックをユーザーに呈示することを可能にする通信が示されている。コンピューティング環境３００は、クライアント・デバイス３０５、フロント・エンド３１０、サーチ・エンジン３１２、およびトピック抽出器３１４を含む。クライアント・デバイス３０５は、以前に図１を参照して説明したコンピューティング・デバイス１００と類似のコンピューティング・デバイスとすることができる。例示的なデバイスは、ラップトップ、デスクトップ、タブレット、スマートフォン、およびテレビジョンを含む。クライアント・デバイス３０５は、他のコンポーネントと、インターネットなどのようなネットワークを介して通信するように結合することができる。
【００２６】
[0034]  サーチ・フロント・エンド３１０は、以前に図２を参照して説明したサーチ・フロント・エンド２１０と類似であり得る。サーチ・エンジン３１２は、以前に図２を参照して説明したサーチ・エンジン２１２と類似であり得る。トピック抽出器３１４は、以前に図２を参照して説明したトピック抽出器２１４と類似であり得る。
【００２７】
[0035]  最初に、クライアント・デバイス３０５は、サーチ・プレフィックス３２０をサーチ・フロント・エンド３１０へ通信する。サーチ・プレフィックス３２０は、サーチ・クエリの形成を開始する一連のキャラクターであり得る。サーチ・プレフィックス３２０は、完成したサーチ・クエリを提出する前にサーチ・インターフェースへ入力されたキャラクターを含むことができる。サーチ・フロント・エンド３１０は、サーチ・プレフィックス３２０をサーチ・エンジン３１２へ渡す。
【００２８】
[0036]  サーチ・エンジン３１２は、サーチ・プレフィックスに応じた一連のサーチ結果を生成する（３２２）。サーチ・エンジンは、最初に、サーチ・プレフィックスをオートコンプリート・コンポーネント（示さず）へ通信し、オートコンプリート・コンポーネントは、サーチ・プレフィックスに基づいて完全なクエリを生成する。完全なクエリは、サーチ・プレフィックスと一致または部分的に一致し得る。完全なクエリのうちの１以上のものを用いて、サーチ結果を生成することができる。次に、完全なクエリのうちの１以上のものを用いて、サーチ結果３２４が生成される。これらの結果３２４は、サーチ・エンジン３１２からトピック抽出器３１４へ通信される。トピック抽出器３１４は、サーチ結果３２４からトピック３３２を抽出する（３３０）。先に述べたように、トピック抽出器３１４は、結果からトピックを抽出するために、自然言語処理方法を用いることができる。
【００２９】
[0037]  トピック３３２は、トピック抽出器３１４からサーチ・フロント・エンド３１０へ通信される。サーチ・フロント・エンド３１０は、次に、トピックを、後に図４で説明されるものと類似であり得るクエリ支援機能へ、統合する（３１４）。次に、支援機能は、自動提案３３６としてクライアント・デバイス３０５へ通信される。クライアント・デバイス３０５のユーザーは、トピックのうちの１以上のものを選択することができる。
【００３０】
[0038]  ここで図４を参照すると、本発明の実施形態に従った、トピック提案を示すサーチ・インターフェース４００が示されている。サーチ・インターフェース４００は、サーチ・フロント・エンドにより生成して、ブラウザーのウィンドゥに表示することができる。本発明の実施形態は、インターフェースをブラウザーのウィンドゥに表示することに限定されない。インターフェース４００はサーチ入力ボックス４１０を含む。文字「ｊａｇｕ」（ジャグゥ）４１２がサーチ入力ボックス４１０へ入力されている。文字「ｊａｇｕ」４１２は、サーチ・プレフィックスの例である。先に述べたように、サーチ・プレフィックスは、クエリを提出する前にサーチ入力ボックスへ入力される１以上のキャラクターを含む。
【００３１】
[0039]  サーチ入力ボックスの下には、サーチ支援ボックス４２０が示されている。サーチ支援ボックス４２０は、オートコンプリート・クエリ「ｊａｇｕａｒ」（ジャグゥアー）４２２を含む。オートコンプリート・クエリは、サーチ・ボックスへ入力されたサーチ・プレフィックスで開始する人気のあるクエリとすることができる。オートコンプリート・クエリは、ユーザーが、ユーザーのクエリを提出することに代えて選択することができる完全なクエリである。
【００３２】
[0040]  サーチ支援ボックス４２０はまた、ユーザーが選択できる３個のトピックを含む。それらのトピックは、ｊａｇｕａｒ  ｃａｔ（ジャグゥアー  ネコ）４２４、Ｊａｇｕａｒ  ｃａｒ（ジャグゥアー  車）４２６、およびＪａｇｕａｒ  ｆｏｏｔｂａｌｌ（ジャグゥアー  フットボール）４２８を含む。ユーザーは、これらのトピックの何れかを選択することができ、次に、ｊａｇｕａｒに応じ且つ選択されたトピック内にあるサーチ結果を受け取ることができる。例えば、ユーザーがｊａｇｕａｒ  ｃａｔ４２４を選択した場合、ジャガーに応じており且つネコというトピックと関連するサーチ結果が、示されることになる。この場合、トピックは、オートコンプリート・クエリと共に、ペアで示される。別の実施形態では、トピックは、オートコンプリート・クエリ無しで示され得る。例えば、サーチ支援ボックスは、「ｊａｇｕａｒ  ｆｏｏｔｂａｌｌ」、「ｊａｇｕａｒ  ｃａｒ」、および「ｊａｇｕａｒ  ｃａｔ」の代わりに、「ｆｏｏｔｂａｌｌ」、「ｃａｒ」、および「ｃａｔ」を列挙することができる。
【００３３】
[0041]  ここで図５を参照すると、本発明の実施形態に従った、トピック・クエリ提案を生成する方法５００を示すフローチャートが示されている。トピック・クエリ提案は、ユーザーに、選択するための１以上のトピックを与え、そのトピックは、ユーザーのクエリと組み合わせられるか、またはユーザーのクエリに代えられるものである。ステップ５１０において、サーチ・クエリが受け取られる。サーチ・クエリは、ユーザーによりサーチ・インターフェースへ入力されたサーチ・プレフィックスに基づいて生成されたオートコンプリート・サーチ・クエリであり得る。別の実施形態では、サーチ・クエリは、サーチ・インターフェースへ入力されるが、サーチのために提出されない。
【００３４】
[0042]  ステップ５２０において、サーチ結果の予備的セットが生成される。サーチ結果の予備的セットは、サーチ・クエリに応答したものである。サーチ結果の予備的セットは、サーチ・エンジンにより生成することができる。サーチ結果の予備的セットは、サーチ・エンジンにより返された全ての応答したサーチ結果（数千を容易に超え得る）のうちの閾値の数のものを含むことができる。例えば、サーチ・エンジンにより返された上位５０のサーチ結果により、サーチ結果のセットを形成することができる。サーチ結果は、閾値を適用してサーチ結果のセットを形成する前に、関連性によりランク付けすることができる。従って、サーチ結果の予備的セットを、上位５０にランクされたサーチ結果とすることができる。
【００３５】
[0043]  ステップ５３０において、サーチ結果のセットからトピックが抽出される。１つの実施形態では、トピックは、自然言語処理技術を用いて抽出される。１つの実施形態では、トピックは、サーチ結果と関連するメタデータのみに自然言語処理技術を適用することにより、抽出される。メタデータの例は、ユニフォーム・リソース・ロケーター（「ＵＲＬ」）と、サーチ結果のタイトルとを含む。他のメタデータは、サーチ結果と関連するキーワードと、要約テキスト（即ち、サーチ結果と共に示される小型の抄録）とを含む。別の実施形態では、メタデータに代えて、またはメタデータに加えて、ウェブ・ページまたは文書のコンテンツが分析される。
【００３６】
[0044]  ステップ５４０において、表示のためにトピックが出力される。トピックは、表示のために準備的サーチ結果が出力される前に、表示のために出力される。換言すると、ユーザーに対して何れかのサーチ結果が表示される前に、ユーザーに対して１以上のトピックが呈示される。１つの実施形態では、トピックは、以前に図４を参照して説明したもののようなドロップダウン・クエリ支援ボックスにおいて、ユーザーに対して表示される。他のインターフェースも可能である。例えば、１以上のトピックをユーザーが選択することを可能にするトピック選択インターフェースを、ユーザーに対して呈示することができる。
【００３７】
[0045]  ステップ５５０において、トピック内の個々のトピックの選択が受け取られる。ユーザーは、トピックを、そのトピックの上でクリックすることにより選択することができる。その選択は、サーチ・インターフェースからサーチ・エンジンへ通信され、サーチ・エンジンは、その選択を用いて、関連する結果を返す。ステップ５６０において、個々のトピックと関連するサーチ結果の予備的セットからのサーチ結果のサブセットが、表示のために出力される。サーチ結果のサブセットは、サーチ・エンジンにより選択することができる。選択されたトピックに適合したサーチ結果の予備的セット内のサーチ結果の数が閾値の数より少ない場合、トピックと関連しない追加のサーチ結果を、サーチ結果ページの底部に呈示することができる。例えば、サーチ結果ページは、１０個のサーチ結果をユーザーに対して示すことができる。選択されたトピックと関連する７個のみのサーチ結果が使用可能である場合、それらはサーチ結果ページの上部に示され、追加の３個のサーチ結果が１以上の他のトピックから引き出される。別の実施形態では、サーチ・エンジンは、最初に生成されたサーチ結果の予備的セットの外部のトピックに応じる追加のサーチ結果を捜す。これは、予備的なサーチ結果を生成するために用いられたサーチへ戻り、次に、選択されたトピックによるフィルタリングを行うことにより、達成することができる。
【００３８】
[0046]  更なる実施形態では、ユーザーによりトピックが以前に選択されていた後でさえ、トピックは、サーチ結果と共に、表示のために呈示される。ユーザーの質問に答えるサーチ結果をユーザーが発見しない場合、ユーザーは別のトピックを選択することができ、そして、サーチ結果は、ユーザーが新たなクエリを入力することなく、そのトピックの選択に基づいて新たにされることになる。
【００３９】
[0047]  図６を参照すると、本発明の実施形態に従った、サーチ・プレフィックスからトピック・クエリ提案を生成する方法６００が示されている。先に述べたように、サーチ・プレフィックスは、ユーザーによりサーチ・インターフェースへ入力されたキャラクターのグループである。一般に、サーチ・プレフィックスは、完全なサーチ・クエリよりも少ない１以上のキャラクターである。例えば、キャラクター「ｊａｇｕ」は、クエリ「ｊａｇｕａｒ」のサーチ・プレフィックスであり得る。即ち、サーチ・プレフィックスは、サーチ・クエリがある意味では不完全であることと、ユーザーがなおもキャラクターを追加していることとを、暗示する。しかし、１つの実施形態では、サーチ・プレフィックスは、完全なクエリであり得るが、クエリがサーチ・エンジンへ実際に提出される前のものである。サーチ・クエリがサーチ・エンジンへ提出されると、それは完全なクエリとなり、もはやサーチ・プレフィックスではない。
【００４０】
[0048]  ステップ６１０において、サーチ・プレフィックスを受け取る。サーチ・プレフィックスは、オートコンプリート・コンポーネントにより受け取ることができる。ステップ６２０において、サーチ・プレフィックスに基づくオートコンプリート・クエリを生成する。オートコンプリート・クエリの生成は以前に説明した。
【００４１】
[0049]  ステップ６３０において、オートコンプリート・クエリに応じたサーチ結果のセットを生成する。先に述べたように、サーチ結果のセットは、オートコンプリート・クエリに応じた５０個の最も関連しているサーチ結果とすることができる。この５０個というのは例であり、異なる閾値の数のサーチ結果を用いてサーチ結果のセットを生成することもできる。
【００４２】
[0050]  ステップ６４０において、サーチ結果のセットからトピックを抽出する。前述のように、自然言語処理技術を用いてトピックを抽出することができる。１つの実施形態では、トピックは、サーチ結果と関連するメタデータのみを分析することにより、抽出される。ステップ６５０において、トピックは表示のために出力され、ユーザーにより選択される。個々のトピックの選択が受け取られると、個々のトピックに応じたサーチ結果が、表示のために出力することができる。これは、サーチ結果が表示のために出力される前にトピックが表示のために出力されることを、示す。換言すると、サーチ結果がバックグラウンドで生成され、従って、それらのサーチ結果からトピックを抽出することができるが、サーチ結果の最初のセットは、表示のために出力するために呈示されない。１つの実施形態では、トピックは、１以上のオートコンプリート・クエリ提案と組み合わせて、表示のために出力される。図４からの例として、オートコンプリート・クエリｊａｇｕａｒを、トピックｃａｔと組み合わせることができる。
【００４３】
[0051]  図７を参照すると、本発明の実施形態に従った、複数のサーチ入力に応じたトピック・クエリ提案を生成する方法７００が示されている。ステップ７１０において、ユーザーから複数のサーチ入力を受け取る。複数のサーチ入力は、サーチ・セッションの全部分である。これらサーチ入力がサーチ・セッションの全部分であることは、ユーザーから受け取った入力により、明確にすることができる。例えば、ユーザーは、サーチ・インターフェース上の、サーチ・ツール・バーと関連するボタンなどのような、サーチ・セッションの開始を示すボタンを押す。別の実施形態では、サーチ・セッションの線引きは、ユーザーのオンラインでの挙動を分析することにより決定される。例えば、互いに近接して連続しているサーチ入力は、共通のセッションの一部であると決定することができる。サーチ・クエリ間で時間が経過すると、後続のサーチ入力は、新たなサーチ・セッションと関連するものであり得る。サーチ・セッションが開始していることを指定することに加えて、ユーザーは、サーチ・セッションが終了したことを示す明確な入力を提供することができる。サーチ入力は、クエリとすることができる。幾つかの場合、クエリをサーチ・エンジンヘ提出することができ、結果が返される。この実施形態では、複数のサーチ入力は、ステップ７１０のサーチ入力からユーザーにより行われる一連のサーチである。
【００４４】
[0052]  別の実施形態では、サーチ入力は、ユーザーによりサーチ入力として明確に指定されたテキストの一部（例えば、語や句）である。例えば、ユーザーは、ウェブ・ページ内の語をハイライト化してクリックすることにより、それらをサーチ入力として指定することができる。１つの実施形態では、ユーザーは、語や句を、サーチ・セッション・インターフェースへドラッグすることができる。一回のドロップ内にある語や句は、１つのサーチ入力を構成することができる。即ち、様々な句に対してドラッグ操作を反復した場合、複数のサーチ入力が生成される。
【００４５】
[0053]  別の実施形態では、サーチ入力は、ユーザーが見ているウェブ・ページから自動的に抽出されるキーワードである。このように、キーワードは、ユーザーがサーチ・セッション中に一連のページをナビゲーションしているときに、ウェブ・ページから抽出される。この実施形態では、ユーザーは、何れのキーワードも明確に指定する必要はない。
【００４６】
[0054]  ステップ７２０において、それぞれのサーチ入力に対して、サーチ結果のセットを生成する。サーチ結果は、サーチ・エンジンにより生成することができる。ステップ７３０において、サーチ結果の各セットからトピックを抽出する。ステップ７４０において、サーチ結果の複数のセットの間での１以上の共通のトピックを識別する。抽出されたトピックは、サーチ結果の様々なセットの中での出現に基づいて、ランク付けすることができる。例えば、トピックが、サーチ結果の複数のセットのそれぞれから抽出される場合、そのトピックのランクは高くなり得る。更に、サーチ結果の各セット内でのトピックの出現回数を考慮することもできる。即ち、サーチ結果の各セットにおいて複数回出現するトピックのランクを、サーチ結果の各セットにおいて１回のみ出現するトピックよりも、高くすることができる。１つの実施形態では、サーチ結果の１つのセットからトピックが抽出された回数よりも、トピックが抽出されたサーチ結果のセットの量に対して、より多くの重みが与えられる。
【００４７】
[0055]  ステップ７５０において、表示のために１以上の共通のトピックを出力する。ステップ７６０において、１以上の共通のトピックの中での個々のトピックの選択を受け取る。ステップ７８０において、サーチ結果のセットからのサーチ結果のサブセットを、ユーザーへの表示のために出力する。サーチ結果のサブセットは、個々のトピックと関連する。１つの実施形態では、選択を受け取る前には、サーチ結果のセットは、ユーザーへの表示のために出力されない。
【００４８】
[0056]  １つの実施形態では、新たなサーチ・セッションを開始するための命令を、ユーザーから受け取る。サーチ入力は、ユーザーがサーチ・セッションの完了の命令を提出するまで、１以上の方法を通して集められる。その完了時、トピックが、選択のためにユーザーに対して表示される。次に、ユーザーは、１以上のトピックを選択し、そのトピックに応じたサーチ結果が提供される。
【００４９】
[0057]  本発明の実施形態を、限定ではなく例として説明した。特定の特徴およびサブコンビネーションは有用性があり、他の特徴およびサブコンビネーションを参照せずに用いることができることが、理解されるであろう。これは、特許請求の範囲により予期されており、且つ特許請求の範囲の範囲内にある。
【図１】
0006027618.tif 000002
【図２】
0006027618.tif 000003
【図３】
0006027618.tif 000004
【図４】
0006027618.tif 000005
【図５】
0006027618.tif 000006
【図６】
0006027618.tif 000007
【図７】
0006027618.tif 000008