(57)【特許請求の範囲】
【請求項１】
ユーザの意図の判定を容易にするシステムにおいて、前記システムは、少なくとも中央処理ユニット（ＣＰＵ）と、入力手段と、表示手段とを有しており、
前記入力手段を経由して、入力されるユーザ検索クエリに基づいて、データストア内にストアされたオブジェクトを検索することによって得られるオブジェクトの集合からなる結果集合を識別する検索コンポーネントと、
前記ユーザ検索クエリの結果集合と、前記データストアにストアされた以前のクエリの結果とを比較することによって、ユーザが有益だと気付くことができる可能性のあるサークエリの集合を発見するために、前記ユーザ検索クエリと前記以前のクエリとの関連度を判定して、少なくとも部分的には前記計算された関連度に基づいて、前記表示手段を経由して前記ユーザに表示すべき以前のクエリを選択するクエリ関連カルキュレータとを備え、
少なくとも部分的には前記以前のクエリと前記ユーザ検索クエリの距離指標を求めることによって、前記以前のクエリと前記ユーザ検索クエリとの前記関連度が求められ、
前記距離指標は、アルゴリズム
【数１】
0004753597.tif 000008
を利用することによって求められ、‖ｑ，ｑ’‖は、前記ユーザ検索クエリｑと１つまたは複数の以前のクエリｑ’との距離指標であり、ＲはＱ×Ｄの２項関係であり、Ｑは前記検索コンポーネントによって以前に用いられたクエリの集合であり、Ｄは前記検索コンポーネントによって検索されるデータストア中のオブジェクトの集合であることを特徴とするシステム。
【請求項２】
前記以前のクエリは、前記データストアにストアされた、前記ユーザ検索クエリの前記結果集合に関連付けられたクエリを調べることによって得られることを特徴とする請求項１に記載のシステム。
【請求項３】
前記以前のクエリと前記ユーザ検索クエリの前記関連度は、少なくとも部分的には、修正されたＭＭＲ（ｍａｘｉｍａｌ  ｍａｒｇｉｎａｌ  ｒｅｌｅｖａｎｃｅ）方式を利用することによって得られ、前記ＭＭＲ方式は、アルゴリズム
【数２】
0004753597.tif 000009
を用い、λは事前に設定された補間係数であり、ｑ’’はｑ’を検討する前にすでに検討されたことのある１つまたは複数の以前のクエリを表すことを特徴とする請求項１に記載のシステム。
【請求項４】
前記クエリ関連カルキュレータによって前記可能性のある検索クエリの集合を判定する前に、前記オブジェクトと前記検索クエリとの関連性に従ったランク付けを使用して、前記検索コンポーネントによって識別された前記ユーザ検索クエリの結果集合のオブジェクト数を制限するフィルタコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項５】
前記クエリ関連カルキュレータによって、前記ユーザ検索クエリと前記以前のクエリとの関連度を判定する前に、前記ユーザ検索クエリより単語数が少ない以前のクエリを、前記可能性のある検索クエリの集合を判定する検討から除外するフィルタコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項６】
前記クエリ関連カルキュレータによって、前記ユーザ検索クエリと前記以前のクエリとの関連度を判定する前に、予め決められた文字列を含む以前のクエリを、前記可能性のある検索クエリの集合を判定する検討から除外するフィルタコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項７】
前記クエリ関連カルキュレータによって、前記ユーザ検索クエリと前記以前のクエリとの関連度を判定する前に、印刷不可能なＡＳＣＩＩ文字である文字からなる以前のクエリを、前記可能性のある検索クエリの集合を判定する検討から除外するフィルタコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項８】
前記入力手段を経由して、ユーザが特定の条件を入力できるようにすることによって、ユーザの嗜好に従った前記システムのカスタマイズを容易にするフィードバックコンポーネントをさらに備え、前記カスタマイズは、
ユーザが返されることを望まない特定のユーザ検索クエリを入力すること、
前記結果集合の中の返されるオブジェクトの数を指定すること、
ユーザに返される前記可能性のある検索クエリの数を指定すること、
前記可能性のある検索クエリおよび前記返されるオブジェクトを前記表示手段に表示するための表示フォーマットを決定すること
からなるグループの中の少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項９】
前記検索コンポーネントは、ユーザの状態、ユーザの履歴、ユーザの状況、ならびに／または、状況情報の１つまたは複数に従ってユーザに返すために、前記システムに関連付けられたセンサから与えられる情報を使用して、前記可能性のある検索クエリの選択および構成の少なくとも１つに関して推論を行う人工知能コンポーネントをさらに含むことを特徴とする請求項１に記載のシステム。
【請求項１０】
前記状況情報は、温度、時刻、場所、および曜日の１つまたは複数を含むことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記可能性のある検索クエリの選択および構成の少なくとも１つに関連する情報、ならびに、前記フィードバックコンポーネントによってカスタマイズのために使用されたユーザの前記特定の条件を保存するユーザプロファイルをさらに備えたことを特徴とする請求項８に記載のシステム。
【請求項１２】
前記ユーザプロファイルは移植可能であることを特徴とする請求項１１に記載のシステム。
【請求項１３】
ユーザの意図の判定を容易にするシステムにおいて、前記システムは、少なくとも中央処理ユニット（ＣＰＵ）と、入力手段と、表示手段とを有しており、
前記入力手段を経由してユーザ検索クエリを受け取り、前記ユーザ検索クエリに従ってデータストア中のオブジェクトを検索する検索エンジンであって、前記データストアにストアされているオブジェクトは、該オブジェクトを見つけるために以前に使用されたクエリと既に関連付けられている検索エンジンと、
前記ユーザ検索クエリと比較して、ユーザが有益であると気付くことができる可能性のある検索クエリの集合を発見するために、前記ユーザ検索クエリと前記以前のクエリとの関連度を判定して、少なくとも部分的には前記計算された関連度に基づいて、前記表示手段を経由して前記ユーザに表示すべき以前のクエリを選択するクエリ関連カルキュレータとを備え、
前記関連度は、少なくとも部分的には、前記ユーザ検索クエリと前記以前のクエリの距離指標に基づいており、
前記距離指標は、アルゴリズム
【数３】
0004753597.tif 000010
を利用することによって求められ、‖ｑ，ｑ’‖は前記ユーザ検索クエリｑと１つまたは複数の以前のクエリｑ’の距離指標であって、ＲはＱ×Ｄの２項関係であり、Ｑは前記検索エンジンによって以前に用いられたクエリの集合であり、Ｄは前記検索エンジンによって検索されるデータストア中のオブジェクトの集合であることを特徴とするシステム。
【請求項１４】
前記以前のクエリと前記ユーザ検索クエリの前記関連度は、少なくとも部分的には、修正されたＭＭＲ（ｍａｘｉｍａｌ  ｍａｒｇｉｎａｌ  ｒｅｌｅｖａｎｃｅ）方式を利用することによって得られ、前記ＭＭＲ方式は、アルゴリズム
【数４】
0004753597.tif 000011
を用い、λは事前に設定された補間係数であり、ｑ’’はｑ’を検討する前にすでに検討されたことのある１つまたは複数の以前のクエリを表すことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記オブジェクトは、ドキュメント、音声、ビデオ、画像、およびウェブサイトの１つまたは複数からなることを特徴とする請求項１３に記載のシステム。
【請求項１６】
ユーザが、前記入力手段を経由して、前記可能性のある検索クエリから前記以前のクエリの１つを選択し、前記選択された以前のクエリが新たに前記ユーザ検索クエリとして用いられることを特徴とする請求項１３に記載のシステム。
【請求項１７】
請求項１３に記載のシステムを備えたことを特徴とする携帯電話。
【請求項１８】
請求項１３に記載のシステムを備えたことを特徴とする携帯情報端末。
【請求項１９】
請求項１３に記載のシステムを備えたこと特徴とするクライアント。
【請求項２０】
前記データストアは、インターネット上、イントラネット上またはサーバ上に位置するハードドライブ、またはローカルに位置するハードドライブの少なくとも１つであることを特徴とする請求項１３に記載のシステム。
【請求項２１】
前記ユーザ検索クエリと前記以前のクエリの関連度を判定するとともに、前記ユーザ検索クエリのリターン集合と前記以前のクエリのリターン集合との間に要求される重複の量を選択するために用いられるセレンディピティ（ｓｅｒｅｎｄｉｐｉｔｙ）コンポーネントであって、
前記重複の量が多く選択されるときは、前記ユーザ検索クエリと類似し、意外性の低い前記以前のクエリが返され、前記重複の量が少なく選択されるときは、前記ユーザ検索クエリに対して予期しない形で関連し、かつ有用な情報を提供する可能性のある前記以前のクエリが提供されるセレンディピティコンポーネントをさらに備えることを特徴とする請求項１３に記載のシステム。
【請求項２２】
前記セレンディピティコンポーネントの前記重複の量は、前記入力手段を経由して、ユーザによって変更可能であることを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記セレンディピティコンポーネントの前記重複の量は、
ユーザの状態、ユーザのＩＤ、ユーザの状況、ならびに、ユーザ履歴の１つまたは複数に少なくとも部分的に基づいて、前記可能性のある検索クエリの選択および構成の少なくとも１つに関して推論を行う人工知能コンポーネントによって、自動的に調整されることを特徴とする請求項２１に記載のシステム。
【請求項２４】
少なくとも中央処理ユニット（ＣＰＵ）と、入力手段と、表示手段とを有するコンピュータによって実行される、複数のオブジェクトに対するユーザ検索を支援する方法において、
前記ＣＰＵが、
前記入力手段を経由して、ユーザ検索クエリを受け取るステップと、
ユーザ検索の結果集合を生成するために、前記ユーザ検索クエリに従ってデータストアのオブジェクトを検索するステップであって、前記オブジェクトは、該オブジェクトを見つけるために以前に用いられたクエリと関連付けられているステップと、
前記ユーザ検索クエリと比較して、ユーザが有益であると気付くことができる可能性のある検索クエリの集合を判定するために、前記ユーザ検索クエリの前記結果集合および、前記データストアにストアされた以前のクエリの結果に少なくとも部分的に基づいて、前記以前に使用されたクエリを特定するステップと、
前記ユーザ検索クエリと前記以前のクエリとの関連度を判定するステップであって、前記関連度は、少なくとも部分的には、前記ユーザ検索クエリと前記以前のクエリの距離指標に基づいており、前記距離指標は、アルゴリズム
【数５】
0004753597.tif 000012
を利用することによって求められ、‖ｑ，ｑ’‖は、前記ユーザ検索クエリｑと１つまたは複数の以前のクエリｑ’との距離指標であり、ＲはＱ×Ｄの２項関係であり、Ｑは前記ＣＰＵの検索によって以前に用いられたクエリの集合であり、Ｄは前記ＣＰＵの検索によって検索されるデータストア中のオブジェクトの集合であるステップと、
前記以前のクエリの結果集合と前記ユーザ検索の結果集合との間の計算された関連度に基づいて、以前に用いられたクエリを選択するステップと、
前記表示手段に、前記選択されたクエリを表示するステップと
を備えることを特徴とする方法。
【請求項２５】
前記以前のクエリの結果集合と前記ユーザ検索の結果集合との間の前記関連度を計算するために、修正されたＭＭＲ（ｍａｘｉｍａｌ  ｍａｒｇｉｎａｌ  ｒｅｌｅｖａｎｃｅ）方式を利用するステップをさらに備え、前記ＭＭＲ方式は、アルゴリズム
【数６】
0004753597.tif 000013
を用い、λは事前に設定された補間係数であり、ｑ’’はｑ’を検討する前にすでに検討されたことのある１つまたは複数の以前のクエリを表すことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記入力手段を経由して、前記表示されたクエリを選択するユーザ入力を受け入れるステップと、前記ユーザ入力によって選択されたクエリを新しいユーザ検索クエリとして利用するステップとをさらに備えることを特徴とする請求項２４に記載の方法。
【請求項２７】
前記データストアは、インターネット上、イントラネット上またはサーバ上に位置するハードドライブ、またはローカルに位置するハードドライブの少なくとも１つであることを特徴とする請求項２４に記載の方法。
【請求項２８】
オブジェクトの検索に関連してユーザを支援するシステムにおいて、前記システムは、少なくとも中央処理ユニット（ＣＰＵ）と、入力手段と、表示手段とを有しており、
データストアにストアされたオブジェクトを、それらのオブジェクトを見つけるために以前に利用されたクエリに関連付ける手段と、
前記データストアにストアされたオブジェクトの集合からなる結果集合を得るために、前記入力手段を経由して入力されるユーザ検索クエリに基づいて前記オブジェクトを検索する手段と、
前記以前に利用されたクエリと前記ユーザ検索クエリとの関連度を決定する手段であって、前記ユーザ検索クエリの前記結果集合と、前記データストアにストアされた以前のクエリの結果とを比較することによって、ユーザが有益であると気付くことができる可能性のある検索クエリの集合を判定する決定する手段と、
前記決定された関連度に従って、前記表示手段を経由して以前に利用されたクエリを表示する手段とを備え、
前記関連度は、少なくとも部分的には、前記ユーザ検索クエリと前記以前のクエリの距離指標に基づいており、前記距離指標は、アルゴリズム
【数７】
0004753597.tif 000014
を利用することによって求められ、‖ｑ，ｑ’‖は、前記ユーザ検索クエリｑと１つまたは複数の以前のクエリｑ’との距離指標であり、ＲはＱ×Ｄの２項関係であり、Ｑは前記検索する手段によって以前に用いられたクエリの集合であり、Ｄは前記検索する手段よって検索されるデータストア中のオブジェクトの集合であることを特徴とするシステム。
【請求項２９】
少なくとも中央処理ユニット（ＣＰＵ）と、入力手段と、表示手段とを有しているコンピュータによって実行可能なコンピュータ実行可能命令が格納されたコンピュータ読取り可能記憶媒体において、前記命令は、前記コンピュータに、
データストアにストアされたオブジェクトの集合からなる結果集合を得るために、前記入力手段を経由して入力されるユーザ検索クエリに基づいて複数のオブジェクトから検索するステップであって、前記オブジェクトは、以前にそれらのオブジェクトを見つけるために用いられたクエリに関連付けられているステップと、
前記ユーザ検索クエリの前記結果集合と、前記データストアにストアされた以前のクエリの結果とを比較することによって、ユーザが有益であると気付くことができる可能性のある検索クエリの集合を判定するために、前記ユーザ検索クエリと前記以前に用いられたクエリとの関連度を計算するステップであって、前記関連度は、少なくとも部分的には、前記ユーザ検索クエリと前記以前のクエリの距離指標に基づいており、前記距離指標は、アルゴリズム
【数８】
0004753597.tif 000015
を利用することによって求められ、‖ｑ，ｑ’‖は、前記ユーザ検索クエリｑと１つまたは複数の以前のクエリｑ’との距離指標であり、ＲはＱ×Ｄの２項関係であり、Ｑは前記ＣＰＵの検索によって以前に用いられたクエリの集合であり、Ｄは前記ＣＰＵの検索によって検索されるデータストア中のオブジェクトの集合であるステップと、
前記計算された関連度に従って、１つまたは複数の以前のクエリを前記表示手段を経由して表示するステップと
を実行させることを特徴とするコンピュータ読取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、オブジェクトの集まりを検索することに関し、より詳細には、ユーザクエリのリターン結果と一部が重複するリターン結果に対応するクエリをユーザに提供することにより、ユーザクエリに関するユーザの意図を判定するのを助けるシステムおよび方法に関する。
【背景技術】
【０００２】
高コストで低パフォーマンスのデータ処理システムから低コストで高パフォーマンスの通信システム、問題解決システム、そして娯楽システムへと、コンピュータとネットワーク技術が発展した。その結果、通信、請求書の支払い、買い物、予算編成、情報収集などの日常的作業を行う負担を軽減し、費用対効果が高く、時間を節減する手段がもたらされた。例えば、有線技術または無線技術を介してインターネットとのインタフェースをとるコンピューティングシステムは、世界中に配置されたウェブサイトとサーバの宝庫の中の豊富な情報に、ユーザの意のままにほぼ瞬時にアクセスする経路をユーザに提供することができる。
【０００３】
通常、ウェブサイトおよびサーバを介して入手することができる情報は、ウェブクライアント（コンピュータなど）で実行されるウェブブラウザを介してアクセスされる。例えば、ウェブユーザは、ウェブブラウザを展開し、ウェブサイトのＵＲＬ（ユニフォームリソースロケータ）（ウェブアドレス、インターネットアドレス、イントラネットアドレスなど）をウェブブラウザのアドレスバーに入力し、キーボードのエンターキーを押すか、マウスで「ｇｏ」ボタンをクリックすることにより、ウェブサイトにアクセスすることができる。通常、ＵＲＬは、アクセスを助ける４つの情報、すなわち、情報を交換するための規則および標準の一組を表示するプロトコル（コンピュータ同士が通信するための言語）、ウェブサイトの場所、そのウェブサイトを保守している組織の名前、および、組織の種類を識別するサフィックス（ｃｏｍ、ｏｒｇ、ｎｅｔ、ｇｏｖ、ｅｄｕなど）を含んでいる。
【０００４】
場合によっては、ユーザは自分がアクセスしたいサイトまたはサーバのＵＲＬを事前に知っている。そのような状況では、上記のように、ユーザはアドレスバーにそのＵＲＬを入力し、そのサイトに接続することによりサイトにアクセスすることができる。その他の場合、ユーザは、アクセスしたい特定のサイトは分かっているが、そのサイトのＵＲＬを知らない。そのサイトを見つけるには、ユーザは単に、検索エンジンにサイト名を入力してそのサイトを検索することができる。しかし、多くの場合、ユーザは、単に特定のトピックに関する情報を探しており、求める情報を含んでいるサイトの名前は知らない。そのような情報を見つけるために、ユーザは、ユーザから与えられたクエリに基づいて、情報を見つけるのを助ける検索機能（検索エンジンなど）を用いる。しかし、求める情報を見つけるためのクエリを生成することは、普通の検索者には難しい場合がある。より詳細には、ユーザの意図（ユーザが見つけようとする情報）を十分に表すクエリを与えることは、大半のユーザにとっては困難である。例えば、経験的なデータによると、大半の検索クエリの長さは約２語であり、一般に、これではそのクエリに基づいて特定の情報を見つけ出すのには不十分である（すなわち、得たいと思う情報に対してクエリの指定が不十分である）。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在、指定が不十分なクエリを与えられた場合に、ユーザが検索内容を絞りこむのを助けるために、複数の技術が検索エンジンにおいて用いられている。第１の手法は、人間が、データベース（インターネット上のサイトなど）のオブジェクトを手作業によって論理的な階層方式で分類するものである。そのようなシステムは、効率的に検索することができ、非常に正確であるが、階層中の各オブジェクトを分類するために必要とされる作業量からみれば、構築するのに大きな費用を要する。さらに、この技術においては、分類されるまではオブジェクトを検索することができないので、多くのユーザに対する十分な検索範囲を実現することができない。別の手法では、機械学習されたテキスト分類を利用して、階層シェル内のオブジェクトを自動的に分類する。この手法は、検索範囲に関してはメリットがあり、このような手法を利用して構築されるシステムは、構築するのにそれほどコストがかからない（継続的に階層にオブジェクトを挿入するために、多数の人手を必要としない）。しかし、階層シェルを構築する必要があり、またそのようなテキスト分類方式は静的であり、異なるユーザのニーズに合わせて変化することができない。さらに、この技術を利用して構築されたシステムは、時間の経過に従って適合することができず、階層を再構成する際には多大な費用を要する。
【０００６】
従来の検索エンジンは、クラスタリング技術を利用して上述の不備を緩和することもしている。例えば、複数のサイトをクラスタリングして、検索クエリに対してより関連性の高い結果を得るのを助けることができる。返される結果に、「同様の検索結果を見る（ｍｏｒｅ  ｌｉｋｅ  ｔｈｉｓ）」と題されたリンクを関連付けることができ、そのリンクを選択することで、「同様の検索結果を見る」リンクに関連付けられたクラスタにあるドキュメントのさらなるクラスタ化および／または表示を簡単にすることができる。しかし、クエリを介して見つけられた関連するドキュメント（および関連するクラスタ）は、そのドキュメントがクエリとそれほど高い関連性がないことを示唆する状態で、ユーザに返される可能性がある。したがって、ユーザは、得ようとしている情報を見つけるために、何ページものドキュメントを読まなければならない場合がある。さらに、ドキュメントを常にクラスタリングするのは、計算処理上においても高コストを要する。
【０００７】
従来の検索エンジンが用いる別の典型的なシステムは、ユーザが入力したクエリに対して返されるドキュメントがない場合に、ユーザにクエリを提供する。例えば、ユーザがモーツァルトの初期の作品に関する情報を見つけたいとする。一般に、ユーザは、「クラシック音楽」という指定が不十分なクエリを入力することが考えられる。しかし、ユーザが間違って「クレシック音楽」というクエリを入力した場合、検索エンジンは、（クエリの入力ミスのために）そのクエリを利用して返されるドキュメントは存在しないと判断し得る。その後、検索エンジンは、入力されたクエリに実質的に類似すると検索エンジンが判断するクエリによって、ユーザに指示することができる。例えば、検索エンジンは、「もしかして“クラシック音楽”？」とたずねることにより、ユーザに促すことができる。ユーザが肯定の返答をすると、正しいクエリを実行することができ、検索結果を得ることができる。このようなシステムは、入力ミスやスペルミスを訂正する事に関しては有用であるが、モーツァルトの初期の作品（ユーザの真の意図）に密接に関連する結果を提供はしない。ユーザには、クラシック音楽に関連しているがモーツァルトの初期の作品とは関連のない相当な量の情報が返される。ユーザは、例えば、求める情報を含むドキュメントを見つけるまでに、数百もの一覧に目を通さなければならない可能性がある。
【０００８】
したがって、ユーザが、ユーザの意図に従って結果を得るクエリを利用するのを支援する検索システムおよび／または方法論に対する強いニーズが当技術分野に存在する。
【課題を解決するための手段】
【０００９】
本発明のいくつかの態様の基本的理解を与えるために、以下に、本発明の要約を簡潔に述べる。この要約は、本発明の広範囲にわたる概要ではない。この要約は、本発明の主要／不可欠な要素を明らかにするものでも、本発明の範囲を詳述するものでもない。その唯一の目的は、その後に述べるより詳細な説明の前置きとして、簡略化した形で本発明の概念の一部を述べることである。
【００１０】
本発明は、一般にユーザが考えていることをユーザ検索クエリに移し変えることは難しいという発明者の認識に基づいている。より詳細には、個人は、自分が見つけようとしているオブジェクトを、データストア（インターネットなど）において見つけられるクエリを生成することは難しい。本発明は、検索対象となることが望ましいオブジェクトに関して、ユーザが自身の意図を見つけるのを支援することを対象とする。これは、検索対象となるデータストア中の各オブジェクトを、そのオブジェクトを見つけるために以前に用いられたクエリに関連付けることによって、達成される。例えば、いくつかの異なるクエリを利用して、実質的に類似したオブジェクトを見つけることができる。そのため、クエリを介してオブジェクトがアクセスされるたびに、そのクエリがそのオブジェクトに関連付けられる。例えば、検索エンジンに入力された各クエリ（またはその署名）を記憶することができ、そのクエリによって見つけられたオブジェクト（結果集合）も同様に記憶することができる。ただし、オブジェクトを以前にそのオブジェクトを見つけるために用いられたクエリに関連付ける任意の方式が、本発明によって企図されることを理解されたい。
【００１１】
検索コンポーネントがユーザクエリを受け取り、そのユーザクエリに従ってデータストアにおいてオブジェクトを検索する。返されるオブジェクトの集まりが、そのクエリの結果集合を形成する。本発明の一態様によれば、結果集合は、閾値数の上位ランクオブジェクトに制限することができる。これは、ユーザクエリを利用した検索が、多数の（何百万もの）オブジェクトを返す場合に有用である。結果集合中のオブジェクトを調べ、それらのオブジェクトを見つけるために用いられた以前のクエリを検討する。それらの以前のクエリも、結果集合（それらの以前のクエリを利用して検索が行われた場合に返されるオブジェクトの集まり）に関連付けられている。本発明の目的は、ユーザ検索クエリの結果集合に関連性があるが、その結果集合に実質的に類似しない結果集合を持った以前のクエリを選択し、ユーザに表示することである。一方、実質的に類似する結果集合を持った以前のクエリは、同時にユーザに表示されない。これは、実質的に類似する結果集合を持った以前のクエリを表示しても、検索に関してユーザの助けとならないためである。むしろ、ユーザは、似たようなクエリを大量に受け取ることになる。関連する以前のクエリが表示されると、ユーザは、その以前のクエリを検討し、そのうちの１つまたは複数がユーザの検索クエリと比べて自身の意図をより良く表しているかどうかを判断することができる。さらに、ユーザは、表示された以前のクエリを選択して、そのクエリに関連付けられた結果集合を見ることができる。したがって、ユーザは、求めるオブジェクトを見つけるために以前に用いられたクエリを利用することにより、所望のオブジェクトを迅速に見つけることができる。
【００１２】
本発明の特定の一態様によれば、ユーザの検索クエリと以前のクエリの距離指標（ｄｉｓｔａｎｃｅ  ｍｅｔｒｉｃｓ）を用いて、ユーザに表示すべきクエリを判定することができる。この距離指標は、ユーザ検索クエリのリターン集合と以前のクエリのリターン集合に基づいて求められる。距離指標を求めると、修正されたＭＭＲ（ｍａｘｉｍａｌ  ｍａｒｇｉｎａｌ  ｒｅｌｅｖａｎｃｅ）方式を利用して、ユーザの検索クエリの結果集合に関連性があり、かつ、ユーザの検索クエリのリターン集合と比較して新規であるリターン集合を有する以前のクエリを見つけることができる。より詳細には、ユーザの検索クエリのリターン集合にあるオブジェクトは、以前のクエリのリターン集合にあるオブジェクトと関連性があるが、実質的に類似しない。この方式は、ユーザの検索クエリに従って、リターン集合を、以前のクエリによって見つけられた関連する複数のリターン集合に効果的に区分する。
【００１３】
前述の目的および関連する目的を達成するために、以下の説明および添付図面との関連で本発明の特定の例示的態様を説明する。ただし、それらの態様は、本発明の原理を用いることができる各種方式の数例に過ぎず、本発明は、それらの態様とその均等物をすべて包含するものとする。本発明のその他の利点と新規の特徴は、図面と併せて以下の本発明の詳細な説明を検討することから明らかになろう
【発明を実施するための最良の形態】
【００１４】
次いで、図面を参照して本発明を説明する。すべての図面を通じて同一の要素は同一の参照符号を使用して参照する。以下の説明では、説明の目的で、本発明の完全な理解を提供するために多数の具体的な詳細を述べる。ただし、本発明は、それらの具体的な詳細事項を用いないで実施してよいことは明白であろう。他の例では、本発明の説明を助けるために、よく知られる構造およびデバイスはブロック図の形態で示す。
【００１５】
本願で使用される用語「コンポーネント」、「ハンドラ」、「モデル」、「システム」等は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、あるいは実行中のソフトウェアを問わず、コンピュータに関連するエンティティを指すものとする。例えば、コンポーネントは、これに限定しないが、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および／またはコンピュータ等である。例示として、サーバ上で実行されるアプリケーションとサーバの両方がコンポーネントとなることができる。プロセスおよび／または実行のスレッド中には１つまたは複数のコンポーネントが存在することができ、コンポーネントは、１台のコンピュータ上に集中していても、２台以上のコンピュータに分散していてもよい。また、それらのコンポーネントは、各種のデータ構造が記憶された各種のコンピュータ読取り可能媒体から実行することができる。コンポーネントは、１つまたは複数のデータパケットを有する信号などに従って、ローカルプロセスおよび／またはリモートプロセスを介して通信することができる（例えば、あるコンポーネントのデータが、ローカルシステム、分散システムにある別のコンポーネントと対話する、または、インターネットなどのネットワークを通じて信号を介して他のシステムと対話するなど）。
【００１６】
次いで図１を参照すると、ユーザの検索クエリを考慮してユーザの意図を判定するのを助けるシステム１００が示される。システム１００は、クエリを受け取り、そのクエリに従ってデータストア１０４のオブジェクトを検索するのに用いられる検索エンジン１０２を含む。検索エンジン１０２は、任意の適切な検索アルゴリズムを用いて、データストア１０４のオブジェクトを見つけ、ランク付けし、取り出すことができる。さらに、検索エンジン１０２は、適当なものであればどのような検索にも利用することができる。例えば、検索エンジン１０２は、インターネットを通じた検索の場合に一般的であるようにテキスト検索を行うことができる。しかし、検索エンジン１０２を用いて、画像の集まりを検索するための色体系、特定の音声を検索するための音声バイト、あるいはユーザが検索しようと望む他のどのような適当なオブジェクトも利用することができる。さらに、検索エンジン１０２が受け取るクエリは、テキスト文字列に限定されない。例えば、クエリは、音声あるいは音声の連続、形状、色パターンなどであってよい。
【００１７】
クエリを受け取ると、検索エンジン１０２は、データストア１０４のオブジェクトの集まりを検索し、クエリに沿ってオブジェクトを取り出す。本発明の一態様によれば、データストア１０４は、サーバ上に存在することができ、インターネットおよび／またはイントラネット上に存在することができる複数のウェブページまたは他のドキュメントを含むことができる。さらに、データストア１０４は、パーソナルコンピュータ（クライアント）のハードドライブおよび／またはメモリに存在することができる。データストア１０４およびそのデータストア１０４の中のオブジェクトは、インターネットおよび／またはイントラネット上に存在するウェブページに限定されないことは理解されたい。データストア１０４（または別個のデータストア、検索エンジン１０２．．．）は、データストアのオブジェクトを、以前にそれらのオブジェクトを検索するために用いられたクエリに関連付けることができる。例えば、データストア１０４のオブジェクト１は、以前にクエリＱ１、Ｑ２、およびＱ４との関連で検索エンジン１０２を介して見つけられている。同様に、データストア１０４のオブジェクト２は、以前にクエリＱ２、Ｑ５、およびＱ８との関連で検索エンジン１０２によって見つけられている。多くの場合、検索エンジンが受け取るクエリは指定が不十分であり、そのため、ユーザが見つけようとしたオブジェクトに関連しない多数のオブジェクトが返される。本発明は、以前にデータストア１０４中のオブジェクトを見つけるのに用いられた異なるクエリを利用することにより、受け取ったクエリに従って結果の集合を区分する。
【００１８】
より詳細には、特定のクエリを与えられると、検索エンジン１０２は、データストア１０４中にある複数のオブジェクト（最初のリターン集合）を取り出し、それらのオブジェクトは、以前にそれらのオブジェクトを見つけるのに利用されたクエリに関連付けられている。この最初のリターン集合には、検索エンジン１０２にクエリを入力したユーザによって見直されるのが望ましいオブジェクトが少なくとも１つある（すなわち、ユーザはそのオブジェクトを見つけようとしたが、十分に特定されたクエリを生成しなかった）。検索エンジン１０２は、関連カルキュレータ１０６に関連付けられている。そして、関連カルキュレータ１０６は、データストア１０４のオブジェクトに関連付けられたクエリのリターン集合に基づいて、最初のリターン集合を複数のリターン集合に区分する。関連カルキュレータ１０６は、基本的に、最初のリターン集合にあるオブジェクトに関連付けられた各クエリ（各クエリに関連付けられたリターン集合）を調べる。そして、最初のクエリと、最初のリターン集合にあるオブジェクトを見つけるのに以前に用いられたクエリとの関連の度合いを判定する。次いで、関連カルキュレータ１０６は、ユーザが１つまたは複数のオブジェクトを見つける際にユーザにとって役立ちうる複数のクエリを決定することができる。両方とも最初のリターン集合との関連性が高く、しかし異なるオブジェクトを生成する複数のクエリを、ディスプレイ１０８を介してユーザに返すことができる。例えば、検索エンジン１０２によって与えられたランク付けに従って最初の複数のオブジェクトに含まれる実質的に同じオブジェクトを返すクエリは、関連性が高くても、新しい結果は生成しない。より具体的な例では、最初のクエリが「ｆｌｙ  ｆｉｓｈｉｎｇ」であるとする。関連するクエリは「ｆｌｙ  ＆  ｆｉｓｈｉｎｇ」になるが、その場合は、例えば最初の結果のページに、実質的に似たようなオブジェクトが返される。したがって、そのクエリは実質的に類似する結果を生成するので、関連カルキュレータ１０６は、そのようなクエリをユーザに返さない。同様に、関連カルキュレータ１０６が、そのようなクエリはほとんど関連性がないと判断するので、ほとんど関連性のないオブジェクトが返されるクエリもユーザに返されない。具体的な例では、ダンスを対象とするオブジェクトが、フライフィッシングに関する小さな部分を含む可能性がある。しかし、そのオブジェクトに関連するクエリの大半は、フライフィッシングに関連するオブジェクトではなく、ダンスに関連する多数のオブジェクトを返す。そのため、関連カルキュレータ１０６は、最初のクエリと、最初のクエリを介して返されるオブジェクトに関連付けられたクエリとの関連の度合いを判定し、関連するオブジェクトに関連付けられたクエリと、新規のオブジェクトに関連付けられたクエリをユーザに返す。
【００１９】
特定の一例では、以前にデータストア１０４中または他の同様のデータストア中のオブジェクトを検索するのと関連して、検索エンジン１０２により用いられたクエリの集合をＱとし、ユーザによって検索エンジン１０２に入力されたクエリをｑとする。データストア１０４中で見つけられるオブジェクトの集合をＤとし、ユーザがクエリｑを介して見つけようとする特定の１つのオブジェクトをｄとする。Ｑ×Ｄの２項関係をＲと定義することができ、ｄがクエリｑに対するリターン集合にある場合に限りｑＲｄになる。したがって、クエリｑを与えられると、関連カルキュレータ１０６は、（∃ｄ∈Ｄ）（ｑＲｄ∧ｑ’Ｒｄ）となるようにすべてのクエリｑ’を見つけることができる。より詳細には、関連カルキュレータ１０６は、リターン集合（Ｒ−１°Ｒ）［ｑ］を求める。ただし、本発明により、この結果の集合の外にあるクエリを見つけ、表示することができることを理解されたい。例えば、本発明との関連でクエリの関連度を測る別の測定法を用いることができる。大半の事例においては、指定が不十分なクエリの場合、リターン集合（Ｒ−１°Ｒ）［ｑ］は極めて大きくなる（すなわち指定が不十分なクエリは何千もの関連クエリを有する可能性がある）。何千ものクエリをユーザに提示するのは現実的でないため、関連カルキュレータ１０６は、各種のアルゴリズムを用いて、最初のクエリｑとリターン集合（Ｒ−１°Ｒ）［ｑ］のクエリとの関連度を測定することができる。本発明の一態様によれば、関連カルキュレータ１０６は、アルゴリズム
【００２０】
【数１】
0004753597.tif 000002
【００２１】
を使用し、その後、関連するクエリの集合を‖ｑ，ｑ’‖に従って分類し、複数の上位クエリをユーザに返すことができる。
【００２２】
本発明の一態様によれば、距離指標‖ｑ，ｑ’‖の計算に関連して、相対的なランク付けを考慮することができる。例えば、２つのクエリｑおよびｑ’に対してオブジェクトｄが返される位置を、距離指標を計算する際に考慮することができる。より詳細には、距離指標は、オブジェクトｄが２つのクエリｑおよびｑ’の１つまたは複数に対して返される１００番目の結果である場合と比較して、オブジェクトｄが２つのクエリｑおよびｑ’のそれぞれに対して返される1番目の結果である場合とを、別個に計算することができる。例えば、距離指標は次のように計算することができる。
【００２３】
【数２】
0004753597.tif 000003
【００２４】
ｗは、クエリに依存したオブジェクトの重み関数である（オブジェクトのＰａｇｅＲａｎｋ）。ｗの範囲が正である限り、上記で定義された関数は、距離指標になる。ただし、本発明の１つまたは複数の態様が効果的に動作するために、相対的なランク付けの考慮は必須でないことを理解されたい。
【００２５】
しかし、通常、距離指標‖ｑ，ｑ’‖に従って分類された関連クエリの集合は、最初のクエリに似過ぎていてユーザのメリットにはならない（すなわち、それらのクエリは、最初のクエリを介して返されるオブジェクトに実質的に類似するオブジェクトを返す）。そのため、修正されたＭＭＲ（ｍａｘｉｍａｌ  ｍａｒｇｉｎａｌ  ｒｅｌｅｖａｎｃｅ）方式あるいは他の適切な関連性の方式を用いることで、関連するオブジェクトを返すが、最初のクエリの結果集合と比較して実質的に類似するオブジェクトを返さないようなクエリを見つけることができる。修正されたＭＭＲ方式を関連カルキュレータ１０６によって用いて、関連性がありかつユーザが初めて受け取る結果集合を有するクエリを返すことができる。より詳細には、修正されたＭＭＲ方式を関連カルキュレータ１０６において用いることで、最初のクエリｑの結果集合に関連はするが、最初のクエリおよび以前に返された他のクエリの結果集合に対して新規である結果集合を有するクエリｑ’を、ユーザに提示することができる。本発明の一態様によれば、関連カルキュレータ１０６は、次のアルゴリズムを利用して、クエリ集合Ｑにあるクエリの関係の測定値を求めることができる。
【００２６】
【数３】
0004753597.tif 000004
【００２７】
λは、事前に設定された補間係数であり、ｑは、最初のクエリであり、ｑ’は、最初のクエリｑに関連するが、すでに返された他のクエリｑ’’とは異なる関連するクエリである。クエリｑ’は、返されたことのないクエリの範囲（ｅｘｐａｎｓｉｏｎｓ）から選出され、クエリｑ’’は、以前に返された集合から選出される。その後、クエリは、関係の測定に従って反復的に選択することができる。上記の式は、本来は純粋な情報検索の環境でドキュメントをランク付けするために導入されたＭＭＲ方式に基づいており、この方式では、返されるドキュメントは、関連性があると同時に新規である。ドキュメントとクエリとの類似性を表す類似性指標ｓｑと、ドキュメントと他のドキュメントとの類似性を表す類似性指標ｓｄが、この従来の方式とともに用いられる。その後、ドキュメントは、次の重み付けに従って反復的に選択される。
【００２８】
【数４】
0004753597.tif 000005
【００２９】
Ｄは、まだ返されたことのないオブジェクトの集合であり、Ｄ’は、すでに返されたオブジェクトの集合である。修正されたＭＭＲ方式と同様に、λは、あらかじめ選択された補間係数である。このアルゴリズムは、クエリｑに最大に類似し、同時に、以前に返された他のドキュメントｄ’と最大に異なるオブジェクトｄを選択する。例えば、λ＝１の場合、ランク付けは単に、オブジェクトｄとクエリｑの類似性に従う。λ＝０の場合、アルゴリズムは、クエリｑに依存しないで、最大に異なる結果を生成するよう試みる。以前に生成されたクエリは、ユーザが得たいと考えるオブジェクトを見つけるのに助けとなりうるという本発明者の認識から、修正されたＭＭＲ方式が導き出された。
【００３０】
関連カルキュレータ１０６が、（返されたオブジェクトに対して）関連するが新規であるクエリを指示すると、ディスプレイ１０８を介してそのクエリをユーザに伝えることができる。したがって、例えば、最初のクエリに関連する複数のクエリをユーザに表示することができ、それにより、ユーザが得たいと考えるオブジェクトを見つけるのを助けることができる。さらに、最初のクエリに基づいて取り出される整数個のオブジェクトをユーザに返すことができ、それにより、ユーザが、クエリを十分に指定した場合にはそのようなオブジェクトを見ることができるようにする。
【００３１】
本発明は、指定が不十分なクエリを利用するユーザを支援することに関連して用いることができる。一方で、関心を持つ適切なクエリを検索エンジン１０２にリレーする１人または複数のユーザを支援するためにも用いることができることを理解されたい。さらに、本発明を利用して、ユーザが予期せぬ情報を見つけるのを支援することができる。例えば、ユーザは一般的なクエリを与える場合があり、本発明は、そのようなクエリに周辺的に関連する情報を返すことができる。より具体的には、ユーザは、検索エンジン１０２にクエリ「ｈｏｎｅｙｍｏｏｎ」を入力し、そのクエリに従ってデータストア１０６中のオブジェクトのリターン集合を見つけることができる。その後、関連カルキュレータ１０６を用いて、最初のクエリ「ｈｏｎｅｙｍｏｏｎ」より必ずしも具体的ではないが、やはり関連する（予期しない形で関連する）クエリを見つけることができる。例えば、クエリ「ｐａｓｓｐｏｒｔ  ａｐｐｌｉｃａｔｉｏｎｓ（パスポートの申請）」が、最初に入力されたクエリ「ｈｏｎｅｙｍｏｏｎ」に基づいてユーザに返されるクエリとなる可能性がある。これは、最初のクエリのリターン集合と意図されたクエリのリターン集合の重複を少なく要求することによって可能となる。例えば、クエリ「ｈｏｎｅｙｍｏｏｎ  ｓｕｉｔｅ（ハネムーン用スイートルーム）」のリターン集合と比べるときには、クエリ「ハネムーン」のリターン集合は、クエリ「ｐａｓｓｐｏｒｔ  ａｐｐｌｉｃａｔｉｏｎｓ」のリターン集合とより少ない重複を持っているだろう。クエリのリターン集合間の重複をより多くすると、類似性が高く、意外性の低いクエリが返され、クエリのリターン集合間の重複を少なくすると、意外性が高く、類似性の低いクエリが返されることになる。本発明の一態様によれば、ユーザがリターン集合間の重複の度合いを選択できるようにするコンポーネント（図示せず）を備えることができる。さらに、ユーザの同一性、ユーザの状態、およびユーザの状況の１つまたは複数に少なくとも部分的に基づいて、リターン集合間の重複の度合いを自動的に指定することができる。
【００３２】
次いで図２に、オブジェクトの集まりに対する検索を支援するシステム２００を示す。システム２００は、ユーザから提供される最初のクエリを利用し、最初のクエリに関連するが、最初のクエリを用いた場合に返されるオブジェクトと実質的に類似するオブジェクトを返さないような、以前に（異なるユーザによって）生成されたクエリを見つける。検索エンジン２０２は、最初のクエリを受け取り、そのクエリを利用して、データストア２０４内の複数のドキュメントを検索する。検索エンジン２０２は、データストア２０４内のオブジェクトを見つけだし返すことに関連して、各種のアルゴリズムを用いることができる。例えば、検索エンジン２０４は、テキスト検索（オブジェクト中のメタタグやテキストに基づいてオブジェクトを返す）や、少なくとも部分的にクラスタリングに基づく検索などを行うことができる。データストア２０４は、検索エンジンを介して検索することができる複数のオブジェクトを含み、各オブジェクトは、以前にそれらのオブジェクトを見つけるために、検索エンジン２０２によって用いられた１つまたは複数のクエリに関連付けられている。例えば、検索エンジン２０２は、以前に、クエリＱ１、Ｑ２、およびＱ４が用いられたときには、オブジェクト１を取り出している。図２ではオブジェクトに関連付けられたクエリはデータストア２０４にあるが、そうしたクエリは別の場所にあっても良いことを理解されたい。例えば、検索エンジン２０２自体は、クエリとそれらのクエリを介して検索されたオブジェクトの名前（ＵＲＬなど）のリストを保持することができる。同様に、検索エンジン２０２は、以前に検索されたオブジェクトとそれらのオブジェクトを検索するために用いられたクエリのリストを保持することができる。さらに、オブジェクトとクエリのリストは、ハッシュ法あるいは他の同様の手法を利用して要約することができる。
【００３３】
クエリを受け取ると、検索エンジン２０２は、そのクエリに従ってデータストア２０４内で複数のオブジェクトを見つけ出す。検索エンジン２０２は、オブジェクトとクエリの関連性に従って、返されるオブジェクトをランク付けするために利用されるランク付けコンポーネント２０６を含むことができる。ただし、クエリの指定が不十分な事例では、そのクエリに関連すると判断される何千ものオブジェクトがユーザに返され、ランク付けコンポーネント２０６によってランク付けされる可能性がある。さらに、何千ものオブジェクトが見つけられて返される可能性があるため、そのようなオブジェクトを見つけるために以前使用された相当数のクエリも存在する。しかし、返されるすべてのオブジェクトに対応する各クエリを調べて、最初のクエリとの関連度を判定することは、計算処理的にコストがかかる。そこで、検討されるオブジェクトの数を減らすために、フィルタコンポーネント２０８を備えることができる。例えば、フィルタコンポーネント２０８は、ランク付けコンポーネント２０６によって上位２０個のオブジェクトの１つとしてランク付けされないオブジェクトを、排除することができる。さらに、フィルタコンポーネント２０８を用いて、返される複数のオブジェクトに対応する重複したクエリを取り除くことができる。例えば、検索エンジン２０２が、以前のクエリＱ１、Ｑ２、Ｑ４に関連付けられたオブジェクト１と、クエリＱ１、Ｑ２、Ｑ８に関連付けられたオブジェクト３を返す場合、フィルタコンポーネント２０８は、クエリＱ１とＱ２が２度（あるいは２度以上）検討されないようにすることができる。
【００３４】
検索エンジン２０２は、最初のクエリと、検索エンジン２０２によって以前利用されたクエリとの関連度を判定する関連カルキュレータ２１０も含む。例えば、最初のクエリがデータストア２０４内からオブジェクト１を返す場合、関連カルキュレータ２１０は、最初のクエリと、クエリＱ１、クエリＱ２、クエリＱ３との関連度を判定することができる。関連カルキュレータ２１０は、以前に検索エンジン２０２によって用いられた異なるクエリ（クエリＱ１、Ｑ２．．．）同士の関連度も判定することができる。例えば、関連カルキュレータ２１０は、クエリＱ１とＱ２との関連度を判定することができる。クエリＱ１とＱ２が実質的に類似するドキュメントを返し、そのため、クエリＱ１とＱ２の両方を表示することは、ユーザにとってメリットがない場合に、これが役に立つ。本発明の一態様によれば、関連カルキュレータ２１０は、最初のクエリと以前に利用されたクエリとの距離指標を求めることができる。また、関連カルキュレータは、修正されたＭＭＲアルゴリズムと一緒に距離指標を用いることで、最初のクエリに関連し、同時に、新規のオブジェクトを含むリターン集合に関連付けられている以前のクエリを、決定することができる。より詳細には、最初のクエリに関連付けられたリターン集合に実質的に類似するリターン集合に関連付けられたクエリを提供するのは、ユーザがその意図に従ってオブジェクトを見つける手助けにはならない。むしろ、重複した情報がユーザに提供され、ユーザの検索の妨げとなる。
【００３５】
関連カルキュレータ２１０が、最初のクエリに関連するが新規のリターン集合に関連付けられた複数のクエリを見つけると、フィルタコンポーネント２０８は、それらのクエリに関連付けられたオブジェクトの数を減らすことができる。例えば、フィルタコンポーネント２０８を用いて、クエリに関連付けられたリターン集合に含まれるオブジェクトのうち、上位ランクのオブジェクトのみを表示させることができる（例えば、ランクの上位５個のオブジェクトが返される）。さらに、フィルタコンポーネント２０８を用いて、返されたクエリに関連付けられたリターン集合から、オブジェクトを除去することもできる。この場合、除去されるオブジェクトは、最初のクエリまたは他の返されたクエリのリターン集合にも含まれる。例えば、最初のクエリのリターン集合はオブジェクト１を含み、クエリＱ１が、その最初のクエリとの関連性が高いことが判明したとする。クエリＱ１は以前にオブジェクト１を見つけるために用いられたので、オブジェクト１は、最初のクエリのリターン集合ならびにクエリ１のリターン集合の中にある。フィルタコンポーネント２０８を用いて、Ｑ１に関連付けられた結果集合からオブジェクト１を除去し、それにより、ユーザが重複したオブジェクトを受け取らないようにする。さらに、フィルタコンポーネント２０８を利用して、最初のクエリに語彙的に似たクエリを除去することができる。例えば、単語が単に最初のクエリの置き換えであるクエリを破棄することができる。こうした語彙的に似たクエリは、関連カルキュレータ２１０によって高くランク付けされる可能性があるが、最初のクエリに関連付けられたリターン集合と、語彙的に似たクエリに関連付けられたリターン集合は実質的に類似しているため、ユーザに新しい情報を提供しない。
【００３６】
本発明の別の態様によれば、フィルタコンポーネント２０８は、特定のオブジェクトへのパスと思われるクエリを検討から除外することができる。例えば、インターネットの環境において、文字列「ｗｗｗ．」、「ｃｏｍ．」、「ｎｅｔ．」、「ｏｒｇ．」などを含むクエリは、ブラウザのアドレスバーと間違って検索エンジンのクエリボックスに入力されたと推測することができるので、そのようなクエリはすべて検討から除外することができる。そうした文字列に関連付けられたリターン集合は、一般には、ユーザの意図に密接な関連がなく、ＵＲＬ、パス、または特定のオブジェクトの他の同様の識別指示（ｉｎｄｉｃｉａ）を表示すると、ユーザを混乱させる可能性がある。フィルタコンポーネント２０８を用いて、望ましい言語の中においては現れないと思われるクエリを除去することもできる。例えば、印刷できないＡＳＣＩＩ文字を含む最初のクエリに関連するリターン集合の中にあるオブジェクトに、関連付けられたすべてのクエリを除去することができる。さらに、少なくとも最初のクエリほど（単語数が）長くない関連クエリを除去して、関連するクエリの結果集合が、最初のクエリに関連する結果集合よりも、より的の絞られたものになるようにすることができる。
【００３７】
関連カルキュレータ２１０とフィルタリングコンポーネント２０８が各自の動作を完了すると、最初のクエリに関連するが、しかし、新規の結果を提供する複数のクエリ（ランク付けが上位の特定数のオブジェクトを比較して）を、ディスプレイ２１２、またはそれらのクエリを伝えることができる他の適切なデバイスによって、ユーザに伝達することができる。その後、ユーザは、ユーザの意図と一致する１つまたは複数のクエリに関連付けられた結果の集合を見直すことができる。特定の一例において、フライフィッシングで利用できる特定のルアーに興味があるのだが、ユーザはそのようなルアーの名前を知らないとする。そのため、ユーザは、最初のクエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」を入力し、その結果多数のオブジェクトが返される。ユーザは、該当ルアーを見つけるまでそれらのオブジェクトを調べなければならない。しかし、システム２００を利用すると、「ｆｌｙ  ｆｉｓｈｉｎｇ  ｌｕｒｅｓ」などの関連するクエリがユーザに提供され、ユーザの意図に沿うことができる。
【００３８】
次いで図３に、ユーザが複数のオブジェクトを検索する際にユーザを支援するシステム３００を示す。システム３００は、クエリとそのクエリに関連付けられた結果集合を利用して、以前に用いられた関連するクエリを見つける。関連するクエリは、最初のクエリの結果集合に関連するがその集合に実質的に類似しない結果集合に、関連付けられる。システム３００は、クエリを受け取る検索エンジン３０２を含む。検索エンジン３０２は、複数のオブジェクト（ドキュメント、音声ファイル、画像、ウェブページなど）を含むデータストア３０４を検索する。この検索は、受け取られたクエリに少なくとも部分的に基づいてなされる。データストア３０４内の各オブジェクトは、以前にそのオブジェクトを見つけるために利用されたクエリに関連付けられている。例えば、クエリＱ５が以前に検索エンジン３０２によって用いられ、クエリＱ５が利用された結果、オブジェクト４が返されている。このオブジェクトとクエリの関連付けは、データストア３０４、検索エンジン３０２、または他の適切な記憶場所に記憶しておくことができる。
【００３９】
検索エンジン３０２は、クエリに従って検索エンジン３０２を介して見つけられたオブジェクトをランク付けする、ランク付けコンポーネント３０６を備える。本発明と併せて適切なランク付けアルゴリズムおよび／または方法論を用いることができる。本発明の一態様によれば、クエリに関連付けられたリターン集合の結果数を制限することができる。例えば、ランクが上位２０個のオブジェクトだけを結果集合に含めることができ、これら２０個のオブジェクトに関連付けられたクエリだけを調べて、これらクエリと、検索エンジン３０２に受け取られた最初のクエリとの関連度を判定することができる。ただし、結果集合には適切などのような数のオブジェクトも含めることができ、上記の２０個は、本発明の一態様を説明する例示的な数に過ぎないことを理解されたい。
【００４０】
検索エンジン３０２はさらに関連カルキュレータ３０８を含む。関連カルキュレータ３０８は、リターン集合にあるオブジェクトに関連付けられたクエリを調べ、最初のクエリを介して得られる結果集合と実質的に異なる結果集合を有する関連クエリを、ユーザに返すために用いられる。本発明の一態様によれば、修正されたＭＭＲ方式と一緒に距離指標を使用することにより、関連性があり、かつ新規の結果集合に関連付けられたクエリを見つけることができる。検索エンジン３０２は、特定のユーザに対するパフォーマンスに関して、そのユーザが検索エンジン３０２と対話できるようにするフィードバックコンポーネント３１０も含むことができる。例えば、特定のクエリに関心がなく、そのようなクエリは返してほしくないことを、ユーザは検索エンジン３０２に通知することができる。さらに、フィードバックコンポーネント３１０を用いることで、検索に関して生じる可能性のあるあいまい性を、明確にすることができる。例えば、「ｒｏｃｋ」というクエリは、特定の種類の音楽と、物理的な岩石の構成物の両方を意味し得る。ユーザは、自分が音楽に興味があり、関連するクエリのうち岩石の構成物に関連するクエリを返さないように、フィードバックコンポーネント３１０に指示することができる。さらに、フィードバックコンポーネント３１０を用いて、結果集合に含める結果の数、ユーザに返されるクエリの数、クエリおよび結果の表示形式を管理することができる。したがって、フィードバックコンポーネント３１０により、ユーザは、自身の好みに沿って動作するようにシステム３００をカスタマイズすることができる。
【００４１】
システム３００は、ユーザの好みに従ってシステム３００をさらにカスタマイズするユーザプロファイル３１２に、さらに関連付けることができる。ユーザプロファイル３１２は、フィードバックコンポーネント３１０に伝えられた情報を保存することができ、そのようなユーザプロファイルには、ユーザが用いる機器に関係なくアクセスすることができる。例えば、ユーザは、自宅のデスクトップコンピュータでユーザプロファイル３１２を作成することができる。しかし、ユーザプロファイル３１２は、その特定のデスクトップコンピュータに限定されない。ユーザは、別の端末（ＰＤＡ、別のコンピュータ、携帯電話など）から、そのユーザプロファイル３１２にアクセスすることができる。さらに、ユーザプロファイル３１２は、所定の期間にわたってユーザの検索を追跡する履歴コンポーネントを含むことができる。したがって、ユーザが検索の途中で中断された場合、このユーザは、ユーザプロファイル３１２を利用することによって、後に、その検索にアクセスすることができる。
【００４２】
検索エンジン３０２は、ユーザの状態、ユーザの履歴、およびユーザの状況に少なくとも部分的に基づいて、ユーザに返すべきクエリに関して推論を行うことができる人工知能コンポーネント３１４にも、関連付けることができる。本発明で使用される用語「推論」とは、一般に、事象および／またはデータを介して捉えられる観測結果の集合から、システム、環境、および／またはユーザの状態を推論あるいは推測する過程を言う。推論を用いて、例えば、特定の状況あるいは動作を識別することができ、または、複数の状態への確率分布を生成することができる。推論は、確率的に行うことができ、すなわち、データおよび事象の検討に基づいて、対象とする状態への確率分布の計算とすることができる。推論は、事象および／またはデータの集合から、より高いレベルの事象を構成するために用いられる手法を指す場合もある。そうした推論の結果、観測された事象および／または記憶された事象データの集合から新しい事象または動作が構築され、それらの事象は、時間的に近接していてもいなくてもよく、事象およびデータは、１つの事象およびデータソースから得られたものでも、数個のデータソースから得られたものでもよい。本発明との関連で自動的な動作および／または推論された動作を実行することに関連して、各種の分類方式および／またはシステム（サポートベクトルマシン、ニューラルネットワーク、エキスパートシステム、ベイズ確信（ｂｅｌｉｅｆ）ネットワーク、ファジー論理、データ融合エンジンなど）を用いることができる。
【００４３】
したがって、人工知能コンポーネント３１４は、時間をかけてユーザを観察し、特定のユーザ状態および状況からユーザの要望を「学習」することができる。例えば、典型的には、ユーザは一日の特定の時刻に、および／または特定の場所にいるときに、特定のタイプのオブジェクトを再検討したいと望むことがある。人工知能コンポーネント３１４は、各種のセンサ３１６からデータ（時刻、ユーザの場所、温度など）を受け取り、そのデータを利用して適切な推論を行うことができる。例えば、ＰＤＡを使用しているユーザが検索エンジン３０２にクエリ「スキー」を入力するとする。センサ３１６（例えばＧＰＳセンサ）は、ユーザがコロラド州の山地に居て、温度は低く、時節が雪上スキーをする季節にあたると判断することができる。したがって、人工知能コンポーネント３１４は、水上スキーに関連するクエリをユーザに返すべきではないと推論することができる。別の例においては、典型的に、ユーザは毎土曜の午後３時過ぎに、取引に関する検索（商品を売買するための検索）を行うとする。人工知能コンポーネント３１４は、最初のクエリに関連する最適なクエリをユーザに提供すること関して、このような情報を用いることができる。さらに、人工知能コンポーネント３１４は、ユーザに返すべきクエリを関連カルキュレータ３０８に通知することに関して、費用便益分析を用いることができる。詳細には、人工知能コンポーネント３１４は、他のクエリに優先して特定のクエリを選択するように関連カルキュレータ３０８に指示することの便益を、関連カルキュレータ３０８に望ましいクエリを除去させる費用と比較することができる。最初のクエリに関連し、しかも、最初のクエリの結果集合と実質的に異なる結果集合に関連付けられた複数のクエリを見つけると、ディスプレイ３１８を介してそのクエリをユーザに返すことができる。
【００４４】
次いで図４に、特定のクエリからユーザの意図を判定するのを助けるシステム４００を示す。典型的には、ユーザは、検索エンジンに指定が不十分なクエリを与える。そのため、ユーザが見つけようとする事柄を判断することは難しい。システム４００は、その指定が不十分なクエリに関連付けられたリターン集合内にあるオブジェクトを見つけるために、以前に用いられたクエリを利用する。より詳細には、システム４００は、クエリが与えられる検索エンジン４０２を含む。クエリは、ユーザ、テキスト抽出プログラム、またはクエリを生成することができる他の適切な方法によって生成される。検索エンジン４０２は、クエリを利用して、データストア４０４内で１つまたは複数のオブジェクトを見つける。それらのオブジェクトは、以前にそのオブジェクトを見つけるために検索エンジン４０２によって用いられたクエリに、関連付けられている。例えば、クエリＱ１、Ｑ２、およびＱ４は、以前にオブジェクト１を見つけるのに用いられた。クエリに従ってオブジェクトを見つけると、検索エンジン４０２は、ランク付けコンポーネント４０６を用いてクエリをランク付けする。本発明の一態様によれば、ランク付けの閾値を上回らないオブジェクトは、結果集合から破棄される。関連カルキュレータ４０８は、最初のクエリに関連付けられた結果集合にあるオブジェクトを見つけるために、以前に用いられたクエリを調べる。関連カルキュレータ４０８は、最初のクエリおよび最初の結果集合との関連度に従って、それらの以前のクエリをランク付けする。より詳細には、最初のクエリに関連し、しかも、最初のクエリに関連付けられた結果集合に実質的に類似しない結果集合に関連付けられた以前のクエリには、関連性のないクエリよりも高いランクが与えられる。例えば、修正されたＭＭＲとともに距離指標を用いて、以前のクエリをランク付けすることができる。ランク付けが上位のクエリを、ディスプレイ４１０を介してユーザに返すことができる。
【００４５】
検索エンジン４０２は、クエリおよびそのクエリを介して見つけられるオブジェクトの署名を作成する署名ジェネレータ４１２も含むことができる。例えば、署名ジェネレータ４１２は、クエリのログを保持し、そのクエリログにある各クエリを利用した際に検索エンジンによって見つけられるオブジェクトのハッシュを、生成することができる。より詳細には、検索エンジン４０２がインターネットを通じて検索をする場合、署名ジェネレータ４１２は、クエリログを保持し、そのクエリログにある各クエリを介して見つけられるＵＲＬのハッシュを生成することができる。したがって、システム４００は、検索エンジン４０２を利用する一人一人のユーザによって、動的に更新される。例えば、それまでに利用されたことのない各クエリがログに記録され、そのクエリを介して見つけられるオブジェクトとともに記憶される。ユーザクエリがオブジェクトの仕組みを作成するのに使用されているので、システム４００は、そのような仕組みを作成し、維持するのに必要な作業量をさらに軽減する。
【００４６】
システム４００は、オブジェクトが除去および／または変更されていないことを保証するために、検索エンジン４０２によって用いられるクローラ（ｃｒａｗｌｅｒ）４１４も含む。クローラとは、自動化された体系的な方式によって、データストア４０４（例えばワールドワイドウェブ）を閲覧するプログラムである。クローラは、例えば検索エンジンが後で処理するために、アクセスされたすべてのオブジェクトのコピーを保持する。クローラは、それらのオブジェクトを利用して検索を絞る込むことも簡単にする。検索エンジンは、クローラに依拠して、検索の際に返されるオブジェクトがまだデータストア４０４上に存在し、そのオブジェクトの最新のバージョンであることを保証する。
【００４７】
本発明の一態様によれば、クローラ４１４は、データストア４０４にアクセスし、オブジェクトに関連付けられたクエリを調べる。クローラ４１４は、データストアのオブジェクトに関連付けられたクエリの利用頻度を判定し、めったに利用されないクエリに関連付けられたオブジェクトよりも高い頻度をもったクエリに関連付けられたオブジェクトにアクセスする（ｖｉｓｉｔ）ことができる。したがって、頻繁に使用されるクエリに関連付けられたオブジェクトには、それらのクエリを使用した際に返されないオブジェクトよりも、クローリングに関してより高い優先度を与えることができる。さらに、クローラ４１４は、クローラ４１４によって行われる動作と関連して、確率的な分析を行うことができるユーティリティコンポーネント４１６に関連付けることができる。例えば、ユーティリティコンポーネント４１６は、データストア４０４内の１つまたは複数のオブジェクトが、ウェブクローラが最後にこれらのオブジェクトにアクセスしたとき以降に、変更／削除されている特定の可能性があることを、判断することができる。
【００４８】
次いで図５に、ユーザが検索エンジンを介してオブジェクトを効率的に見つけることを可能にするシステム５００を示す。システム５００は、クエリを受け取る検索エンジン５０２を含む。検索エンジン５０２は、クエリを用いて、そのクエリに関連すると判断されるデータストア５０４中のオブジェクトを見つける。データストア５０４の各オブジェクトは、以前のそのオブジェクトを見つけるために用いられたクエリに関連付けられている。例えば、クエリＱ５は、以前にオブジェクト４を見つけるために検索エンジン５０２によって利用された。検索エンジン５０２は、クエリに従ってオブジェクトをランク付けするランク付けコンポーネント５０６を含む。このランク付けコンポーネント５０６は、検索エンジン５０２に入力されたクエリに従ってデータストア５０４のオブジェクトを見つけ、ランク付けすることに関連して、適切なランク付けアルゴリズムを用いることができる。
【００４９】
オブジェクトが見つけられると、そのオブジェクトに関連付けられたクエリは関連カルキュレータ５０８によって見直される。新規でしかも検索エンジン５０２に入力されたクエリに関連するクエリを、関連カルキュレータ５０８は見つける。例えば、新規なクエリは、入力されたクエリに関連付けられた結果の集合に含まれない結果に、関連付けられている。関連するクエリは、入力されたクエリに関連付けられた結果の集合に関連する結果に、関連付けられている。例えば、入力されたクエリと比較した時に、修正したＭＭＲ方式とともに距離指標を用いることで、新規であるが関連するクエリを見つけることができる。そのようなクエリを見つけると、そのクエリをディスプレイ５１０でユーザに伝えることができる。その後、クエリ選択コンポーネント５１２を用いることにより、そのクエリを選択することができる。例えば、クエリはリンクの形態で表示することができ、クエリ選択コンポーネント５１２は、そのリンクを選択するのを容易にする。クエリを選択すると、そのクエリに関連付けられた結果を、ディスプレイ５１０によってユーザに表示することができる。本発明の特定の一態様によれば、選択されたクエリを検索エンジン５０２に入力することができ、それにより、ユーザは、より特定性の高いクエリを通じて「掘り下げ」ることができる。例えば、ユーザが、特定のフライフィッシング用のルアーに興味があるとする。しかし、ユーザは、まず指定が不十分なクエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」を検索エンジン５０２に入力する。関連カルキュレータ５０８は、「ｆｌｙ  ｆｉｓｈｉｎｇ  ｌｕｒｅｓ」というクエリを取り出し、そのクエリをユーザに返す。その後、ユーザは、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ  ｌｕｒｅｓ」を選択し、そのクエリが検索エンジン５０２に伝えられる。そして、関連カルキュレータ５０８は、特定のルアーに関連するクエリを返し、ユーザが見つけようとしたルアーに関連付けられたオブジェクトを、迅速に得られるようにすることができる。さらに、検索エンジン５０２は、以前に行われたユーザの検索を記憶するメモリ５１４を含むことができる。したがって、ユーザがあるクエリを選択し、そのクエリが自分の意図に関連しないオブジェクトを返すことが分かった場合には、ユーザは単に以前の検索レベルに戻ることができる。例えば、ユーザが特定のフライフィッシング用のルアーに関連付けられたオブジェクトを見つけたいが、選択されたクエリがそのようなオブジェクトを返さなかった場合、選択された以前のクエリ（「ｆｌｙ  ｆｉｓｈｉｎｇ  ｌｕｒｅｓ」）にユーザは戻ることができる。
【００５０】
次いで図６に、ユーザが検索エンジンを介してオブジェクトを見つけるのを支援する手順６００を示す。説明を分かりやすくするために、手順６００は一連の動作として図示し、説明するが、本発明はこの動作の順序に限定さない。一部の動作は、本発明により、図示しここに説明する順序と異なる別の順序で、かつ／または他の動作と同時に行ってもよいことを理解されたい。例えば当業者であれば、この手順は、あるいは、状態図のように相互に関連する状態またはイベントのシーケンスとしても表すことができることを理解されよう。さらに、本発明に関連して、この手順を実施するために図中のすべての動作が必要とは限らない。
【００５１】
ステップ６０２で、検索エンジンはクエリを受け取る。このクエリは、テキストのクエリ、音声または音声の連続、画像のおよび／または色の連続、または他の適切なクエリである。さらに、このクエリは、ユーザ、プログラムなどによって生成されることがある。本発明の一態様によれば、クエリは、ブラウザまたは他の適切なインタフェース内でクエリを選択することによって得られる。ステップ６０４で、検索エンジンは、受け取ったクエリに従ってオブジェクトを検索する。指定が不十分なクエリの中には、何千あるいは何百万ものオブジェクトを返すものがある（例えばＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂを検索する場合など）。そのため、本発明の一態様によれば、検索エンジンによって見つけられたドキュメントのうち、ランク付けが上位の複数のドキュメントのみが取り出される。そのため、ユーザは、関連性のない可能性のある情報を大量に受け取ることがない。さらに、用語「オブジェクト」には、ウェブページ、画像、テキストドキュメント、音声ファイル、あるいは、検索エンジンを介して検索することが可能な他の適切なオブジェクトが含まれることは理解されよう。さらに、任意の適切なデータストアに対して、検索を用いることができる。例えば、検索は、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ、特定のサーバ、ローカルハードドライブなどに用いることができる。
【００５２】
ステップ６０６で、ステップ６０４で返されたオブジェクトを検索するために以前に利用されたクエリが見直される。例えば、各オブジェクトは、以前にそのオブジェクトを見つけるために用いられたクエリに関連付けられる。したがって、各オブジェクトに関連するクエリが相当数に存在する可能性がある。さらに、関連付けられた各クエリは、リターン集合（そのクエリを用いた場合に返されるオブジェクトのリスト）を有する。ステップ６０８で、ユーザに返すのが望ましいクエリに関する判定が行われる。望ましいクエリは、受け取ったクエリに対応する結果集合に関連する結果集合に関連付けられており、同時に、その結果集合は、受け取られたクエリに対応する結果集合に実質的に類似しない。したがって、望ましいクエリは、関連がありしかも新規であるオブジェクトを取り出す。本発明の一態様によれば、修正されたＭＭＲ方式とともに距離指標を用いて、望ましいクエリを判定することができる。より詳細には、アルゴリズム
【００５３】
【数５】
0004753597.tif 000006
【００５４】
を用いて距離指標を求めることができ、ｑは受け取ったクエリであり、ｑ’は、クエリｑを介して返されるオブジェクトに対応するクエリであり、Ｒは、Ｑ×Ｄの２項関係である。Ｑは、以前に検索エンジンで利用されたクエリの集合であり、Ｄは、検索されるデータストア（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ、サーバなど）にあるオブジェクトの集合である。‖ｑ，ｑ’‖は、クエリｑとｑ’との距離指標であり、これを次の修正されたＭＭＲアルゴリズムの中で用いて、望ましいクエリを見つけることができる。
【００５５】
【数６】
0004753597.tif 000007
【００５６】
λは、事前に設定される補間係数であり、ｑは最初のクエリであり、ｑ’’は、以前に検討されたクエリを表す。これらのアルゴリズムを併せて利用すると、検索エンジンは、ユーザに返すべき最も望ましいクエリを決定することができる。ただし、受け取ったクエリに関連するクエリを見つけることに関連して、任意の適切なアルゴリズムを用いてよいことは理解されたい。
【００５７】
ステップ６１０で、最初のクエリに関連するオブジェクトがユーザに返される。ステップ６１０は、ユーザが自分の意図と一致するクエリを生成した場合に完了する。オブジェクトは、従来の検索エンジンのように、ランク付けして返すことができる。ステップ６１２で、受け取られたクエリに関連性があり、受け取られたクエリに対して新規であると判断されるクエリが、ユーザに返される。例えば、ディスプレイを用いて、オブジェクトとクエリの両方をユーザに伝達することができる。その後、ユーザは、返されたクエリの中で自分の意図と最も一致するクエリを選択することができる。
【００５８】
次いで図７に、ユーザが検索との関連でより高い具体性で「掘り下げる（ｄｒｉｌｌ  ｄｏｗｎ）」ことを可能にする手順を図示する。ステップ７０２でクエリを受け取る。このクエリは、ユーザ、コンピュータなどによって生成することができる。ステップ７０４でデータストアに検索が行われ、受け取ったクエリに少なくとも部分的には基づいて、オブジェクトが取り出される。本発明の一態様によれば、データストアのオブジェクトは、以前にそのオブジェクトを見つけるために用いられたクエリに関連付けることができる。例えば、ユーザが以前にクエリ「ｆｌｙ  ｆｉｓｈｉｎｇ  ｉｎ  Ａｌａｓｋａ」を利用し、そのクエリに関連したオブジェクトがそのクエリに基づいて検索された場合、そのオブジェクトは、そのクエリと、そのオブジェクトを見つけた他のクエリとに関連付けられる。ステップ７０６で、そのオブジェクトに関連付けられたクエリが見つけられる。したがって、例えばクエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」をステップ７０２で受け取り、そのクエリが、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ  ｉｎ  Ａｌａｓｋａ」と同じオブジェクトを返していた場合は、「ｆｌｙ  ｆｉｓｈｉｎｇ  ｉｎ  Ａｌａｓｋａ」が関連付けられたクエリとなる。そのような関連付けられたクエリのすべてが、ステップ７０６において見つけられる。
【００５９】
ステップ７０８で、関連性のある関連付けられたクエリが取り出され、ユーザに表示される。関連性のあるクエリは、受けとったクエリに関連し、かつ、受けとったクエリに対して新規でなければならない。より詳細には、関連付けられたクエリはそれぞれ、それに対応する結果の集合（そのクエリが用いられたときに返されるオブジェクトの集まり）を有する。対応するクエリの結果集合は、関連性がなければならないが、受けとったクエリに対応する結果集合に実質的に類似していてはならない。さらに、関連付けられたクエリの結果集合は、関連性がなければならないが、異なる関連付けられたクエリに対応する結果の集合と実質的に類似していてはならない。これにより、返され表示される各クエリは、重複はしていないけれどもそれでもなお関連性のあるオブジェクトに関連付けられることを、確実とする。本発明の一態様によれば、関連性のある関連付けられたクエリを判定する際に、修正されたＭＭＲ方式とともに距離指標を利用することができる。
【００６０】
ステップ７１０で、ユーザが、関連付けられたクエリの１つを選択し、その関連付けられたクエリは、ステップ７０２で受け取ったクエリよりも、ユーザの実際の意図をよりよく表している。したがって、ユーザには、受け取ったクエリを利用した場合に返されるオブジェクトよりも、ユーザの意図との関連性がより高いオブジェクトが提供される。ステップ７１２で、選択されたクエリに関連付けられたクエリが見つけられる。例えば、選択されたクエリによって見つけられたオブジェクトは、以前にそのオブジェクトを見つけるために用いられた異なるクエリに関連付けられている。その後、ステップ７１４で、選択されたクエリに関連付けられた関連性のあるクエリが表示される。フィルタリング技術を用いる場合は、関連性のあるクエリは、選択されたクエリと比較して、より明確に指示されたものにすることができる（例えば、選択されたクエリより短いクエリは、検討から除外することができる）。その後、ユーザは、ステップ７１０で、最適なクエリが見つかるまで、自身の意図をより良く表す別のクエリを選択することができる。したがって、ユーザは、最適なクエリが見つかるまでクエリを「掘り下げ」続けることができる。手順７００は、ユーザが漫然と閲覧しているだけの状況においても有用である。例えば、ユーザがフライフィッシングに興味があるが、フライフィッシングに関して特に具体的な意図は持たない場合がある。ユーザは、検索エンジンに漠然としたクエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」を入力することができ、すると複数の関連クエリが提示されることができる。関連付けられたクエリは、特定の方向にブラウジングを導きながらユーザを支援することができる。
【００６１】
次いで図８に、特定のオブジェクトに関連するクエリを提供する手順８００を図示する。ステップ８０２で、ブラウザは特定のサイトに導かれる。例えば、ブラウザのアドレスバーにＵＲＬを入力することによりブラウザを導くことができる。あるいは、ユーザが、検索エンジンを利用してそのようなサイトを見つけた後に、そのサイトを選択することができる。ステップ８０４で、そのサイトを見つけるためにかつて用いられたクエリがあるかどうかが判定される。そのような情報は、例えば、ブラウザからアクセスできるデータストア内で見つけることができる。そのサイトを見つけるのに用いられたことのあるクエリがない場合、手順はステップ８０６で終了する。そうでない場合は、以前にそのサイトを見つけるのに利用されたクエリが、ステップ８０８で取り出される。ステップ８１０で、費用便益分析を行って、ユーザが選択されたサイトを閲覧している間にクエリをユーザに表示することが望ましいかどうかを判定する。例えば、相当の画面空間を必要とするサイトとともにクエリを表示するのは、最適な形で表示するためには望ましくない場合がある。さらに、ユーザ履歴が、ユーザが選択されたサイトとともにクエリが表示されるのを望まないことを示す場合もある。
【００６２】
ステップ８１２で、費用便益分析に従ってクエリを表示することが望ましいかどうかが判定される。望ましくない場合は、ステップ８１４でクエリは表示されず、ユーザには選択されたサイトだけが提供される。クエリを表示するのが望ましい場合は、ステップ８１６で関連性のあるクエリが取り出され、ステップ８１６でユーザに表示される。例えば、単語数が最も少ないクエリをクエリとして選択することができ、そのクエリで返されるオブジェクトを用いて、関連付けられたクエリを見つけることができる。より詳細には、ユーザは、アラスカのフライフィッシングについてのサイトのＵＲＬを入力することができる。その後、以前にそのサイトを見つけるのに用いられた複数のクエリを調べることができる。最も短いクエリ（「ｆｌｙ  ｆｉｓｈｉｎｇ」）を基本のクエリとして用いることができ、そのクエリによって見つけられたすべてのサイトを調べることができる。その後、それらのサイトを見つけるために以前に用いられたクエリを検討することができ、基本クエリに関連するクエリをユーザに表示することができる。したがって、現在閲覧しているサイトに関連する複数のクエリをユーザに提供することができる。これにより、ユーザが関連する情報を含む可能性のある他のサイトを閲覧するのを、助けることができる。
【００６３】
次いで図９に、以前のクエリに従ったクエリに関連付けられた結果集合の例示的な区分９００示す。検索エンジン９０２は、指定が不十分なクエリを受け取り、そのクエリに従ってオブジェクトの集まりを検索する。この図９に示すように、指定が不十分なクエリの結果、ユーザの意図に関連するかもしれないしあるは関連しないかもしれない広範囲のオブジェクトが返され得る。（すなわち、広範囲のトピックがそのクエリに関連する可能性がある）。さらに、指定が不十分なクエリの場合は、従来の検索エンジンを利用すると相当数のドキュメントが返される可能性がある。例えば、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂを検索する従来のある特定の検索エンジンに、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」が入力されると、３００万個以上のオブジェクトが返される。しかし、その結果の集合は、以前に用いられたクエリを利用すると、より具体的な結果集合に区分することができる（すなわち以前のユーザが現在のユーザよりも具体的なクエリを利用した）。この結果集合は、ある話題に、より特有のものであるだけでなく、通常は含まれるオブジェクトはかなり少ない。この特定の区分９００で、結果の集合９０４は、指定が不十分なクエリと検索エンジン９０２を利用することによって作成される。しかし、本発明を利用すると、結果集合をより具体的な複数の結果集合９０６〜９２８に、区分することができる。具体的には、結果集合９０６はクエリＭを利用した場合に生成され、結果集合９０８は、検索エンジン９０２がクエリＭを利用した場合に生成され、結果集合９１０はクエリＯを利用した場合に生成され、結果集合９１２は、検索エンジン９０２がクエリＰを利用したときに生成され、結果集合９１４は、クエリＱを用いることによって生成され、結果集合９１６は、クエリＲを利用したときに生成され、結果集合９１８は検索エンジン９０２がクエリＳを用いて、結果集合９１８にあるオブジェクトを保持するデータストアの検索を行った場合に生成される。したがって、検索をユーザの意図に絞り込む助けとなりうるこれらのクエリが、ユーザに与えられる。
【００６４】
さらに、結果集合９０６〜９１８自体を、より詳細な以前のユーザクエリに従って区分することができることは理解されよう。また、以前のクエリを用いて作成された結果集合は、最初の結果集合９０４にすべてを含まれていても、一部が最初の結果集合９０４の外にあってもよいことが理解できよう。例えば、クエリＭについての結果集合９０６は、一部が結果集合９０４の外側にあるのに対し、クエリＯの結果集合９１０は、すべてが最初の結果集合の中にある。さらに、結果集合は互いに部分的に重複する場合、あるいは別の結果集合に完全に含まれている場合がある。例えば、結果集合９０８と結果集合９１０は、部分的に重複している。
【００６５】
次いで図１０に、結果集合１００２の特定の区分１０００を示す。結果集合１００２は、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」に基づいて生成されている。図１０から分かるように、このクエリの結果幅広い話題が返される。しかし、本発明を利用することで、この結果集合を、フライフィッシングに関連するより具体的な複数の結果集合に区分することができる。例えば、クエリ「ｆｌｙ  ｐａｔｔｅｒｎｓ」は結果集合１００４を生成し、クエリ「ｈｏｗ  ｔｏ  ｆｌｙ  ｆｉｓｈ」は結果集合１００６を生成し、クエリ「Ｓａｌｔｗａｔｅｒ  Ｆｌｙ  ｆｉｓｈｉｎｇ  ｍａｇａｚｉｎｅ」は結果集合１００８を生成し、クエリ「ｔｒｏｕｔ  ｆｌｉｅｓ」は結果集合１０１０を生成し、クエリ「ｆｉｓｈｉｎｇ  ｒｅｐｏｒｔ」は結果集合１０１２を生成する。したがって、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」を検索エンジンに入力するユーザには、前述のクエリを提供することができ、そのクエリの１つが、指定が不十分なクエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」よりも、ユーザが見つけようとしている内容をより良く表す可能性がある。本発明は、オブジェクトとそれらオブジェクトを検索するのに利用されたクエリとの相互関係を保持することにより、そうしたクエリを検索することができる。したがって、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」を利用して取り出されるオブジェクトは、より具体的なクエリが利用されたときにも取り出されていた可能性がある。したがって、それら以前のクエリと現在のクエリとの関連の度合いを把握することができ、新規のオブジェクトを含み、関連度が高いクエリをユーザに返すことができる。
【００６６】
次いで図１１に、本発明の１つまたは複数の態様をより理解するのを助けるために、異なるクエリによる結果集合の例示的な構成１１００を示す。この構成は、検索エンジンとの関連で指定が不十分なクエリＡを用いることによって取り出される結果集合Ａ１１０２を含む。例えば、結果集合Ａ１１０２は、検索エンジンのランク付けアルゴリズムに従って、上位にランク付けされたある閾値の数のオブジェクトを含むことができる。しかし、この限られた数は、そのクエリの範囲内の広い主題を包含することができる。例えば、クエリＡが「ｆｌｙ  ｆｉｓｈｉｎｇ」である場合、上位２０個の結果は、フライフィッシングの話題に含まれる広範囲の事柄を包含することができる。しかし、クエリＢおよびＣは、より具体的であり、そのためそれらのクエリを用いて、同様により具体的な結果集合Ｂ１１０４および結果集合Ｃ１１０６を取り出すことができる。したがって、例えば、ユーザは最初にクエリＡを入力し、結果集合Ａ１１０２の少なくとも一部を与えられることができる。ユーザは、クエリＢおよびクエリＣも提供されることができ、クエリＢおよびクエリＣは、より具体的であり、ユーザの意図をより良く表している可能性がある。ユーザは、クエリＢおよび／またはクエリＣを用いて結果を得ることを選択することができる。その結果は、クエリＡを利用するより迅速に必要とするオブジェクトを見つけるのを助ける。さらに、クエリＢおよびＣは相互に関連する可能性もあり、そのため結果集合Ｂ１１０４と結果集合Ｃ１１０６は、少なくとも部分的に重複する可能性がある。
【００６７】
図１１に示すように、結果集合Ｂ１１０４はクエリＤおよびＥを利用することによりさらに区分することができ、結果集合Ｃは、クエリＤ、Ｆ、Ｇを利用することによりさらに区分することができる。クエリＤ、Ｅ、Ｆ、Ｇは、結果集合Ｄ１１０８、結果集合Ｅ１１１０、結果集合Ｆ１１１２、および結果集合Ｇ１１１４を生成する。これらの結果集合１１０８〜１１１４は、結果集合Ｂ１１０４と結果集合Ｃ１１０６の一区分であり、したがって結果集合Ａ１１０２の一区分である。さらに、結果集合Ｅ１１１０と結果集合Ｆ１１１２は、少なくとも部分的に重複する可能性があり、結果集合Ｆ１１１２と結果集合Ｇ１１１４は、少なくとも部分的に重複する可能性がある。一つの例では、ユーザは、クエリＡを入力し、ユーザの意図にそれほど関連しないオブジェクトを含む結果集合Ａ１１０２を得る。クエリＢおよびＣが与えられ、ユーザは、それらのクエリを見て、その１つがユーザの意図をよりよく表していると判断することができる。その後、ユーザはクエリＢを選択し、結果集合Ｂ１１０４を得て、同じようにクエリＤおよびＥも与えられ、それらはユーザの意図をさらによく表す可能性がある。クエリＥが選択される場合は、結果集合Ｅ１１１０をユーザに表示することができ、結果集合Ｅ１１１０は、ユーザの意図との関連性が高いオブジェクトを含んでいる。
【００６８】
次いで図１２に、本発明の別の例示的な利用法１２００を示す。検索エンジンが指示の不十分なクエリＡを検索で使用したときに、指定が不十分なクエリＡの結果集合１２０２が生成される。本発明は、結果集合にあるオブジェクトを見つけるために利用された以前のクエリに基づいて、結果集合を、より具体的な複数の結果集合に区分することを容易にする。例えば、検索エンジンとの関連で以前のクエリＭが用いられた場合に結果集合１２０４が生成され、以前のクエリＮが検索に利用された場合に結果集合１２０６が生成され、以前のクエリＯがオブジェクトの集まりを検索するために用いられると結果集合１２０８が生成される。例えば、クエリＡが「ｆｌｙ  ｆｉｓｈｉｎｇ」、クエリＭが「ｈｏｗ  ｔｏ  ｆｌｙ  ｆｉｓｈ」、クエリＮが「ｆｌｙ  ｆｉｓｈｉｎｇ  ｒｅｐｏｒｔ」、そしてクエリＯが「ｔｒｏｕｔ  ｆｌｉｅｓ」であるとする。これらのクエリはすべてフライフィッシングに関連しており、ユーザが特定のオブジェクトを見つけるのを助けるのに利用することができる。これらの結果集合１２０４〜１２０８を用いて、フライフィッシングに周辺的に関連するクエリＰを見つけることもできる。これは、例えば、結果集合１２０４〜１２０８のオブジェクトへのｉｎｌｉｎｋとオブジェクトからのｏｕｔｌｉｎｋを調べることによって達成することができる。この特定の例では、結果集合１２０４および結果集合１２０８のオブジェクトは、クエリＰの結果集合１２１０にある相当数のオブジェクトへのｉｎｌｉｎｋおよび／またはオブジェクトからのｏｕｔｌｉｎｋを有する。例えば、先と同様に、クエリＭが「ｈｏｗ  ｔｏ  ｆｌｙ  ｆｉｓｈ」であり、クエリＯが「ｔｒｏｕｔ  ｆｌｉｅｓ」であるとする。結果集合１２０４および１２０８の複数のオブジェクトは、海水の釣りについてのオブジェクトへのｏｕｔｌｉｎｋを含むことができ、それらのオブジェクトは、フライフィッシングには周辺的にのみ関連する。それら相当数のオブジェクトは、単一のクエリＰ（「ｓａｌｔｗａｔｅｒ  ｆｉｓｈｉｎｇ  ｏｎ  ｔｈｅ  Ｅａｓｔ  Ｃｏａｓｔ」）を利用して見つけることができる。本発明は、区分された結果集合のｉｎｌｉｎｋおよび／またはｏｕｔｌｉｎｋを調べることで、最初のクエリＡに周辺的に関連する１つまたは複数のクエリをユーザに提示することを企図している。これは、ユーザが特定の意図は持たないが、そのようなオブジェクトの１つに興味があることを発見するまで、オブジェクトの集まりに目を通しているだけの場合に役立つ可能性がある。
【００６９】
次いで図１３に、本発明の例示的な実施例１３００を示す。実施例１３００における指定が不十分な最初のクエリ１３０２は、一番上に「ｆｌｙ  ｆｉｓｈｉｎｇ」として表示されている。このクエリのすぐ下には、最初のクエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」に関連するが、実質的に類似する結果を返さないクエリの一覧１３０４がある（すなわち、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」のランク上位１０個の結果と、クエリ１３０４を利用した際に返される上位ランク１０個の結果は、実質的に類似しない）。これらのクエリ１３０４は、ハイパーリンクされており、クエリの１つを選択するとユーザはリターンページの別の部分に導かれる。さらに、これらのクエリの１つを選択すると、全く新しい検索が行われ、異なる関連クエリが見つけられ、ユーザに表示される。クエリの一覧１３０４の下には、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」で検索された整数個の結果１３０６がある。これらの結果は、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ」を用いて特定のオブジェクトを見つけられることをユーザが知っている場合に返される。
【００７０】
結果のリストの後には、クエリ１３０８が表示され、それらのクエリは、＋／−の切り替えで結果を表示するために拡大または閉じることができる。この例示的な実装例では、クエリ「ｆｌｙ  ｆｉｓｈｉｎｇ  ｅｑｕｉｐｍｅｎｔ」が拡大されており、そのクエリを利用した場合に見つかる複数の結果１３１０が一覧表示されている。例えば、ランク付けが上位の閾値数の結果をユーザに返すことができ、それにより、ユーザが所望のオブジェクトを見つけるのに、多数の結果に目を通さなければならないような事態を、軽減することができる。
【００７１】
次いで図１４に、本発明の別の例示的な実施例１４００を示す。Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ上で訪れたい所望のサイトのＵＲＬを書き込むために使用できるアドレスバー１４０４を含んだブラウザ１４０２が用いられている。このブラウザ１４０２は、アドレスバー１４０４にアドレスを入力する、別のサイトでリンクを選択する、検索エンジンを利用することなどにより、あるページに導くことができる。ブラウザ１４０２は、ＵＲＬに従ってサイトを表示する表示領域１４０６を含む。ブラウザ１４０２は、以前にそのサイトを見つけるために利用されたクエリを表示するために使用できる表示領域１４０８も含む。例えば、そのサイトを検索するために使用できる最も短いクエリを、基本クエリとして用いることができ、同じくそのサイトを読み出すために用いることができる関連するクエリを、基本クエリに少なくとも部分的に基づいて決定することができる。したがって、ユーザが、表示領域１４０６に表示された内容と同様の情報を求める場合、ユーザは、単に、表示領域１４０８からクエリを選択して、そのような情報を見つけることができる。
【００７２】
次いで図１５および図１６に本発明の例示的な実施例を示し、これらの例示的な実施例では、ユーザが、最初のクエリと関連クエリのリターン集合間に要求される重複の量を調節することができる。これらの実施例は、ユーザが、最初のクエリと検索されたクエリとの間の予想外の結果が見つかるレベルを調節することにより、検索エンジンをカスタマイズできるようにする。より詳細には、最初のクエリのリターン集合と以前のクエリのリターン集合間の重複を多く必要とすると、類似するクエリが返されるのに対し、それらのリターン集合間の重複を少なく要求すると、より予期しない形で関連するクエリが引き出される。図１５を参照すると、本発明の特定の一例示的実施例１５００は、クエリボックス１５０２を含み、ここにユーザがクエリ「ｈｏｎｅｙｍｏｏｎ」を入力している。「ｓｅｒｅｎｄｉｐｉｔｏｍｅｔｅｒ」と称するスライドバー１５０４をユーザが用いて、最初のクエリ「ｈｏｎｅｙｍｏｏｎ」のリターン集合と以前のクエリのリターン集合間に要求される重複の量を調節することができる。例えば、この例示的な実施例で、スライドバー１５０４は、クエリ「ｈｏｎｅｙｍｏｏｎ」と以前のクエリのリターン集合間に多くの重複を要求する位置になっている（意外性の低いクエリがユーザに返される）。より詳細には、最初のクエリ「ｈｏｎｅｙｍｏｏｎ」の結果、「ｈｏｎｅｙｍｏｏｎｓ」、「ｈｏｎｅｙｍｏｏｎ  ｄｅｓｔｉｎａｔｉｏｎｓ」、「ｈｏｎｅｙｍｏｏｎ  ｐａｃｋａｇｅｓ」、「ｄｅｓｔｉｎａｔｉｏｎ  ｗｅｄｄｉｎｇｓ」、「ｈｏｎｅｙｍｏｏｎ  ｖａｃａｔｉｏｎｓ」、「ｗｅｄｄｉｎｇ  ｐａｃｋａｇｅｓ」、「ｗｅｄｄｉｎｇ  ｃｒｕｉｓｅｓ」、「ｈｏｎｅｙｍｏｏｎ  ｃｒｕｉｓｅｓ」、「ｒｏｍａｎｔｉｃ  ｖａｃａｔｉｏｎｓ」、「ｈｏｎｅｙｍｏｏｎ  ｒｅｓｏｒｔｓ」等の、複数の似たようなクエリ１５０６が取り出される。これらのクエリを見て判断できるように、これらは、最初のクエリ「ｈｏｎｅｙｍｏｏｎ」に比べて概してより具体的であり、ユーザは自らの意図を反映するクエリが見つかるまで「掘り下げる」ために、利用することができる。さらに、最初のクエリで所望のオブジェクトが返された場合には、クエリ「ｈｏｎｅｙｍｏｏｎ」を用いて見つけられる複数の上位ランクのオブジェクト１５０８が、ユーザに返される。
【００７３】
次いで一旦図１６に移ると、本発明の別の例示的な実施例１６００を示す。この例でもクエリ「ｈｏｎｅｙｍｏｏｎ」がクエリボックス１５０２に入力されているが、スライドバー１５０４は、最初のクエリ（「ｈｏｎｅｙｍｏｏｎ」）のリターン集合と以前のクエリのリターン集合の重複を少なく要求する位置になっている。これにより、複数のクエリ１５０４が最初のクエリに予期しない形で関連するようになる（特に見つけようとはしていなかった有用な情報をユーザに提供する可能性のあるクエリ）。この例示的な実施形態では、「ｐａｓｓｐｏｒｔ  ａｐｐｌｉｃａｔｉｏｎ」、「ｏａｈｕ」、「ｃｈｅａｐ  ｔｒｉｐｓ」等の返されるクエリは、ユーザに直接関連するとは限らないが、ユーザはそのような情報が有用であることに気づく可能性がある。例えば、ユーザは、ハネムーンの行き先を検討する際に海外に行きたいと思っているが、まだパスポートの申請については考えていなかった可能性がある。したがって、本発明を利用して、ユーザが、ユーザの意図に周辺的に関連する情報を見つけるのを助けることができる。例示的な実施例１５００（図１５）および１６００ではスライドバー１５０４を利用するが、ユーザが最初のクエリと以前のクエリのリターン集合間に要求される重複の度合いを変えることができる任意の適切な機構を用いて良いことは理解されよう。さらに、最初のクエリと以前のクエリのリターン集合間に要求される重複の度合いは、人工知能コンポーネントを介して、ある期間ユーザを観察し、ユーザが特定の状態および／または状況で要求するクエリのタイプを学習することにより、自動的に決定することができる。
【００７４】
図１７を参照すると、本発明の各種態様を実施する例示的環境１７１０は、コンピュータ１７１２を含む。コンピュータ１７１２は、適切なコンピューティングデバイス（携帯情報端末、ラップトップコンピュータ、サーバ、デスクトップコンピュータなど）でよい。コンピュータ１７１２は、処理装置１７１４、システムメモリ１７１６、およびシステムバス１７１８を含む。システムバス１７１８は、これに限定しないがシステムメモリ１７１６を含むシステムコンポーネントを処理装置１７１４に結合する。処理装置１７１４は、各種の利用可能なプロセッサでよい。デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャも処理装置１７１４として用いることができる。
【００７５】
システムバス１７１８は、これらに限定しないが８ビットバス、ＩＳＡ、ＭＳＡ（Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＥＩＳＡ（Ｅｘｔｅｎｄｅｄ  ＩＳＡ）、ＩＤＥ、ＶＬＢ（ＶＥＳＡ  Ｌｏｃａｌ  Ｂｕｓ）、ＰＣＩ、ＵＳＢ、ＡＧＰ、ＰＣＭＣＩＡバス、およびＳＣＳＩを含む各種の利用可能なバスアーキテクチャを使用した、メモリバスまたはメモリコントローラ、ペリフェラルバスまたは外部バス、および／またはローカルバスを含む数種のバス構造のいずれでもよい。
【００７６】
システムメモリ１７１６は、揮発性メモリ１７２０と不揮発性メモリ１７２２を含む。起動時などにコンピュータ１７１２内の要素間で情報を転送する基本ルーチンを含んだ基本入出力システム（ＢＩＯＳ）は、不揮発性メモリ１７２２に記憶される。限定ではなく例示として、揮発性メモリ１７２２には、読み取り専用メモリ（ＲＯＭ）、ＰＲＯＭ（プログラム可能ＲＯＭ）、ＥＰＲＯＭ（電気的にプログラム可能なＲＯＭ）、ＥＥＰＲＯＭ（電気的に消去可能なＲＯＭ）、フラッシュメモリがある。揮発性メモリ１７２０には、外部キャッシュメモリとして機能するランダムアクセスメモリ（ＲＡＭ）が含まれる。限定ではなく例示として、ＲＡＭは、ＳＲＡＭ（シンクロナスＲＡＭ）、ＤＲＡＭ（ダイナミックＲＡＭ）、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）、ＤＤＲ  ＳＤＲＡＭ（ダブルデータレートＳＤＲＡＭ）、ＥＳＤＲＡＭ（エンハンストＳＤＲＡＭ）、ＳＬＤＲＡＭ（ＳｙｎｃｈｌｉｎｋＤＲＡＭ）、ＤＲＲＡＭ（ダイレクトＲａｍｂｕｓＲＡＭ）などの多数の形態のものが利用できる。
【００７７】
コンピュータ１７１２は、取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ記憶媒体も含む。図１７には、例えばディスクストレージ１７２４を示す。ディスクストレージ１７２４は、これらに限定しないが、磁気ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュメモリカード、メモリスティックなどがある。また、ディスクストレージ１７２４は、記憶媒体を単独で、または、これらに限定しないがＣＤ−ＲＯＭ（コンパクトディスクＲＯＭ）デバイス、ＣＤ−Ｒドライブ（記録可能ＣＤドライブ）、ＣＤ−ＲＷドライブ（書き換え可能ＣＤドライブ）、あるいはＤＶＤ−ＲＯＭ（デジタル多用途ディスクＲＯＭドライブ）などの光ディスクドライブを含む他の記憶媒体と組み合わせて含むことができる。ディスク記憶装置１７２４をシステムバス１７１８に接続するのを容易にするために、インタフェース１７２６などの取り外し可能または取り外し不能インタフェースが通例使用される。
【００７８】
図１７では、ユーザと、適切な動作環境１７１０に示す基本的なコンピュータリソースとの間の仲介役として動作するソフトウェアを示すことを理解されよう。そのようなソフトウェアにはオペレーティングシステム１７２８が含まれる。オペレーティングシステム１７２８は、ディスクストレージ１７２４に記憶することができ、コンピュータシステム１７１２のリソースを制御し、割り振る働きをする。システムアプリケーション１７３０は、システムメモリ１７１６またはディスクストレージ１７２４に記憶されたプログラムモジュール１７３２およびプログラムデータ１７３４を通じてオペレーティングシステム１７２８によるリソース管理を活用する。本発明は、各種のオペレーティングシステムまたはオペレーティングシステムの組み合わせを用いて実施できることを理解されたい。
【００７９】
ユーザは、入力装置１７３６を通じてコンピュータ１７１２にコマンドまたは情報を入力する。入力装置１７３６には、これらに限定しないが、マウス、トラックボール、スタイラス、タッチパッドなどのポインティングデバイス、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどがある。これらおよび他の入力装置は、インタフェースポート１７３８を介してシステムバス１７１８を通じて処理装置１７１４に接続する。インタフェースポート１７３８には、例えばシリアルポート、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）などがある。出力装置１７４０は、入力装置１７３６と同じタイプのポートの一部を使用する。したがって、例えば、ＵＳＢポートを使用してコンピュータ１７１２に入力を提供し、コンピュータ１７１２から出力装置１７４０に情報を出力することができる。出力装置１７４０の中にはモニタ、スピーカ、プリンタなど特殊なアダプタを必要とする出力装置１７４０があることを示すために出力アダプタ１７４２が提供される。出力アダプタ１７４２には、限定ではなく例示として、出力装置１７４０とシステムバス１７１８間の接続の手段を提供するビデオカードおよびサウンドカードが含まれる。リモートコンピュータ１７４４など、他のデバイスおよび／またはデバイスのシステムが、入出力両方の機能を提供することに留意されたい。
【００８０】
コンピュータ１７１２は、リモートコンピュータ１７４４などの１つまたは複数のリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ１７４４は、パーソナルコンピュータ、サーバ、ルーター、ネットワークＰＣ、ワークステーション、マイクロプロセッサを利用した機器、ピアデバイス、または他の一般的なネットワークノードなどであり、通例は、コンピュータ１７１２との関連で上述した要素の多くまたはすべてを含む。図を簡潔にするために、リモートコンピュータ１７４４にはメモリ記憶装置１７４６のみを図示する。リモートコンピュータ１７４４は、ネットワークインタフェース１７４８を通じてコンピュータ１７１２に論理的に接続され、通信接続１７５０を介して物理的に接続される。ネットワークインタフェース１７４８は、ローカルエリアネットワーク（ＬＡＮ）およびワイドエリアネットワーク（ＷＡＮ）などの通信ネットワークを包含する。ＬＡＮ技術には、ＦＤＤＩ（ファイバー分散データインタフェース）、ＣＤＤＩ（銅線分散データインタフェース）、イーサネット（登録商標）／ＩＥＥＥ８０２．３、Ｔｏｋｅｎ    Ｒｉｎｇ／ＩＥＥＥ８０２．５などがある。ＷＡＮ技術には、これらに限定しないが、２地点間リンク、ＩＳＤＮ（総合デジタル通信網）およびその変種などの回路交換網、パケット交換ネットワーク、およびＤＳＬ（デジタル加入者回線）がある。
【００８１】
通信接続１７５０は、ネットワークインタフェース１７４８をバス１７１８に接続するために用いられるハードウェア／ソフトウェアを指す。図を分かりやすくするために図では通信接続１７５０はコンピュータ１７１２の内部に示すが、コンピュータ１７１２の外部にあってもよい。ネットワークインタフェース１７４８に接続するために必要なハードウェア／ソフトウェアには、単なる例として、通常の電話グレードモデム、ケーブルモデム、ＤＳＬモデムなどのモデム、ＩＳＤＮアダプタ、およびイーサネット（登録商標）カードなどの内部技術および外部技術が含まれる。
【００８２】
図１８は、本発明が対話することができる例示的コンピューティング環境１８００の概略的ブロック図である。システム１８００は、１つまたは複数のクライアント１８１０を含む。クライアント１８１０は、ハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティングデバイスなど）である。システム１８００は、１つまたは複数のサーバ１８３０も含む。サーバ１８３０もハードウェアおよび／またはソフトウェア（スレッド、プロセス、コンピューティングデバイスなど）である。サーバ１８３０は、例えば本発明を用いることにより変換を行うスレッドを保持することができる。クライアント１８１０とサーバ１８３０間で可能な通信の一例は、２つ以上のコンピュータプロセス間で送信されるように適合されたデータパケットの形態である。システム１８００は、クライアント１８１０とサーバ１８３０間の通信を助けるために使用することができる通信フレームワーク１８５０を含む。クライアント１８１０は、クライアント１８１０にとってローカルの情報を記憶するために用いることができる１つまたは複数のクライアントデータストア１８６０に動作的に接続される。同様に、サーバ１８３０は、サーバ１８３０にとってローカルな情報を記憶するために用いることができる１つまたは複数のサーバデータストア１８４０に動作的に接続される。
【００８３】
上述の内容は、本発明の例を含む。言うまでもなく、本発明を説明するために構成要素または方法論のあらゆる着想可能な組み合わせを記載することは不可能であり、当業者は、本発明のさらなる組み合わせおよび置き換えが可能であることを認識されよう。したがって、本発明は、付記の特許請求の範囲の主旨および範囲に該当するすべてのそのような変更、修正、および変形を包含するものとする。さらに、詳細な説明または特許請求の範囲で用語「〜を含む（ｉｎｃｌｕｄｅ）」が使用される範囲で、この語は、用語「〜を備える（ｃｏｍｐｒｉｓｉｎｇ）」が請求項中で接続語として用いられる場合の解釈と同様に、包含的な意味とする。
【図面の簡単な説明】
【００８４】
【図１】本発明の一態様によるユーザ検索意図の判定を助けるシステムのブロック図である。
【図２】本発明の一態様によるユーザ検索意図の判定を助けるシステムのブロック図である。
【図３】本発明の一態様によるユーザ検索意図の判定を助けるシステムの別のブロック図である。
【図４】本発明の一態様によるユーザ検索意図の判定を助けるシステムの別のブロック図である。
【図５】本発明の一態様によるユーザ検索意図の判定を助けるシステムのさらに別のブロック図である。
【図６】本発明の一態様によるユーザ検索意図を判定する手順を説明する代表的流れ図である。
【図７】本発明の一態様によるユーザ検索意図を判定する手順を説明する代表的流れ図である。
【図８】本発明の一態様によるユーザ検索意図を判定する手順を説明する代表的流れ図である。
【図９】本発明の一態様による、クエリに関連付けられた結果集合の例示的区分の図である。
【図１０】本発明の一態様による、クエリに関連付けられた結果集合の別の例示的区分の図である。
【図１１】本発明の一態様による結果集合の例示的な構成の図である。
【図１２】本発明の一態様による、本発明がユーザの検索クエリに周辺的に関連するクエリを取り出すことができる方式を説明する図である。
【図１３】本発明の例示的な実施例の図である。
【図１４】本発明の別の例示的実施例の図である。
【図１５】本発明のさらに別の例示的実施例の図である。
【図１６】本発明のさらに別の例示的実施例の図である。
【図１７】本発明が機能することができる例示的な動作環境の図である。
【図１８】本発明が機能することができる別の例示的な動作環境の図である。
【符号の説明】
【００８５】
１００２、１００４、１００６、１００８、１０１０、１０１２  結果集合
１２０２  クエリＡの結果集合
１４０２  ブラウザ
１４０４  アドレスバー
１５０２  クエリボックス
１５０４  スライドバー
１３０２、１３０４、１５０６  クエリ
１７１２  コンピュータ
１７１４    処理装置
１７１８  システムバス
【図１】
0004753597.tif 000016
【図２】
0004753597.tif 000017
【図３】
0004753597.tif 000018
【図４】
0004753597.tif 000019
【図５】
0004753597.tif 000020
【図６】
0004753597.tif 000021
【図７】
0004753597.tif 000022
【図８】
0004753597.tif 000023
【図９】
0004753597.tif 000024
【図１０】
0004753597.tif 000025
【図１１】
0004753597.tif 000026
【図１２】
0004753597.tif 000027
【図１３】
0004753597.tif 000028
【図１４】
0004753597.tif 000029
【図１５】
0004753597.tif 000030
【図１６】
0004753597.tif 000031
【図１７】
0004753597.tif 000032
【図１８】
0004753597.tif 000033