(57)【要約】【課題】  検索エンジン結果をカテゴリ別に分散すること【解決手段】  検索エンジン・アプリケーションは、検索要求に応答して複数の電子ドキュメントに関連付けられるドキュメント・データの検索可能インデックスにクエリして、検索要求に含まれるデータに適合するドキュメント・データを有する１つ又は複数の電子ドキュメントを識別する。検索エンジン・アプリケーションは、識別された電子ドキュメントを、ユーザに対して表示するため、ドキュメント・データに含まれるカテゴリ・データ別に分散する。【選択図】  図２
2006018843.tif 000002
【特許請求の範囲】
【請求項１】
検索結果を生成する方法であって、
ユーザから検索要求を受信すること、
前記受信した検索要求の関数として検索可能なインデックスで、複数の電子ドキュメントの各々に関連付けられる１つ又は複数のカテゴリを規定するドキュメント・データを収容するインデックスにクエリして、前記検索要求に関連する可能性のある前記電子ドキュメントを識別すること、
前記クエリの結果を、前記識別した電子ドキュメントに関連付けられる前記１つ又は複数のカテゴリの関数としてソートすること、および
前記ソートした結果を、異なるカテゴリ内の１つ又は複数の前記識別された電子ドキュメントが前記ユーザに対し単一ページに表示されるように、前記ユーザに対し表示すること
を備えることを特徴とする方法。
【請求項２】
前記ドキュメント・データは、前記１つ又は複数のカテゴリに関連する前記電子ドキュメントの各々に関連付けられるランク付与値を含み、
前記ランク付与値は、前記インデックスに格納され、特定のカテゴリに対する特定の電子ドキュメントの関連性を指示し、および
前記表示することは、前記異なる各々のカテゴリ内の所定数の識別された電子ドキュメントを、前記ランク付与値の関数として表示することを含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記表示することは、前記ソートした結果を、異なるカテゴリの総数、及び前記異なるカテゴリ各々における前記識別された電子ドキュメントの各々に関するランク付与値、の両者の関数として、表示することを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記表示することは、前記ソートした結果を、それぞれが特定のカテゴリに対応する複数のグループの形態で表示することを含み、
各グループは、前記特定のカテゴリ内の前記識別された電子ドキュメントの記述を、前記特定のカテゴリ内の識別された各々の前記電子ドキュメントに関連付けられるランク付与値に基づき、降順でリストアップされている
ことを特徴とする請求項２に記載の方法。
【請求項５】
前記電子ドキュメントの各々は、ウェブ・ページ及びマルチメディアファイルのうちの１つ又は複数を備えることを特徴とする請求項２に記載の方法。
【請求項６】
前記検索可能なインデックスをクエリすることは、第３者データ・ソースにクエリして、前記異なるカテゴリに関連する広告データを取り出すことをさらに含み、
前記ソートした結果を表示することは、前記取り出した広告データを、前記識別された電子ドキュメントの前記異なるカテゴリに関連して、表示することをさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項７】
検索結果を生成するコンピュータ実行可能命令を含むコンピュータ可読媒体であって、
ユーザから検索要求を受信する検索フォーム・コンポーネント、
前記受信した検索要求の関数として検索可能なインデックスで、複数の電子ドキュメントに関連付けられ、各々の電子ドキュメントに関連付けられる１つ又は複数のカテゴリを特定するドキュメント・データを含むインデックスにクエリして、前記検索要求に関連する可能性のある電子ドキュメントを識別し、及び前記クエリの結果を、前記識別された電子ドキュメントに関連付けられる前記１つ又は複数のカテゴリの関数としてソートする検索エンジン・コンポーネント、および
前記ソートした結果を、異なるカテゴリ内の前記１つ又は複数の識別された電子ドキュメントが前記ユーザに対し単一ページに表示されるよう、前記ユーザに対して表示するユーザ・インターフェース・コンポーネント
を備えることを特徴とするコンピュータ可読媒体。
【請求項８】
前記ドキュメント・データは、前記１つ又は複数のカテゴリに関連する前記電子ドキュメントの各々に関連付けられるランク付与値を含み、
前記ランク付与値は、前記インデックスに格納され、特定のカテゴリに対する特定の電子ドキュメントの関連性を指示し、および
前記ユーザ・インターフェース・コンポーネントは、前記異なる各カテゴリ内の所定数の識別された電子ドキュメントを、前記ランク付与値の関数として表示するように、構成されている
ことを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項９】
前記ユーザ・インターフェース・コンポーネントはさらに、前記ソートした結果を、異なるカテゴリの総数、及び前記異なるカテゴリ各々における前記識別された電子ドキュメントの各々に関するランク付与値、の両者の関数として、表示するように構成されていることを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１０】
前記ユーザ・インターフェース・コンポーネントはさらに、前記複数のソートした結果を、それぞれが特定のカテゴリに対応する複数のグループの形態で表示するように構成され、
各グループは、前記特定のカテゴリ内の識別された前記電子ドキュメントの記述を、前記特定のカテゴリ内の識別された各々の前記電子ドキュメントに関連付けられるランク付与値に基づき、降順でリストアップされている
ことを特徴とする請求項８に記載のコンピュータ可読媒体。
【請求項１１】
前記検索エンジン・コンポーネントはさらに、
第３者データ・ソースにクエリして、前記異なるカテゴリに関連する広告データを取り出すように構成され、
前記ユーザ・インターフェース・コンポーネントはさらに、
前記取り出した広告データを、前記識別された電子ドキュメントの前記異なるカテゴリに関連して、表示するように構成されている
ことを特徴とする請求項７に記載のコンピュータ可読媒体。
【請求項１２】
クライアントを介して検索要求を生成するユーザから受信した検索要求に応答して検索結果を生成するためのシステムであって、
前記システムは、
前記クライアントを介して前記ユーザから前記検索要求を受信する、通信ネットワークを介してクライアントに結合されている第１サーバ、および
複数の電子ドキュメントに関連付けられるドキュメント・データで、電子ドキュメントの各々に関連付けられる１つ又は複数のカテゴリを特定するドキュメント・データ、を含むインデックス
を備え、
前記第１サーバは、前記受信した検索要求の関数として前記インデックスをクエリして、前記検索結果に関連する可能性のある電子ドキュメントを識別し、前記クエリの結果をソートするように構成され、前記結果は、前記識別された電子ドキュメントに関連付けられる１つ又は複数のカテゴリの関数としてソートされ、異なるカテゴリ内の１つ又は複数の前記識別された電子ドキュメントが前記ユーザに対し単一ページに表示されるように、クライアントでユーザに対し表示する
ことを特徴とするシステム。
【請求項１３】
前記ドキュメント・データは、１つ又は複数のカテゴリに関連する前記電子ドキュメントの各々に関連付けられるランク付与値を含み、
前記ランク付与値は、インデックスに格納され、特定のカテゴリに対する特定の電子ドキュメントの関連性を指示し、および
前記異なる各々のカテゴリ内の所定数の識別された電子ドキュメントを、前記ランク付与値の関数として表示する
ことを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記ソートした結果を、異なるカテゴリの総数、及び前記異なるカテゴリ各々における前記識別された電子ドキュメントの各々に関するランク付与値、の両者の関数として表示することを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記ソートした結果を、それぞれが特定のカテゴリに対応する複数のグループの形態で表示して、各グループは、前記特定のカテゴリ内の前記識別された電子ドキュメントの記述を、前記特定のカテゴリ内の前記識別された電子ドキュメントの各々に関連付けられるランク付与値に基づき降順でリストアップされていることを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記第１サーバは、前記ユーザから前記検索要求を受信するクライアントに対してウェブ・フォームを供給するように構成されることを特徴とする請求項１２に記載のシステム。
【請求項１７】
前記第１サーバはさらに、第３者データ・ソースにクエリして、前記異なるカテゴリに関連する広告データを取り出すように構成され、
前記取り出される広告データを、前記識別された電子ドキュメントの前記異なるカテゴリに関連して、表示する
ことを特徴とする請求項１２に記載のシステム。
【請求項１８】
前記インデックスに含まれる前記ドキュメント・データは、複数のサブインデックスに分割し、転送されて格納され、前記複数のサブインデックス各々は、各々複数のアフィリエイト・サーバ上に維持され、前記第１サーバは、受信した検索要求に応答して前記複数のサブインデックスのうち少なくとも１つにクエリして、異なるカテゴリ内の１つ又は複数の電子ドキュメントを識別することを特徴とする請求項１２に記載のシステム。
【請求項１９】
検索可能データ構造を格納した１つ又は複数のコンピュータ可読媒体であって、
ネットワーク上に位置する電子ドキュメントに関連付けられる検索エンジンのインデックス用語で、前記電子ドキュメントに含まれるインデックス用語、を表すデータを格納するための第１フィールド、
前記電子ドキュメントに関連付けられるカテゴリを表すデータを格納するための第２フィールド、及び
ネットワーク上の電子ドキュメントの位置を表すデータを格納するための第３フィールド、
を備え、
前記第２フィールドに含まれる前記ドキュメント・データは、第１フィールドにしたがって、１つ又は複数のカテゴリが前記インデックス用語に関連付けられるようにインデックスされ、
前記第３フィールドに含まれるドキュメント・データは、前記第２フィールドにしたがって前記電子ドキュメントの１つ又は複数の位置が前記１つ又は複数の各々のカテゴリに関連付けられるように、インデックスされる
ことを特徴とするコンピュータ可読媒体。
【請求項２０】
前記データ構造はさらに、前記電子ドキュメントに関連付けられるランク付与値を表す第４フィールドを含み、前記ランク付与値は特定のカテゴリに対する特定の電子ドキュメントの関連性を指示し、第４フィールドに含まれるドキュメント・データは、第３フィールドにしたがって、１つ又は複数の評価値が、前記特定のカテゴリに関連付けられる前記電子ドキュメントの各々に関連付けられるように、インデックスされることを特徴とする請求項１９に記載のコンピュータ可読媒体。
【請求項２１】
アプリケーションが、
検索要求を受信してインデックスを検索し、第１フィールド内に格納されている前記インデックス用語が前記受信した検索要求内で特定されたクエリ・データに適合するか否かを判定するように、構成され、
前記第１フィールド内に格納されている前記インデックス用語が前記クエリ・データに一致する場合、前記アプリケーションはさらに、前記第２フィールド内に特定されている前記対応するカテゴリを識別し、前記第３フィールド内に格納されている前記対応するドキュメント位置を識別するように構成されており、前記アプリケーションは、識別されるドキュメント位置を含む、カテゴリ別にグループ分けされている検索結果をユーザに提供する、
ことを特徴とする請求項１９に記載のコンピュータ可読媒体。
【請求項２２】
前記データ構造はさらに、
既知の電子ドキュメントに関連付けられる概要記述を表す第５フィールドを含み、
前記アプリケーションが前記ユーザに供給する前記グループ分けした検索結果は、前記電子ドキュメントに関連付けられる前記概要記述を含む
ことを特徴とする請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
前記ドキュメント・データはさらに、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）ヘッダのデータ、メタタグ、拡張可能マークアップ言語（ＸＭＬ）データ、及びリソース記述フレームワーク（ＲＤＦ）データ、のうちの１つまたは複数のデータを含むことを特徴とする請求項１９に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信ネットワーク上の電子ドキュメントの形の関係データを検索する分野に関する。より詳細には、本発明の実施例は、検索結果を、検索中に発見する電子ドキュメントのカテゴリにしたがって分散することに関する。
【背景技術】
【０００２】
インターネットは、多数のコンピュータ上に分散した膨大な量の情報を有し、それによりユーザに、様々な題材に関する大量の情報を提供する。このことは、イントラネット及びエクストラネット等の、その他の多数の通信ネットワークについても言えることである。大量の情報がネットワークによって入手可能であるが、所望する情報を発見するのは、容易ではなく、迅速にはできない。
【０００３】
求める情報を、ネットワーク上で発見する際の問題に対処する検索エンジンが開発されてきた。従来の検索エンジンは、クローラ（スパイダ又はボットとも言う）を含み、これがネットワーク上の電子ドキュメントにアクセスして、それを「読取り」、次にリンクにしたがってウェブサイト内の別の電子ドキュメントにアクセスする。クローラは定期的にウェブサイトに戻って更新を探す。検索エンジンの別の部分であるインデックスは、クローラが発見する電子ドキュメントに関する情報を格納する。検索エンジンは、１つ又は複数のユーザ指定の検索用語に応答して、ユーザ指定の検索用語に関連する電子ドキュメントを含むと検索エンジンが判定するネットワーク・ロケーション（例えば、ユニフォーム・リソース・ロケータ（ＵＲＬ））のリストを返す。検索エンジンによっては、ユーザが選択する情報のカテゴリ（例えば、ニュース、ウェブ、画像など）及びこれらのカテゴリ内のカテゴリを提供するものもあり、これによりユーザはこれらのカテゴリから関心のある領域に絞り込むことができる。
【０００４】
検索エンジン・ソフト・ウエアは、典型的に、提出される検索要求を満たす電子ドキュメントに対して、それらの読取れる関連性（relevance）によってランクを付け、そのランクによって検索結果をユーザに表示する手段を提供する。典型的な関連性ランクは、所定のネットワーク・ロケーションンにある電子ドキュメントを、他の電子ドキュメントと比較して、ユーザ指定の検索用語に関連する可能性を相対的に見積もったものである。例えば、従来の検索エンジンは、電子ドキュメントに特定の検索用語が使用される回数、電子ドキュメント内におけるその位置（例えば、タイトルに使用される用語は、電子ドキュメントの最後に使用される用語より重要であると見なされることが多い）に基づいて関連性ランクを提供する。リンク分析、アンカー・テキスト分析、ウェブ・ページ構造分析、重要用語一覧の使用、及びＵＲＬテキストは、ウェブ・ページおよびその他のハイパーリンク・ドキュメントのランク付けをする別の公知技術である。
【０００５】
現在利用することのできる検索エンジンは、典型的に、読み取ったランクに従った検索結果の表示に限定される。残念なことにこれは、最高ランクの結果が全て１つの情報のカテゴリに含まれることがあるため、ユーザに対し十分な情報を提供できないことがある。例えば、多くの製品の名称は２つ以上の意味を有する（自動車が惑星名から命名され、パーソナル・コンピュータが果物名から命名される、等）。ユーザに対する最初のページの検索結果の価値は、ユーザがその情報、例えば、惑星としての土星と同名の自動車の何れに興味を持つかに左右される。その結果、最初のページに表示される結果には、単一の題材またはカテゴリに関連するものが多過ぎるために、ユーザはクエリを絞り込むか、又は検索結果を数ページ読む必要がある場合が多い。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このように、従来のランク付けとは無関係に、多様な題材又はカテゴリに関連する検索結果を、検索結果の単一ページに表示する検索エンジンが必要とされている。このような分散した検索結果を表示することにより、ユーザは、結果の最初のページ上で、各種の結果を閲覧することができる。
【課題を解決するための手段】
【０００７】
本発明の実施例は、特に、データ通信ネットワーク上で関連データを検索する改善された検索方法を提供することにより、先行技術における１つ又は複数の難点を克服する。検索要求に応答して、検索結果の最初のページ上で、様々な検索結果をユーザに対し表示することにより、本発明は、ユーザがいっそう容易に関連ドキュメントをネットワーク上で発見することを可能にする。詳細には、本発明の一実施例は、検索結果をカテゴリ別に分散して、ユーザが、異なるカテゴリに関する検索結果を、検索結果の最初のページ上で容易に閲覧することができるようにする。検索結果をカテゴリ別に分散することにより、各種カテゴリ範囲内の結果を、検索結果の次のページにスクロール又は移動することなく、閲覧することができる。さらに、検索結果を検索結果の最初のページ上でカテゴリ別に分散することにより、ユーザは関連する結果をいっそう簡単に識別することができ、したがって、いっそう楽しく効率的な検索を経験することができる。加えて、ここに記述する本発明の特徴は、現在利用可能な技術より実行が面倒な場合が少なく容易であると同時に、経済的に実現可能で、商業的に実用的である。
【０００８】
本発明の一態様にかかる検索結果作成方法を提供する。この方法は、ユーザからの検索要求を受信することを含む。その方法は、受信した検索要求の関数として検索可能なインデックスにクエリして、検索要求に関連する電子ドキュメントを識別することも含む。このインデックスは、複数の電子ドキュメントに関連付けられるドキュメント・データを含む。このドキュメント・データは、各々の電子ドキュメントに関連付けられる１つ又は複数のカテゴリを特定する。この方法は、識別された電子ドキュメントに関連付けられる１つ又は複数のカテゴリの関数として、前記クエリの結果をソートすることを含む。この方法はさらに、異なるカテゴリ内の１つ又は複数の識別された電子ドキュメントは、ユーザに対し単一ページ上に表示されるようにソートした結果を表示する。
【０００９】
本発明の別の態様により、コンピュータ可読媒体は、検索結果を生成するコンピュータ実行可能命令を含む。検索フォーム・コンポーネントは、ユーザからの検索要求を受信する。検索エンジン・コンポーネントは、受信した検索要求の関数として検索可能なインデックスにクエリして、検索要求に関連する電子ドキュメントを識別し、前記クエリの結果をソートする。このインデックスは、複数の電子ドキュメントに関連付けられるドキュメント・データを含む。このドキュメント・データは、各々の電子ドキュメントに関連付けられる１つ又は複数のカテゴリを特定する。結果は、識別された電子ドキュメントに関連付けられる１つ又は複数のカテゴリの関数としてソートされる。ユーザ・インターフェース・コンポーネントは、格納した結果を、異なるカテゴリ内の１つ又は複数の識別された電子ドキュメントが、ユーザに対し単一ページ上に表示されるように表示する。
【００１０】
本発明の別の態様にかかる、クライアント・コンピュータを介してユーザから受信する検索要求に応答して検索結果を生成するシステムを、提供する。このシステムは、クライアントを介してユーザから検索要求を受信する第１サーバを含む。この第１サーバは、通信ネットワークを介してクライアントに結合される。このシステムは、複数の電子ドキュメントに関連付けられるドキュメント・データを含むインデックスも含む。このドキュメント・データは、各々の電子ドキュメントに関連付けられる１つ又は複数のカテゴリを特定する。前記第１サーバは、受信した検索要求の関数としてインデックスにクエリして、検索要求に関連する電子ドキュメントを識別し、前記クエリの結果をソートするように構成されている。結果は、識別された電子ドキュメントに関連付けられる１つ又は複数のカテゴリの関数として、クライアント側のユーザに対し、異なるカテゴリ内の１つ又は複数の識別された電子ドキュメントは、単一ページ上に表示されるようにソートされる。
【００１１】
本発明のさらに別の態様にかかる、検索可能データ構造を格納する１つ又は複数のコンピュータ可読媒体を提供する。第１フィールドは、ネットワーク上に置かれる電子ドキュメントに関連付けられる検索エンジンのインデックス用語を表すデータを格納するためのフィールドである。インデックス用語は、電子ドキュメント中に含まれる。第２フィールドは、電子ドキュメントに関連付けられるカテゴリを表すデータを格納するためのフィールドである。第３フィールドは、電子ドキュメントのネットワーク上の位置を表すデータを格納するためのフィールドである。第２フィールドに含まれるドキュメント・データは、第１フィールドにより、１つ又は複数のカテゴリがインデックス用語に関連付けられるようにインデックスされ、第３フィールドに含まれるデータは、第２フィールドにより、電子ドキュメントの１つ又は複数の電子ドキュメントの位置が、１つ又は複数の各々のカテゴリに関連付けられるようにインデックスされる。
【発明を実施するための最良の形態】
【００１２】
ここで、本発明を利用することのできる例示的なネットワーク環境１００を示す図１を参照する。クライアント１０２が、インターネット（又はワールド・ワイド・ウェブ）などの、データ通信ネットワーク１０４に結合されている。１つ又は複数のサーバが、ネットワーク１０４を介し、インターネット上における情報交換に一般的に使用される、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）等のプロトコルを使用してクライアント１０２と通信する。図示する実施例においては、フロントエンド・サーバ１０６及びバックエンド・サーバ１０８（例えは、ウェブ・サーバ、またはネットワーク・サーバ）が、ネットワーク１０４に結合されている。クライアント１０２は、ネットワーク１０４、フロントエンド・サーバ１０６、およびバックエンド・サーバ１０８を利用して、例えば、１つ又は複数のサーバ・ノード１１０に格納されるウェブ・ページ・データにアクセスする。このようにして、クライアント１０２は、１つ又は複数のサーバ・ノード１１０が維持するウェブ・ページ・データ１１２に対するネットワーク１０４を介したアクセスを要求することができる。
【００１３】
本発明の実施例は、多様な検索結果を、ユーザ１１４に対して、ユーザ指定の検索結果に応答する検索結果の単一ページ上への表示を可能にすることにより、データ通信ネットワーク上の関連データの改善された検索を提供する。詳細には、本発明の一実施例においては、検索結果を、ユーザ１１４が異なるカテゴリに関する検索結果を、検索結果の最初のページ上で、容易に閲覧することができるように、カテゴリ別に分散する。検索結果をカテゴリ別に分散することにより、ユーザ１１４は、検索結果の次のページにスクロール又は移動することなく、各種のカテゴリ内の結果を閲覧することができる。さらに、検索結果をカテゴリ別に検索結果の単一ページ（例えば、最初のページ）上に分散することにより、ユーザは、関連する結果をいっそう簡単に識別することができるので、いっそう楽しく効果的な検索を経験することができる。
【００１４】
この実施例において、ユーザ１１４はクライアント１０２を使用して、関心のある特定の題材について、記述する及び／又はそれに関連する電子ドキュメント（例えば、ウェブ・ページ）をユーザ１１４が識別したい、関心のある特定の題材について、１つ又は複数の用語を含む検索要求を入力する。例えば、フロントエンド・サーバ１０６は、クライアント１０２に対し応答して、ユーザ１１４を認証し、認証されたユーザからの要求をバックエンド・サーバ１０８にリダイレクトする。
【００１５】
バックエンド・サーバ１０８は、１つ又は複数のアフィリエイト・ノード・サーバ（affiliated node servers）１１０に対しクエリを提出するリダイレクトされた検索要求等に応答して、ユーザに関連する電子ドキュメント（即ち、検索結果）に関するデータを取り出す。各アフィリエイト・ノード・サーバは、インターネットを介して利用することのできるウェブ・ページ等の電子ドキュメントに関する情報を収容する中央データ・インデクス（インデクス）１１６に。さらに、各々のノード・サーバ１１０は、以前に取り出したドキュメント・データ（即ち、ウェブ・ページ・データ１１２）を格納するメモリ・キャッシュ（示さず）を含んでもよい。図２を参照して以下に詳細を記述するように、インデックス１１６は、位置（location）（例えば、リンク、又はＵＲＬ）、メタタグ、テキスト、およびドキュメント・カテゴリ等の、電子ドキュメントに関するデータを含む。図１の例においては、１つ又は複数のアフィリエイト・ノード・サーバ１１０から受信する検索結果をカテゴリ別に分散すること、分散検索結果をユーザ１１４に対しクライアント１０２を介して表示することとの関連において、本発明は記述されている。とりわけ、フロントエンド・サーバ１０６及びバックエンド・サーバ１０８はネットワーク環境内の異なる構成要素として記述されているが、単一サーバが双方の機能を実行することができることは、理解できる。
【００１６】
本発明は、検索エンジン・アプリケーション（アプリケーション）１１８を採用する。これは、バックエンド・サーバ１０８により実行され、クライアント１０２から受信する検索要求に応答して各種カテゴリ内のウェブ・ページ等（即ち、電子ドキュメント）を識別する。より具体的には、アプリケーション１１８は、インデックス１１６から、検索要求に含まれる１つ又は複数の用語に対応する各種カテゴリ内の関連ウェブ・ページを識別し、識別されたカテゴリ毎に、クライアント１０２を介してユーザ１１４に表示すべき、最も関連のあるウェブ・ページを識別する。例えば、ユーザ入力（即ち、検索要求）が用語「ａｐｐｌｅ」を定義しているとき、検索エンジン・アプリケーション１１８は、結果を果物のカテゴリとＡｐｐｌｅ（登録商標）コンピュータのカテゴリに分散する。カテゴリ化を通して分散すること、および各カテゴリから最良の（即ち最も適合度の高い）結果のいくつかを表示用に選択することにより、ユーザ１１４は、検索結果の最初のページ上で、異なる様々なカテゴリに関連付けられる最も適合度の高いウェブ・ページを閲覧することができる。
【００１７】
ここで図２を参照すると、ブロック図は、インデックス１１６を取り込んで使用する例示的コンピュータ・ネットワーク２００の構成要素を示している。本発明は、これに対してアクセスして、検索結果を各種カテゴリの中から取出し、検索結果の単一ページ上に表示する。
【００１８】
一実施例において、フェッチング・サーバ２０４は、シード・データ（seed data）２０６に応答してフェッチング・モジュール（fetching module）２０８を実行し、ウェブ・ページのようなＨＴＭＬドキュメントを、インターネット（又はワールド・ワイド・ウェブ）１０４を介してアクセス可能な各種ウェブ・サーバ２１０から取出す。当業者には公知のように、シード・データ２０６は、ＵＲＬのリストを含み、その各々は、１つ又は複数のＨＴＭＬドキュメントを含む特定のウェブ・サーバの位置を識別する。フェッチング・モジュール２０８は、シード・データ２０６（即ち、シードＵＲＬ）を使用して、ネットワーク１０４（例えば、ワールド・ワイド・ウェブ）のクロールを開始する。ここで使用する用語「クロール（crawl）」は、シード・データ２０６が識別するウェブ・ページ上のコンテンツを取り出して分析するプロセスを意味する。例えば、クロールする過程で、取出されたウェブ・ページの各々に含まれるＵＲＬを、フェッチング・モジュール２０８により識別して、それを使用して、追加のウェブ・ページにアクセスして内容を分析する。
【００１９】
インターネットで利用可能なウェブ・ページの量は膨大であるため、各々がフェッチング・モジュール２０８を実行する複数のフェッチング・サーバ２０４が、ウェブ・ページのコンテンツを取り出して分析するのに使用することができる。例えば、フェッチング・サーバ２０４のグループを、ドメイン・ハッシュで区分することができる。ドメイン・ハッシュは、ＵＲＬの標準型を意味する。例えば、ＵＲＬ「ｈｔｔｐ：／／ｗｗｗ．ａ．ｃｏｍ／ｓｅｒｖｉｃｅｓ」は、「ｈｔｔｐ：ｗｗｗ．ａ．ｃｏｍ：８０」に変形することができる。例えば、この１０バイト・ハッシュの文字列を取り上げて、そのハッシュ文字列内の特定バイト（例えば８０）が、ハッシュのその特定パーティションを扱うフェッチング・サーバ２０４の判定に使用する。言い換えると、各フェッチング・サーバ２０４は、ドメイン・ハッシュ空間の１つのパーティションを担当する。例えば、４つのフェッチング・サーバ２０４があって、全ドメイン・ハッシュ空間が、１−４００の範囲の値を有するとき、分割の内訳は次のようになる。
【００２０】
フェッチング・サーバ  １：
下位ハッシュ：１
上位ハッシュ：１００
フェッチング・サーバ  ２：
下位ハッシュ：１０１
上位ハッシュ：２００
フェッチング・サーバ  ３：
下位ハッシュ：２０１
上位ハッシュ：３００
フェッチング・サーバ  ４：
下位ハッシュ：３０１
上位ハッシュ：４００
したがって、「ｈｔｔｐ：ｗｗｗ．ａ．ｃｏｍ：８０」と変形されたＵＲＬの場合は、フェッチング・サーバ＃１が、その特定ＵＲＬに再割当てされる。その後、フェッチング・モジュール２０８が、取出した電子ドキュメントを、インデックス・ビルダ・モジュール（index builder module）２１４に渡す。
【００２１】
インデックス・ビルダ・モジュール２１４は、受信したウェブ・ページに応答して、フェッチング・サーバ２０４により実行可能であり、取り出した各々のウェブ・ページのコンテンツを分析してドキュメント・データを識別し、受信した各々の電子ドキュメントについて、識別されるドキュメント・データのインデックス１１６を作成して維持する。この実施例において、インデックス１１６は、サーバ２０４のメモリ２１６内に格納されており、識別されたデータ構造の各種の型の体系的なリストとそのスキーマを含む。例えば、インデックス・ビルダ２１４は、特徴抽出ツール２１７を含み、取り込んだ電子ドキュメントを分析して構造データ（例えば、ＵＲＬ、ワード、メタタグ等）を検出し、検出した構造データを表すインデックス用語を、メモリ２１６内のインデックス１１６に対して、次々に追加する。とりわけ、インデックス１１６はサーバ２０４上のメモリ２１６内に維持されると上述したが、このインデックスをリモート・サーバに関連付けられる外部ストレージ媒体上に維持することが可能であると考えられている。
【００２２】
カテゴリ・ツール２１８は、インデックス１１６にリンクしており、取り出した各々のウェブ・ページの１つ又は複数のカテゴリを、分析したコンテンツ（即ち、識別されたドキュメント・データ）の関数として識別し、オープン・ディレクトリ・プロジェクト（ＯＤＰ）又は以前にカテゴリ化されたウェブ・ページに関するインデックス・データなどの、１つ又は複数の外部データ・ソースを識別する。
【００２３】
当業者には公知のように、ＯＤＰは、人によって分類されたコンテンツの、最も広く配布されているデータベースの１つである。例えば、ＯＤＰが、ＵＲＬ  ｗｗｗ．ｇｓ．ｃｏｍ．を有するウェブ・ページをビジネス→金融（Finance）に属すると分類し、ＵＲＬ  ｗｗｗ．ｇｓ．ｃｏｍ／ｖｅｎｔｕｒｅｃａｐｉｔａｌ／を有するウェブ・ページをビジネス→金融→起業家精神（Entrepreneurship）に属すると分類すると仮定しよう。カテゴリ・ツール２１８に、カテゴリ化するためにＵＲＬ  ｗｗｗ．ｇｓ．ｃｏｍ／ｖｅｎｔｕｒｅｃａｐｉｔａｌ／ｆｏｏ／ｂａｒ．ｈｔｍｌが与えられると、先ず、適合する（matching）ＵＲＬを求めて、外部データ・ソース及び／又はインデックスにクエリする。ＵＲＬ  ｗｗｗ．ｇｓ．ｃｏｍ／ｖｅｎｔｕｒｅｃａｐｉｔａｌ／ｆｏｏ／ｂａｒ．ｈｔｍｌが発見できない場合、カテゴリ・ツール２１８は、次に、ｗｗｗ．ｇｓ．ｃｏｍ／ｖｅｎｔｕｒｅｃａｐｉｔａｌ／ｆｏｏを求めて、外部データ・ソース及び／又はインデックスに、クエリする。最終的に、ｗｗｗ．ｇｓ．ｃｏｍ／ｖｅｎｔｕｒｅｃａｐｉｔａｌ／ｆｏｏが発見できない場合、カテゴリ・ツール２１８は、ｗｗｗ．ｇｓ．ｃｏｍ／ｖｅｎｔｕｒｅｃａｐｉｔａｌを点検して、そのウェブ・ページ（即ち、ｗｗｗ．ｇｓ．ｃｏｍ／ｖｅｎｔｕｒｅｃａｐｉｔａｌ／ｆｏｏ／ｂａｒ．ｈｔｍｌ）に、ビジネス→金融→起業家精神のカテゴリを割当てる。ｗｗｗ．ｇｓ．ｃｏｍ自体にカテゴリを持たせることも可能である。また、短いＵＲＬが、個別のカテゴリを有することも可能である。例えば、ｗｗｗ．ｇｓ．ｃｏｍは、ビジネス→金融だけになる。特定のページをカテゴリ化した後、その特定ページについて識別されるカテゴリ情報は、インデックス１１６内に維持される。インデックス内で特定される識別されたデータの型には、ドキュメント源（document origin）（即ちＵＲＬ）、ワード、メタタグ、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）ヘッダで返されるドキュメント・データ、リソース記述フレームワーク（ＲＤＦ）データ、も含まれる。識別されたカテゴリと共に、カテゴリに信頼水準を割当ててもよい。例えば、ハワイに関する旅行ページは、信頼度８０％の「リクリエーション＼旅行」のカテゴリと、信頼度７５％の米国＼州＼ハワイのカテゴリを含んでもよい。
【００２４】
ランク付けツール２２０は、特定のカテゴリ内のドキュメントについて、関連性評価値（relevance rating）を算出する。一実施例において、ランク付けエンジンは１つ又は複数の学習ベースの分類器（classifiers）を使用して、選択されるカテゴリ又は題材（自動車のような）に関連するドキュメントに関する１つ又は複数の評価値（rating）を判定し、次にその結果を組合せて全体としての分類及び／又は評価値を作成する。ドキュメントの評価には様々な学習ベースの分類器を使用することができる。このような分類器の例には、デシジョン・ツリー、ニューラル・ネットワーク、ベイジアン・ネットワーク（Bayesian networks）、および同一出願人による米国特許６，１９２，３６０号に記述されるようなサポート・ベクトル・マシンが含まれるが、これらに限定されない。米国特許６，１９２，３６０号の開示全文は、ここに参照して組み込まれる。特定のカテゴリに関連する特定のドキュメントについて判定した評価値は、当該インデックス内でドキュメントを編成するのに使用することができる。
【００２５】
単一のコンピュータには大きなインデックスを格納するのに十分なメモリがないため、インデックス１１６は、多数のアフィリエイト・サーバ（例えば、数百のアフィリエイト・ノード・サーバ１１０）全体に亘って分散してもよい。したがって、インデックス１１６は、多数のコンピュータ上に１つ又は複数のファイル（例えば、ドキュメント）として格納される。さらに、多数のアフィリエイト・サーバ（又はサーバ１１０）は各々、インデックス１１６のサブセットを含んでもよい。例えば、インデックス１１６には１０億ものネットワーク・ロケーションンをリストアップしてもよく、この場合、ネットワーク・ロケーションン１−１０００は、第１アフィリエイト・サーバ上に格納されるサブインデックス２２２内にリストし、ネットワーク・ロケーションン１００１−２０００は、別のアフィリエイト・サーバ上に格納されるサブインデックス２２２内にリストするといった具合である。このとき、これらのファイルは、単一の大きいファイルとして扱えるように、連結するか、又はリンクして長いネットワーク・ロケーションのリストにする。検索要求に応答して、クエリ・プロセッサが、インデックス１１６を含むコンピュータにクエリを発行する。
【００２６】
本発明の一実施例においては、インデックス・ビルダ２１４は、多数のアフィリエイト・サーバに分散するため、例えば、リストされたインデックス用語に基づいてインデックス１１６を分割する。したがって、これらのファイル内のインデックス用語のパーティションが分かっている場合は、特定のインデックス用語が出てくる特定のファイルを、このインデックス用語が１つ以上のファイルに出てくる場合でも判定することができる。本発明の別の実施例において、インデックス・ビルダ２１４は、インデックス１１６を多数のアフィリエイト・サーバに対して、ランダムに、又は半ランダムに配分する。インデックス１１６をランダム又は半ランダムに分散することにより、クエリ・プロセッサ間に効率の良い負荷配分をもたらす。これにより、例えば、頻出用語のコロケーションのため、特定のクエリ・プロセッサが別のクエリ・プロセッサより多量のクエリを処理することが回避できる。こうして、インデックス１１６をランダム又は半ランダムに分散することにより、クエリ処理がクエリ・プロセッサ間でより均等に、予想通りに分割される。
【００２７】
インデックス１１６を複数のサーバにわたって配分するため、インデックス・ビルダ２１４は、インデックス１１６を複数のチャンクに分割する。詳細には、インデックス・ビルダ２１４は、検出した構造データから判定されるインデックス用語を、インデックスからなる複数のチャンクに編成し、それらのチャンクを複数のコンピュータに分散することにより、インデクス１１６を作成する。定期的に、インデックス・ビルダ２１４は、新しいインデックスのチャンクをインデックス１１６の中にスタックする。つまり、インデックス・ビルダ２１４は、定期的に（例えば、１分間に５回）、小さな、追加のインデックスの小さな集まりを、より大きいインデックス１１６にマージする。
【００２８】
本発明の一実施例において、最新のデータを表す新しいインデックスのチャンク（即ち、以前に取得して解析した電子文書は、新しい又は最新の構造データを含む可能性がある）をインデックス１１６にマージするため、インデックス・ビルダ２１４は、先ず新しいチャンクを抽出する。続いて、インデックス・ビルダ２１４は、新しいチャンクのセット内の最初のインデックス用語を検出する。インデックス・ビルダ２１４は、さらに、新しいチャンクのセット全体を通してこのインデックス用語に関連付けられるネットワーク・ロケーションと属性とを、結合して単一のリストを作成する。次に、インデックス・ビルダ２１４は、このリストを新しいインデックス・ファイルに挿入する。さらに、インデックス・ビルダ２１４は、新しいチャンクをインデックス１１６にマージした際に、インデックスのチャンクを更新可能なインデックス１１６から定期的に削除する。加えて、インデックス・ビルダ２１４が新しいインデックスのチャンクをマージする前に、これらの新しいチャンクは、クエリ・プロセッサによるクエリには利用することができない。しかし、インデックス・ビルダ２１４が新しいチャンクをインデックス１１６にマージした後は、新たにマージされたインデックス１１６をクエリに利用することができる。２つのページが同一であるか否かを判定して、クエリの際の重複を解消するのを助けるため、シングル・プリント（shingle prints）を使用する。シングル・プリントは、６つの、１６ビットの符号なしの値で構成される。各々の１６ビット値は、２つのドキュメントの間の重要な統語的類似性を表現する。例えば、２つのドキュメント間の基礎にある類似性が９５％以上であるとき、６つのシングル（shingle）のうち４つは、ほとんど常に一致する。
【００２９】
ここで、表１を参照するが、例示的なインデックス１１６に含まれるドキュメント・データを示す。
【００３０】
【表１】
2006018843.tif 000003
【００３１】
図１及び２を参照して上述したように、インデックス１１６は、クロールする過程に識別される複数の電子ドキュメントに関するドキュメント・データを含む。各カラム（Ｃ１−Ｃ５）は、特定の電子ドキュメントに関する様々なデータ・フィールドの値に対応する。各行（Ｒ１−Ｒ５）は、特定の電子ドキュメントに対応する。この例において、インデックスは、一意のインデックス用語（unique index terms）（即ち、ワード）のリストを含む。一意のインデックス用語（index term）に続いて、カテゴリ識別子（カテゴリＩＤ）のリストがあり、各々一意のインデックス用語を有する電子ドキュメントが割当てられている特定のカテゴリを表す。カテゴリＩＤは、特定のカテゴリＩＤを一意に識別する指定されたバイト値（例えば４バイト）の一意のカテゴリＩＤで、クエリと集約の目的に使用することができる。例えば、ＯＤＰのようなカテゴリ・データ・ソースにより割当てられる各カテゴリもまた、一意のカテゴリＩＤを割当てられる。例えば、表１に記載する値２のカテゴリＩＤは、フルーツのカテゴリに対応する（例えば、表１のＲ１とＣ２の位置のセル参照：以下Ｒ１Ｃ２と呼ぶ）。一実施例において、インデックス１１６は、カテゴリ名のリストとそれに対応するカテゴリＩＤを含むルックアップ表にリンクしている。こうして、カテゴリＩＤが与えられると、インデックス・ビルダ２１４は検索要求に応答して、この表にクエリし、特定のカテゴリＩＤに関するカテゴリ名を迅速に取り出す。さらに、カテゴリＩＤが与えられると、インデックス・ビルダ２１４はそのカテゴリの親カテゴリ及びサブ・カテゴリの全部を識別することができる。例えば、図１を参照して上述の例に触れると、ユーザがカテゴリ「ビジネス→金融→」の中にあるウェブ・ページに対応する検索用語を入力すると、検索エンジンは、ビジネス→金融→住宅ローンのような、このカテゴリのサブ・カテゴリからの結果全てを示すことが可能になる。
【００３２】
別の例として、最初の検索用語に応答して取り出される検索結果が、自動車＼サターンのカテゴリ内にある場合、ユーザは、自動車＼サターンのカテゴリでさらに結果を閲覧する選択肢を選んでもよい。この場合、サターンのサブ・カテゴリで分散が生じる。サブ・カテゴリには、中古車、販売特約店、アフター・サービス、モデルの詳細等を含むことができる。反対に、ユーザが最初の検索用語としてサターン（Saturn）を入力すると、分散はトップ・レベルで生じ、トップ・レベルでカテゴリが異なるので、異なる検索結果が取り出される。例えば、結果は自動車＼サターン、科学＼惑星＼サターン、又はリクリエーション＼占星術＼星占い等のカテゴリに入ることもある。言い換えると、クエリ用語によって、ユーザは、トップ・レベルのカテゴリとサブ・カテゴリの何れでも検索結果を閲覧することができる。その結果、ユーザには、検索結果を絞り込むか又はカテゴリをフィルタで除去するかして、関心のあるカテゴリ内の検索結果が分散したフォーマットでユーザに示されるようにすることができる。
【００３３】
カテゴリＩＤの次にくるのは、一意のインデックス用語が出現するカテゴリＩＤを有する電子ドキュメントのドキュメントＩＤのリストである。ドキュメントＩＤは、ＵＲＬ、又はＵＲＬを表すドメイン・ハッシュの形でもよい。さらに、ドキュメントＩＤの次は、ドキュメントＩＤにより表わされる電子ドキュメントのインデックス用語の属性のリストである。このような属性は、検索結果における電子ドキュメントの関連性ランクを判定するのに使用される。例えば、この関連性ランクは、ランク・ツール２２０により判定されるときの、特定のカテゴリに関連する特定のドキュメントについての関連性評価値の属性に対応する。さらに、ドキュメントＩＤの属性の次には、インデクス１１６が維持している各々の特定のドキュメントＩＤに関する文脈上の記述（contextual description）又は抜粋（snippets）片に対応するコンテンツのチャンク・データである。即ち、コンテンツのチャンク・データは、ディスプレイを介してユーザに表示するための、ドキュメントＩＤにより確認される各ウェブ・ページに関する概要記述情報を含む。
【００３４】
表１に示すように、インデックス１１６の例示的部分は、インデックス用語「アップル」（Ｒ１Ｃ１を参照）を含む。このインデックス用語の次にあるのが、インデックス用語「アップル」に対応するドキュメント・データが存在するカテゴリＩＤのリストである。この例においては、カテゴリＩＤの値２及び４（Ｒ１−Ｒ３Ｃ２及びＲ４−Ｒ６Ｃ２を参照）が、用語「アップル」に対応する。各々のカテゴリＩＤの次にあるのは、電子ドキュメントのドキュメントＩＤのリストであり、特定のインデックス用語に対応するドキュメント・データが存在する特定のカテゴリＩＤを有するリストである。その結果、ドキュメントＩＤは、インデックスにリストアップされた特定の用語に対応する各カテゴリＩＤにしたがって、グループ分けすることができる。例えば、インデックス用語「州−ワシントン」に対応するドキュメント・データは、３０７、３０８、及び３１５のドキュメントＩＤを有する電子ドキュメント内に存在する。また、表１に示すように、インデックス１１６の例示的部分は、のリストの次のインデックス用語「サターン」を含む。これらの各々のカテゴリＩＤの次にあるのは、このインデックス用語に対応するドキュメント・データが出現する電子ドキュメントのドキュメントＩＤのリストである。
【００３５】
次に図３を参照すると、例示的ブロック図は、本発明の一実施例にかかる構成要素のクライアント１０２、アプリケーション・サーバ３０４（例えば、バックエンド・サーバ１０８）、及び１つ又は複数のアフィリエイト・サーバ１１０を示す。
【００３６】
クライアント・アプリケーション３０６により、ユーザ１１４は、通信ネットワーク１０４を介してサーバ３０４からＨＴＭＬドキュメントを取り出すことができる。クライアント・アプリケーション３０６は、クライアント１０２により実行可能で、このようなＨＴＭＬドキュメント（即ち、ウェブ・フォーム）３１０の取り出しを開始するためのユーザ入力データに応答する。当業者には、クライアント・アプリケーション３０６が、マイクロソフト社が提供するインターネット・エクスプローラ（登録商標）ブラウザのようなウェブ・ブラウザであることは明白である。ユーザ１１４は、頻繁にクライアント・アプリケーション３０６を使用して、サーバ３０４と連絡を取り、ユーザ１１４から入力データを受け取るウェブ・フォーム３１０を取り出す。
【００３７】
クライアント１０２にリンクするユーザ・インターフェース（ＵＩ）３１４により、ユーザ１１４は、取り出したウェブ・フォーム３１０と交信することができる。例えば、ＵＩ３１４は、３１９に示すように、ウェブ・フォーム３１０を閲覧するコンピュータ・モニタのようなディスプレイ３１６、及びウェブ・フォーム３１０にデータを記入するキー・ボード又はポインティング・デバイス（例えば、マウス、トラック・ボール、ペン、又はタッチパッド）のような入力置３１８を含む。言い換えると、ＵＩ３１４によりユーザ１１４は、ホーム・クライアント上で検索データを特定することができ、また、サーバ３０４に要求を提出して、特定したデータに対して、各々のアフィリエイト・サーバ１１０上に維持されているインデックス・データ１１２（又はサブインデックス・データ２２２）を、検索することができる。
【００３８】
この例示的実施例において、アプリケーション・サーバ３０４は、ユーザ要求の認証と、認証したユーザに対するリソース及び／又はサービスの提供の双方ともおこなう（例えば、フロントエンド・サーバ１０６及びバックエンド・サーバ１０８として作動）。検索エンジン・アプリケーション３２２は、ユーザの検索要求に応答して、アプリケーション・サーバ３０４により、アフィリエイト・サーバ１１０の各々が維持するインデックス・データ１１２に、特定した検索データに適合するドキュメント・データをクエリすることが可能である。例えば、ユーザは、クライアント・コンピュータ１０２を使用して、用語「アップル」をウェブ・フォームに入力し、用語「アップル」についての検索要求をサーバ３０４に提出する。検索エンジン・アプリケーション３２２は、インデックス・データ１１２にリストアップされているインデックス用語をクエリして、ユーザの特定する検索データに適合するインデックス用語を問い合わせするクエリ命令３２４を含む。適合するインデックス用語を発見した場合、検索エンジン・アプリケーション３２２は、取り出し命令３２５を実行して、対応するカテゴリＩＤデータ、ドキュメントＩＤデータ、属性データ、及びコンテンツのチャンク・データをインデックスから取り出す。検索エンジン３２２は、図４に示すような検索結果フォームをディスプレイ３１６の上でユーザに対し表示するための分散命令３２６を含む。表示した検索結果は、適合するインデックス用語に対応する特定のドキュメントＩＤにより識別される、各電子ドキュメントの概要記述情報（即ちコンテンツのチャンク・データ）を含む。
【００３９】
一実施例において、分散命令３２６は、検索結果フォームを生成し、その中で適合するインデックス用語に隣接するインデックス内にリストアップされた各々のカテゴリＩＤに対して、所定数のドキュメントＩＤのコンテンツのチャンク・データが表示される。一例として、検索用語「アップル」に関し分散命令３２６は、用語「アップル」に関連付けられる次のカテゴリ、ビジネス又はメーカー（例えば、アップル（登録商標）コンピュータ）、調理レシピ、科学／健康、及び農業、の各々について最大５つのリンクを表示するフォーム３２８を生成する。ここで、もう一度、表１を参照すると、生成された検索結果フォームは、表１に示すインデクス内にリストアップされた概要記述データのような、コンテンツのチャンク・データを含んでもよい。さらに、適合する用語を有すると識別された各々の電子ドキュメントに関して表示されるリンク及び／又はコンテンツデータは、特定のカテゴリにしたがってリスト内でグループ分けされ、特定のカテゴリに対応するカテゴリＩＤに隣接してリストアップされる各々のドキュメントＩＤに関連付けられる関連性評価値にしたがって、編成される。例えば、検索用語「アップル」に関し、概要記述「リンゴ＆長期保存リンゴ」を有する電子ドキュメントは、フルーツ・カテゴリ（即ち、カテゴリＩＤ＝２）に関連してグループ分けしたリストのトップに出現し、概要記述「リンゴ＆栄養リンゴ料理」を有する電子ドキュメントは、この特定のグループ分けの隣に出現し、概要記述「簡易フルーツ・サラダ」を有する電子ドキュメントは、この特定のグループ分けの最後に出現する。したがって、ユーザ１１４が定義する検索用語が広い範囲のカテゴリに関連付けられる場合であっても、ユーザには、異なるカテゴリから最良の結果が検索結果の最初のページ上に供給されるので、ユーザは所望の結果を容易に識別することができる。
【００４０】
別の実施例において、検索結果フォーム上にユーザに対し表示される検索結果の数は、適合するインデックス用語に近いインデックス・データ１１２内にリストアップされるカテゴリＩＤ（即ちカテゴリ）の数の関数である。例えば、適合するインデックス用語に近い用語として全体で３つのカテゴリＩＤがリストアップされている場合、上位３分の１（３３．３３％）の関連性評価値を有するドキュメントＩＤに対応するコンテンツのチャンク・データが、検索結果フォームを介してユーザ１１４に表示される。言い換えると、ユーザの特定する検索用語が広い範囲の題材（即ち、カテゴリ）に関連付けられる場合でも、ユーザは所望の結果を容易に識別することができるように、ユーザ１１４には、異なるカテゴリからの結果が、検索結果の単一ページ上に供給される。
【００４１】
さらに別の実施例において、検索エンジン・アプリケーション３２２は、広告検索命令３３０を含む。広告検索命令３３０は、取り出したカテゴリＩＤデータに応答して、１つ又は複数の識別されたカテゴリに関連する広告情報に関し、検索結果上でユーザに対し表示するため、アプリケーション・サーバ３０４により、第３者データ・ソース３３２をクエリすることが可能である。例えば、カテゴリＩＤデータが自動車のカテゴリを指定する場合、広告命令３３０は、第３者データ・ソースをクエリし、自動車メーカーに関連する広告バナーを表示する。さらに別の例として、再度表１を参照すると、一致するインデックス用語が「サターン」（Ｒ１：Ｃ１０参照）の場合、対応するカテゴリＩＤデータ・フィールドのうち１つは、値「７」（Ｒ２：Ｃ１０参照）を有しており、これは、この例において、自動車カテゴリを示す。広告命令３３０は、サターン（登録商標）自動車販売店に関する広告情報を表示する。
【００４２】
次に図５を参照すると、例示的フローチャートが、検索結果の単一ページ上でのユーザ１１４に対する表示のため、カテゴリ別に検索結果を分散する方法を示す。５０２において、検索エンジン・アプリケーション１１８のようなアプリケーションが、ユーザ１１４から検索要求を受信する。この検索要求は、ユーザが定義する用語で、インターネットを介して利用することのできる１つ又は複数の所望のウェブ・ページに、出現するか、又は出現することが期待される１つ又は複数の用語、を指定する（例えば、単一のワード、複数のワード）。検索エンジン・アプリケーション１１８は、複数の既知ウェブ・ページに関するインデックス用語を含むドキュメント・データを格納するインデックス１１６にクエリし、５０４において指定したインデックス用語に適合するインデックス用語を有する１つ又は複数の既知ウェブ・ページを識別する。５０６においては、検索エンジン・アプリケーション１１８は、識別された１つ又は複数の各々のウェブ・ページに関して、格納されたドキュメント・データから、カテゴリ及びドキュメント位置を識別する。検索エンジン・アプリケーション１１８は、５０８において識別された１つ又は複数の各々のドキュメントに関して、格納されたドキュメント・データから、評価値（レーティング、rating）又はランク付与値を判定する。ランク付与又は評価値は、識別された特定のドキュメントの識別された特定のカテゴリに対する関連性を指示する。５１０においては、プロセスは、格納されたドキュメント・データから概要記述を識別して、識別された各々のドキュメントに関する検索結果として示す。検索エンジン・アプリケーション１１８は、５１２で、例えば、識別された各々のカテゴリに関する所定量の検査結果が、ユーザに対し検索結果の最初のページ上に表示されるように、検索結果を分散する。言い換えると、識別された各々のカテゴリ（即ち、カテゴリＩＤ）関しての検索結果のグループが、検索結果の最初のページ上に表示される。検索結果は、識別されたドキュメント位置（例えば、ドキュメントＩＤ）も含むが、これは、概要記述と共にユーザに提示される識別された共通のカテゴリにしたがって、グループ分けされている。好適な一実施例において、グループ分けされた検索結果は、特定のカテゴリ・グループ内に表示される各々のドキュメントＩＤ及び／又は概要記述がそれらの対応するランク付与値に応じた順序で並ぶように、編成される。
【００４３】
ここで図６を参照すると、汎用コンピューティング・デバイスが、コンピュータ１３０の形で示されている。本発明の一実施例において、コンピュータ１３０のようなコンピュータは、ここに示して記述する他の図において使用するのに適している。コンピュータ１３０は、１つ又は複数のプロセッサ又は処理ユニット１３２及びシステム・メモリ１３４を有する。図示する実施例において、システム・バス１３６は、システム・メモリ１３４を含む各種システム・コンポーネントをプロセッサ１３２に結合する。バス１３６は、メモリ・バス又はメモリ・コントローラ、周辺バス、加速式グラフィック・ポート、及び各種バス・アーキテクチャの何れかを使用するプロセッサ又はローカル・バスを含むいくつかの型のバス構造のうちのいずれか１つ又は複数を表す。限定するものではないが、一例として、これらのアーキテクチャは、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子規格協会（ＶＥＳＡ）ローカル・バス、及びメザニン・バスとしても知られる周辺部品相互接続（ＰＣＩ）バスを含む。
【００４４】
コンピュータ１３０は、典型的に少なくとも何らかの形でコンピュータ可読媒体を有する。コンピュータ可読媒体は、揮発性及び不揮発性媒体、リムーバブル及び非リムーバブル媒体を含むが、コンピュータ１３０がアクセスすることのできる利用可能な媒体であればいずれでもよい。限定するものではないが。一例として、コンピュータ可読媒体は、コンピュータ・ストレージ媒体と通信媒体を含む。コンピュータ・ストレージ媒体は、コンピュータ可読命令、データ構造体、プログラム・モジュール又はその他のデータのような情報を格納する任意の方法又は技術により、実施される揮発性及び不揮発性媒体、リムーバブル及び非リムーバブル媒体を含む。例えば、コンピュータ・ストレージ媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ又はその他のメモリ技術、ＣＤ−ＲＯＭ、デジタル揮発性ディスク（ＤＶＤ）又はその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ又はその他の磁気ストレージ装置、又は所望の情報を格納するのに使用され、コンピュータ１３０がアクセスすることのできるその他の任意の媒体を含む。通信媒体は典型的に、コンピュータ可読命令、データ構造体、プログラム・モジュール又はその他のデータを、搬送波又はその他の転送機構のような変調データ信号内に具現し、任意の情報配送媒体を含む。当業者は、信号内の情報を符号化する方法で、その１つ又は複数の特性を設定又は変更する変調データ信号に精通している。有線ネットワーク又は直接配線接続のような有線媒体、及び音響、ＲＦ、赤外線及びその他の無線媒体のような無線媒体は、通信媒体の例である。上の何れの組合せも、コンピュータ可読媒体の範囲内に含まれる。
【００４５】
システム・メモリ１３４は、リムーバブル及び／又は非リムーバブル・メモリ、揮発性及び／又は不揮発性メモリの形のコンピュータ・ストレージ媒体を含む。図示する実施例において、システム・メモリ１３４は、読取専用メモリ（ＲＯＭ）１３８及びランダムアクセス・メモリ（ＲＡＭ）１４０を含む。立ち上がりの間などに、コンピュータ１３０内の要素間の情報転送に役立つ基本ルーチンを含む基本入出力システム（ＢＩＯＳ）は、典型的にＲＯＭ１３８内に格納される。ＲＡＭ１４０は、典型的に、即座にアクセスすることのできる及び／又は現在処理ユニット１３２が操作をしているデータ及び／又はプログラム・モジュールを含む。限定ではないが一例として、図６は、オペレーティング・システム１４４、アプリケーション・プログラム１４６、その他のプログラム・モジュール１４８、及びプログラム・データ１５０を示す。
【００４６】
コンピュータ１３０は、別のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ・ストレージ媒体も含む。例えば、図６は、非リムーバブル、不揮発性磁気媒体に読取り又は書込みをおこなうハードディスク・ドライブ１５４を示す。図６は、リムーバブル、不揮発性磁気ディスク１５８に読取り又は書込みをおこなう磁気ディスク・ドライブ１５６、及びＣＤ−ＲＯＭ又は別の光媒体のようなリムーバブル、不揮発性光ディスク１６２に読取り書込みをおこなう光ディスク・ドライブ１６０をも示す。例示的操作環境内で使用することのできるその他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ・ストレージ媒体には、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル揮発性ディスク、デジタル・ビデオ・テープ、半導体ＲＡＭ、半導体ＲＯＭ等が含まれるが、これらに限らない。ハードディスク・ドライブ１５４、磁気ディスク・ドライブ１５６及び光ディスク・ドライブ１６０は、典型的に、インターフェース１６６のような不揮発性メモリ・インターフェースを用いて、システム・バス１３６に関連付けられる。
【００４７】
上述し図６に示すドライブ又はその他のマス・ストレージ装置及びそれらの関連コンピュータ・ストレージ媒体は、コンピュータ可読命令、データ構造体、プログラム・モジュール及びその他のデータの記憶を、コンピュータ１０３のために提供する。図６はまた、例えば、ハードディスク・ドライブ１５４は、オペレーティング・システム１７０、アプリケーション・プログラム１７２、その他のプログラム・モジュール１７４、及びプログラム・データ１７６を格納するとして示してある。これらのコンポーネントは、オペレーティング・システム１４４、アプリケーション・プログラム１４６、その他のプログラム・モジュール１４８、及びプログラム・データ１５０と、同一であっても異なっていてもよいことに注意をする必要がある。オペレーティング・システム１７０、アプリケーション・プログラム１７２、その他のプログラム・モジュール１７４、及びプログラム・データ１７６には、ここでは異なる番号を与えているが、少なくともこれらが異なる題材であることを示す。
【００４８】
ユーザは、コマンド及び情報を、キー・ボード１８０及びポインティング・デバイス１８２（例えば、マウス、トラック・ボール、ペン、又はタッチパッド）のような、入力装置又はユーザ・インターフェース選択装置を通じて、コンピュータ１３０に記入する。その他の入力装置（不図示）には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ等が含まれる。これら及びその他の入力装置は、ユーザ入力インターフェース１８４を通じて処理ユニット１３２に接続される。このユーザ入力インターフェースは、システム・バス１３６にリンクされるが、パラレル・ポート、ゲーム・ポート、又はユニバーサル・シリアル・ポート（ＵＳＢ）のような別のインターフェース又はバス構造体を使用して接続されることもある。モニタ１８８又はその他の型の表示装置も、ビデオ・インターフェースのような、インターフェースを介してシステム・バス１３６に接続される。モニタ１８８に加えて、コンピュータは、プリンタ及びスピーカのような別の周辺出力装置（不図示）を含むことが多い。これらは、出力ペリフェラル・インターフェース（示さず）を通じて結合される。
【００４９】
コンピュータ１３０は、ローミング・クライアント１９４のような１つ又は複数のローミング・クライアントに対する論理接続を用いてネットワーク環境内で作動する。ローミング・クライアント１９４は、個人用、コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス又はその他の共通ネットワーク・ノードであって、典型的に、コンピュータ１３０に関して上述した要素の多く又は全部を含む。図６に示す論理接続には、ローカル・エリア・ネットワーク（ＬＡＮ）１９６、及び広域ネットワーク（ＷＡＮ）１９８、が含まれるが、別のネットワークも含む。このようなネットワーク環境は、事務所、企業規模コンピュータ・ネットワーク、イントラネット、及び世界的コンピュータ・ネットワーク（例えば、インターネット）では、普通のことである。
【００５０】
ローカル・エリア・ネットワーク環境内で使用するとき、コンピュータ１３０は、ネットワーク・インターフェース又はアダプタ１８６を通じてＬＡＮ１９６に結合される。広域ネットワーク環境内で使用するとき、コンピュータ１３０は、インターネットのようなＷＡＮ１９８の上で通信を確立するため、典型的にモデム１７８又はその他の手段を含む。内蔵又は外付けのモデム１７８は、ユーザ入力インターフェース１８４又はその他の適切な機構を介してシステム・バス１３６に接続される。ネットワーク環境内において、コンピュータ１３０又はその部分に関連して描写するプログラム・モジュールは、リモート・メモリ・ストレージ装置（不図示）に記憶されることがある。限定ではないが一例として、図６にメモリ装置上に常駐するときのリモート・アプリケーション・プログラム１９２を示す。示すネットワーク接続は、例示であって、コンピュータ間に通信リンクを確立する手段を使用してもよいことは理解されるであろう。
【００５１】
一般的に、コンピュータ１３０のデータ・プロセッサは、その時々においてコンピュータの様々なコンピュータ可読ストレージ上に格納される命令を用いてプログラムされる。プログラムとオペレーティング・システムは、典型的に、例えば、フロッピイ・ディスク又はＣＤ−ＲＯＭの上に分散される。そこから、これらはコンピュータの２次メモリに設置又はロードされる。実行に際して、これらは、少なくとも部分的にコンピュータの１次電子メモリにロードされる。ここに記述する本発明は、マイクロ・プロセッサ又は別のデータ・プロセッサとの関連で、以下に記述する各ステップを実装するための命令又はプログラムを、これら及びその他の各種の型のコンピュータ可読ストレージ媒体が収容する場合、それらの媒体を含む。本発明は、ここに記述する方法及び技術にしたがってプログラムされた場合、そのコンピュータ自体をも含む。
【００５２】
説明目的のため、オペレーティング・システムのような、プログラム及びその他の実行可能なプログラム構成要素は、ここで別個のブロックとして示す。しかし、このようなプログラム及び構成要素は、様々な時点にコンピュータの異なるストレージ要素の中に存在し、コンピュータのデータ・プロセッサにより実行されることは認識できる。
【００５３】
コンピュータ１３０を含む例示的なコンピューティング・システム環境との関連で記述したが、本発明は、他の汎用又は特殊目的コンピューティング・システム環境又は構成を用いて、使用することができる。コンピューティング・システム環境は、本発明の使用範囲又は機能性に関して何らの制限を意図するものではない。さらに、コンピューティング・システム環境は、例示的動作環境において示した構成要素の何れか１つ又は組合せに関して、いかなる依存性又は要件を有すると解釈してはならない。本発明と共に使用することに適している公知のコンピューティング・システム、環境、及び／又は構成は、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルド又はラップトップ・デバイス、マルチ・プロセッサ・システム、マイクロ・プロセッサ・ベースのシステム、セットトップボックス、プログラム可能家電製品、ネットワークＰＣ、ミニ・コンピュータ、大型コンピュータ、上記のシステム又は装置の何れかを含む分散コンピューティング環境等を含むが、これらに限定されない。
【００５４】
本発明は、１つ又は複数のコンピュータ又はその他の装置により実行される、プログラム・モジュールのような、コンピュータ実行可能命令を一般背景として記述される。典型的に、プログラム・モジュールは、特定のタスクを実行するか又は特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、及びデータ構造を含むが、これらに限定されない。本発明は、通信ネットワークを通じてリンクされるリモートプロセス装置がタスクを実行する分散コンピューティング環境においても実践される。分散コンピューティング環境において、プログラム・モジュールは、ローカル及びローミング双方のメモリ・ストレージ・デバイスを含むクライアント・ストレージ媒体内に置かれる。
【００５５】
動作中に、コンピュータ１３０は、図５に示すようなコンピュータ実行可能命令を実行して、検索結果を生成する。
【００５６】
本発明の要素又は本発明の実施例（単数又は複数）を紹介するとき、特に複数として表さない場合であっても、１つ又は複数の要素があることを意味することを意図している。用語「備える」、「含む」、及び「有する」は、包括的であるとの意味で、記載した要素の他にも追加の要素があることを意味する。
【００５７】
以上のことから、本発明のいくつかの目的が実現され、他の有効な結果が得られることが理解できる。
【００５８】
本発明の範囲から逸脱することなく構成及び方法において様々の変更を加えることができるので、上の記述に含まれ、添付図面に示した事項の全ては、説明のためであって、制限を意味するものではないと解釈するべきである。
【図面の簡単な説明】
【００５９】
【図１】本発明を利用することのできる例示的なネットワーク環境を示すブロック図。
【図２】本発明の一実施例にかかる、インデックスを配置するのに使用されるシステムの構成成分を示すブロック図。
【図３】本発明の一実施例にかかる、検索結果の最初のページ上に表示するため、カテゴリ検索結果を分散させるためのシステムの構成要素を示すブロック図。
【図４】検索結果ページの例示的な画面を示すブロック図。
【図５】本発明の一実施例にかかる、検索結果の最初のページ上にユーザに対し表示するため、カテゴリ別に検索結果を分散させる方法を示す例示的なフローチャート。
【図６】本発明の一実施例を実施することのできる適切なコンピューティング・システム環境の例示的実施例を示すブロック図。
【符号の説明】
【００６０】
１０２  クライアント・コンピュータ・システム
１０４  通信ネットワーク
１０６  フロントエンド・サーバ  サーバ（認証）
１０８  バックエンド・サーバ
１１０  サーバ・ノード
１１２  データ
１１４  ユーザ
１１８  検索エンジン・アプリケーション
１１６  インデックス
１３０  コンピュータ
１３２  処理ユニット
１３４  システム・メモリ
１３６  システム・バス
１３８  （ＲＯＭ）
１４０  （ＲＡＭ）
１４２  ＢＩＯＳ
１４４  オペレーティング・システム
１４６  アプリケーション・プログラム
１４８  その他のプログラム・モジュール
１５０  プログラム・データ
１５４  ハードディスク・ドライブ
１５６  磁気ディスク・ドライブ
１５８  不揮発性磁気ディスク
１６０  光ディスク・ドライブ
１６２  不揮発性光ディスク
１６６  不揮発性メモリ・インターフェース
１７０  オペレーティング・システム
１７２  アプリケーション・プログラム
１７４  その他のプログラム・モジュール
１７６  プログラム・データ
１７８  モデム
１８０  キー・ボード
１８２  マウス
１８４  ユーザ入力インターフェース
１８６  ネットワーク・インターフェース
１８８  ディスプレイ
１９０  ビデオ・インターフェース
１９２  リモート・アプリケーション
１９４  ローミング・クライアント
１９６  ローカル・エリア・ネットワーク
１９８  広域ネットワーク
２０４  フェッチング・サーバ
２０６  シード・データ  （即ち、ＵＲＬ）
２０８  フェッチング・モジュール
２１０  ウェブ・サーバ
２１４  インデックス・ビルダ
２１６  メモリ
２１７  特徴抽出ツール
２１８  カテゴリ・ツール
２２０  ランク・ツール
２２２  サブインデックス・データ
３０４  アプリケーション・サーバ
３０６  クライアント・アプリケーション
３１０  ウェブ・フォーム（ＨＴＭＬ）  （例えば、ブラウザ）
３１４  ユーザ・インターフェース
３１６  ディスプレイ
３１８  入力装置
３２２  フェデレーション・アプリケーション
３２４  クエリ命令
３２５  取り出し命令
３２６  分散命令
３３０  広告命令
３３２  第３者データ
【図１】
2006018843.tif 000004
【図２】
2006018843.tif 000005
【図３】
2006018843.tif 000006
【図４】
2006018843.tif 000007
【図５】
2006018843.tif 000008
【図６】
2006018843.tif 000009
【外国語明細書】
2006018843000001.pdf