(57)【要約】【課題】コンピュータを用いた情報検索において、情報の使用目的に応じて多様な戦略による柔軟な情報検索を効果的に実現する。【解決手段】所定のウェブページにおける意味を考慮してＨＴＭＬ文書の構造を解析する文書構造解析部１２と、この解析結果に基づき、予め定められた戦略にしたがって、このウェブページからリンクされる他のウェブサイトの重要度を計算する重要度計算部１３と、この重要度計算部１３により計算された重要度に応じてウェブサイトをクロールするクローリング実行部１４とを備える。【選択図】　　　　図２
2004054631.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してウェブサイトのクローリングを行う情報検索システムにおいて、
所定のウェブページにおける意味を考慮してソースコードの構造を解析する構造解析部と、
前記構造解析部の解析結果に基づいて、前記所定のウェブページからリンクされる他のウェブサイトの重要度を計算する重要度計算部と、
前記重要度計算部により計算された重要度に応じてウェブサイトをクロールするクローリング実行部と
を備えることを特徴とする情報検索システム。
【請求項２】
前記構造解析部は、前記ソースコードに含まれる情報要素のうち、相互に関連する情報要素を対応付けることを特徴とする請求項１に記載の情報検索システム。
【請求項３】
前記重要度計算部は、前記ウェブサイトの重要度を計算するための戦略を、予め用意された戦略の中から選択的に用いて重要度の計算を行うことを特徴とする請求項１に記載の情報検索システム。
【請求項４】
前記重要度計算部は、前記ウェブサイトの重要度を計算するための戦略として、複数の戦略を選択し、各々重みを付けて用いることを特徴とする請求項３に記載の情報検索システム。
【請求項５】
ＨＴＭＬ文書の文書構造を意味を考慮して解析し、解析によって得られた情報要素を対応するアンカーに付加する文書構造解析部と、
前記文書構造解析部の解析により得られた前記情報要素に基づいて計算された前記アンカーの重要度に応じて当該アンカーにてリンクされるウェブサイトをクロールするクローリング実行部と
を備えることを特徴とする情報検索システム。
【請求項６】
前記文書構造解析部は、前記ＨＴＭＬ文書を構成する各情報要素を、当該情報要素が持つ意味のまとまりごとにブロック化し、各ブロック内の情報要素を付加情報として同一ブロック内のアンカーに付加することを特徴とする請求項５に記載の情報検索システム。
【請求項７】
前記文書構造解析部の解析により得られた前記情報要素に基づき、予め選択された所定の戦略にしたがって前記アンカーの重要度を計算する重要度計算部をさらに備え、
前記クローリング実行部は、前記重要度計算部にて計算された前記アンカーの重要度に応じてウェブサイトをクロールすることを特徴とする請求項５に記載の情報検索システム。
【請求項８】
コンピュータを用いて、ネットワークを介してウェブサイトのクローリングを行う情報検索方法であって、
初期情報となるウェブページを取得してソースコードを記憶装置に格納するステップと、
前記記憶装置から前記ウェブページのソースコードを読み出し、当該ウェブページにおける意味を考慮して構造解析を行い、解析結果を前記記憶装置に格納するステップと、
前記記憶装置に格納された前記構造解析の結果に基づいて、前記ウェブページからリンクされる他のウェブサイトの重要度を計算するステップと、
計算された重要度に応じてウェブサイトにアクセスし、コンテンツを取得して前記記憶装置に格納するステップと
を含むことを特徴とする情報検索方法。
【請求項９】
メモリから処理対象であるＨＴＭＬ文書を読み出し、当該ＨＴＭＬ文書を構成する各情報要素を、当該ＨＴＭＬ文書のタグに基づいてブロック化し、ブロック化された当該ＨＴＭＬ文書の構造データをメモリに格納する第１のステップと、
前記メモリからブロック化された前記ＨＴＭＬ文書の構造データを読み出し、意味的に相互に関連する情報要素を対応付けることにより、当該ＨＴＭＬ文書のブロック構造を更新し、更新された当該構造データをメモリに格納する第２のステップと
を含むことを特徴とするコンピュータを用いたＨＴＭＬ文書の構造解析方法。
【請求項１０】
ネットワークに接続されたコンピュータを制御して、ウェブサイトのクローリングを行うプログラムであって、
初期情報となるウェブページを取得してソースコードを記憶装置に格納する処理と、
前記記憶装置から前記ウェブページのソースコードを読み出し、当該ウェブページにおける意味を考慮して構造解析を行い、解析結果を前記記憶装置に格納する処理と、
前記記憶装置に格納された前記構造解析の結果に基づいて、前記ウェブページからリンクされる他のウェブサイトの重要度を計算する処理と、
計算された重要度に応じてウェブサイトにアクセスし、コンテンツを取得して前記記憶装置に格納する処理と
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項１１】
前記プログラムは、前記ソースコードに含まれる情報要素のうち、相互に関連する情報要素を対応付けることにより、前記構造解析を前記コンピュータに実行させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記プログラムによる前記ウェブサイトの重要度を計算する処理では、前記ウェブサイトの重要度を計算するための戦略として、複数の戦略を各々重みを付けて用いることを特徴とする請求項１０に記載のプログラム。
【請求項１３】
コンピュータを制御して、ＨＴＭＬ文書の文書構造を解析するプログラムであって、
メモリから処理対象であるＨＴＭＬ文書を読み出し、当該ＨＴＭＬ文書を構成する各情報要素を、当該ＨＴＭＬ文書のタグに基づいてブロック化し、ブロック化された当該ＨＴＭＬ文書の構造データをメモリに格納する第１の処理と、
前記メモリからブロック化された前記ＨＴＭＬ文書の構造データを読み出し、意味的に相互に関連する情報要素を対応付けることにより、当該ＨＴＭＬ文書のブロック構造を更新し、更新された当該構造データをメモリに格納する第２の処理と
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項１４】
前記プログラムによる前記第２の処理では、
文書構造解析の目的に鑑みて不要な情報要素を識別する処理と、
構造的に意味のないブロックを削除する処理と、
前記情報要素の内容に基づいて、情報要素のマージあるいはブロックの分割を行う処理と、
各ブロックに含まれる情報に基づいて、ブロック構造をマージする処理と
を前記コンピュータに実行させることを特徴とする請求項１３に記載のプログラム。
【請求項１５】
ネットワークに接続されたコンピュータを制御してウェブサイトのクローリングを行うプログラムを、当該コンピュータが読み取り可能に記録した記録媒体において、
前記プログラムは、
初期情報となるウェブページを取得してソースコードを記憶装置に格納する処理と、
前記記憶装置から前記ウェブページのソースコードを読み出し、当該ウェブページにおける意味を考慮して構造解析を行い、解析結果を前記記憶装置に格納する処理と、
前記記憶装置に格納された前記構造解析の結果に基づいて、前記ウェブページからリンクされる他のウェブサイトの重要度を計算する処理と、
計算された重要度に応じてウェブサイトにアクセスし、コンテンツを取得して前記記憶装置に格納する処理と
を前記コンピュータに実行させることを特徴とする記録媒体。
【請求項１６】
コンピュータを制御してＨＴＭＬ文書の文書構造を解析するプログラムを、当該コンピュータが読み取り可能に記録した記録媒体において、
前記プログラムは、
メモリから処理対象であるＨＴＭＬ文書を読み出し、当該ＨＴＭＬ文書を構成する各情報要素を、当該ＨＴＭＬ文書のタグに基づいてブロック化し、ブロック化された当該ＨＴＭＬ文書の構造データをメモリに格納する第１の処理と、
前記メモリからブロック化された前記ＨＴＭＬ文書の構造データを読み出し、意味的に相互に関連する情報要素を対応付けることにより、当該ＨＴＭＬ文書のブロック構造を更新し、更新された当該構造データをメモリに格納する第２の処理と
を前記コンピュータに実行させることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して所望の情報を自動的に取得する技術に関し、特にインターネット上で提供されているウェブコンテンツを検索し、リンクを辿りながら取得（クローリング）する技術に関する。
【０００２】
【従来の技術】
今日、インターネットに代表されるコンピュータのネットワーク環境が広く普及したことにより、ネットワーク上で提供されている膨大な情報の中から検索エンジンを用いて所望の情報を検索し取得することが一般的に行われている。この検索エンジンには多くの種類が存在するが、予め情報を検索して取得しておき、検索要求に応じて保持している情報を返す静的な検索エンジンを用いた場合は、膨大な情報源（ウェブページ等）を対象としなければならないため、最新の情報を獲得することが困難である。また、基本的に検索エンジンを持つサーバが全ての処理を行うことが前提となっているため、サーバの負担が大きい。
【０００３】
そこで、静的な検索エンジンで集めたキーワード検索結果の集合を初期集合として用い、これを起点に関連するサイトを動的に検索する手法が提案されている。この種の従来技術としては、例えば、下記文献１に開示されたＳｈａｒｋ−Ｓｅａｒｃｈと呼ばれる検索技術がある。
文献１：Ｍｉｃｈａｅｌ　Ｈｅｒｓｃｏｖｉｃｉ，　Ｍｉｃｈａｌ　Ｊａｃｏｖｉ，　Ｙｏｅｌｌｅ　Ｓ．　Ｍａａｒｅｋ，　Ｄａｎ　Ｐｅｌｌｅｇ，Ｍｅｎａｃｈｅｍ　Ｓｈｔａｌｈａｉｍ，　Ｓｉｇａｌｉｔ　Ｕｒ．　”Ｔｈｅ　Ｓｈａｒｋ−Ｓｅａｒｃｈ　Ａｌｇｏｒｉｔｈｍ：　Ａｎ　Ａｐｐｌｉｃａｔｉｏｎ：　Ｔａｉｌｏｒｅｄ　Ｗｅｂ　ＳｉｔｅＭａｐｐｉｎｇ”　Ｉｎ　ｔｈｅ　Ｐｒｏｃｅｅｄｉｎｇｓ　ｏｆ　ＷＷＷ７，　ｔｈｅ　７ｔｈ　Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ　Ｃｏｎｆｅｒｅｎｃｅ，　Ｂｒｉｓｂａｎｅ，　Ａｐｒｉｌ　１９９８．　Ａｌｓｏ　ａｐｐｅａｒｅｄｉｎ　ｔｈｅ　Ｊｏｕｒｎａｌ　ｏｆ　Ｃｏｍｐｕｔｅｒ　Ｎｅｔｗｏｒｋｓ　ａｎｄ　ＩＳＤＮ　３０　（１９９８），　ｐｐ　３１７−３２６．ＨＹＰＥＲＬＩＮＫ　”ｈｔｔｐ：／／ｗｗｗ７．ｓｃｕ．ｅｄｕ．ａｕ／ｐｒｏｇｒａｍｍｅ／ｆｕｌｌｐａｐｅｒｓ／１８４９／ｃｏｍ１８４９．ｈｔｍ”　ｈｔｔｐ：／／ｗｗｗ７．ｓｃｕ．ｅｄｕ．ａｕ／ｐｒｏｇｒａｍｍｅ／ｆｕｌｌｐａｐｅｒｓ／１８４９／ｃｏｍ１８４９．ｈｔｍ
【０００４】
同文献に開示された技術は、インターネット上で、指定されたＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）とキーワードとに基づき、当該ＵＲＬのウェブサイトから当該キーワードに関連するウェブサイト（重要度の高いウェブサイト）を動的に検索する。このシステムは、初期集合を求めるためのキーワード（ｄｏｍａｉｎ　ｑｕｅｒｙ）と動的にウェブサイトをクロールする際にクロール対象であるウェブサイトの重要度の計算に用いるキーワード（ｆｏｃｕｓｅｄ　ｑｕｅｒｙ）の２つを用いることによって精度の向上を図っている。
【０００５】
【発明が解決しようとする課題】
上述したように、ネットワーク上で提供される膨大な最新の情報を効率よく検索するために、検索要求があった場合に動的に情報検索を行うことが求められる。
しかし、上述した従来の動的な検索エンジンは、基本的に、ユーザが指定したトピック（キーワード等）に近い情報という１つの判断基準（ｒｅｌｅｖａｎｃｅ（））で検索を行う。そのため、情報の使用目的に応じて多様な戦略で柔軟に検索を行うことができなかった。
【０００６】
また、情報を効率的に検索するためには、取得対象である情報（ウェブページ等）の重要度を判断し、これに基づいて情報の取得順や取得範囲を決める必要がある。しかし、インターネット上でＵＲＬ及びトピックに基づいてウェブサイトをクロールする従来技術では、この重要度を効果的に判断することができなかった。すなわち、情報の重要度を判断するために限られた情報、例えばウェブページにおける、指定されたキーワードや、アンカーに近い位置に記載されているテキストなどしか用いておらず、所望の情報を効率的に検索することができなかった。例えば、上記文献１に開示された従来技術の場合、文献１には、アンカーの重要性を判断するために当該アンカーの近傍のテキスト（ａｎｃｈｏｒ＿ｔｅｘｔ＿ｃｏｎｔｅｘｔ）を考慮するとの記述があるが、どのようにしてこの　ａｎｃｈｏｒ＿ｔｅｘｔ＿ｃｏｎｔｅｘｔを得るかについて明確な記述はない。
【０００７】
そこで、本発明は、情報の使用目的に応じて多様な戦略による柔軟な情報検索を可能とすることを目的とする。
また、本発明は、ウェブサイトのクローリングにおいて、この多様な戦略による情報検索を実現するために、ウェブページに含まれる情報を有効に活用して検索を行うことを目的とする。
【０００８】
【課題を解決するための手段】
上記の目的を達成する本発明は、ネットワークを介してウェブサイトのクローリングを行う、次のように構成された情報検索システムとして実現される。すなわち、この情報検索システムは、所定のウェブページにおける意味を考慮してソースコードの構造を解析する構造解析部と、この構造解析部の解析結果に基づいて、このウェブページからリンクされる他のウェブサイトの重要度を計算する重要度計算部と、この重要度計算部により計算された重要度に応じてウェブサイトをクロールするクローリング実行部とを備えることを特徴とする。
より詳しくは、この重要度計算部は、ウェブサイトの重要度を計算するための戦略を、予め用意された戦略の中から選択的に用いて重要度の計算を行う。さらに好ましくは、この重要度計算部は、複数の戦略を選択し、各々重みを付けて用いる。
【０００９】
また、本発明による他の情報検索システムは、ＨＴＭＬ文書の文書構造を意味を考慮して解析し、解析によって得られた情報要素を対応するアンカーに付加する文書構造解析部と、この文書構造解析部の解析により得られた情報要素に基づいて計算されたアンカーの重要度に応じて、このアンカーにてリンクされるウェブサイトをクロールするクローリング実行部とを備えることを特徴とする。
ここで詳細には、この文書構造解析部は、ＨＴＭＬ文書を構成する各情報要素を、この情報要素が持つ意味のまとまりごとにブロック化し、各ブロック内の情報要素を付加情報として同一ブロック内のアンカーに付加する。
この情報検索システムは、文書構造解析部の解析により得られた情報要素に基づき、予め選択された所定の戦略にしたがってアンカーの重要度を計算する重要度計算部をさらに備えることができる。これにより、クローリング実行部は、重要度計算部にて所定の戦略にしたがって計算されたアンカーの重要度に応じてウェブサイトをクロールすることができる。
【００１０】
また、上記の目的を達成する本発明は、コンピュータを用いネットワークを介してウェブサイトのクローリングを行う、次のような情報検索方法として実現される。この情報検索方法は、初期情報となるウェブページを取得してソースコードを記憶装置に格納するステップと、この記憶装置からウェブページのソースコードを読み出し、このウェブページにおける意味を考慮して構造解析を行うステップと、この構造解析の結果に基づいて、このウェブページからリンクされる他のウェブサイトの重要度を計算するステップと、計算された重要度に応じてウェブサイトにアクセスし、コンテンツを取得するステップとを含むことを特徴とする。
【００１１】
さらに、本発明は、この情報検索方法などで用いられる、次のようなＨＴＭＬ文書の構造解析方法としても実現される。すなわち、このＨＴＭＬ文書の構造解析方法は、処理対象であるＨＴＭＬ文書を構成する各情報要素を、このＨＴＭＬ文書のタグに基づいてブロック化するステップと、ブロック化された前記ＨＴＭＬ文書の構造データにおいて、意味的に相互に関連する情報要素を対応付けることにより、このＨＴＭＬ文書のブロック構造を更新するステップとを含む。
より詳細には、このＨＴＭＬ文書のブロック構造を更新するステップは、文書構造解析の目的に鑑みて不要な情報要素を識別するステップと、構造的に意味のないブロックを削除するステップと、この情報要素の内容に基づいて、情報要素のマージあるいはブロックの分割を行うステップと、各ブロックに含まれる情報に基づいて、ブロック構造をマージするステップとを含む。
【００１２】
また、本発明は、コンピュータを制御して上述した情報検索システムとして機能させるプログラムや、上述した情報検索方法またはＨＴＭＬ文書の構造解析方法における各ステップに対応する処理をコンピュータに実行させるプログラムとして実現することができる。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【００１３】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
図１は、本実施の形態による情報検索システムを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図１に示すコンピュータ装置は、演算手段であるＣＰＵ（Ｃｅｎｔｒａｌ　ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ：中央処理装置）１０１と、Ｍ／Ｂ（マザーボード）チップセット１０２及びＣＰＵバスを介してＣＰＵ１０１に接続されたメインメモリ１０３と、同じくＭ／Ｂチップセット１０２及びＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ　Ｇｒａｐｈｉｃｓ　Ｐｏｒｔ）を介してＣＰＵ１０１に接続されたビデオカード１０４と、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介してＭ／Ｂチップセット１０２に接続されたハードディスク１０５、ネットワークインターフェイス１０６及びＵＳＢポート１０７と、さらにこのＰＣＩバスからブリッジ回路１０８及びＩＳＡ（Ｉｎｄｕｓｔｒｙ　Ｓｔａｎｄａｒｄ　Ａｒｃｈｉｔｅｃｔｕｒｅ）バスなどの低速なバスを介してＭ／Ｂチップセット１０２に接続されたフロッピーディスクドライブ１０９及びキーボード／マウス１１０とを備える。
なお、図１は本実施の形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１０４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１０１にてイメージデータを処理する構成としても良いし、ＡＴＡ（ＡＴ　Ａｔｔａｃｈｍｅｎｔ）などのインターフェイスを介してＣＤ−ＲＯＭ（ＣｏｍｐａｃｔＤｉｓｃ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）やＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）のドライブを設けても良い。
【００１４】
本実施の形態では、情報としてインターネット上で提供される各種のウェブコンテンツ（ウェブページやそのオブジェクト）を検索し獲得する場合を例として説明する。したがって、本実施の形態において図１に示すコンピュータ装置は、プログラム制御されたＣＰＵ１０１にて実現される通信制御手段及びネットワークインターフェイス１０６を介して、インターネットに接続し、ウェブサイトにアクセスする。
図２は、図１に示したコンピュータ装置にて実現される本実施の形態による情報検索システムの構成を示す図である。
図２に示すように、本実施の形態による情報検索システムは、インターネット上のウェブサイトからリンクを辿り所望の情報に関連のあるウェブサイトを検索する情報取得手段であるクローラ１０と、クローラ１０にて検索されたウェブサイトに対して所定の条件に基づく選別を行うウェブサイト選別部２０と、ウェブサイト選別部２０による選別にて選ばれたウェブサイトに基づいて、種々の戦略に基づくレポートを作成するレポート作成部３０とを備えている。
【００１５】
上述したクローラ１０、ウェブサイト選別部２０及びレポート作成部３０は、図１に示したメインメモリ１０３に展開されたプログラムにてＣＰＵ１０１を制御することにより実現される仮想的なソフトウェアブロックである。ＣＰＵ１０１を制御してこれらの機能を実現させる当該プログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記憶媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供される。本実施の形態では、図１に示したネットワークインターフェイス１０６やフロッピーディスクドライブ１０８、図示しないＣＤ−ＲＯＭドライブなどを介して当該プログラムを入力し、ハードディスク１０５に格納する。そして、ハードディスク１０５に格納されたプログラムをメインメモリ１０３に読み込んで展開し、ＣＰＵ１０１にて実行することにより、図２に示した各構成要素の機能を実現する。
【００１６】
図３は、本実施の形態の情報検索システムによる情報検索の概略的な流れを示すフローチャートである。
図３に示すように、本実施の形態の情報検索システムは、図２に示したクローラ１０により、初期サイトを獲得し（ステップ３０１）、ユーザによって任意に選択された種々の戦略にしたがって動的にウェブサイトのクローリングを行う（ステップ３０２）。
ここで、初期サイトとは、ウェブサイトのクローリングを開始するために初期的に設定されるウェブサイトもしくはその集合である。これをインデックスとして用いて次のクローリングを行う。また、戦略とは、ウェブサイトのクローリングを行う上での基準となる方針を意味し、具体的には検索条件等として設定される。本実施の形態で採られる戦略については３８段落以下で詳述する。
次に、情報検索システムは、ウェブサイト選別部２０により、クローリングで検索されたウェブサイトの集合の中から、検索条件であるトピックとの関連性や時間的条件に基づいて、有効なウェブサイトを選択する（ステップ３０３）。そして最後に、ウェブサイト選別部２０にて選択されたウェブサイトに対し、上記の戦略に基づいて評価を行い、レポートを作成する（ステップ３０４）。作成されたレポートはウェブページ等の形でディスプレイ装置に表示され、あるいはハードディスク１０５等の記憶装置に保存される。
【００１７】
本実施の形態において、クローラ１０は、図２に示したように、初期サイトを取得する初期サイト獲得部１１と、当該初期サイトに対応するウェブページに対して文書構造解析を行う文書構造解析部１２と、文書構造解析部１２による解析結果に基づいてクローリングによる取得対象であるウェブサイトの重要度を計算する重要度計算部１３と、クローリングによるウェブサイトの取得処理を実行するクローリング実行部１４とを備える。
初期サイト獲得部１１における初期サイトの獲得には、例えば次のような方法を採ることができる。
・情報を収集しようとする特定のウェブサイト（例えば企業サイト）のホームページ（トップページ）のＵＲＬを指定。
・任意のキーワードに対して既存の検索エンジンを用いて検索。
既存の検索エンジンとしては、インターネット上で提供される一般的な検索サービスを利用することができる。検索エンジンを用いて初期サイトを取得した場合は、検索によって取得されたウェブサイトの集合が初期サイト（初期サイト集合）となる。
【００１８】
ウェブサイトのクローリングは、初期サイトを起点として、そこからアンカータグなどの情報に基づいて参照されているウェブサイトを獲得し、その中から指定された戦略に一致するウェブサイトを獲得する処理である。この処理は、獲得されたウェブサイトの数の上限、深さの上限、クロールの時間制限などの終了条件を予め設定しておき、この終了条件を満たすまで再帰的に適用される。ユーザは、初期集合から動的にクロールを進めるためのヒントとして、個々のサイトとユーザが指定したトピックとの関連性を計算するために用いられるキーワードを指定する。クローラ１０は、文書構造解析部１２により初期サイト（初期サイト集合）に対応するウェブページの文書構造解析を行い、重要度計算部１３によりクローリングの際の戦略に応じたウェブサイト（ＨＴＭＬ（Ｈｙｐｅｒｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）文書の記述上ではアンカータグ）の重要度を計算した上で、これらの情報を用いてクローリング実行部１４によりウェブサイトを検索し取得する。
【００１９】
本実施の形態の文書構造解析部１２による文書構造解析は、ウェブページのソースコードであるＨＴＭＬ文書においてブロックを識別する。
ここでブロックとは、特定の意味を持つ情報要素のまとまりであり、ウェブページを記述するＨＴＭＬにおけるブロックレベルとは必ずしも一致しない。このブロックに含まれる情報要素は、ブロックの属性（ＯＢＪＥＣＴ＿ＬＩＳＴ）に、情報要素のリストとして登録され、メインメモリ１０３やＣＰＵ１０１のキャッシュメモリに保存される。このブロック化により、ＨＴＭＬ文書に含まれる情報要素のうち、相互に関連する情報要素が対応付けられることとなる。
情報要素には、単一要素と複数の単一要素をマージして構成された複合要素とがある。解析の最初の時点では、全ての情報要素は単一要素として識別され、解析を進めることによって複数の情報要素が複合要素としてマージされる。この情報要素は、以下の属性を持つ。
・ＴＹＰＥ：情報要素のタイプ。
ＯＢＪＥＣＴ＿ＡＮＣＨＯＲ：アンカー。
ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫ：テキスト。
ＯＢＪＥＣＴ＿ＩＭＡＧＥ：メディアのタイプ。他にＡＵＤＩＯ、ＶＩＤＥＯなどが定義可能。以降の説明では、全てのメディアタイプを代表してＯＢＪＥＣＴ＿ＩＭＡＧＥを記述する。
ＯＢＪＥＣＴ＿ＤＥＬＩＭＩＴＥＲ：情報要素のＴＹＰＥによらず区切り記号としての役割であると解析された場合に指定される。
・ＵＲＬ：ＵＲＬ。
ＯＢＪＥＣＴ＿ＡＮＣＨＯＲの場合は、ＨＲＥＦで指定された値。
ＯＢＪＥＣＴ＿ＩＭＡＧＥ　などの場合は、ＳＲＣなどで指定された値。
・ＴＩＴＬＥ：タイトル。
ＯＢＪＥＣＴ＿ＡＮＣＨＯＲ　の場合は、Ａ（アンカー）タグで囲まれたテキスト部分。
ＯＢＪＥＣＴ＿ＩＭＡＧＥ　などの場合は、ＡＬＴなどで指定されたテキスト部分。
・ＤＥＳＣＲＩＰＴＩＯＮ　：記述。
ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫ　の場合は、そのテキスト部分。
ＯＢＪＥＣＴ＿ＡＮＣＨＯＲ　の場合は、関連するテキストが得られた場合、それらをマージする際にテキスト記述として追加される。
・ＲＥＦＥＲＲＥＲ：参照情報。
ＯＢＪＥＣＴ＿ＡＮＣＨＯＲ，　ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫ　の場合、それに関連する　ＯＢＪＥＣＴ＿ＩＭＡＧＥなどの他のメディアタイプの情報要素が追加される。
・ＥＭＰＨＡＳＩＳ：強調表現。
その情報要素が強調的な表現をされているかどうかが指定される。
【００２０】
図４は、文書構造解析部１２によるブロック化のアルゴリズムであるウェブページの文書構造解析処理の手順を説明するフローチャートである。
図４を参照すると、文書構造解析部１２は、まず解析対象のウェブページのＨＴＭＬ文書を読み込み、そのタグの記述に基づいて暫定的なブロック解析を行う（ステップ４０１）。ここでは、ＨＴＭＬ文書において、一般的に意味が区切られる箇所に記述されることの多いタグを手掛かりにして、処理対象のＨＴＭＬ文書を仮にブロックごとに区分する。このブロック解析に用いられるタグの例としては、例えば“ＢＬＯＣＫＱＵＯＴＥ”、“ＤＤ”、“ＤＩＶ”、“ＤＬ”、“ＦＯＲＭ”、“Ｈ１”、“Ｈ２”、“Ｈ３”、“Ｈ４”、“Ｈ５”、“ＨＲ”、“ＬＩ”、“Ｐ”、“ＴＡＢＬＥ”、“ＴＤ”、“ＴＨ”、“ＴＲ”、“ＵＬ”などが挙げられる。すなわち、これらのタグが出現した場合、ブロックの開始とする。そして、それぞれのタグに対応する終了タグ（＜／ＴＡＢＬＥ＞など）が出現した場合は、そのブロックの終了とする。
また、上記のようにして決定されたブロック内に、次のようなタグ、あるいは、テキストが出現した場合は、そのブロック中に上述した情報要素を作成する。Ａ（アンカー）タグ：ＯＢＪＥＣＴ＿ＡＮＣＨＯＲを生成する。ＵＲＬとして、ＨＲＥＦで指定された値。ＴＩＴＬＥとして、Ａタグで囲まれたテキストを指定する。
タグで囲まれていないテキスト部分：ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫを生成する。ＴＩＴＬＥとして当該テキストを指定する。ＩＭＧなどメディアを指定するタグ：ＯＢＪＥＣＴ＿ＩＭＡＧＥなどを生成する。ＩＭＧタグの場合、ＵＲＬに、ＳＲＣで指定された値を、ＴＩＴＬＥとして、ＡＬＴで指定された値を指定する。
さらに、これら個々の情報要素を作成する際に、その情報要素が強調表現であるかどうかを判断し、そうであれば、属性ＥＭＰＨＡＳＩＳにその強さを指定する。強調表現であるかどうかは、例えば、“Ｂ”、“ＣＥＮＴＥＲ”、“ＥＭ”、“ＳＴＲＯＮＧ”、“ＴＨ”、“Ｕ”のようなタグによってその情報要素が囲まれているかどうかによって判断する。
以上のようにして得られたＨＴＭＬ文書の構造データは、図１に示したメインメモリ１０３やＣＰＵ１０１のキャッシュメモリに一時的に格納される。
【００２１】
次に、文書構造解析部１２は、ステップ４０１で作成された構造データをメインメモリ１０３等から読み出し、この構造データに含まれる情報要素のうちで不要な情報要素を識別する（ステップ４０２）。ＵＲＬが同じであるＯＢＪＥＣＴ＿ＩＭＡＧＥ、あるいは、同じＴＩＴＬＥを持つＯＢＪＥＣＴ＿ＡＮＣＨＯＲ、あるいは、同じＤＥＳＣＲＩＰＴＩＯＮを持つＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫが複数出現されている場合は、情報を運ぶという意味合いは弱く、単なる区切り記号的な役割を担う。したがって、不要な情報要素といえる。例えば、図５（Ａ）に示すようなイメージタグは、ＬＩタグと同様の区切りの役割を果たしている。また、図５（Ｂ）に示すようなアンカータグは、情報を運ぶ意味合いは少ない。
ＨＴＭＬ文書中に出現する情報要素の数を数えながら、このような情報を運ぶ意味合いの少ない情報要素を識別し、そのタイプをＯＢＪＥＣＴ＿ＤＥＬＩＭＩＴＥＲとしてマークする。具体的には、不要イメージに関しては、以下のアルゴリズムによってマークを行う。なお、イメージの同一性は、ＵＲＬが同じかどうかで判断する。
・１つのブロックが１つのイメージのみを含む場合は、ＯＢＪＥＣＴ＿ＤＥＬＩＭＩＴＥＲの候補とする。
・１つのブロックが複数の同一イメージのみを含む場合は、ＯＢＪＥＣＴ＿ＤＥＬＩＭＩＴＥＲの候補とする。
・文書全体において、複数のブロックで候補となっているものに対し、ＯＢＪＥＣＴ＿ＤＥＬＩＭＩＴＥＲをマークする。
また、不要なＯＢＪＥＣＴ＿ＡＮＣＨＯＲ、及びＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫに関しては、同じタイトルを持つ要素が予め設定された所定の閾値以上あれば、それらをＯＢＥＪＣＴ＿ＤＥＬＩＭＩＴＥＲとしてマークする。かかる閾値を用いた判断としては、例えば、テキスト長が、比較的短く（１２バイト以下）、かつ、出現回数が３回以上などであれば不要な要素とみなす。また、同じ文書内に非常に多く出現した（例えば１０回以上）全く同じＯＢＪＥＣＴ＿ＡＮＣＨＯＲ，　ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫも不要な要素とみなす。これらの閾値は、システムの動作環境や用途などに応じて、経験的にあるいは適当な回数の実験を経て好ましい値を求めることができる。上記の例では、テキスト長は、実際のインターネット上のウェブページを対象として観察した結果から経験的に求めたものである（例えば、“先頭に戻る”、“戻る”、“キャッシュ”などがこの例に相当する）。また、出現回数の閾値も同様に実際に観察した結果から経験的に求めたものである（例えば、購買サイトの“購入はこちら”などのアンカー）。
以上のようにして不要と判断されたアンカーは、クロールの対象とならない。
【００２２】
次に、文書構造解析部１２は、構造的に意味のないブロックを削除する（ステップ４０３）。例えば、所定のブロックについて、そのブロック自身が情報要素を持たず、かつ内包するブロック（子ブロック）が１つの場合は、当該ブロックを下位ブロック（すなわち当該子ブロック）とマージする。
【００２３】
次に、文書構造解析部１２は、情報要素リストのマージ、ブロック分割及びリストタイプの識別を行う（ステップ４０４）。まず、同一ブロック内の情報要素をマージする。情報要素のマージにより、関連する複数の要素が１つの複合要素とされる。以下、具体例を挙げる。
ＯＢＪＥＣＴ＿ＡＮＣＨＯＲは、ＯＢＪＥＣＴ＿ＡＮＣＨＯＲ、ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫ及びＯＢＪＥＣＴ＿ＩＭＡＧＥとのマージが可能であり、以下に示すような操作にてマージする。
・ＯＢＪＥＣＴ＿ＡＮＣＨＯＲとＯＢＪＥＣＴ＿ＡＮＣＨＯＲとのマージ：
２つの情報要素のＵＲＬが同一の場合のみ行う。ＥＭＰＨＡＳＩＳ属性が付与されている方を重要とみなし、そのＴＩＴＬＥを採用する。そして、ＥＭＰＨＡＳＩＳ属性が付与されていない方は、そのＴＩＴＬＥをＤＥＳＣＲＩＰＴＩＯＮに追加する。
・ＯＢＪＥＣＴ＿ＡＮＣＨＯＲとＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫとのマージ：
ＯＢＪＥＣＴ＿ＡＮＣＨＯＲのＤＥＳＣＲＩＰＴＩＯＮにＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫのＤＥＳＣＲＩＰＴＩＯＮを追加する。
・ＯＢＪＥＣＴ＿ＡＮＣＨＯＲとＯＢＪＥＣＴ＿ＩＭＡＧＥとのマージ：
ＯＢＪＥＣＴ＿ＡＮＣＨＯＲのＲＥＦＥＲＲＥＲにＯＢＪＥＣＴ＿ＩＭＡＧＥを設定する。ＯＢＪＥＣＴ＿ＡＮＣＨＯＲのＤＥＳＣＩＰＲＴＩＯＮにＯＢＪＥＣＴ＿ＩＭＡＧＥのＴＩＴＬＥを追加する。
また、ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫは、ＯＢＪＥＣＴ＿ＡＮＣＨＯＲ、ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫ及びＯＢＪＥＣＴ＿ＩＭＡＧＥとのマージが可能である。なお、ＯＢＪＥＣＴ＿ＡＮＣＨＯＲとのマージの場合の操作は上述したＯＢＪＥＣＴ＿ＡＮＣＨＯＲどうしの場合と同様であり、ＯＢＪＥＣＴ＿ＩＭＡＧＥとのマージの場合の操作は上述したＯＢＪＥＣＴ＿ＡＮＣＨＯＲとＯＢＪＥＣＴ＿ＩＭＡＧＥとのマージの場合と同様である。ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫとＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫとのマージの場合は、次に示すような操作にてマージする。
・ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫとＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫとのマージ：
一方のＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫのＤＥＳＣＲＩＰＴＩＯＮに他方のＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫのＤＥＳＣＲＩＰＴＩＯＮを追加する。
基本的には、ＯＢＪＥＣＴ＿ＡＮＣＨＯＲ、ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫ、ＯＢＪＥＣＴ＿ＩＭＡＧＥ　が同一ブロック内に存在すれば、それらをまとめられるものと判断する。ＯＢＪＥＣＴ＿ＡＮＣＨＯＲに関しては、同じＵＲＬを参照している要素が近くにあれば、その中に含まれる要素をマージして１つの複合要素とする。
【００２４】
また、同一ブロックに情報要素が３つ以下（ＯＢＪＥＣＴ＿ＤＥＬＩＭＩＴＥＲを含む場合は４つ以下）の場合、どのようにマージさせるかは容易に判断できるが、複数の情報要素がリストで並んでいるような場合は、情報要素リスト内の構造解析を行い、要素のマージ、あるいは、ブロックの分割を行う。情報要素リスト内の構造解析は、原則的にはＮグラム統計を用いて次のように行う。
すなわち、１グラムから解析を行い、それぞれのグラム数において、同一ブロック内で支配的な要素の並びが見つかった場合、その並びで分割を行う。例えば、３グラム統計を行った場合、ＯＢＪＥＣＴ＿ＤＥＬＩＭＩＴＥＲ、ＯＢＪＥＣＴ＿ＡＮＣＨＯＲ、ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫの当該ブロック図全体に対する割合（カバー率）が一定の閾値より大きい場合（例えば８０％以上）は、その並びを分割し、情報要素をマージする。具体的には、図６に示す例では、２つの複合要素が作成される（ｂｕｌｌｅｔ．ｇｉｆ（破線で囲んだ箇所）はＯＢＪＥＣＴ＿ＤＥＬＩＭＩＴＥＲとして解析されている）。閾値を必ずしも１００％としないのは、ブロック内に要素が列挙して書かれている場合でも、個々の要素に関しては、イメージがあったりなかったりするなどの揺れがあり、それを吸収するために経験的に閾値を決める必要があるためである（図６の例では、ＯＢＪＥＣＴ＿ＤＥＬＩＭＩＴＥＲ、ＯＢＪＥＣＴ＿ＡＮＣＨＯＲ、ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫの並びは２回出現しており、それは全体をカバーしているので、カバー率はこの場合１００％である）。
【００２５】
ただし、Ｎグラム解析だけでは、解析できない場合がある。例えば、図７に示す例のように、参考情報（破線で囲んだ箇所）が指定されている場合である。このような場合は、特にＯＢＪＥＣＴ＿ＡＮＨＯＲ、ＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫに関する対応付けがＮグラム統計では行うことができない。よって、情報要素に付与されているＴＩＴＬＥ、ＤＥＳＣＲＩＰＴＩＯＮのテキスト部分からキーワードを抽出し、複数の情報要素間のキーワードリストの一致度（割合や数）を調べ、一致度が一定の閾値以上である場合は当該情報要素をマージする。例えば、双方のタイトルから抽出されたキーワードの一致する割合が、共に７０％以上であるならば、マージする。一致度の計算の際にはキーワードの分類を考慮して、人名、組織名などの重みをより重くして一致度を計算することも可能である。例えば、ニュースなどの情報であれば特に人名、組織名が一致している場合その関連度は強い場合が多い。
【００２６】
また、図８に示す例では、複数の意味的なまとまりが１つのブロック内に存在する。破線で囲まれた各部分（“ＩＢＭ関連リンク”、“日本ＩＢＭ関連リンク”）がそれぞれ意味的なまとまりを構成している。このような場合は、タイトルとなる情報要素を区切りとして情報要素リストをブロックに分割する。タイトルとなる情報要素を識別するために、ＥＭＰＨＡＳＩＳ属性を用いる。すなわち、一定の閾値以上の長さの情報要素リスト内にＥＭＰＨＡＳＩＳ属性が指定されているものが複数あり、その後の情報要素が類似した並びを持っている場合は、それを複数に分割する。この際、分割されたブロックのタイトルとして、ＥＭＰＨＡＳＩＳ属性のタイトルを指定する。このような処理によって、図８のＨＴＭＬ文書に対して、図９に示すようなブロック分割がなされる。
一般に、情報要素リストの先頭の情報要素にＥＭＰＨＡＳＩＳ属性が付与されており、情報要素リスト中のＯＢＪＥＣＴ＿ＡＮＣＨＯＲが一定の閾値以上の割合である場合（例えば８０％以上）は、当該ＥＭＰＨＡＳＩＳ属性のタイトルをブロックのタイトルとして指定する。あるいは、先頭のみがＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫであり、他の要素が一定の閾値以上（例えば８０％以上）のＯＢＪＥＣＴ＿ＡＮＣＨＯＲである場合も同様に、先頭のＯＢＪＥＣＴ＿ＴＥＸＴ＿ＢＬＯＣＫのＤＥＳＣＲＩＰＴＩＯＮをブロックのタイトルとする。これらの閾値は、システムの動作環境や用途などに応じて、経験的にあるいは適当な回数の実験を経て好ましい値を求めることができる。
【００２７】
このようにして抽出されたブロックのタイトルは、個々の情報要素に対する重要度の計算に用いられる。例えば図８、９に示した例で、トピックが“日本ＩＢＭ”であった場合、そのブロックに含まれる３つのアンカー“Ｈｏｍｅ”、“プロダクト＆サービス”、“サポート＆ダウンロード”は、文字列“日本ＩＢＭ”を含まないが、ブロックのタイトルに含まれることによって関連する情報要素として判断される。このように文書構造を詳細かつ正確に解析することによって、単に位置的に近傍のテキストのみからでなく、離れた位置の要素間の依存関係を利用することが可能となる。
また、抽出されたブロックの情報要素リストにおいて、ＯＢＪＥＣＴ＿ＡＮＣＨＯＲの割合が多い場合は、当該ブロックのリストタイプを次のように決める。
・ＳＩＴＥ＿ＭＡＰ：リンク総数に対して、ＯＢＪＥＣＴ＿ＡＮＣＨＯＲのホスト名が異なるリンクの数の割合が所定の閾値より小さい（例えば５０％以下）場合。それ以外の場合は、ホスト名に対して固有組織名を識別するための最小の文字列を求め、その文字列の異なるリンクの割合が所定の閾値より小さい場合（例えば１０％以下）は、ＳＩＴＥ＿ＭＡＰ　とする。これらの閾値は、例えば、インターネット上の実際のウェブページに基づいて経験的に求められる。厳密にホスト名の一致を取るだけでは、たとえ同じ会社が提供しているページであっても異なる場合がある。ページの機能によって個別のホストを用いている場合があるからである。例えば、Ｙａｈｏｏ！　Ｊａｐａｎ（ｈｔｔｐ：／／／ｗｗｗ．ｙａｈｏｏ．ｃｏ．ｊｐ）　は、オークションには　ａｕｃｔｉｏｎｓ．ｙａｈｏｏ．ｃｏ．ｊｐ，旅行関連は、ｔｒａｖｅｌ．ｙａｈｏｏ．ｃｏ．ｊｐ　などホスト名を分けている。この場合は、固有組織を識別するための最小の文字列（ｙａｈｏｏ．ｃｏ．ｊｐ）の一致度によって、閾値に基づく判断を行うことができる。
・ＬＩＮＫ＿ＬＩＳＴ：ＳＩＴＥ＿ＭＡＰの条件を満たさない場合。
【００２８】
次に、文書構造解析部１２は、以上のようにして得られたブロックごとの情報に基づいて、ブロック構造のマージを行う（ステップ４０５）。
関連する情報要素は、必ずしもブロック内に連続して出現するわけではない。すなわち、ステップ４０１やステップ４０４の処理でブロックの設定を細かくし過ぎてしまう場合がある。そこで例えば、所定のブロックの子ブロックにおいて並列構造があるならば、それを当該所定のブロック（親ブロック）の情報要素リストとすることにより、構造をマージする。マージする方法は、ステップ４０４で説明した情報要素リストに対するマージのアルゴリズムと同様である。
【００２９】
文書構造解析部１２は、以上説明したステップ４０３乃至ステップ４０５の動作を、処理対象のＨＴＭＬ文書に対して適用が可能である限り繰り返して適用し、解析結果である構造データの構造が変更されなくなったならば、当該構造データをメインメモリ１０３やＣＰＵ１０１のキャッシュメモリに格納して構造解析の処理を終了する（ステップ４０６）。
以上のようにして、ＨＴＭＬ文書の文書構造が意味のまとまりごとにブロック化され、ＨＴＭＬ文書から抽出された情報要素がブロックの属性として記述されることにより、相互に関連する情報要素が対応付けられて当該ブロック内のアンカーに付加されることとなる。
【００３０】
次に、重要度計算部１３によるクローリング先のウェブサイト（すなわちＨＴＭＬ文書におけるアンカータグ）の重要度の計算について説明する。
図１０、１１は、重要度計算部１３により重要度を計算し、クローリング実行部１４によりウェブサイトのコンテンツを取得する動作を説明するフローチャートである。
本実施の形態において、重要度計算部１３の重要度の計算に用いられる基本的なアルゴリズム（図１０、１１にて説明されるアルゴリズム）は、下記文献２に開示されたＦｉｓｈ−Ｓｅａｒｃｈと呼ばれる手法や、上述した文献１に開示されたＳｈａｒｋ−Ｓｅａｒｃｈと呼ばれる手法に基づく。
文献２：Ｐ．　Ｄｅ　Ｂｒａ，　Ｇ．−Ｊ　Ｈｏｕｂｅｎ，　Ｙ．　Ｋｏｒｎａｔｚｋｔ，　ａｎｄ　Ｒ．　Ｐｏｓｔ，　Ｉｎｆｏｒｍａｔｉｏｎ　ｒｅｔｒｉｅｖａｌ　ｉｎ　ｄｉｓｔｒｉｂｕｔｅｄ　ｈｙｐｅｒｔｅｘｔｓ，　ｉｎ　Ｐｒｏｃｅｅｄｉｎｓ　ｏｆ　ＲＩＡＯ’９４，　Ｉｎｔｅｌｌｉｇｅｎｔ　Ｍｕｌｔｉｍｅｄｉａ，　ｉｎｆｏｒｍａｔｉｏｎ　Ｒｅｔｒｉｅｖａｌ　ｓｙｓｔｅｍｓ　ａｎｄ　ｍａｎａｇｅｍｅｎｔｓ，　Ｎｅｗ　Ｙｏｒｋ，　ＮＹ，　１９９４．
ただし、本実施の形態による手法は、ユーザにより指定された戦略及び文書構造解析部１２により解析されてアンカーに付加された情報要素に基づいて検索対象であるウェブサイトのスコア（重要度）を計算し、このスコアに応じてクロールの対象を動的に決定する点、及びユーザに対してキーワードリストを提示することによって、よりユーザの目的にあったウェブサイトを収集するためのインタラクションを可能にした点が拡張されている。
また、クロールの候補となるのは、文書構造解析部１２による解析の結果として抽出された、意味のある複合情報要素のうち、他の文書への参照を持つもののみである。
【００３１】
図１０、１１を参照すると、まず、ユーザが本実施の形態による情報検索システムを構成するコンピュータ装置の入力手段を操作することにより、パラメータの設定及び初期設定が行われる（ステップ１００１）。具体的には、初期ノード集合（初期サイト、以下、クロールするウェブサイトをノードと称す）、探索幅（ｗｉｄｔｈ）、探索の深さ（Ｄ、ｄｅｐｔｈ）、初期ノード集合のサイズ（Ｓ）、時間制限、探索用のキーワード（Ｄｏｍａｉｎ　Ｑｕｅｒｙ、Ｆｏｃｕｓｅｄ　Ｑｕｅｒｙ）、戦略（ＳＴＳＥＴ）などを設定する。戦略の設定においては複数の戦略を選択することが可能であり、各戦略に対して重み付けを行うことができる。また、クローリングの回数として０（ｃｒａｗｌｉｎｇＣｏｕｎｔ　＝　０；）がセットされる。
次に、重要度計算部１３が、初期ノード集合の個々のノードの深さをパラメータＤにセットし、それらを空のリスト（以下、ノードリスト）に挿入する（ステップ１００２）。また、メインメモリ１０３等から文書構造解析部１２による解析結果である構造データを読み出す。そして、ノードリストが空でなく、処理されたノードの数がパラメータＳより小さく、かつ時間制限内である間、次の処理を繰り返し実行する（ステップ１００３）。
【００３２】
まず、クローリングの回数を１加算（ｃｒａｗｌｉｎｇＣｏｕｎｔ　＋＝　１；）する（ステップ１００４）。ここで、ｃｒａｗｌｉｎｇＣｏｕｎｔが一定の増分を越えた場合（例えば１００サイトごと）、かつｓｔｒａｔｅｇｉｃＳｃｏｒｅの計算が大域的である場合に、ｓｔｒａｔｅｇｉｃＳｃｏｒｅの再計算を行い、ノードリスト中のスコア（個々のノードのスコア、すなわち各ノードであるウェブサイトにリンクするアンカーの重要度）の値を置き換える（ステップ１００５）。また、後述するように関係するキーワードが抽出されるものに関しては、それらのキーワードリストを提示してユーザによる選択を促す。ユーザがキーワードの選択を行った場合は、選択されたキーワードに応じてトピックを更新する。この間、クロールは一旦中断しても構わないが、続けることも可能である。
次に、ノードリストから先頭のノードを取り出し、カレントノードとする。このカレントノードは、図１に示したメインメモリ１０３やＣＰＵ１０１のキャッシュメモリに保持され、クローリング実行部１４にて読み出される。そして、クローリング実行部１４がネットワークインターフェイス１０６を介してインターネットにアクセスし、当該カレントノードのＵＲＬを持つコンテンツ（ウェブページや種々のデータ等）を取得する（ステップ１００６）。取得したコンテンツは、図１に示したメインメモリ１０３やハードディスク１０５などの記憶装置に格納される。
【００３３】
次に、重要度計算部１３は、カレントノードに関する探索の深さ（パラメータＤ）を調べ、Ｉｆ　　ｄｅｐｔｈ　　＞　　０ならば、以下の手順でカレントノードの関連性を計算する（ステップ１００７）。
まず、カレントノードからリンクされているノード（以下、子ノードと称す）のスコア（ｃｈｉｌｄ＿ｎｏｄｅ．ｉｎｈｅｒｉｔｅｄ＿ｓｃｏｒｅ）を計算する（図１１、ステップ１００８）。この計算手順は以下の通りである。
Ｉｆ　　ｒｅｌｅｖａｎｃｅ（ｃｕｒｒｅｎｔ＿ｎｏｄｅ）　　＞　　０
Ｔｈｅｎ　　ｃｈｉｌｄ＿ｎｏｄｅ．ｉｎｈｅｒｉｔｅｄ＿ｓｃｏｒｅ　　＝　　ｄ　　＊　ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＰａｇｅ（ＳＴＳＥＴ，　ｃｕｒｒｅｎｔ＿ｎｏｄｅ）
ｄは、予め定義された減衰定数。０より大きく１より小さい。
Ｅｌｓｅ　　ｃｈｉｌｄ＿ｎｏｄｅ．ｉｎｈｅｒｉｔｅｄ＿ｓｃｏｒｅ　　＝　　ｄ　　＊　ｃｕｒｒｅｎｔ＿ｎｏｄｅ．ｉｎｈｅｒｉｔｅｄ＿ｓｃｏｒｅ
次に、ｃｈｉｌｄ＿ｎｏｄｅ．ａｎｃｈｏｒ＿ｓｃｏｒｅを計算する（ステップ１００９）。
ｃｈｉｌｄ＿ｎｏｄｅ．ａｎｃｈｏｒ＿ｓｃｏｒｅ　　＝　　（ｒｅｌｅｖａｎｃｅ（ａｎｃｈｏｒ）　＋　ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＡｎｃｈｏｒ（ＳＴＳＥＴ，　ａｎｃｈｏｒ））／２
そして、子ノードのｐｏｔｅｎｔｉａｌ　ｓｃｏｒｅを計算する（ステップ１０１０）。
ｃｈｉｌｄ＿ｎｏｄｅ．ｐｏｔｅｎｔｉａｌ＿ｓｃｏｒｅ　　＝　　ｇ　　＊　ｃｈｉｌｄ＿ｎｏｄｅ．ｉｎｈｅｒｉｔｅｄ＿ｓｃｏｒｅ　＋　（１　−　ｇ）　＊　ｃｈｉｌｄ＿ｎｏｄｅ．ａｎｃｈｏｒ＿ｓｃｏｒｅ
ｇは、予め定義された定数。０より大きく１より小さい。
【００３４】
次に、重要度計算部１３は、カレントノードの全ての子ノードに対して以下の計算を行う（ステップ１０１１〜１０１３）。
Ｉｆ　　子ノードが優先リスト中に存在しているか。
Ｔｈｅｎ
ｉ）そのノードに対するリスト中の値と今計算されたｐｏｔｅｎｔｉａｌ＿ｓｃｏｒｅの大きい方を求める。
ｉｉ）スコアを最大値で置き換える。
ｉｉｉ）子ノードをリスト中の適切な位置に移動する。
Ｅｌｓｅ　　ｃｈｉｌｄ＿ｎｏｄｅにｐｏｔｅｎｔｉａｌ＿ｓｃｏｒｅを付け、リスト中の適切な位置（スコア順）に挿入する。
【００３５】
さらに、重要度計算部１３は、カレントノードの全ての子ノードに対して以下の計算を行う（ステップ１０１４）。
深さ（ｃｈｉｌｄ＿ｎｏｄｅ．ｄｅｐｔｈ）を計算する。
Ｉｆ　　カレントノードが関連がある場合
Ｔｈｅｎ　　ｃｈｉｌｄ＿ｎｏｄｅ．ｄｅｐｔｈ　　＝　　Ｄ
Ｅｌｓｅ　　ｃｈｉｌｄ＿ｎｏｄｅ．ｄｅｐｔｈ　　＝　　ｃｕｒｒｅｎｔ＿ｎｏｄｅ．ｄｅｐｔｈ　−　１
Ｉｆ　　子ノードが優先リスト中に存在している。
Ｔｈｅｎ
そのノードに対するリスト中の値と今計算された深さの大きい方を求める。
その値で置き換える。
【００３６】
ステップ１０１４までの処理が終了した後、またはステップ１００７で、Ｉｆ　　ｄｅｐｔｈ　　＞　　０でない場合は、ステップ１００３に戻り、各条件を満足する限り、クローリングの回数を１加算してステップ１００４以降の処理を繰り返す。そして、ステップ１００３のいずれかの条件を満足しない場合は、重要度計算部１３及びクローリング実行部１４による処理を終了する。
【００３７】
次に、上述したアルゴリズムにおける個々の計算方法について説明する。
・ｒｅｌｅｖａｎｃｅ（ｃｕｒｒｅｎｔ＿ｎｏｄｅ）の計算方法
Ｄｏｍａｉｎ　ＱｕｅｒｙとＦｏｃｕｓｅｄ　Ｑｕｅｒｙは、ベクトル（トピックベクトル）で表現される。そして、これらのＱｕｅｒｙ（キーワード）とテキストの一致度は、ベクトル間の距離（内積など）で計算される。ｃｕｒｒｅｎｔ＿ｎｏｄｅは、そのテキスト部分をベクトルに変換し、その類似度を計算する。ユーザの指定によって、関連がないと判断されたキーワードは、トピックベクトルにおいてマイナスの重要度を持つ。これらは、以下の式で計算される。
ｒｅｌｅｖａｎｃｅ（ｃｕｒｒｅｎｔ＿ｎｏｄｅ）　＝　Ｓｉｍｉｌａｒｉｔｙ（ｃｕｒｒｅｎｔ＿ｎｏｄｅ，　Ｄｏｍａｉｎ　Ｑｕｅｒｙ）　＋　Ｓｉｍｉｌａｒｉｔｙ（ｃｕｒｒｅｎｔ＿ｎｏｄｅ，　Ｆｏｃｕｓｅｄ　Ｑｕｅｒｙ）
・ｒｅｌｅｖａｎｃｅ（ａｎｃｈｏｒ）の計算方法
ｒｅｌｅｖａｎｃｅ（ｃｕｒｒｅｎｔ＿ｎｏｄｅ）　＝　Ｓｉｍｉｌａｒｉｔｙ（ＴＩＴＬＥ，　Ｄｏｍａｉｎ　Ｑｕｅｒｙ）　＋　Ｓｉｍｉｌａｒｉｔｙ（ＤＥＳＣＲＩＰＴＩＯＮ，　Ｆｏｃｕｓｅｄ　Ｑｕｅｒｙ）
・ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＰａｇｅ（ＳＴＳＥＴ，　ｃｕｒｒｅｎｔ＿ｎｏｄｅ）の計算方法
ユーザによって指定された戦略ごとのスコアの重み付き総和によって決定される。値は０から１の間に正規化する。個々の戦略に対するスコアの計算方法（ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＰａｇｅ（ＳＴ，　ｃｕｒｒｅｎｔ＿ｎｏｄｅ））は後述する。
・ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＡｎｃｈｏｒ（ＳＴＳＥＴ，　ａｎｃｈｏｒ）　の計算方法
ユーザによって指定された戦略ごとのスコアの重み付き総和によって決定される。値は０から１の間に正規化する。個々の戦略に対するスコアの計算方法（ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＰａｇｅ（ＳＴ，　ｃｕｒｒｅｎｔ＿ｎｏｄｅ））は後述する。
【００３８】
次に、本実施の形態によるクローリングで用いられる戦略とそのタイプ、及びｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＰａｇｅ（ＳＴ，　ｃｕｒｒｅｎｔ＿ｎｏｄｅ），　ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＡｎｃｈｏｒ（ＳＴ，　ａｎｃｈｏｒ）の計算方法について、例を挙げて説明する。
本実施の形態で用いられる戦略には、局所的なものと大局的なものの２つのタイプがある。局所的な戦略は、ウェブページ内の情報のみで重要度を決定できるが、大局的な戦略は、複数のウェブページを解析することによって重要度を計算する。
・ユーザが指定したトピックに近いウェブサイトを検索（局所的戦略）
この戦略は、ｒｅｌｅｖａｎｃｅ（ｃｕｒｒｅｎｔ＿ｎｏｄｅ），　ｒｅｌｅｖａｎｃｅ（ａｎｃｈｏｒ）によって計算されるものであり、図１０、１１に示した基本的なアルゴリズム内に組み込まれている。
【００３９】
・重要なウェブサイトを検索（大局的戦略）
これは、多くのウェブサイトで同じ情報が提供されていれば、その情報は重要だと見なす戦略である。同じ情報があるかどうかを複数のサイト内で調べる必要があるので大局的である。複数のウェブサイトで同じ情報が提供されているかどうかは、例えば次の文献３に開示されているような、ウェブページからヘッドライン（見出し）を抽出する公知技術を用いることによって、知ることができる。
文献３：武田、野美山、”サイト・アウトライニング−インターネットからの情報収集と可視化技術−”，　情報処理，　Ｖｏｌ．　４２，　Ｎｏ．８，　２００１．
この方法では、結果として同じ事柄を言及した情報要素の集合のみを返す。例えば、図１２に示すようなヘッドラインを持つウェブサイトが検索されることとなる。なお、図１２において、Ｓｉｔｅ２〜４はＳｉｔｅ　１の子ノードである。またこの方法では、抽出されたヘッドラインを構成する情報要素のテキスト部分からキーとなるキーワードとその重みを抽出して特徴キーワードリストを生成する。図１２の例では、主要な要素となるキーワード“ロータス”、“チボリ”、“日本ＩＢＭ”、“統合”とその重みとが特徴リストにリストアップされる。
ヘッドラインに含まれる新しい情報要素に対しては、対応ノードのテキスト部分から抽出されたキーワードリストと、ヘッドラインの特徴キーワードリストの距離（内積などで求められる）を計算し、その距離を重要度とする。
この方法において、ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＰａｇｅ（ＳＴ，　ｃｕｒｒｅｎｔ＿ｎｏｄｅ）は、カレントノードのウェブページに含まれるヘッドラインの重要度の総数に基づいて計算される。そして当該ウェブページのアンカーの総数で割ることによって正規化する。
また、ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＡｎｃｈｏｒ（ＳＴ，　ａｎｃｈｏｒ）は、現在抽出されているヘッドライン集合の全ての特徴ベクトルとの距離の最大値とする。
【００４０】
・関連するイメージなどを多く含むウェブサイトを検索（局所的戦略）
ＨＴＭＬ文書の文書構造を解析することによって、テキストと関連する他のメディアタイプ（Ｉｍａｇｅ、Ａｕｄｉｏ、ＶｉｄｅｏあるいはＭＩＭＥ（Ｍｕｌｔｉｐｕｒｐｏｓｅ　ＩｎｔｅｒｎｅｔＭａｉｌ　Ｅｘｔｅｎｓｉｏｎｓ）タイプに定義されているドキュメントファイル（例えばＰＤＦ（Ｐｏｒｔａｂｌｅ　Ｄｏｃｕｍｅｎｔ　Ｆｏｒｍａｔ））など）を対応付けることが可能となる。テキスト部分がトピックと関連性を持つかどうかに基づいて重要度が計算される。
この方法において、ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＰａｇｅ（ＳＴ，ｃｕｒｒｅｎｔ＿ｎｏｄｅ）は、カレントノードのウェブページに含まれる関連イメージの総数であり、当該ウェブページのイメージの総数で割ることによって正規化する。
また、ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＡｎｃｈｏｒ（ＳＴ，ａｎｃｈｏｒ）は、関連するイメージであれば、重要度を１とし、そうでない場合は重要度を０とする。
【００４１】
・重要なキーワードを含む情報に基づく検索（大局的戦略）
テキストの情報から抽出されたキーワードに基づいてクラスタリングを行い、各クラスタで重要と判断されたキーワードを多く含むかどうかによって重要度を判断する。この方法については、特開２００１−３２５２７２公報に詳細に開示されている。
この方法において、ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＰａｇｅ（ＳＴ，ｃｕｒｒｅｎｔ＿ｎｏｄｅ）は、カレントノードのウェブページに含まれるホットワードを含む要素の重要度の総数に基づいて計算される。そして当該ウェブページのアンカーの総数で割ることによって正規化する。
また、ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＡｎｃｈｏｒ（ＳＴ，ａｎｃｈｏｒ）は、所定の要素がホットワードを含むのであれば、その重要度（０以上１以下）の値に設定し、そうでない場合は０とする。
【００４２】
・アンカーの数に基づく検索（局所的戦略）
カレントノードのウェブページ内に存在するアンカーの総数によって重要度を判断する。
この方法において、ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＰａｇｅ（ＳＴ，ｃｕｒｒｅｎｔ＿ｎｏｄｅ）は、カレントノードのウェブページに含まれるアンカーの総数に基づいて計算される。局所的に重要度を計算するには、例えば、リンクの数を１１段階に分け（０、１、２、３、４、５、６、７、８、９以上）、それぞれにスコア（０から１までの値）を与える。大局的に計算する場合は、検索されたウェブサイトの集合において、最大数のアンカーを含むウェブページの当該アンカーの数で正規化する。
また、ｓｔｒａｔｅｇｉｃＳｃｏｒｅＦｏｒＡｎｃｈｏｒ（ＳＴ，ａｎｃｈｏｒ）は、全て０とする。
【００４３】
・期間の限定に基づく検索（局所的戦略）
ウェブページ内に出現する情報の発信された期間を限定する。ＨＴＴＰプロトコルで得られる最終更新日付が、限定された期限内であれば、重要度を１とし、そうでなければ、期限からの超過日数を正規化した値を重要度とする。
・リンク集に基づく検索（局所的戦略）
ＨＴＭＬ文書の文書構造解析によって得られたリンク集に含まれるリンクの数を重要度とする。
・被参照リンクの数に基づく検索（大局的戦略）
他のウェブサイトから参照されている数を重要度とする。
・被参照リンクの参照の数（大局的戦略）
カレントノードのウェブページを参照しているリンク数を重要度とする。
【００４４】
上記のようにして、クローラ１０は、ユーザにより選択された任意の戦略を用いてウェブサイトのクロールを行い、検索されたウェブサイトの集合（以下、サイト集合）を得る。得られたサイト集合は、ステップ１００６で個々に取得されたコンテンツと共に、メインメモリ１０３やハードディスク１０５等の記憶装置に格納される。
【００４５】
ウェブサイト選別部２０は、メインメモリ１０３等の記憶装置に格納されているサイト集合の中から不要なウェブサイトを選別し、選別されたウェブサイト及びそのコンテンツを削除する。不要なウェブサイトとしては、トピックとの関連がないウェブサイト、時間条件を満たさないウェブサイトが挙げられる。
クローラ１０はユーザにて指定されたトピックを表すキーワードに基づき所定の戦略に従ってクローリングを行うのであるが、得られたサイト集合には、ユーザが指定したトピックと関連が低い、あるいは関連のないウェブサイトが含まれる可能性がある。そこで、クローリングにより得られたサイト集合に対してトピックとの一致度を求め、関連のないウェブサイトはサイト集合から削除する。ただし、クロール時に得られる参照構造で関連すると判定された複数のウェブサイトの中間に位置するウェブサイト（当該ウェブサイトを介してリンクされる場合）は、中間位置の当該ウェブサイト自体にトピックとの関連性がない場合でも削除しない。
また、サイト集合には、ユーザが指定した時間に一致しないウェブサイト（指定期限内に検索されていないウェブサイトなど）が含まれる可能性がある。そこで、クローリングにより得られたサイト集合に対してＨＴＴＰプロトコルで得られるＬＡＳＴ＿ＭＯＤＩＦＩＥＤ属性とユーザが指定した時間条件とを比較し、一致しないウェブサイトはサイト集合から削除する。
【００４６】
レポート作成部３０は、クローラ１０にて検索され、ウェブサイト選別部２０にて選別されたサイト集合に対して、個々の戦略に対するスコアの総得点を計算し、それらを正規化したレポートを作成し、メインメモリ１０３やハードディスク１０５等の記憶装置に格納する。例えば、イメージに関しては、１サイト当たりの関連イメージの数などが情報としてレポートに含まれることとなる。レポートは、例えばＨＴＭＬ文書として作成し、ウェブブラウザを用いて閲覧できるようにすることができる。
複数のトピックに対する戦略のスコアと比較する（平均値との比較、あるいは標準偏差を求める）ことにより、そのトピックがどのような戦略に一致しているのか（例えば、イメージが多い、情報が多い（掲示板などが多く含まれる））などの傾向を知ることができる。
【００４７】
以上のようにして、本実施の形態の情報検索システムによれば、最適な戦略を組み合わせることによって、ユーザの目的により適したサイト集合を獲得することができる。
また、クローリングするために用いられるアンカーが独立でなく、対応するテキストに対して適切に対応付けられるため、トピックとの関連性をより正確に判断することができる。
さらに、文書構造解析を行って、ＨＴＭＬ文書内で意味のないアンカーを排除するため、不要なウェブサイトをクロールする無駄を防ぐことができる。
そして、文書構造解析によって得られたブロックを利用することにより、位置的に離れた要素の依存関係をクローリングに利用できる。
このブロックを認識することによって、ウェブページ中のリンク集を特定することができるため、高品質なリンク集を収集し抽出することもできる。
この他、クロール中に（例えば図１０のステップ１００５の段階で）ユーザに対して関連キーワードを提示することによって、指定されたトピックの曖昧性を解消できる。例えば、トピック「ジャガー」は、「車」「動物」「ミック・ジャガー（ロック歌手）」などの曖昧性を持つが、クラスタリングなどによって、関連キーワードが表示し、ユーザがこの関連キーワードを指定することにより、クロール対象を絞り込むことができる。具体的には、車の「ジャガー」を検索したい場合は、「ミック・ジャガー」、「ライブ」などの関連キーワードを指定してマイナスの重要度を与えることによって、これらの関連キーワードを含むウェブサイトをクロール対象から外すことができ、結果としてトピックの曖昧性を解消することができる。
【００４８】
図１３、１４、１５は、具体的なウェブページのＨＴＭＬ文書に対して文書構造解析を行った様子を示す図である。図１３はウェブページを表示した様子を示し、図１４は、図１３のウェブページのＨＴＭＬ文書に対して図４のステップ４０１におけるタグによるブロック解析を行った状態の構造データを示し、図１５は、ステップ４０２以降の解析処理により整理されたブロック列の状態の構造データを示す。なお、図１４、１５にはＨＴＭＬ文書の解析結果の一部のみを記載している。
図１３を参照すると、対象であるＨＴＭＬ文書は、レイアウトを揃えるためにテーブル（ＴＡＢＬＥ）タグを多用していることがわかる。そのため、これらのオブジェクト１４０１〜１４０６は、表示上はまとまって見えるとしても内部構造上は離れている場合がある。例えば、画面の下部中央にある「ニュース」オブジェクトは、図１３に示すように表示上はまとまっているが、実際の構造は図１４に示すようにテーブルタグを用いて位置揃えがなされており、意味的には余分なタグが多数挿入されている。本実施の形態の文書構造解析を行うことにより、図１５に示すように、これらのオブジェクトが１つの要素１５０１として解析され、さらにそのタイトルとして「ニュース」が付与される。
図１４におけるｄｏｔｔｅｄ＿ｒｕｌｅ＿１９７ｐｘ．ｇｉｆのイメージオブジェクト１４０７は、区切りとして利用されているが、これも正しく認識されており、解析中は区切りの意味合いを持つ情報として利用されるが、図１５に示す解析後の構造には含まれない。
また、ｅ−ｂｕｓｉｎｅｓｓ　ｈｏｓｔｉｎｇ（　ＨＹＰＥＲＬＩＮＫ　”ｈｔｔｐ：／／ｗｗｗ．ｉｂｍ．ｃｏｍ／ｓｅｒｖｉｃｅｓ／ｊｐ／ｗｅｂｈｏｓｔｉｎｇ／”　ｈｔｔｐ：／／ｗｗｗ．ｉｂｍ．ｃｏｍ／ｓｅｒｖｉｃｅｓ／ｊｐ／ｗｅｂｈｏｓｔｉｎｇ／）のオブジェクト１４０８〜１４１０などのように、同じＵＲＬを指している情報要素は、本実施の形態の文書構造解析により、図１５に示すように１つの要素１５０２にまとめられる。
【００４９】
このように、文書構造解析部１２による解析の結果、ＨＴＭＬ文書の構造が意味のあるまとまりごとにブロック化されるため、この構造に基づいてアンカーのリンク先へ遷移し、ウェブサイトをクロールすることにより、無駄のない適切なクローリングを行うことができる。
【００５０】
【発明の効果】
以上説明したように、本発明によれば、情報の使用目的に応じて多様な戦略による柔軟な情報検索を可能とすることができる。
また、本発明によれば、ウェブページのクローリングにおいて、この多様な戦略による情報検索を実現するために、ウェブページに含まれる情報を有効に活用して検索を行うことができる。
【図面の簡単な説明】
【図１】本実施の形態による情報検索システムを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図２】図１に示したコンピュータ装置にて実現される本実施の形態による情報検索システムの構成を示す図である。
【図３】本実施の形態の情報検索システムによる情報検索の概略的な流れを示すフローチャートである。
【図４】本実施の形態の文書構造解析部によるウェブページの文書構造解析処理の手順を説明するフローチャートである。
【図５】本実施の形態の文書構造解析処理により解析される不要な情報要素の例を示す図である。
【図６】本実施の形態の文書構造解析処理による情報要素のマージの例を説明する図である。
【図７】本実施の形態の文書構造解析処理による情報要素のマージの他の例を説明する図である。
【図８】本実施の形態の文書構造解析処理による情報要素のマージのさらに他の例を説明する図であり、マージを行う前の状態を示す図である。
【図９】図８の例における情報要素のマージを行った状態を説明する図である。
【図１０】本実施の形態の重要度計算部により重要度を計算し、クローリング実行部によりウェブサイトのコンテンツを取得する動作を説明するフローチャートである。
【図１１】本実施の形態の重要度計算部により重要度を計算し、クローリング実行部によりウェブサイトのコンテンツを取得する動作を説明するフローチャートである。
【図１２】同じ事柄を言及したウェブサイトのサイト集合の例を示す図である。
【図１３】ブラウザにて表示されたウェブページの例を示す図である。
【図１４】図１３のウェブページのＨＴＭＬ文書をタグによりブロック解析した状態の構造データを示す図である。
【図１５】図１４の状態からさらに文書構造解析を行った状態の構造データを示す図である。
【符号の説明】
１０…クローラ、１１…初期サイト獲得部、１２…文書構造解析部、１３…重要度計算部、１４…クローリング実行部、２０…ウェブサイト選別部、３０…レポート作成部、１０１…ＣＰＵ、１０２…Ｍ／Ｂチップセット、１０３…メインメモリ、１０５…ハードディスク、１０６…ネットワークインターフェイス
【図１】
2004054631.tif 000003
【図２】
2004054631.tif 000004
【図３】
2004054631.tif 000005
【図４】
2004054631.tif 000006
【図５】
2004054631.tif 000007
【図６】
2004054631.tif 000008
【図７】
2004054631.tif 000009
【図８】
2004054631.tif 000010
【図９】
2004054631.tif 000011
【図１０】
2004054631.tif 000012
【図１１】
2004054631.tif 000013
【図１２】
2004054631.tif 000014
【図１３】
2004054631.tif 000015
【図１４】
2004054631.tif 000016
【図１５】
2004054631.tif 000017