(57)【要約】【課題】情報検索のためのアンカーテキストを処理する方法、システム、およびプログラムを開示する。【解決手段】対象ドキュメントを指すアンカーの集合を作成する。同じアンカーテキストをもつアンカーをまとめてグループ化する。各グループごとに情報を計算する。計算した情報に基づいて対象ドキュメントのコンテキスト情報を生成する。【選択図】図１
2007519111.tif 000002
【特許請求の範囲】
【請求項１】
アンカーテキストを処理する方法が、対象ドキュメントを指すアンカーの集合を作成するステップと、同じアンカーテキストをもつアンカーをまとめてグループ化するステップと、各グループの情報を計算するステップと、計算した情報に基づいて対象ドキュメントのコンテキスト情報を生成するステップとを有する方法。
【請求項２】
さらに、ドキュメントのコレクションの各ドキュメントの言語を判別するステップと、ドキュメントのコレクションの各ドキュメントの順位を判別するステップと、ドキュメントのコレクションの各ドキュメントの近接クラスを判別するステップとを有する請求項１の方法。
【請求項３】
さらに、アンカーの集合の主要言語を判別するステップと、集合の中から主要言語ではないアンカーを枝刈りするステップとを有する請求項１又は請求項２の方法。
【請求項４】
さらに、集合の中から対象ドキュメントへのパスの少なくとも一部を含むアンカーを枝刈りするステップを有する請求項１、２、および３のいずれか一つの方法。
【請求項５】
さらに、設定可能なワードの集合に基づいてアンカーを枝刈りするステップを有する請求項１〜４のいずれか一つの方法。
【請求項６】
前記情報を計算するステップがさらに、各グループのアンカーのアンカーテキストについて出現頻度の加重和を計算するステップを有する請求項１〜５のいずれか一つの方法。
【請求項７】
前記情報を計算するステップがさらに、各グループの累計順位を計算するステップを有する請求項１〜６のいずれか一つの方法。
【請求項８】
前記情報を計算するステップがさらに、各グループの言語スコアを計算するステップを有する請求項１〜７のいずれか一つの方法。
【請求項９】
前記情報を計算するステップがさらに、各グループの適合スコアを生成するステップを有する請求項１〜８のいずれか一つの方法。
【請求項１０】
アンカーテキストを処理するロジックを含むコンピュータシステムで、前記ロジックが、対象ドキュメントを指すアンカーの集合を作成するステップと、同じアンカーテキストをもつアンカーをまとめてグループ化するステップと、各グループの情報を計算するステップと、計算した情報に基づいて対象ドキュメントのコンテキスト情報を生成するステップを有するコンピュータシステム。
【請求項１１】
前記ロジックがさらに、ドキュメントのコレクションの各ドキュメントの言語を判別するステップと、ドキュメントのコレクションの各ドキュメントの順位を判別するステップと、ドキュメントのコレクションの各ドキュメントの近接クラスを判別するステップとを有する請求項１０のコンピュータシステム。
【請求項１２】
前記ロジックがさらに、アンカーの集合の主要言語を判別するステップと、集合の中から主要言語ではないアンカーを枝刈りするステップとを有する請求項１０又は請求項１１のコンピュータシステム。
【請求項１３】
前記ロジックがさらに、集合の中から対象ドキュメントへのパスの少なくとも一部を含むアンカーを枝刈りするステップを有する請求項１０〜１２のいずれか一つのコンピュータシステム。
【請求項１４】
前記ロジックがさらに、設定可能なワード集合に基づいてアンカーを枝刈りするステップを有する請求項１０〜１３のいずれか一つのコンピュータシステム。
【請求項１５】
情報を計算するロジックがさらに、各グループのアンカーのアンカーテキストについて加重した出現頻度の合計を計算するステップを有する請求項１０〜１４のいずれか一つのコンピュータシステム。
【請求項１６】
情報を計算するロジックがさらに、各グループの累計順位を計算するステップを有する請求項１０〜１５のいずれか一つのコンピュータシステム。
【請求項１７】
情報を計算するロジックがさらに、各グループの言語スコアを計算するステップを有する請求項１０〜１６のいずれか一つのコンピュータシステム。
【請求項１８】
情報を計算するロジックがさらに、各グループの適合スコアを生成するステップを有する請求項１０〜１７のいずれか一つのコンピュータシステム。
【請求項１９】
データ処理装置の中で演算を行わせるドキュメントのアンカーテキストを処理するコンピュータプログラムであって、前記コンピュータプログラムはコンピュータに、演算が、対象ドキュメントを指すアンカーの集合を作成するステップと、同じアンカーテキストをもつアンカーをまとめてグループ化するステップと、各グループの情報を計算するステップと、計算した情報基づいて対象ドキュメントのコンテキスト情報を生成するステップとを有するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報検索のためのアンカーテキストの処理に関係する。
【背景技術】
【０００２】
ワールドワイドウエブ（ＷＷＷ又は「ウエブ」としても知られる）とは、他のウエブページへのリンクを含むことのできるウエブページをサポートするインターネットサーバの集合体である。ユニフォーム・リソース・ロケーター（ＵＲＬ）はウエブページの場所を示す。また、各ウエブページには、例えば、テキスト、グラフィック、オーディオ、ビデオのコンテンツを掲載できる。例えば、第１のウエブページに第２のウエブページへのリンクを掲載できる。第１ウエブページでリンクが選択されると、一般に第２ウエブページが表示される。
【０００３】
ウエブブラウザとは、ウエブページを位置づけて表示するために使うソフトウェアアプリケーションである。
【０００４】
現在、ウエブには数億ものウエブページがある。
【０００５】
ウエブの検索エンジンは、ある基準（例、ウエブブラウザを介して入力する）に基づきウエブ上でウエブページを検索するために使う。すなわち、ウエブの検索エンジンはあるキーワードの照会があると適合するウエブページを返すように設計される。例えば、ある会社のイントラネットの検索エンジンに対して「ＨＲ」という照会をすると、イントラネットにある人事部（ＨＲ）に関係する適合ページが返されると見込まれる。ウエブの検索エンジンは検索用語（すなわち、キーワード）をウエブページに関係付ける索引付け技術を使う。
【０００６】
アンカーはドキュメントへのリンク又はパス（例、ＵＲＬ）といえる。アンカーテキストはドキュメントを指すパス又はリンク（例、ＵＲＬ）に対応付けられたテキストといえる。例えば、アンカーテキストはウエブドキュメント内にハイパーテキストテキストリンクを標記又は格納するテキストとなろう。アンカーテキストはウエブの検索エンジンで収集されて、対象ドキュメントに対応付けられる。また、アンカーテキストと対象ドキュメントは一緒に索引付けされる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ウエブの検索エンジンは検索結果の質を向上するコンテキスト情報（例、タイトル、サマリー、言語など）を使う。このため、ユーザーには選別された検索結果が与えられる。しかし、アンカーテキストはコンテキスト情報としての用途に適切でないこともある。例えば、アンカーテキストは対象ドキュメントとは異なる言語のことがあり、その後の処理をせずにアンカーテキストを使うと、例えば英語のドキュメントなのに日本語のタイトルになることがある。また、アンカーテキストはドキュメントの内容に関係しないこともある。例えば、アンカーテキストには共通語（例、「ここをクリック」が含まれることがよくあるが、これは主にナビゲーションのために使うもので、タイトルとして何ら意義がない。また、アンカーテキストは不正確であったり、不躾なものであったり、俗語が含まれることもある（例、「Ｎｅｔｗｏｒｋ  Ｓｅｃｕｒｉｔｙ  Ｇｕｉｄｅ」のアンカーは、「Ｌｏｏｋｉｎｇ  ｆｏｒ  Ｔｒｏｕｂｌｅ？」というアンカーテキストをもつ）。
【０００８】
さらに、コンテキスト情報の生成は、ウエブページの内容が検索できない場合（例、サーバの停止、検索エンジンが処理するウエブページの検索が不完全、ｒｏｂｏｔ．ｔｘｔがアクセスを禁止する）、又はドキュメントは検索できるが解析できない場合（例、ファイルがビデオ／オーディオ／マルチメディアファイルである、未知又はサポートされていないフォーマットである、不整形式である、又はパスワードで保護されている）には特に難しい。
【０００９】
ほとんどの検索エンジンは、ウエブページの内容のないユニフォーム・リソース・ロケーター（ＵＲＬ）だけが表示される。しかし、そのためにユーザーはウエブページ自体を見ずに検索結果の効果を得にくい。
【００１０】
そのため、ウエブページなどのドキュメントにコンテキスト情報を提供する改良されたドキュメント処理が必要である。
【課題を解決するための手段】
【００１１】
アンカーテキストを処理する方法、システム、およびプログラムを提供する。対象ドキュメントを指すアンカーの集合を作成する。同じアンカーテキストをもつアンカーをまとめてグループ化する。各グループについて情報を計算する。計算した情報に基づいて、対象ドキュメントのコンテキスト情報を生成する。
【発明を実施するための最良の形態】
【００１２】
以下の説明において、これの一部を成し、本発明のいくつかの実施形態を図示する添付の図面を参照する。他の実施形態も利用でき、本発明の範囲を逸脱することなく構造および運用上の変更が行えることは理解される。
【００１３】
発明のある実施形態は、内容の代わりに、又は内容に加えてアンカーテキストを索引付けすることによってドキュメントを検索に利用できるようにする。ある実施形態はドキュメントを指すアンカーのアンカーテキストからコンテキスト情報を生成する。例えば、アンカーテキストの少なくとも一部をドキュメントのタイトル又はサマリーとして指定できよう。しかし、アンカーテキストが対象ドキュメントとは異なる言語のことがあるため、アンカーテキストがドキュメントの内容に関係しないことがあるため、又はアンカーテキストが不正確であったり、不躾なものであったり、俗語が含まれることがあるため、有意のアンカーテキストを識別することは難しいであろう。さらに、アンカーテキストの中で、例えばタイトルとして意義をもたないノイズを除去するよう特別な注意を払う（例、ＵＲＬ、ファイル名、「次のコラム」などのナビゲーション用テキスト）。
【００１４】
このように、発明のある実施形態は生のアンカーテキストを処理して、高品質のタイトルおよびサマリーを得る。発明のある実施形態は生のアンカーテキストを洗練して、検索結果項目に適ったタイトル又はサマリーデータを生成するために使える高品質のデータを得る。生のアンカーテキストを処理する結果検索品質全体が向上し、そのためユーザーのドキュメント検索システムにおける満足度が高まる。
【００１５】
図１は、発明のある実施形態に従うコンピューティング環境をブロック図で示す。クライアントコンピュータ１００はネットワーク１９０を介してサーバコンピュータ１２０に接続する。クライアントコンピュータ１００は、サーバ、メインフレーム、ワークステーション、パーソナルコンピュータ、携帯型コンピュータ、ラップトップテレフォニーデバイス、ネットワークアプライアンスなど業界で周知のあらゆるコンピュータデバイスを有することができる。ネットワーク１９０は、例えば、ストレージエリアネットワーク（ＳＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、インターネット、イントラネットなどあらゆる種類のネットワークを有することができる。クライアントコンピュータ１００はシステムメモリ１０４を含み、揮発性または不揮発性デバイスあるいはその両方に実装できる。一又は複数のクライアントアプリケーション１１０とビューアアプリケーション１１２はシステムメモリ１０４で実行できる。ビューアアプリケーション１１２はドキュメントの集合（例、一又は複数のデータストア１７０に格納される）の検索を可能にするインターフェースを提供する。ある実施形態では、ビューアアプリケーション１１２はウエブブラウザである。
【００１６】
サーバコンピュータ１２０はシステムメモリ１２２を含み、揮発性または不揮発性あるいはその両方のデバイスに実装できる。検索エンジン１３０はシステムメモリ１２２で実行する。ある実施形態では、検索エンジンはクローラーコンポーネント１３２と、静的順位コンポーネント１３４と、ドキュメント解析コンポーネント１３６と、重複検出コンポーネント１３８と、アンカーテキストコンポーネント１４０と、索引付けコンポーネント１４２を含む。アンカーテキストコンポーネント１４０はコンテキスト情報生成プログラム１４１を含む。コンポーネント１３２、１３４、１３６、１３８、１４０、１４１、および１４２は個別のコンポーネントとして図示されているが、コンポーネント１３２、１３４、１３６、１３８、１４０、１４１、および１４２の機能性は図示されるコンポーネントより少なくても多くても、あるいは別のコンポーネントでも実施できる。加えて、コンポーネント１３２、１３４、１３６、１３８、１４０、１４１、および１４２の機能性は、ウエブアプリケーションサーバコンピュータ又はサーバコンピュータ１２０に接続される他のサーバコンピュータで実施できる。加えて、一又は複数のサーバアプリケーション１６０はシステムメモリ１２２で実行する。
【００１７】
サーバコンピュータ１２０はクライアントコンピュータ１００に少なくとも１つのデータストア１７０（例、データベース）のデータへのアクセス権を提供する。理解しやすいように１つのデータストア１７０を図示しているが、データストア１７０のデータはサーバコンピュータ１２０に接続される他のコンピュータのデータストアに格納してもよい。
【００１８】
また、オペレータコンソール１８０は一又は複数のアプリケーション１８２を実行し、サーバコンピュータ１２０およびデータストア１７０にアクセスするために使う。
【００１９】
データストア１７０は、直接アクセス記憶装置（ＤＡＳＤ）、だたのディスクの束（ＪＢＯＤ）、独立ディスク冗長アレイ（ＲＡＩＤ）、仮想デバイスなどの記憶装置のアレイを有してもよい。データストア１７０は発明のある実施形態と併用するデータを含む。
【００２０】
図２は、発明のある実施形態に従いアンカーの処理準備をするために実装するロジックを示す。制御はブロック２００から始まり、アンカーテキストを各アンカーに対応付ける。これは例えば、アンカーを作成する各ユーザーが行ってもよい。アンカーはソースドキュメントから対象ドキュメントまでのパス又はリンク（例、ＵＲＬ）といえよう。
【００２１】
ブロック２０２では、検索エンジン１３０が索引付けするべきドキュメントを取得する。ある実施形態では、ドキュメントは索引付けコンポーネント１４２に発行又はプッシュされる（例、新聞記事の場合のように）。ある実施形態では、クローラーコンポーネント１３２はドキュメントを発見、取り出し、および格納する。ある実施形態では、クローラーコンポーネント１３２は、例えば一定の基準（例、ドキュメントが先月の間にアクセスされた）に基づいてドキュメントを発見できよう。加えて、クローラーコンポーネント１３２は、サーバコンピュータ１２０に直接（例、データストア１７０）、又は間接的に（例、アンカーコンピューティング機器（図示せず）を介してサーバコンピュータ１２０に接続）接続される一又は複数のデータストアでドキュメントを発見することができる。ある実施形態では、クローラーコンポーネント１３２は、データストア１７０でウエブページを発見、取り出し、および格納する。このように格納されたドキュメントを「ドキュメントのコレクション」と呼ぶことがある。
【００２２】
ブロック２０４では、ドキュメント解析コンポーネント１３６がドキュメント解析ごとに行う。特に、ドキュメント解析コンポーネント１３６は格納したドキュメントを見直し、ドキュメントを構文解析してトークン分割し、各ドキュメントごとに、各ドキュメントが書かれた言語を判別し、アンカーテキストを抽出し、ドキュメントのカテゴリー化や分類などの他のタスクを行う。言語情報は後で使うために格納する。例えば、ドキュメント解析コンポーネント１３６は、ドキュメントに使われる主要言語が英語か、日本語か、ドイツ語等かどうかを判別する。アンカーテキストの抽出の一部として、ドキュメント解析コンポーネント１３６はまた近接クラスを各アンカーに対応付ける。近接クラスは、ソースドキュメントが対象ドキュメントにどのくらい近いかを指定するといえる（例、同じサーバにあるかどうか、またそうであれば、同じディレクトリにあるかどうか）。また、抽出したアンカーテキストはアンカーテキストコンポーネント１４０による処理の準備ができていることになる。
【００２３】
ブロック２０６では、静的順位コンポーネント１３４が格納したドキュメントを見直して、ドキュメントに順位を割り当てる。順位とは、クローラーコンポーネント１３２が格納した他のドキュメントに対するソースドキュメントの重要性といえるであろう。あらゆる種類の順位付け技術が使える。例えば、アクセスの頻度が高いドキュメントに高い順位を付けることができる。
【００２４】
ブロック２０８では、コンテキスト情報生成プログラム１４１は対象ドキュメントごとにアンカーを分類する。この結果、対象ドキュメントのアンカーの集合がその後の処理のために１セットにまとめてグループ化される。以下図３Ａおよび３Ｂを参照して説明するように、各対象ドキュメントごとに各セットを個別に処理する。
【００２５】
図３Ａおよび３Ｂは、発明のある実施形態に従いアンカーテキストを処理するために実装するロジックを図示する。制御はブロック３００から始まり、コンテキスト情報生成プログラム１４１が対象ドキュメントのアンカーの集合の中から対象ドキュメントを指すアンカーのソースドキュメントの主要言語を判別する。ある実施形態では、ソースドキュメントの設定可能な一定率以上であれば同じ言語であり、ソースドキュメントの言語が主要言語と異なる集合からアンカーを排除する。設定可能な率とは、例えばシステムアドミニストレータや別のアプリケーションプログラムで変更できる率といえよう。
【００２６】
ブロック３０２では、コンテキスト情報生成プログラム１４１は、対象ドキュメントへのパス（例、ＵＲＬ）又はパスの一部を含むアンカーテキストを有するアンカーを排除する。ブロック３０４で、コンテキスト情報生成プログラム１４１は、アンカーテキストが設定可能なワード集合のワードを含むかどうか、およびその順序又は組合せに基づいてアンカーテキストを排除する（例、設定可能な集合のワードのみを含むアンカーテキスト、設定可能な集合の中の少なくとも多数のワードを含むアンカーテキスト、又は設定可能な集合の中のワードをある順序で含むアンカーテキストを排除できる）。設定可能なワード集合は、例えば、システムアドミニストレータで判別できる。例えば、設定可能なワード集合は、「ここをクリック」又は「ｔｈｅ」などのストップワードを含むことができよう。
【００２７】
ブロック３０６で、コンテキスト情報生成プログラム１４１はアンカーテキスト別にアンカーの集合を分類し、同じアンカーテキストを有するアンカーをまとめてグループ化する。ブロック３０８で、コンテキスト情報生成プログラム１４１は各グループごとにテキストの出現頻度の加重和を計算する。テキストの各個々の出現頻度の重みは、アンカーの近接クラスで判別できる。例えば、第１ドキュメントが近接クラスＡであり、第２ドキュメントが近接クラスＢであり、第３ドキュメントが近接クラスＣであり、かつクラスＡ、Ｂ、およびＣの重みがそれぞれ１０、５、２の場合、加重和は１７である。
【００２８】
ブロック３１０で、コンテキスト情報生成プログラム１４１は各グループごとに累計順位を計算する。すなわち、グループ内の各アンカーは、そのソースドキュメントとその近接クラスに従いこの順位に寄与する。例えば、第１ドキュメントが近接クラスＡであり、第２ドキュメントが近接クラスＢであり、第３ドキュメントが近接クラスＣであり、かつクラスＡ、Ｂ、およびＣの重みがそれぞれ１０、５、２の場合、第１、第２および第３ドキュメントの静的順位はそれぞれ９、１３、１６で、累計順位を加重平均で計算するとすると、累計順位は（９＊１０＋１３＊５＋１６＊２）／（１０＋５＋２）＝１８７／１７＝１１である。累計順位を計算する他の技術には、ある近接クラスの順位を他のものに優先する等、最小、最大、又はこの２つの組合せが含まれる。
【００２９】
ブロック３１２で、コンテキスト情報生成プログラム１４１は各グループごとに言語スコアを計算する。ある実施形態では、このスコアを、テキストをタイトルとしての表示性を採点するテキストの言語解析で計算できる。例えば、タイトルとしての表示性は、テキストの中のワード数（例、タイトルは簡潔であるべき）、テキストの詳細な言語解析、各ワードの統計的な解析又は対象ドキュメントを指すアンカーの集合の中のすべてのアンカーにおけるワードの出現数、又は対象ドキュメントがアクセスに利用できるとき対象ドキュメントの内容とのアンカーの類似性を考慮して判別できよう。
【００３０】
ブロック３１４で、コンテキスト情報生成プログラム１４１は各グループの出現頻度の加重和、累積した静的順位、および言語スコアから複合適合スコアを計算する。
【００３１】
ブロック３１６で、コンテキスト情報生成プログラム１４１は、対象ドキュメントのコンテキスト情報を生成する。ある実施形態では、コンテキスト情報生成プログラム１４１は、擬似タイトルとして複合適合スコアが最も高いグループのテキストを選び、適合スコアが最も高いｎ個のグループのアンカーテキストから対象ドキュメントのアンカーベースの静的サマリーを作り、主要ソース言語からＴの言語に決める。
【００３２】
アンカーテキストの処理が完了したら、索引付けコンポーネント１４２が処理したアンカーテキストを使って索引を生成する。
【００３３】
図４は、発明のある実施形態に従いドキュメントの検索を行うロジックを図示する。制御はブロック４００から始まり、ユーザーがビューアアプリケーション１１２を介して検索要求を実行依頼する。ブロック４０２で、検索エンジン１３０が検索要求を実行する。ブロック４０４で、検索エンジンは図２Ａおよび２Ｂで説明したアンカーテキストの処理および他の処理を含む検索結果を返す。ブロック４０６で、ビューアアプリケーション１１２は検索結果を表示する。
【００３４】
このように、発明のある実施形態はアンカーのコレクションから検索結果項目に適った高品質のコンテキスト情報を生成する技術を提供する。ある実施形態では、ドキュメントが書かれた言語を識別するために各ドキュメントの解析を行い、各ドキュメントに静的順位を割り当てるためにすべてのドキュメントの大域解析を行い、アンカーを対象ドキュメント別に分類して、各対象ドキュメントについて対象ドキュメントを指すすべてのアンカーの論理的なコレクションを得る。対象ドキュメントを指す各アンカーコレクションについて、次のことを行える。すなわち、ソースドキュメントの言語分布、言語分布に基づいたコレクションからアンカーの枝刈り、ストップワードとＵＲＬ検出に基づいたノイズのフィルタリング、ソースの対象への近接に従い各アンカーの分類、各近接クラスへの重みの割り当てである。加えて、各アンカーはアンカーのアンカーテキストの言語解析に基づいて採点できる。さらに、残りの固有のアンカーテキスト（すなわち、同じテキストが別のアンカーにあることがある）の適合順位付けを、各近接クラス、全ソースドキュメントの累計順位、テキストの言語スコアの出現頻度の加重和に基づいて行える。
【００３５】
アンカーテキストの処理の結果は高品質なタイトル、サマリー、およびその他コンテキスト情報である（例、各対象に最も有望な言語）。対象ドキュメントが利用できない検索結果については、このコンテキスト情報をユーザーに表示できる。対象ドキュメント自体が利用できる場合、生成したコンテキスト情報を利用して、対象ドキュメントから得た情報の質を向上できる（例、ドキュメントとそのアンカーとの類似性を見出すことにより）。
【００３６】
説明してきたアンカーテキストを処理する技術は、ソフトウェア、ファームウェア、ハードウェア、又はそのあらゆる組合せを製作する標準的なプログラミングまたはエンジニアリング技術あるいはその両方を使う方法、装置、又は製造物として実施できる。ここで使う「製造物」という用語は、ハードウェアロジック（例、集積回路チップ、プログラム可能ゲートアレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＣ）など）や、磁気記憶媒体（例、ハードディスクドライブ、フロッピーディスク、テープなど）、光学記憶装置（ＣＤ−ＲＯＭ、光ディスクなど）、揮発性および不揮発性のメモリディバイス（例、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、ファームウェア、プログラム可能ロジックなど）などのコンピュータ読取可能媒体に実装されるコード又はロジックをいう。コンピュータ読取可能媒体のコードはプロセッサからアクセス、実行される。様々な実施形態が実装されるコードはさらに、伝送媒体やネットワーク上のファイルサーバからアクセスできる。このような場合、コードが実装される製造物は、ネットワーク伝送路、ワイヤレス伝送媒体、空間伝播信号、電波、赤外線信号等などの伝送媒体を有してもよい。このように、「製造物」はコードを具体化する媒体を有することができる。加えて、「製造物」はコードを具体化、処理、および実行するハードウェアコンポーネントおよびソフトウェアコンポーネントの組合せを有することができる。当然ながら、当業者には、本発明の範囲を逸脱することなく本構成に多数の変更を行うことができ、また製造物が業界で周知のあらゆる情報伝達媒体を有することができることは認識されるであろう。
【００３７】
図２、３Ａ、３Ｂ、および４のロジックは、ある特定の順序で行う特定の演算を記述する。代替実施形態では、ロジック演算の一部を別の順序で行ったり、変更又は削除することがある。また、前述のロジックに演算を加えることもでき、それでも説明した実施形態と同じになる。さらに、ここで説明した演算は逐次行っても、ある演算を並行して処理しても、あるいは１回のプロセスで行うように説明した演算をプロセスを分けて行ってもよい。
【００３８】
図２、３Ａ、３Ｂ、および４の図示したロジックは、ソフトウェア、ハードウェア、プログラム可能およびプログラム不可のゲートアレイロジック、あるいはハードウェア、ソフトウェア、又はゲートアレイロジックの何らかの組合せに実装できる。
【００３９】
図５は、発明のある実施形態に従い使用できるコンピュータシステムのアーキテクチャを図示する。例えば、クライアントコンピュータ１００、サーバコンピュータ１２０、またはオペレータコンソール１８０あるいはそれらの組合せがコンピュータアーキテクチャ５００を実装できる。コンピュータアーキテクチャ５００はプロセッサ５０２（例、マイクロプロセッサ）、メモリ５０４（例、揮発性メモリデバイス）、および記憶装置５１０（例、磁気ディスクドライブ、光ディスクドライブ、テープドライブ等などの不揮発性ストレージエリア）を実装できる。オペレーティングシステム５０５はメモリ５０４で実行できる。記憶装置５１０は内部記憶装置又は外付けの記憶装置もしくはネットワークアクセス可能な記憶装置を有することができる。記憶装置５１０のコンピュータプログラム５０６は、業界で周知の方法でメモリ５０４にロードして、プロセッサ５０２から実行できる。アーキテクチャはさらに、ネットワークとの通信を可能にするネットワークカード５０８を含む。入力デバイス５１２を使ってユーザーにプロセッサ５０２への入力を提供し、それにキーボード、マウス、スタイラスペン、マイクロホン、タッチスクリーン、又は業界で周知のその他あらゆる起動もしくは入力メカニズムを含むことができる。出力デバイス５１４はプロセッサ５０２、又はディスプレイモニター、プリンター、記憶装置等などの他のコンポーネントから情報を表示できる。コンピュータシステムのコンピュータアーキテクチャ５００は、図示するより少ないコンポーネント、これに図示していない追加コンポーネント、又は図示したコンポーネントと追加コンポーネントの何らかの組合せを含んでもよい。
【００４０】
コンピュータアーキテクチャ５００は、メインフレーム、サーバ、パーソナルコンピュータ、ワークステーション、ラップトップ、携帯型コンピュータ、テレフォニーデバイス、ネットワークアプライアンス、仮想デバイス、ストレージコントローラー等などの業界で周知のあらゆるコンピューティングデバイスを有することができる。業界で周知のあらゆるプロセッサ５０２およびオペレーティングシステム５０５を使用できる。
【００４１】
上記発明の実施形態の説明は例示および説明のために提示してきた。これがすべてを網羅したり、又は発明を開示したものと全く同じ形態に制限する意図はない。上記教唆に鑑みて数多くの変更や変型が可能である。発明の範囲は本詳細な説明ではなく、これに添付の請求項により制限することを目的とする。上記明細、例、およびデータは発明の構成の製造および使用を完全に説明したものである。発明の精神および範囲を逸脱することなく発明の実施形態は数多く行えるため、発明は添付する請求項に存する。
【図面の簡単な説明】
【００４２】
ここで図面を参照するが、全体を通して同じ参照番号は対応する部分を表す。
【００４３】
【図１】本発明のある実施形態に従うコンピューティング環境をブロック図で示す。
【図２】本発明のある実施形態に従いアンカーの処理準備をするために実装するロジックを示す。
【図３】本発明のある実施形態に従いアンカーテキストを処理するために実装するロジックを示す。
【図４】本発明のある実施形態に従いドキュメント検索を行うロジックを示す。
【図５】本発明のある実施形態に従い使用できるコンピュータシステムのアーキテクチャを示す。
【符号の説明】
【００４４】
１００  クライアントコンピュータ
１０４  システムメモリ
１１０  クライアントアプリケーション
１１２  ビューアアプリケーション
１２０  サーバコンピュータ
１２２  システムメモリ
１３０  検索エンジン
１３２  クローラーコンポーネント
１３４  静的順位コンポーネント
１３６  ドキュメント解析コンポーネント
１３８  重複検出コンポーネント
１４０  アンカーテキストコンポーネント
１４１  コンテキスト情報生成プログラム
１４２  索引付けコンポーネント
１６０  サーバアプリケーション
１７０  データストア
１８０  オペレータコンソール
１８２  アプリケーション
１９０  ネットワーク
５００  コンピュータアーキテクチャ
５０２  プロセッサ
５０４  メモリ
５０５  オペレーティングシステム
５０６  コンピュータプログラム
５０８  ネットワークカード
５１０  記憶装置
５１２  入力デバイス
５１４  出力デバイス
【図１】
2007519111.tif 000003
【図２】
2007519111.tif 000004
【図３】
2007519111.tif 000005
【図４】
2007519111.tif 000006
【図５】
2007519111.tif 000007
2007519111.tif 000008
【国際調査報告】
2007519111.tif 000009
2007519111.tif 000010
2007519111.tif 000011