(57)【要約】【課題】  意図ベースのクラスタを形成し、検索エンジンによってそれを使用して検索要求に応答する。【解決手段】  各セッションは、ユーザから受信された少なくとも１つのクエリ、および対応する１組の戻された検索結果を含み、検索結果の各組は、少なくとも１つの内容を含むか、それを参照する。各クラスタは、共通の目的を表すものとして認識され、共通の１組の検索結果にマッピングすることができる１群の類似の検索セッションを表す。この方法では、検索セッションごとに、その受信された各クエリ、対応する１組の検索結果、および検索結果の任意の特定個の内容が対応する検索セッションに応答するものとしてユーザに許容可能であったかどうかが識別される。その後、検索セッションはクラスタに分けられる。【選択図】  図２
2006107467.tif 000002
【特許請求の範囲】
【請求項１】
複数の検索セッションを分析してその中の意図ベースのクラスタを識別する方法であって、各セッションはユーザから受信された少なくとも１つのクエリおよび対応する１組の戻された検索結果を含み、検索結果の各組は少なくとも１つの内容を含むか、それを参照し、各クラスタは、共通の目的を表すものとして認識され、共通の１組の検索結果にマッピングすることができる１群の類似の検索セッションを表し、前記方法は、
検索セッションごとに、その受信された各クエリ、前記対応する１組の検索結果、および前記検索結果の任意の特定個の内容が前記対応する検索結果に応答するものとして前記ユーザに許容可能であったかどうかを識別するステップと、
クエリ内のテキストの共通性、および検索結果についての判断の共通性のうちの少なくとも一方に基づいて検索セッションをクラスタに分類するステップであって、
各セッションが前記表内の他のすべてのセッションと単一回対となるように一意の対のセッションをそれぞれ表す複数のエントリを含む表を構築するステップと、
前記表のエントリごとに、そのセッションの前記１対の共通性の強度を判断するステップと、
強度の高い順に前記表内の前記エントリを再配列するステップと、
再配列のときに前記表内の各エントリを調べて、前記判断されたその強度に基づいて、その各セッションを意図ベースのクラスタに割り当てるかどうか、またそうである場合はどのようにして割り当てるかを決定するステップと
を含むステップと
を備えることを特徴とする方法。
【請求項２】
前記ユーザが前記１つの内容にアクセスしたかどうか、および前記ユーザがこうした１つの内容を調べるのにどのぐらいの時間を費やしたかを含む要因に基づいて前記ユーザに許容可能な前記検索結果の任意の特定個の内容を識別するステップを備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記表のエントリごとに、その前記１対のセッションの共通性の強度を判断するステップであって、より大きい強度はより高い値として表されるステップを備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記デーブルのエントリごとに、その前記１対のセッションの共通性の強度を判断するステップであって、各強度はテキスト値の重み付きの共通性と判断値の重み付きの共通性との合計として計算されるステップを備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記表のエントリごとに、その前記１対のセッションの共通性の強度を判断するステップであって、各強度は、前記１対のセッションが両方のセッションで類似の判断を呼び出すことが判明した同じまたは類似の内容をもたらしたかどうかに少なくとも一部分基づくステップを備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記表のエントリごとに、その前記１対のセッションの共通性の強度を判断するステップであって、各強度は、前記１対のセッションが同じまたは類似のクエリを有していたかどうかに少なくとも一部分基づくステップを備えることを特徴とする請求項１に記載の方法。
【請求項７】
再配列のときに前記表内の各エントリを調べて、定義された閾値を上回る判断済みの強度を有することによって、その前記セッションが最低限の共通性を有することが判明しているかどうかを前記表内のエントリごとに決定し、そうである場合は、
前記セッションのうちの一方がすでにクラスタに割り当てられている場合、他方のセッションは同じクラスタに割り当てられる
セッションがすでにクラスタにない場合、こうしたセッションは新しいクラスタに割り当てられる
両方のセッションがすでに個別のクラスタにある場合、何もしない
というルールに従ってクラスタに前記エントリのこうしたセッションの両方を割り当てることによって、各セッションを意図ベースのクラスタに割り当てるかどうかを決定するステップを備えることを特徴とする請求項１に記載の方法。
【請求項８】
各クラスタを、そのようなクラスタの前記共通の目的を満たすと思われる共通の１組の検索結果にマッピングし、それにより同じ共通の目的を持つすべてのクエリがそのようなクラスタに基づいて正しくマッピングされるようにするステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項９】
クエリ内のテキストの共通性、および検索結果についての判断の共通性のうちの少なくとも一方に基づいて検索セッションをクラスタに分類するステップを備えることを特徴とする請求項１に記載の方法。
【請求項１０】
複数の検索セッションを分析して、その中の意図ベースのクラスタを識別する方法を実行するコンピュータ実行可能命令を格納するコンピュータ読み取り可能な記録媒体であって、各セッションはユーザから受信された少なくとも１つのクエリおよび対応する１組の戻された検索結果を含み、検索結果の各組は少なくとも１つの内容を含むか、それを参照し、各クラスタは、共通の目的を表すものとして認識され、共通の１組の検索結果にマッピングすることができる１群の類似の検索セッションを表し、前記方法は、
検索セッションごとに、その受信された各クエリ、前記対応する１組の検索結果、および前記検索結果の任意の特定個の内容が前記対応する検索結果に応答するものとして前記ユーザに許容可能であったかどうかを識別するステップと、
クエリ内のテキストの共通性、および検索結果についての判断の共通性のうちの少なくとも一方に基づいて検索セッションをクラスタに分類するステップであって、
各セッションが前記表内の他のすべてのセッションと単一回で対となるように一意の１対のセッションをそれぞれ表す複数のエントリを含む表を構築するステップと、
前記表のエントリごとに、前記１対のセッションの共通性の強度を判断するステップと、
強度の高い順に前記表内の前記エントリを再配列するステップと、
再配列のときに前記表内の各エントリを調べて、前記判断されたその強度に基づいて、その各セッションを意図ベースのクラスタに割り当てるかどうか、またそうである場合はどのようにして割り当てるかを決定するステップと
を含むステップと
を含むことを特徴とするコンピュータ読み取り可能なコンピュータ読み取り可能な記録媒体。
【請求項１１】
前記方法は、前記ユーザが前記１つの内容にアクセスしたかどうか、および前記ユーザがこうした１つの内容を調べるのにどのぐらいの時間を費やしたかを含む要因に基づいて前記ユーザに許容可能な前記検索結果の任意の特定個の内容を識別するステップを含むことを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記方法は、前記表のエントリごとに、その前記１対のセッションの共通性の強度を判断するステップであって、より大きい強度はより高い値として表されるステップを含むことを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記方法は、前記デーブルのエントリごとに、その前記１対のセッションの共通性の強度を判断するステップであって、各強度はテキスト値の重み付きの共通性と判断値の重み付きの共通性との合計として計算されるステップを備えることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記方法は、前記表のエントリごとに、その前記１対のセッションの共通性の強度を判断するステップであって、各強度は、前記１対のセッションが両方のセッションで類似の判断を呼び出すことが判明した同じまたは類似の内容をもたらしたかどうかに少なくとも一部分基づくステップを備えることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
前記方法は、前記表のエントリごとに、その前記１対のセッションの共通性の強度を判断するステップであって、各強度は、前記１対のセッションが同じまたは類似のクエリを有していたかどうかに少なくとも一部分基づくステップを備えることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１６】
前記方法は、再配列のときに前記表内の各エントリを調べて、定義された閾値を上回る判断済みの強度を有することによって、その前記セッションが最低限の共通性を有することが判明しているかどうかを前記表内のエントリごとに決定し、そうである場合は、
前記セッションのうちの一方がすでにクラスタに割り当てられている場合、他方のセッションは同じクラスタに割り当てられる
セッションがすでにクラスタにない場合、こうしたセッションは新しいクラスタに割り当てられる
両方のセッションがすでに個別のクラスタにある場合、何もしない
というルールに従ってクラスタに前記エントリのこうしたセッションの両方を割り当てることによって、各セッションを意図ベースのクラスタに割り当てるかどうかを決定するステップを備えることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１７】
前記方法は、各クラスタを、こうしたクラスタの前記共通の目的を満たすと思われる共通の１組の検索結果にマッピングし、したがって同じ共通の目的を持つすべてのクエリがこうしたクラスタに基づいて正しくマッピングされるようにするステップをさらに備えることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記方法は、クエリ内のテキストの共通性、および検索結果についての判断の共通性のうちの少なくとも一方に基づいて検索セッションをクラスタに分類するステップを備えることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１９】
クラスタの内容へのマッピングに基づいて受信されたクエリに応答する方法であって、各クラスタは、共通の目的を表すものとして認識され、共通の１組の検索結果にマッピングすることができる１群の類似の検索セッションを表し、各セッションはユーザから受信された少なくとも１つのクエリおよび対応する１組の戻された検索結果を含み、検索結果の各組は少なくとも１つの内容を含むか、それを参照し、前記方法は、
前記受信されたクエリをクラスタのセッションの以前のクエリと比較することによって前記受信されたクエリを分析して前記受信されたクエリが一致する以前のクエリを判定するステップと、
前記一致した以前のクエリの前記セッションを識別するステップと、
前記識別されたセッションの前記クラスタを識別するステップと、
前記識別されたクラスタの前記マッピング先内容を識別するステップと、
前記受信されたクエリに応答を戻すのに前記マッピング先内容を使用するステップと
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索エンジンに送信されるときのユーザからの検索要求に基づいて意図ベース（intent-based）のクラスタを識別し、形成するシステムおよび方法、および形成された意図ベースのクラスタを使用してユーザからの検索要求に応答する検索エンジンに関連するもので、複数の検索セッションを分析してその中の意図ベースのクラスタを識別する方法及び記録媒体に関する。より詳細には、本発明は、識別された意図によるユーザからの検索がより迅速かつ効率的に、よりユーザの検索に向いていると思われる検索結果で応答されるように、意図ベースのクラスタを識別し使用する、複数の検索セッションを分析してその中の意図ベースのクラスタを識別する方法及び記録媒体並びにクラスタの内容へのマッピングに基づいて受信されたクエリに応答する方法に関する。
【背景技術】
【０００２】
一般の検索エンジンとの関連で、一般の検索エンジンにアクセスするユーザは、おそらくブール演算子とともに１つまたは複数の検索項目を含む検索文字列などを入力することによって検索を要求する。それに応答して、検索エンジンは、検索文字列に基づいて１つまたは複数のデータベースを検索し、それに基づいて１組の検索結果を生成し、おそらくユーザが調べることができる情報のページまたは情報へのリンクの形でこうした検索結果を要求側ユーザに戻す。特に後者の場合、ユーザは、特定の検索結果に関して内容を調べるために１つまたは複数のリンクにアクセスすることができ、検索結果の１つまたは複数のリンクに関連する内容がユーザにとって許容できる場合、こうしたユーザは一般に、適切であると考えられるあらゆる方法でこうした許容可能な内容を使用し始める。
【０００３】
しかし、代わりに、少なくともこうしたユーザの観点から、その内容が要求された検索を満たさないという点で検索結果がユーザにとって許容できない場合もあり得る。こうした場合、ユーザは、新しい検索文字列または前に入力した検索文字列の変更を入力して、こうした新しいまたは変更された検索文字列に基づく検索エンジンからの検索結果を再度調べることを決定する場合がある。こうしたプロセスは、ユーザが許容できる検索結果を見つけ出すまで、検索セッションの形で何度か反復され得ることを理解されたい。
【０００４】
一般に高品質の検索エンジンでは、検索文字列に記載されたユ―ザからの各クエリは、クエリに回答する内容を表す検索結果に正確にマッピングされるべきである。こうした目標は、良質の検索体験を提供するのに欠かせないものであり、実際に、こうした目標を満たすことは、新しい検索セッションで検索エンジンに戻る、幸せで満足したユーザと、代わりに別の検索エンジンにアクセスする、憤慨した満足しないユーザとの間の差を表し得る。
【０００５】
しかし、検索文字列の検索結果へのこうしたマッピングは現在、大ざっぱに言えば、極めて文字通りの意味で各検索用語を使用するマッピングプロトコルに基づいて、大きいインデックスデータベース以外のものに関係なく行われている。したがって、検索文字列のマッピングは、外的な要因を考慮に入れない。
【０００６】
特に、こうしたマッピングは、他のユーザが、別の全検索セッションとの関連で同じまたは類似の検索文字列を以前入力しており、こうした別の全検索セッションとの関連で許容可能な検索結果の一部の組を選んだ可能性があることを考慮に入れない。こうした知識によって、問題のユーザからの検索文字列が別の全検索セッションからの許容可能な検索結果に少なくとも一部分基づいて応答される可能性があることは理解できよう。特に、別の全検索セッションからのこうした許容可能な検索結果は、問題の検索文字列に直接マッピングされない場合はあるが、少なくとも個々の事例で、別の全検索セッションからのこうした許容可能な検索結果は、実際には、こうした結果が同じまたは類似の検索文字列を入力した別のユーザをすでに満足させていることに基づいて問題のユーザからの検索文字列により適しているという証拠がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、同じまたは類似の検索文字列を含んでいる別の全検索セッションからの許容可能な検索結果に少なくとも一部分基づいて検索文字列を検索結果にマッピングする検索エンジンおよびシステムが必要である。より詳細には、別の全検索セッションからのこうした許容可能な検索結果を識別し、同じまたは類似の検索文字列に基づいてこうした許容可能な検索結果を他の許容可能な検索結果とクラスタ化するシステムおよび方法が必要である。最後に、こうしたクラスタ化された検索結果を調べ、現在の検索文字列をクラスタ化された検索結果にマッピングするシステムおよび方法が必要である。
【０００８】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、意図ベースのクラスタを形成し、検索エンジンによってそれを使用して検索要求に応答する、複数の検索セッションを分析してその中の意図ベースのクラスタを識別する方法及び記録媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記の必要性は、複数の検索セッションを分析してその中の意図ベースのクラスタを識別する方法が提供される本発明によって少なくとも一部分満たされる。各セッションは、ユーザから受信した少なくとも１つのクエリおよび対応するゼロ個、１つ、またはそれ以上の戻された検索結果の組を含み、検索結果の各組は、少なくとも１つの内容を含むか、それを参照する。各クラスタは、共通の目的を表すものとして認識され、共通の１組の検索結果にマッピングすることができる１群の類似の検索セッションを表す。この方法では、検索セッションごとに、その受信された各クエリ、対応する１組の検索結果、および検索結果の任意の特定個の内容が対応する検索セッションに応答するものとしてユーザに許容可能であったかどうかが識別される。その後、検索セッションはクラスタに分けられる。
【００１０】
こうした分類を行う際に、複数のエントリを含む表が構築され、各エントリは、各セッションが表内の他のすべてのセッションと単一回で対となるように一意の対のセッションを表す。表のエントリごとに、そのセッションの対の共通性の強度が判断され、次いで表内のエントリは強度の高い順に再配列される。表内の各エントリは、再配列のときに調べられて、判断されたその強度に基づいて、その各セッションを意図ベースのクラスタに割り当てるかどうか、またそうである場合はどのようにして割り当てるかを決定する。
【００１１】
上記の概要、および本発明の実施形態の以下の詳細な説明は、添付の図面を併せ読めばより良く理解できる。本発明の例示のため、図面には現在好ましい実施形態を示している。しかし、本発明は、示した正確な構成または手段に限定されないことを理解されたい。
【発明の効果】
【００１２】
本発明によれば、意図ベースのクラスタを形成し、検索エンジンによってそれを使用して検索要求に応答することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。
【００１４】
コンピュータ環境 
図１および以下の説明は、本発明および／またはその一部を実施できる適したコンピューティング環境の簡単な概説を提供するためのものである。必須ではないが、本発明は、クライアントワークステーションやサーバなど、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な状況で説明する。一般にプログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。さらに、本発明および／またはその一部は、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能家庭用電化製品、ネットワークＰＣ（personal computer）、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成で実施できることを理解されたい。また、本発明は、タスクが通信ネットワークによってリンクされているリモート処理装置によって実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールを、ローカルおよびリモートのメモリ記憶装置に置くことができる。
【００１５】
図１に示すように、汎用コンピューティングシステム例は、プロセッサ１２１、システムメモリ１２２、およびシステムメモリを含む様々なシステム構成要素をプロセッサ１２１に結合するシステムバス１２３を含む従来のパーソナルコンピュータ１２０などを含む。システムバス１２３は、様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちどんなものでもよい。システムメモリは、読み取り専用メモリ（ＲＯＭ）１２４およびランダムアクセスメモリ（ＲＡＭ）１２５を含む。ＢＩＯＳ（Basic Input/Output System）１２６は、例えば起動中など、パーソナルコンピュータ１２０内の要素間での情報の転送を助ける基本ルーチンを含み、ＲＯＭ１２４に格納されている。
【００１６】
パーソナルコンピュータ１２０は、ハードディスク（図示せず）から読み取り、あるいはそこに書き込むハードディスクドライブ１２７、取外式磁気ディスク１２９から読み取り、あるいはそこに書き込む磁気ディスクドライブ１２８、およびＣＤ（compact disc）−ＲＯＭや他の光媒体など、取外式光ディスク１３１から読み取り、あるいはそこに書き込む光ディスクドライブ１３０をさらに含み得る。ハードディスクドライブ１２７、磁気ディスクドライブ１２８、および光ディスクドライブ１３０は、それぞれハードディスクドライブインタフェース１３２、磁気ディスクドライブインタフェース１３３、および光ディスクドライブインタフェース１３４によってシステムバス１２３に接続される。ドライブおよびその関連のコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびパーソナルコンピュータ１２０の他のデータの不揮発性記憶域を提供する。
【００１７】
本明細書に記載した環境例はハードディスク、取外式磁気ディスク１２９、取外式光ディスク１３１およびを使用するが、コンピュータによってアクセス可能なデータを格納することができる他のタイプのコンピュータ可読媒体を動作環境例で使用することもできることを理解されたい。こうした他のタイプの媒体は、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）などを含む。
【００１８】
オペレーティングシステム１３５、１つまたは複数のアプリケーションプログラム１３６、他のプログラムモジュール１３７、およびプログラムデータ１３８を含めて、いくつかのプログラムモジュールをハードディスク、磁気ディスク１２９、光ディスク１３１、ＲＯＭ１２４、またはＲＡＭ１２５に格納することができる。ユーザは、コマンドおよび情報をキーボード１４０およびポインティング装置１４２などの入力装置を介してパーソナルコンピュータ１２０に入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどがある。これらおよび他の入力装置は、しばしばシステムバスに結合されているシリアルポートインタフェース１４６を介してプロセッサ１２１に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）など他のインタフェースで接続してもよい。モニタ１４７または他のタイプの表示装置もまた、ビデオアダプタ１４８などのインタフェースを介してシステムバス１２３に接続される。パーソナルコンピュータは一般に、モニタ１４７に加えて、スピーカやプリンタなどの他の周辺出力装置（図示せず）を含んでいる。図１のシステム例は、ホストアダプタ１５５、ＳＣＳＩ（small computer system interface）バス１５６、およびＳＣＳＩバス１５６に接続されている外部記憶装置１６２も含む。
【００１９】
パーソナルコンピュータ１２０は、リモートコンピュータ１４９など１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク式環境で動作することができる。リモートコンピュータ１４９は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の一般のネットワークノードでよく、一般にパーソナルコンピュータ１２０に関連して上述した多くまたはすべての要素を含むが、図１にはメモリ記憶装置１５０のみを示している。図１に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）１５１および広域ネットワーク（ＷＡＮ）１５２を含む。こうしたネットワーキング環境は、オフィス、全社規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
【００２０】
ＬＡＮネットワーキング環境で使用する場合、パーソナルコンピュータ１２０は、ネットワークインタフェースまたはアダプタ１５３を介してＬＡＮ１５１に接続される。ＷＡＮネットワーキング環境で使用する場合、パーソナルコンピュータ１２０は一般に、モデム１５４、またはインターネットなど広域ネットワーク１５２を介して通信を確立する他の手段を含む。モデム１５４は、内蔵のものでも外付けのものでもよく、シリアルポートインタフェース１４６を介してシステムバス１２３に接続される。ネットワーク式環境では、パーソナルコンピュータ１２０に関連して示したプログラムモジュール、またはその一部をリモートメモリ記憶装置に格納することができる。図示したネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことは理解されよう。
【００２１】
検索結果の意図ベースのクラスタ化 
予備的に、また用語の問題として、本発明との関連で使用されるものなどの検索エンジンとの関連で、検索エンジンにアクセスする各ユーザは、おそらくブール演算子とともに１つまたは複数の検索用語を含む検索文字列を含むクエリを入力することによって検索を要求することを理解されたい。それに応答して、検索エンジンは、それに基づいて１組の検索結果を生成し、こうした検索結果を要求側ユーザに戻す。戻された検索結果が検索要求に関連していると思われる内容の特定の項目を含んでいる場合もあるが、代わりに内容の特定の各項目は、検索結果内の対応するリンクによってアクセスされる可能性が高い。
【００２２】
特に、戻された検索結果が許容されない場合、ユーザは、新しい検索文字列または前に入力した検索文字列の変更のいずれかで別のクエリを入力し、それによって別のクエリに基づいて検索エンジンから別の組の検索結果を生成することができる。次いで関連の一連のクエリは全検索セッションを含み、できればこうした全検索セッションは、ユーザが許容可能な検索結果を見つけ出したときに終了する。
【００２３】
ユーザが検索文字列を入力し、検索結果を調べる過程の間、図２を参照すると、検索エンジンまたは関連のエンティティは、こうした全検索セッションに関連するデータを識別し、格納することができ、しばしばそれらを行う。特に、全検索セッション１２を識別することに加えて、検索エンジンまたは関連のエンティティ（以下「検索アナライザ１０」と呼ぶ）は、中でも、全検索セッション１２の各検索文字列１４、検索文字列１４ごとに戻された検索結果１６を識別し、格納することができる。さらに、検索アナライザ１０は、中でも、戻された各検索結果１６の各リンク１８ごとに、ユーザが関連の内容２０にアクセスしたかどうか、またそれによってユーザがこうしたアクセスされた内容２０を調べるのにどのぐらいの時間を費やしたかを識別し、格納することができる。したがって、検索アナライザ１０、またはこうした情報を含む別のエンティティは、全検索セッション１２から戻された検索結果１６の各組に対してユーザがどれほど満足しているか、または「喜んでいるか」の、定量的でなければ定性的な測度を開発することができることを理解されたい。
【００２４】
上記の機能を実行する検索アナライザ１０は、当業者に知られており、または当業者には明らかであるはずであり、したがって詳しく説明する必要はないことに留意されたい。したがって、任意の適切な検索アナライザ１０を本発明とともに使用することができる。
【００２５】
クエリ１４をセッション１２に分類する検索アナライザ１０の一例として、次のクエリ１４、「車」、「フォード」、「フォードエドセル」、「安い休暇」、および「ロンドンの旅行価格」を検討する。各クエリ１４は、ユーザが検索時に入力した実際のテキストであることを理解されたい。さらに、各クエリは、内容２０へのリンク１８を含む１組の検索結果１６を生成し、検索アナライザ１０によって、各リンク１８が選択されたかどうか、関連の内容２０を調べるのに費やした滞留時間、内容２０に対してとられたスクロールや他のアクション、および他の類似のユーザの挙動など関連のデータが関連付けられている可能性がある。
【００２６】
上記のすべての情報に基づいて、ユーザが２つの個別の意図を有するように思われたという理由で、検索アナライザ１０は、最初の３つのクエリ１４（すなわち「車」、「フォード」、「フォードエドセル」）が第１の全検索セッション１２の一部であり、最後の２つのクエリ１４（すなわち「安い休暇」、「ロンドンの旅行価格」）が第２の全検索セッション１２の一部であると認識するはずである。とはいえ、そのとき、セッション１２は単一のユーザによって連続的に作られた同じ意図または目的を有するクエリ１４のグループであると理解すべきである。
【００２７】
以下でより詳細に説明するように、検索アナライザ１０によって行われる全検索セッションの分析に基づいて、本発明は、将来の検索要求により正確に対応するのに検索エンジンによって使用することができる意図ベースのクラスタ２２を識別することができる。特に、本発明では、検索要求の検索結果へのマッピングは、すでに識別された意図ベースのクラスタ２２に基づいて行われる。各クラスタ２２は、単一の意図を表す。単一の意図は、この状況では、各クラスタ２２は共通の目標または目的（すなわち意図）を有するものとして識別された関連の検索クエリ／文字列１４の集まりであり、したがってほとんどのユーザがその意図に応答するのに許容可能であることが判明した内容２０を含む１組の検索結果１６で応答することができることを意味することを理解されたい。
【００２８】
こうした意図ベースのクラスタ２２を使用して、検索エンジンは、特定のユーザからの特定の検索要求に応答して、インデックスデータベースを参照するだけではなく、実質的に、類似の検索クエリ１４を使用する他のユーザが特定の組またはタイプの検索結果１６で満足したため、特定の検索クエリ１４を使用する特定のユーザが特定の組またはタイプの検索結果１６でも満足するはずであると推定することによって、特定の検索要求に応答することができる。次いで、実質的に、意図ベースのクラスタ２２は、検索クエリ１４の意図を分割し、同じ意図を含む他の全検索セッション１２の検索クエリ１４に応答して以前許容されていた検索結果１６を見つけることによって、検索クエリ１４に応答するために検索エンジンによって使用される。
【００２９】
本発明の一実施形態において、図３を参照すると、検索アナライザ１０は、中でも、複数の全検索セッション１２、全検索セッション１２ごとのその各検索文字列１４、その検索文字列１４について戻された検索結果１６、戻された各検索結果１６の各リンク１８ごとに、ユーザが関連の内容２０にアクセスしたかどうか、およびそれによってユーザがこうしたアクセスされた内容２０を調べるのにどのぐらいの時間を費やしたかを識別する（ステップ３０１）。以下から理解できるように、全検索セッション１２の数が増えるにつれてより良いクラスタ２２が識別され、したがって全検索セッション１２の数は、少なくともこうしたより良いクラスタ２２を提供するのに十分なものとすべきである。
【００３０】
いずれにせよ、検索アナライザ１０からのこうした情報で、こうした検索アナライザ１０または他のエンティティは、各クラスタ２２がユーザの挙動情報を得るために調べることができる意味上似ている１群の全検索セッション１０を表すように、識別された全セッション１２のそれぞれをクラスタ２２に分類する（ステップ３０３）。したがって、こうした意図がすべて同じ目的または目標を表すものとして認識された場合、複数のユーザのそれぞれからの類似の意図は、単一のクラスタ２２に分類することができる。
【００３１】
本発明の一実施形態で、セッション１２をクラスタ２２に分類することは、クエリ１４内のテキストの共通性、および／または結果１６についての判断の共通性に基づいて行われる。したがって、２つのクエリ１４が類似している場合（前者の場合）、そのユーザは、同じ意図／目的／目標を有していた可能性があり、２つのクエリ１４はかなり異なるが、それにも関わらずユーザが類似の結果１６で満足する場合（後者の場合）でさえも、そのユーザは、同じ意図／目的／目標を有していた可能性がある。後者の場合に関して、ユーザは必ずしも同じ結果１６で満足しなければならないわけではなく、代わりに同じ見解を有するだけでもよいことにも留意されたい。
【００３２】
次の例を検討する。
【００３３】
セッション１（Ｓ１）
クエリ１（Ｑ１）：「コンピュータの保護」
リンク１（Ｌ１）：内容１（Ｃ１）で満足
セッション２（Ｓ）
クエリ２（Ｑ２）：「Ｂａｓｉｃでの印刷」
リンク２（Ｌ２）：内容２（Ｃ２）では不満足
リンク３（Ｌ３）：内容３（Ｃ３）では不満足
クエリ３（Ｑ３）：「Ｂａｓｉｃでの複数の文書の印刷」
リンク４（Ｌ４）：内容４（Ｃ４）で満足
セッション３（Ｓ３）
クエリ４（Ｑ４）：「ファイアウォール」
リンク５（Ｌ５）：内容５（Ｃ５）では不満足
リンク６（Ｌ６）：内容６（Ｃ６）では不満足
クエリ５（Ｑ５）：「ファイアウォールを使用可能にする」
リンク７（Ｌ７）：内容７（Ｃ７）では不満足
リンク８（Ｌ８）：内容１（Ｃ１）で満足
セッション４（Ｓ４）
クエリ６（Ｑ６）：「Ｂａｓｉｃの印刷」
リンク９（Ｌ９）：内容８（Ｃ８）では不満足
リンク１０（Ｒ１０）：内容９（Ｃ９）で満足
本発明の一実施形態で、ステップ３０３のように、識別された全セッション１２のそれぞれをクラスタ２２に分類するために、まずその各エントリが１対のセッション１２を表し、各セッション１２が表内の他のすべてのセッション１２と一度対になるように表が構築される（ステップ３０３ａ）。上記に基づいたこうした表の例は、次の通りである。
【００３４】
【表１】
2006107467.tif 000003
【００３５】
その後、セッション１２の各対の共通性の強度に基づいて定量／定性判断が行われる（ステップ３０３ｂ）。特に、共通性の強度は、リンク先の内容（ｌｉｎｋｅｄ−ｔｏ  ｃｏｎｔｅｎｔ）２２によって表されるように、クエリ１４内のテキストの上記の共通性、および／または結果１６についての判断の共通性に基づいて判断される。こうした判断およびその基本原理の一例は次の通りである。
【００３６】
【表２】
2006107467.tif 000004
【００３７】
ここでは、簡潔にするために、任意の共通性は、２の強度の判断をもたらすことに留意されたい。しかし、本発明の意図および範囲から逸脱することなく、他の強度判断値を使用することができ、またより広範な強度値を使用することができる。特に、一構成において、各強度は、内容値の重み付きの類似度および判断値の重み付きの類似度の合計として計算される。
【００３８】
また、セッションＳ１とＳ３との組合せには、いずれもが同じまたは類似の内容Ｃ１をもたらし、こうした内容Ｃ１は、両方のセッションＳ１およびＳ３で満足であることが判明したという事実に基づいて正の強度値が割り当てられていることに留意されたい。つまり、セッションＳ１およびＳ３は、リンク先の内容２２によって表される結果１６についての判断の共通性に基づいて共通性の正の強度を有すると判断された。さらに、セッションＳ２とＳ４との組合せには、両方が同じまたは類似のクエリ（Ｑ２−「Ｂａｓｉｃでの印刷」およびＱ６−「Ｂａｓｉｃの印刷」）を有するという事実に基づいて正の強度値が割り当てられていることに留意されたい。つまり、セッションＳ２およびＳ４は、クエリ１４内のテキストの共通性に基づいて共通性の正の強度を有すると判断された。これは、Ｑ２が満足と思われる内容２２をもたらさなかった場合でさえ当てはまる。
【００３９】
表の各エントリに強度が割り当てられると、表内のエントリは、次のように、強度の高い順に再配列される（ステップ３０３ｃ）。
【００４０】
【表３】
2006107467.tif 000005
【００４１】
その後、表内のエントリは、再配列のときに調べられて、セッション１２の各対を意図ベースのクラスタ２２に割り当てるかどうか、そうである場合はどのように割り当てるかを決定する（ステップ３０３ｄ）。一般に、表内のエントリごとに、そのセッション１２が、定義されたある閾値を上回る判断済みの強度を有することによって最低限の共通性を有していることが判明した場合、エントリのこうしたセッション１２の両方は、次のルールに従ってクラスタ２２に割り当てられる。
【００４２】
−  セッション１２のうちの一方がすでにクラスタ２２に割り当てられている場合、他方のセッション１２は同じクラスタ２２に割り当てられる。
【００４３】
−  いずれのセッション１２もすでにクラスタ２２内にない場合、こうしたセッションは新しいクラスタ２２に割り当てられる。
【００４４】
−  最後に、両方のセッション１２がすでに個別のクラスタ２２にある場合、何もしない。
【００４５】
最後の場合では、表がステップ３０３ｃで強度の高い順に再配列されたため、セッション１２の個別のクラスタ２２への以前の割り当てはより強い共通性に関係していたということに基づいて、何もしないことが好ましいことに留意されたい。
【００４６】
したがって、この例で、最低限の強度より大きいと仮定して、セッションＳ１およびＳ３および強度２という表の第１のエントリを最初に取り上げる。クラスタ２２はまだ作成されていないため、Ｓ１もＳ３もクラスタ２２に割り当てられていない。したがって、別の表で適切に確認することができる（下記参照）ように、Ｓ１およびＳ３は新しいクラスタＣＬ１に割り当てられる。次に、セッションＳ２およびＳ４および強度２という表の第２のエントリを次に取り上げる。ここでは、クラスタＣＬ１は作成されているが、Ｓ２もＳ４もＣＬ１に割り当てられない。したがって、Ｓ２およびＳ４は、新しいクラスタＣＬ２に割り当てられる。第３のエントリで最低限の強度に遭遇するまで、上記の表のエントリに対して、プロセスは続行することを理解されたい。こうした第３のエントリおよび残りのすべてのエントリは、最低限の共通性より小さいものを有するものとして無視することができ、結果として、セッション１２が特定のクラスタ２２にそれぞれ割り当てられた以下の表が得られる。
【００４７】
【表４】
2006107467.tif 000006
【００４８】
第２のエントリと、セッションＳ１およびセッションＳ５およびゼロより大きい強度の第３のエントリとの間に追加のエントリが存在しており、したがってＳ１はすでにＣＬ１に割り当てられており、Ｓ５はどのクラスタ２２にも割り当てられていないため、Ｓ５はクラスタＣＬ１に割り当てられていることに留意されたい。同様に、第２のエントリと、セッションＳ１およびセッションＳ２および強度１の第３のエントリとの間に追加のエントリが存在しており、したがって、２より大きい強度に基づいてＳ１はすでにＳ３とともにＣＬ１に割り当てられており、２より大きい強度に基づいてＳ２はすでにＳ４とともにＣＬ２に割り当てられているため、何も行われないことに留意されたい。
【００４９】
最後に、各クラスタ２２は、クラスタ２２の意図を満たすと思われる１組のリンク１８および／または内容にマッピングされ、したがって同じ認識された意図を含むすべてのクエリ１４がこうしたクラスタ２２に基づいて正しくマッピングされる（ステップ３０３ｅ）。本発明の意図および範囲から逸脱することなく、実際のマッピングを適切に行うことができる。例えば、こうしたマッピングは、任意の適した基準に基づいて手動および／または自動で生成することができる。例えば、直前に記載したクラスタ表、およびそのクエリ１４およびクエリ１６に基づいて、クラスタＣＬ１にマッピングされるクエリ１４は、ＣＬ１のＳ１のＱ１およびＣＬ１のＳ３のＱ５を満たした内容Ｃ１で応答され得る。同様に、クラスタＣＬ２にマッピングされるクエリ１４は、ＣＬ２のＳ２のＱ３を満たした内容Ｃ４、およびＣＬ２のＳ４のＱ９を満たした内容Ｃ９で応答され得る。
【００５０】
【表５】
2006107467.tif 000007
【００５１】
各クラスタ２２は、リンク１８／内容２０にマッピングされており、こうしたマッピングに基づくクエリ１４への応答は、次の方法で行われることに留意されたい。ここでは、クエリ１４の分析にクエリアナライザ（図２）が使用される。特に、受信されたクエリ１４ごとに、クエリアナライザ２４は、受信されたクエリを、すべてのクラスタ２２のすべてのセッション１２の以前のすべてのクエリ１４と比較して、受信されたクエリ１４が以前の任意のクエリ１４と一致するかどうかを判定する（ステップ３０５）。こうした一致は、本発明の意図および範囲から逸脱することなく、適切に行うことができる。例えば、こうした一致は、各比較を得点し、次いで最高得点を有する比較済みの以前のクエリを一致として選択するステップを伴い得る。ただし、検索結果１６に迅速に応答するために、クエリアナライザ２４は、ほぼリアルタイムで動作すべきであることに留意されたい。こうした一致は、当業者に知られており、または当業者には明らかであるはずであり、したがって本明細書でさらに詳しく説明する必要はないことは理解されよう。
【００５２】
いずれにせよ、一致した以前のクエリ１４について、その検索セッション１２が識別され（ステップ３０７）、こうした識別された検索セッション１２の割り当て先クラスタ２２が識別され（ステップ３０９）、こうした識別されたクラスタ２２のマッピング先リンク１８および／または内容が識別され（ステップ３１１）、こうした識別されたリンク１８および／または内容は受信されたクエリに応答を戻すのに使用される（ステップ３１３）。あるシナリオでは、クラスタ２２内の検索文字列１４のすべてが各クラスタ２２の対応する内容２０にマッピングされていることがある。次いで実行時、ユーザがクエリ１４を実行すると、そのクエリ１４のためのクエリ−内容マッピングが存在し、マッピングは、応答して戻すことができる関連の内容２０をもたらす。こうしたシナリオでは、ステップ３０７〜３１１が回避される。
【００５３】
したがって、上記の例の続きとして、受信されたクエリ１４が「ファイアウォールのセットアップ」であり、こうした受信されたクエリ１４が上記Ｓ３のＱ４（「ファイアウォール」）に一致することが判明した場合、Ｓ３はＣＬ１に割り当てられ、ＣＬ１はＣ１にマッピングされているため、Ｃ１が戻され得る。このことは、単にＱ４の一致によって受信されたクエリ１４がそのセッションＳ３と同じ意図を有することが推定されるため、Ｑ４がＳ３を満たすことが判明しなかった場合でさえ当てはまることに留意されたい。
【００５４】
本発明とともに使用されているクエリアナライザ２４は、以前のクエリ１４に受信されたクエリ１４を一致させるのに、受信されたクエリ１４のテキストのみではなくそれ以上を考慮に入れることができることに留意されたい。特に、クエリアナライザ２４は、ユーザのタイプ、受信されたクエリが発信されたソースのタイプ、ユーザのマシンのタイプなどを含めて、他のタイプのデータおよびメタデータを考慮に入れることができる。当然、こうした追加の情報を考慮に入れることは、対応する情報の少なくとも一部が以前の各クエリ１４との関連で使用可能であると推定する。
【００５５】
本発明は、大規模な汎用検索エンジンとの関連で適用することができるが、特にセッション１２の数が増えるにつれて、クラスタ２２のコンパイルおよび維持は抑制される可能性があることを理解されたい。したがって、おそらく無作為または意図的な選択、または特定の情報分野ごとに複数の組のセッション１２を定義することによって、セッション１２の数を限定することが望ましい。
【００５６】
結論
本発明は、任意のタイプまたはサイズの検索エンジンとの関連で、意図ベースのクラスタ２２を構築し、使用することに関して実施することができる。本発明では、本明細書に記載したように、検索文字列１４は、インデックスデータベース内の検索だけではなく、意図ベースのクラスタ２２およびそれにマッピングされるリンク１８および／または内容２０によって表される検索文字列１４の意図の判断に基づいて応答されることを理解されたい。
【００５７】
本発明とともに実行されるプロセスの実行に必要なプログラミングは、比較的簡単であり、関連のプログラミングの当業者には明らかであるはずである。したがって、こうしたプログラミングはここには添付されていない。したがって任意の特定のプログラミングを使用して本発明の意図および範囲から逸脱することなく、それを実行することができる。
【００５８】
上記の説明で、本発明は、同じまたは類似の検索文字列１４を含んだ他の全検索セッション１２からの許容可能な検索結果１６に少なくとも一部分基づいて検索文字列１４を検索結果１６にマッピングする新しく有用なシステムを含むことがわかる。システムは、別の全検索セッション１２からのこうした許容可能な検索結果１６を識別し、同じまたは類似の検索文字列１４に基づいてこうした許容可能な検索結果１６を他の許容可能な検索結果１６とクラスタ化し、こうしたクラスタ化された検索結果１６を調べ、現在の検索文字列１４を検索結果にマッピングする。
【００５９】
その発明の概念から逸脱することなく上述した実施形態に変更を加えることができることを理解されたい。したがって一般に、本発明は、開示した特定の実施形態に限定されるものではなく、添付の特許請求の範囲によって定義された本発明の意図および範囲内の変更をカバーするものとすることを理解されたい。
【図面の簡単な説明】
【００６０】
【図１】本発明の態様および／またはその一部分を組み込むことができる汎用コンピュータシステムを表すブロック図である。
【図２】本発明の一実施形態による、検索セッション、検索文字列、およびその検索結果を検出する検索アナライザ、および検索結果およびその識別されたクラスタを使用するクエリアナライザを示すブロック図である。
【図３】本発明の一実施形態による、図２の要素によって、またそれと関連して実行される主なステップを示すフローチャートである。
【符号の説明】
【００６１】
１０  検索アナライザ
１２  全検索セッション
１４  検索文字列
１６  検索結果
１８  リンク
２０  内容
２２  クラスタ
２４  クエリアナライザ
【図１】
2006107467.tif 000008
【図２】
2006107467.tif 000009
【図３】
2006107467.tif 000010