(57)【要約】【課題】効率的な方法でウェブコーパスを構築する。【解決手段】ウェブコーパス（ＷＣＤ）を構築するためのコンピュータにより実行される方法は、ウェブクローラ（ＷＣ）がリファレンスウェブクロールエージェント（ＲＷＣＡ）にクエリを送信するステップであって、このクエリは少なくとも１つのリソースの識別子を含むことと、ウェブクローラ（ＷＣ）がレファレンスウェブクロールエージェント（ＲＷＣＡ）からレスポンスを受信するステップと、このレスポンスが識別子により識別されたリソースを含まない場合、ウェブクローラ（ＷＣ）が識別子に対応するウェブサイト（ＷＳ）からリソースをダウンロードし、リソースをウェブコーパス（ＷＣＤ）に追加するステップと、子のレスポンスが識別子により識別されたリソースを含む場合、リソースをウェブコーパス（ＷＣＤ）に追加するステップとを備える。【選択図】図１
2013222463.tif 000002
【特許請求の範囲】
【請求項１】
ウェブコーパス（ＷＣＤ）を構築するための、コンピュータにより実行される方法であって、
ウェブクローラ（ＷＣ）が、リファレンスウェブクロールエージェント（ＲＷＣＡ）にクエリを送信するステップであって、前記クエリは少なくとも１つのリソースの識別子を含むことと、
前記ウェブクローラ（ＷＣ）が、前記リファレンスウェブクロールエージェント（ＲＷＣＡ）からレスポンスを受信するステップと、
前記レスポンスが前記識別子により識別されたリソースを含まない場合、前記ウェブクローラ（ＷＣ）が、前記識別子に対応するウェブサイト（ＷＳ）から前記リソースをダウンロードし、前記リソースを前記ウェブコーパス（ＷＣＤ）に追加するステップと、
前記レスポンスが前記識別子により識別されたリソースを含む場合、前記リソースを前記ウェブコーパス（ＷＣＤ）に追加するステップと
を備えることを特徴とするコンピュータにより実行される方法。
【請求項２】
前記リファレンスウェブクロールエージェント（ＲＷＣＡ）が、リファレンスウェブクロール（ＲＷＣＤ）のコンテンツに準じてレスポンスを作成することを特徴とする請求項１に記載のコンピュータにより実行される方法。
【請求項３】
前記リファレンスウェブクロールエージェント（ＲＷＣＡ）が、前記リソースが前記リファレンスウェブクロール（ＲＷＣＤ）に含まれないと判定する場合は、前記リファレンスウェブクロールエージェント（ＲＷＣＡ）が、前記リソースのダウンロードならびに前記リファレンスウェブクロール（ＲＷＣＤ）への追加を開始することを特徴とする請求項２に記載のコンピュータにより実行される方法。
【請求項４】
前記リファレンスウェブクロール（ＲＷＣＤ）からリファレンスインデックス（ＲＩＤ）を作成するステップと、
前記ウェブクローラ（ＷＣ）が、前記リファレンスインデックス（ＲＩＤ）にインデックスクエリを送信するステップと、
前記ウェブクローラ（ＷＣ）が、前記リファレンスインデックスからレスポンスを受信するステップと、
前記レスポンスの内容に応じて、前記リファレンスウェブクロールエージェント（ＲＷＣＡ）への前記クエリの送信を行うステップと
をさらに備えることを特徴とする請求項２または３に記載のコンピュータにより実行される方法。
【請求項５】
前記インデックスクエリは、リソースの識別子を含み、前記レスポンスが前記リソースに関連するインデックス付けされた情報を含む場合は、前記インデックス付けされた情報に準じて前記リファレンスウェブクロールエージェント（ＲＷＣＡ）にクエリを送信するかを決定することを特徴とする請求項１乃至４のいずれか一つに記載のコンピュータにより実行される方法。
【請求項６】
前記インデックスクエリはクエリ基準を含み、前記リファレンスインデックスの前記レスポンスは識別子のリストを含むことを特徴とする請求項４に記載のコンピュータにより実行される方法。
【請求項７】
前記リファレンスインデックスの前記レスポンスは、前記識別子に対応するインデックス付けされた情報をさらに含むことを特徴とする請求項６に記載のコンピュータにより実行される方法。
【請求項８】
前記インデックスクエリは識別子を含み、前記リファレンスインデックスは、前記識別子により識別されたリソースに含まれる識別子の組を含むレスポンスを送信することを特徴とする請求項４に記載のコンピュータにより実行される方法。
【請求項９】
前記識別子はＵＲＬであることを特徴とする請求項１乃至８のいずれか一つに記載のコンピュータにより実行される方法。
【請求項１０】
ウェブコーパス（ＷＣＤ）を構築するように適合されたウェブクローラ（ＷＣ）であって、
リファレンスウェブクロールエージェント（ＲＷＣＡ）にクエリを送信する手段であって、前記クエリは少なくとも１つのリソースの識別子を含むことと、
前記リファレンスウェブクロールエージェント（ＲＷＣＡ）からレスポンスを受信する手段と、
前記レスポンスが前記識別子により識別されたリソースを含まない場合、前記識別子に対応するウェブサイト（ＷＳ）から前記リソースをダウンロードし、前記リソースを前記ウェブコーパス（ＷＣＤ）に追加する手段と、
前記レスポンスが前記識別子により識別されたリソースを含む場合、前記リソースを前記ウェブコーパス（ＷＣＤ）に追加する手段と
を備えることを特徴とするウェブクローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク情報ソフトウェアの分野に関し、特に、「ウェブクローラ」として知られるものなどのインターネットからデータを検索して、コーパス（corpus）を構築するための方法およびシステムに関する。
【背景技術】
【０００２】
ＷＷＷ（ワールドワイドウェブ）は、大規模データのリポジトリとして考えることができ、当該リポジトリは、非常に貴重なビジネス価値を有するとして大いに考えられる。したがって、インターネットの分野においてアクティブな企業に対し、ウェブ上で利用可能なリソースからこの価値を作り出すためのツールを提供する必要がある。これらの企業は、個々のユーザに特化したサービス（例えば、サーチエンジン）、あるいはＢｔｏＢ（ビジネスツービジネス）モデルにおけるその他の企業に特化したサービス（特定のビジネス分野においてマーケティングデータを収集するなど）を提供する場合がある。
【０００３】
情報を分析し、かつ安定させることを可能にするために、第１のおよび必須のステップは、ウェブ上で利用可能な情報を検索すること、ならびに当該情報から「ウェブコーパス」、すなわち実行される専用コンピュータプログラム上の資源の組、を構築することである。これらのウェブコーパスは、市販のサーチエンジンの場合は汎用的である場合があり、または所与のビジネス領域もしくはテーマにより限定される場合がある。
【０００４】
リソース（ウェブページ、マルチメディアファイルなど）などの情報を検索することは時間のかかるタスクである。単一のリソースを検索することの遅延は、何百ミリ秒から何百秒もの時間を要する場合がある。この遅延はまた、ウェブサイトおよび根本的な通信ネットワークの健全性に依存するので、予測ができない。
【０００５】
また、ウェブ上で利用可能なリソースの全体的なビュー（global view）が存在しない。したがって、このようなビューを構築するために、例えば、サーチエンジンのユーザにより入力されたクエリに応答するために、第１のリソースにアクセスし、次に、ウェブの十分なビューを取得したと考えられるまでなど、これらのリソースにおいて参照されるリソースにアクセスすることにより、対話的なプロセスを実行する必要が生じる。
【０００６】
このプロセスを行うために、遅延が累積され、ユーザの要求に回答することができる最終的な遅延は妥当ではない。
【０００７】
多数のリソースにアクセスする必要があるサーチエンジンもしくは任意のその他のコンピュータプログラムに対し、このような遅延を回避するためにウェブクローラが導入されている。
【０００８】
ウェブクローラは、ウェブのウェブサイト上で利用可能なリソースを探し出し、探索しおよびダウンロードして、コーパス、すなわちその他のプログラムにより使用することができるリソースの組を構築するために使用されるプログラムである。それらはまた、アント（ants）、ボット（bots）、ウェブスパイダなどと呼ばれる。以下では、それらを「ウェブクローラ」またはより簡潔に「クローラ」と称する。
【０００９】
より簡潔にかつ一般的に、クローラはＵＲＬ（Unified Resource Locators）のリストによりアクセスを開始し、「シーズ」と呼ばれる。クローラがこれらのＵＲＬにより識別されたリソースをアクセスするので、当該クローラはリソースにより含まれるすべてのＵＲＬを識別し（ハイパーリンクの形式で）、当該ＵＲＬをＵＲＬのリストに追加してアクセスする。次に、これらのＵＲＬは再帰的にアクセスされ、対応するリソースがダウンロードされて、漸次、ウェブクロールを構築する。
【００１０】
本明細書では、ウェブクロールは、ウェブクローラにより記憶されたデジタルコンテンツとして定義される。
【００１１】
これらのウェブクローラは図１で示すようなサーチエンジンにより頻繁に使用される。
【００１２】
ウェブクローラＷＣは、ウェブをクロールし、ダウンロードされたリソースのリポジトリであるウェブクロールＷＣＤを構築する。インデックスプログラムＩＤＰは、このウェブクロールを使用して、インデックスＩＤを構築している。
【００１３】
このインデックスプログラムＩＤＰは、ウェブクロールＷＣＤのロー（raw）リソースを分析して、よりインデックス化に適合したフォーマットに準拠した「オブジェクト」に当該リソースを変換することを目的とした処理パイプラインを備えてもよい。例えば、当該インデックスプログラムＩＤＰは、あるダウンロードされたリソースのコンテンツ（広告バナー、画像など）の一部分を隠蔽し、および／またはダウンロードされたリソース内部のあるデータを探索して、インデックス化されるオブジェクトの特定のフィールドに当該データを置くこと、などをしてもよい。
【００１４】
インデックスプログラムＩＤＰはまた、「オブジェクト」もしくはローリソースを処理して、クエリの処理を早めるために当該オブジェクトもしくアローリソースに関連するアイテムを記憶する。
【００１５】
ユーザＵが、サーチエンジンＳＥによりクエリを開始するときに、当該サーチエンジンＳＥはインデックスＩＤを参照して、クエリの基準にマッチするアイテムを検索する。次に、これらのアイテムはユーザＵに提示される。ユーザＵは、提示されたアイテムに対応するリソースのダウンロードの有無を選択することができる（例えば、アイテムと関連付けられたハイパーリンクをクリックすることにより）。
【００１６】
また、ウェブクロールＷＣＤを、バッチ分析プログラムなどの、その他のコンピュータプログラムＰｒｏｇにより使用することができる（例えばグラフモデリングの手段による）。
【００１７】
したがって、ウェブクローラは、リソースの検索を、処理および応用から分断することを可能にする。ウェブからのリソースの検索による遅延は、コンピュータプログラムＰｒｏｇ、ＳＥの応答性に影響を与えず、インデックスＩＤのリアルタイムな合成にも影響を与えない。当該遅延は単に、特定時間において利用可能な情報に影響を与える（すなわち、ダウンロードされたリソース）。特に、当該遅延は、インデックスＩＤ上で見ることができるコーパス（新たなリソース、削除されたリソースもしくは修正されたリソース）を変更するための時間に影響を与える。
【００１８】
このことは、アプリケーションが、クローラにより実行されるリソース検索タスクのスケジューリングに直接は依存しないことを意味する。このタスクに結び付けられる遅延および時間的制約は単に、特定の時間において利用可能な情報の量（すなわちダウンロードされたリソース）、当該情報の年数および新しさ（freshness）に影響を与える。
【００１９】
このことはまた、ウェブクローラはウェブからダウンロードされたデータ上のメタデータを構成することができることを意味する、特に、単一のインデックスフィールドは単一のリソース上では発見されないが、複数のリソースの分析により提供される情報を必要とする場合がある。また、Ｇｏｏｇｌｅ（登録商標）社のページランク（PageRank）アルゴリズムは、リソース間のハイパーリンクのグラフ表現を使用する。このグラフを構築することは、コーパスのリソース毎の検査を必要とする。
【００２０】
概して、インデックスの作成は、同一のリソースへの複数のアクセスを必要とする。クロールがなければ、ウェブからリソースを検索する遅延は、数倍に感じるであろう。
【００２１】
また、インデックスの構造を一部でまたは全体で変更する必要がある場合がある。リソース検索の遅延を回避するために、インデックスプログラムＩＤＰは、ウェブからリソースをダウンロードする代わりに、ウェブクロールＷＣＤにおいて利用可能なダウンロードされたリソースを使用することができる。
【００２２】
この分断にかかわらず、ウェブクローリングタスクに含まれる遅延はボトルネックが依然として残り、一部の動作は、ウェブコーパス内の変更をウェブクロールに反映するのに必要な時間を低減させること、もしくはウェブクローリングを最も関連する変更に第１に重点的に取り組むことのいずれかを引き受けていることになる。
【００２３】
しかしながら、これらの取り組みは主として、ウェブコーパス内の変更を捉え、その変更を最も少ない遅延でウェブクロールに反映させる問題に対処する。
【００２４】
上記取り組みは、新たなウェブコーパスを初期に構築する問題には対処しない。
【００２５】
ウェブクローリングは、少なくとも以下の理由で、依然として非常に遅い処理のままでいる。その理由は、「ネチケット」により許可された限定されたクロールの頻度があり、ウェブクローラに結びつくトラフィックによるウェブサイトの過負荷を回避するために、クローラは２．５秒毎に１回よりも少ない頻度で同一のホストのウェブサイト（すなわちホスト）にアクセスすることが許可されることである。また、ウェブサイトは自身のポリシーを施行することがあり、かつ許可された頻度を超えるクローラへのサービスを拒否することがある。このような場合に、クローラは、一時的なものとなることがあり、または断定的にウェブサイトへ再びアクセスすることを禁止されることがある。また別の理由は、上述したように、ウェブサイトは一般に要求に応じるために何百ミリ秒から何百秒を要することである。さらに別の理由は、クローリング処理は並列にすることができないことである。リソース上で発見されたＵＲＬは、アクセスする新たなリソースを判定するのに使用されることが多い。この場合、リソースを並列にダウンロードすることができず、遅延がさらに加算される。
【００２６】
このことに加えて、限られた領域においてウェブコーパスが必要とされる場合でさえ、ウェブクローリング処理は、この限られた領域に関連しないリソースを含めた大量のリソースを考慮すべきである。このことの理由は、クローリング処理が以下のことにおいて非選択的であるからである。１つは、ウェブのあるサブセットのみが興味をもつアプリケーションにとって、当該関心のあるリソースが関心のないリソースにより参照されるので、それでもなおウェブ全体のクロールが必要とされることである。言い換えれば、関心のないリソースが除去されると（filtered out）、多くの関心のあるリソースが見逃されることがある。２つ目は、リソースのＵＲＬにより提供される情報、ならびに当該情報を参照するリソースは、リソース自体により提供される情報よりも少ないので、リソースがクロールされた後に、リソースが関心のあるものであるか否かの決定をなすことができることである。
【００２７】
ハードウェアリソースを増強して、ウェブクロールを構築するのに必要とされる時間を低減させることが可能となる。しかしながら、この解決法は、拡張可能でなく、非常にコストがかかる。また、処理のタスク間において依存関係が存在するために、時間の利益の観点からは（無限のリソースの処理に等しく）完全に満足できる解決法ではなく、ウェブの相当の部分をクロールするのに数ヶ月を要するであろう。このことは、例えば、非特許文献１において示される。
【先行技術文献】
【非特許文献】
【００２８】
【非特許文献１】Steve Lawrence and C. Lee Giles, Accessibility of Information on the Web, Nature vol. 400, pp. 107-109, 1999.
【発明の概要】
【発明が解決しようとする課題】
【００２９】
本発明の目的は、少なくとも部分的に、上述した欠点を緩和することである。特に本発明は、効率的な方法で、すなわち、さらなるハードウェアリソースを必要とせずにウェブコーパスの構築に集中することにより、当該構築をすることをも目的とする。
【課題を解決するための手段】
【００３０】
この目的は、コンピュータにより実行される、ウェブコーパスを構築するための方法であって、ウェブクローラがリファレンスウェブクロールエージェントにクエリを送信するステップであって、このクエリは少なくとも１つのリソースの識別子を含むことと、ウェブクローラがリファレンスウェブクロールエージェントからレスポンスを受信するステップと、このレスポンスが識別子により識別されたリソースを含まない場合、ウェブクローラが識別子に対応するウェブサイト（ＷＳ）からリソースをダウンロードし、リソースをウェブコーパスに追加するステップと、レスポンスが識別子により識別されたリソースを含む場合、リソースをウェブコーパスに追加するステップとを備える方法により達成される。
【００３１】
好ましい実施形態は、リファレンスウェブクロールのコンテンツに準じてレスポンスを形成するリファレンスウェブクロールエージェントであって、リファレンスウェブクロールエージェントが、リソースがリファレンスウェブクロールに含まれていないと判定した場合に、当該リファレンスウェブクロールエージェントがリソースのダウンロード、および当該リソースをリファレンスウェブクロールに追加することを開始する、ことの特徴の１つまたは複数を備える。
【００３２】
一実施形態に準じて、本発明の方法は、リファレンスウェブクロールからリファレンスインデックスを作成するステップと、ウェブクローラがリファレンスインデックスにインデックスクエリを送信するステップと、ウェブクローラがリファレンスインデックスからレスポンスを受信するステップと、レスポンスの内容に応じて、リファレンスウェブクロールエージェントにクエリを送信するステップとを備える。
【００３３】
この実施形態はまた、リソースの識別子を含むことができるインデックスクエリであって、レスポンスがリソースに関連するインデックス付き情報を含む場合、レスポンスは当該インデックス付き情報に準じてリファレンスウェブクロールエージェントにクエリを送信するかを決定することができることと、インデックスクエリは、クエリ基準を含み、リファレンスインデックスのレスポンスは識別子のリストを含むことと、リファレンスインデックスのレスポンスはさらに、識別子に対応するインデックス付き情報を含むことと、インデックスクエリは識別子を含み、リファレンスインデックスは識別子により識別されたリソースに含まれる識別子の組を含むレスポンスを送信することと、の特徴の１つまたは複数を備えることができる。
【００３４】
識別子は、ＵＲＬ（Unified Resource Locator）であることができる。
【００３５】
本発明の別の目的は、ウェブクローラをウェブコーパスの構築に適合することであり、リファレンスウェブクロールエージェントにクエリを送信することであって、当該クエリは少なくとも１つのリソースの識別子を含むことと、リファレンスウェブクロールエージェントからレスポンスを受信することと、レスポンスが識別子により識別されたリソースを含まない場合、当該識別子に対応するウェブサイトからリソースをダウンロードし、ウェブコーパスに当該リソースを追加することと、レスポンスが識別子により識別されたリソースを含む場合、ウェブコーパスに当該リソースを追加することと、の手段を備える。
【００３６】
本発明のさらなる特徴および利点は、以下に記載された添付図面への参照とともに、日限定的な例として与えられる、本発明の実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【００３７】
【図１】既に説明したように、ウェブクローラを配置することができる機能的アーキテクチャを示す。
【図２】本発明の配置を可能にする機能的アーキテクチャを示す。
【図３】通常、どのようにして現状技術に準じたウェブからリソースを取り出すかを示す。
【図４】本発明の種々の実施形態およびオプションを説明する２つのタイムシーケンスを示す。
【図５】本発明の種々の実施形態およびオプションを説明する２つのタイムシーケンスを示す。
【発明を実施するための形態】
【００３８】
図２により説明される本発明の実施形態においては、リファレンスエリアＲＡはリファレンスウェブクローラＲＷＣ、リファレンスウェブクロールＲＷＣＤおよびリファレンスウェブクロールエージェントＲＷＣＡを含む。
【００３９】
このリファレンスウェブクローラＲＷＣは、現状技術に準じたリファレンスウェブクローラを含む、任意のウェブクローラであることができる。ワード「リファレンス」は、本発明に準じたウェブクローラＷＣについての「リファレンス」以外の特徴をもたらさない。
【００４０】
リファレンスエリアＲＡは、機能的またはビジネス的な意味を有する。
【００４１】
リファレンスエリアＲＡは、その他の企業もしくはエンドユーザにクローリングサービスを提供する同一の企業を引き受ける施設もしくはサーバを意味する。例として、ウェブクローラＷＣは、このリファレンスエリアの外側にいることができ、リファレンスエリアＲＡをサービスする会社により開放させるインタフェースを使用して、リファレンスウェブクローラエージェントＲＷＣＡにアクセスすることができる。
【００４２】
ウェブクローラＷＣおよびリファレンスエリアＲＡはまた、同一の企業を引き受けることができる。このような場合、リファレンスエリアＲＡは機能的な意味のみを有することができ、各ウェブクローラＷＣ、リファレンスウェブクローラＲＷＣに関連付けられたエリアを分離することができる。リファレンスエリアは、レガシーウェブクローラプログラムを配置することができる（必ずしも必須ではないが）。
【００４３】
また、本発明に準じて、リファレンスウェブクローラＲＷＣを配置することができる。用語「リファレンス」はそれらの間の機能的関係を区別するであろう。
【００４４】
この実施形態に準じて、リファレンスエリアＲＡはまた、リファレンスウェブクロールエージェントＲＷＣＡを含む。この要素はウェブクローラＷＣとリファレンスウェブクロールＲＷＣＤとのインタフェースの役割を担う。とりわけ、当該要素は、必要であるときは任意のプロトコル変換の側面を担当することができる。リファレンスウェブクロールエージェントＲＷＣＡは、ウェブクローラＷＣにより送信されたクエリを受信し、当該ウェブクローラＷＣにレスポンスを送信し返す。これらのレスポンスはリファレンスウェブクロールＲＷＣＤの内容に準じて作成される。
【００４５】
アーキテクチャの観点から、本発明は単に、ウェブクロールエージェントＲＷＣＡの追加はリファレンスエリアＲＡに影響を与えることがある。リファレンスエリアのその他すべての機能的要素が修正されないままであってもよく、現状技術のメカニズムに完全に準拠してもよい。
【００４６】
このリファレンスウェブクローラＲＷＣは、上記説明したようにリファレンスウェブクロールＲＷＣＤを構築することができる。特に、リファレンスウェブクローラＲＷＣはウェブから再帰的にリソースをダウンロードし、ダウンロードしたリソースのコンテンツを分析することにより、新たなリソースを識別してダウンロードする。
【００４７】
これらのダウンロードしたリソースは、リソースの識別子を含むハイパーリンクを含むことができる。これらの識別子は通常、ＵＲＬ（Unified Resource Locator）であり、例えば、ＩＥＴＦ（Internet Engineering Task Force）のＲＦＣ３９８６により規定される。
【００４８】
ダウンロードしたリソースがウェブページの場合、識別子は主として、ＨＴＭＬ（HyperText Mark-up Language）に組み込まれたＵＲＬの形式をとる。この実施形態の例は、
<a href=”resource1”>link</a>
のようにすることができる。
【００４９】
この言語は、ワード「ｌｉｎｋ」がハイパーリンクに対応する強調とともにウェブページに表示されることを意味する。この強調は、リーダ（reader）がこのワードをクリックして「ｒｅｓｏｕｒｃｅ１」にアクセスすることができることを当該リーダに示すであろう。キーワード＜ｈｒｅｆ＞は、ＵＲＬの形式における「ｒｅｓｏｕｒｃｅ１」の識別子を導入する。
【００５０】
したがって、リファレンスウェブクローラＲＷＣは、ダウンロードしたリソースを構文解析して、これらのＵＲＬのすべて（もしくは一部）を識別し、当該ＵＲＬを、アクセスするための新たなリソースとしてみなすことができる。リファレンスウェブクローラＲＷＣは、一部のポリシーに準じて、アクセスをスケジュールし、および／またはアクセスする部分のみを選択することができる。
【００５１】
ダウンロードしたリソースを、リファレンスウェブクロールＲＷＣＤに追加することができる。
【００５２】
図４は、本発明の実施形態に含まれる要素間におけるメッセージの交換を示す。
【００５３】
本発明の一側面に準じて、ウェブクローラＷＣはリファレンスウェブクロールエージェントＲＷＣＡにクエリＭ１を送信する。
【００５４】
このクエリＭ１は、少なくとも１つのリソースの識別子を含む。この識別子はＵＲＬであることができ、リソースはウェブページ、マルチメディアファイル（ビデオ、写真、ミュージック）などを含む、いかなる種類のものであることができる。
【００５５】
一般的なケースでは、クエリＭ１はＵＲＬのリストを含む。しかしながら、より簡潔に、以下の詳細な説明はクエリとともに含まれる１つのＵＲＬのみに基づくであろう。異なる要素は単純にそれらの要素を順に処理することができるので、１つから多数のＵＲＬへ拡張して処理することは容易である。
【００５６】
次に、リファレンスウェブクロールエージェントＲＷＣＡは、リファレンスウェブクロールＲＷＣＤをチェックして、リソースに対応するこのＵＲＬが既にこのリファレンスウェブクロールＲＷＣＤにダウンロードおよび追加されているかを判定することができる。
【００５７】
この第１の状況では、リソースが発見されることが仮定される。次に、リファレンスウェブクロールエージェントＲＷＣＡは当該リソースを、ウェブクローラＷＣに送信し返されるレスポンスＭ２に挿入することができる。
【００５８】
ウェブクローラＷＣがこのレスポンスＭ２を受信するときに、当該ウェブクローラＷＣはそのレスポンスＭ２の内容をチェックすることができる。ここで、当該レスポンスはリソースを含み、ウェブクローラＷＣはこのリソースがＵＲＬにより識別された１つであると仮定することができる。次に、ウェブクローラＷＣはウェブコーパスＷＣＤに当該リソースを追加することができる。
【００５９】
ここで、ウェブサーバがクエリされていないが、ウェブコーパスＷＣＤの改良が、単にリファレンスウェブクロールＲＷＣＤからリソースをコピーすることにより実施されていることが理解できる。リファレンスウェブクロールのレスポンスタイムは通常、ウェブサイトのレスポンスタイムよりも短いので、このメカニズムはインターネット上のトラフィックを低減させ、ウェブコーパスを構築するのに必要な時間を劇的に低減させるのに役立つ。
【００６０】
第２の状況では、ウェブクローラＷＣはリファレンスウェブクロールエージェントＲＷＣＡに第２のクエリＭ３を送信する。この第２のクエリは別のリソースのＵＲＬを含む。
【００６１】
上記のように、レファレンスウェブクロールエージェントＲＷＣＡは、リソースに対応するこのＵＲＬが既にダウンロードされ、かつこのリファレンスウェブクロールＲＷＣＤに追加されているかをチェックする。しかしながら、このときは、当該リソースがこれまでにダウンロードされていないと仮定する。
【００６２】
第１のオプションに準じて、リファレンスウェブクロールエージェントＲＷＣＡはリソースを含まないレスポンスＭ４は送信し返すことができる。レスポンスＭ４はこのリソース不存在を表すステータスインジケーションを含んでもよい。例えば、このようなステータスインジケーションは、ＨＴＴＰ２０４ステータス（「コンテンツなし」）であってもよい。
【００６３】
ウェブクローラＷＣがこのレスポンスＭ４を受信するときに、当該ウェブクローラＷＣはそのレスポンスＭ４の中身をチェックして、要求されるリソースおよび／またはエラーメッセージが含まれていないかを判定することができる。
【００６４】
本発明の実施形態に準じて、このような状況では、ウェブクローラＷＣは別のリファレンスウェブクロールエージェントに（図２では示していないが）別のクエリを送信してもよい。ウェブクローラＷＣは、いくつかのリファレンスウェブクロールエージェント（およびリファレンスエリア）を使用することができる。このような実施形態において、リファレンスウェブクロールエージェントを、リソースを含むレスポンスが受信されるまで連続してクエリすることができ、または並列でクエリすることができる。並列オプションは、リソースを含むレスポンスを取得する時間を低減させる利点をもたらすが、リファレンスウェブクロールエージェントの負荷を増大させる。
【００６５】
リソースを含むレスポンスが受信された場合、ウェブクローラＷＣは前にレスポンスＭ２を受信したときにように動作することができる。
【００６６】
ウェブクローラＷＣがリソースを含むレスポンスをいまだに受信していない場合（いくつかのもしくは１つのみがクエリされた状況において）、このことは、ウェブクローラＷＣがＵＲＬに対応するウェブサイトＷＳからこのリソースをダウンロードすることへのトリガとなることができる。
【００６７】
現状技術のメカニズムに準じて、ウェブクローラはこのＵＲＬを認識してリソースをダウンロードすることを実行する。簡潔に述べると、このことはＵＲＬに対応するウェブサイトＷＳにリクエストＭ５を送信し、当該ウェブサイトＷＳからこのリソースを含むレスポンスＭ６を受信することにある。
【００６８】
図３は、ウェブクローラＷＣどのようにＵＲＬを認識してウェブのリソースにアクセスすることができるかを示す。
【００６９】
インターネットの任意のクライアントとして、ウェブクローラＷＣを、１つの（または複数の）ＤＮＳ（Domain Name Server）のアドレスにより構成する。
【００７０】
ウェブクローラＷＣは、最初に、このＤＮＳに（またはＤＮＳのリストの最初の１つに）リクエストＭＲ１を、パラメータとしてのＵＲＬとともに送信する。ＤＮＳを動的に構成して、リソースのＵＲＬを、当該リソースを発見することができるウェブサイトのＩＰアドレスに関連付ける。ＤＮＳは、要求されたＵＲＬに対応するＩＰアドレスのリストを含むメッセージＭＲ２によりこのリクエストに対して応答する。
【００７１】
次に、ウェブクローラＷＣは、このリストのＩＰアドレスの１つにより識別されたウェブサイトＷＳに、ＩＥＴＦのＲＦＣ２６１６により定義されるようなＨＴＴＰ（HyperText Transfer Protocol）リクエストＭ５を送信することができる。このリクエストは主として、ＧＥＴリクエストであり、ＵＲＬを含む。
【００７２】
ウェブサイトＷＣに関連付けられたＨＴＴＰサーバは、このＵＲＬにより識別されたリソースを含む、このリクエストへのレスポンスＭ６を送信する。
【００７３】
ウェブクローラＷＣは、このリソースをウェブコーパスＷＣＤに追加することができる。
【００７４】
第２のオプションに準じて、リソースおよび／またはエラーインジケーションを含まないメッセージＭ４を送信し返す代わりに、リファレンスウェブクロールエージェントＲＷＣＡは要求されたリソースのダウンロードを開始することができる。
【００７５】
リファレンスウェブクロールエージェントＲＷＣＡ自身がこのダウンロードを実行することができ、またはリファレンスウェブクローラＲＷＣがリソースのリストに挿入して、ダウンロードすることができる。
【００７６】
これらの状況では、レスポンスをウェブクローラＷＣに送信し返して、ウェブクローラＷＣに対し、クエリが処理されること、およびウェブサイトＷＳからリソースがダウンロードされた後に、ウェブクローラＷＣが当該リソースを含む別のレスポンスを要求してもよいことを通知することができる。この条件付きのレスポンスは、この状況を示すステータス情報を含むことができる。このようなステータス情報は、例えば、ＨＴＴＰ２０２ステータスであってもよい。このような条件付きのレスポンスを受信するときに、ウェブクローラは、すべてのレスポンスを受信するまで、またはウェブサイトＷＳからリソース自体をダウンロードするまで、待機することができる。
【００７７】
リファレンスウェブクローラ側では、上記説明したように、ＵＲＬに対応するウェブサイトＷＳからリソースをダインロードして、ＨＴＴＰリクエストＭ７をウェブサイトに送信する。当該ウェブサイトはリソースを含むレスポンスＭ８により応答する。
【００７８】
リファレンスウェブクローラＲＷＣの自身のポリシーに準じて、リソースをリファレンスウェブクロールＲＷＣＤに追加することができ、または追加しないこともできる。これらのポリシーは、本発明の範囲外である。
【００７９】
次に、リファレンスウェブクロールエージェントＲＷＣＡは、ウェブクローラＷＣにリソースを含むレスポンスＭ９を送信することができる。それからは、ウェブクローラＷＣは、メッセージＭ２の受信と関連して、上記説明した状況のように動作することができる。
【００８０】
この第２のオプションは、第１のオプションよりも、リファレンスウェブクローラＲＷＣがその他の当事者のクエリについて認識可能となる利点を有する。特に、いくつかのウェブクローラＷＣがリファレンスウェブクロールＲＷＣＤを使用する場合には、リソースをダウンロードする指示を受けてウェブクローラＷＣ自身のウェブクロールＲＷＣを強化する利点を得ることができる。
【００８１】
このことは、とりわけ、リファレンスウェブクロールＲＷＣＤが、より特定のウェブクローラＷＣにより使用されるジェネラリスト（generalist）ウェブコーパスを形成するときに有用となり得る。専門家された特定分野のビジネスプレイヤのおかげで、より特定のコンテンツによりウェブクロールを強化することができる。
【００８２】
同一の企業がリファレンスウェブクローラＲＷＣおよびウェブクローラＷＣを引き受けない状況では、この振舞いは認識を管理する観点で両当事者に利点を提供する。
【００８３】
本発明の実施形態に準じて、リファレンスウェブクロールエージェントＲＷＣＡに送信されるクエリＭ１およびＭ３は、識別子（ＵＲＬ）よりはむしろ追加的なパラメータを含むことができる。特に、それらクエリは、リソースがウェブから最後にダウンロードされてからの最大期間を特定する期間制約（age constraint）を含むことができる。
【００８４】
リファレンスウェブクロールＲＷＣＤにおけるＵＲＬに対応するリソースが、クエリＭ１およびＭ３内部の期間制約よりも直近にダウンロードされていない場合、リファレンスウェブクロールエージェントは、当該リソースがリファレンスウェブクロールＲＷＣＤにおいていまだ発見されていないと見なすことができる。次に、リファレンスウェブクロールエージェントはウェブサイトＷＳからリソースをダウンロードし、またはエラーメッセージを送信し返すなど（すなわち、リソースがリファレンスウェブクロールＲＷＣＤに含まれていなかったのと同じような振舞い）のような、上記説明したオプションのいずれかを開始することができる。
【００８５】
図５は本発明の別の実施形態を示し、ウェブクローラＷＣはリファレンスインデックスＲＩＤを利用する。用語「リファレンス」は単に、リファレンスウェブクロールＲＷＣＤからこのインデックスを作成し、当該インデックスはリファレンスエリアＲＡの一部であることを意味する。
【００８６】
本分野における既知のメカニズムに準じて、インデックスプログラムはリファレンスウェブクロールＲＷＣＤを使用して、このリファレンスインデックスＲＩＤを作成する。リファレンスインデックス内の内容およびフォーマットは本発明の対象外である。リファレンスインデックスは、既存技術の任意のインデックスであることができる。
【００８７】
リファレンスインデックスは、Ｇｏｏｇｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）もしくはＥｘａｌｅａｄ（登録商標）などのこの分野で活動する企業により提供されるインデックスであってもよい。
【００８８】
ここでは、リファレンスインデックスＲＩＤは、部分的には、クライアントにより送信されるクエリの処理および応答に必要となる情報リポジトリならびにプログラムであるものとして理解すべきである。
【００８９】
本発明の実施形態に準じて、リファレンスクロールエージェントＲＷＣＡにクエリを送信する前に、ウェブクローラＷＣはリファレンスインデックスＲＩＤにインデックスクエリを送信することができる。このような実施形態では、リファレンスウェブクロールエージェントへのクエリの送信は、これらのインデックスクエリに関連して受信されるレスポンスの内容に応じて決定されてもよい。
【００９０】
いくつかのオプションが可能になる。
【００９１】
再び図５を参照すると、第１のオプションに準じて、１つの（またはいくつかの）ＵＲＬを含むインデックスクエリＭ１０をリファレンスインデックスに送信する。
【００９２】
第１の状況では、リファレンスインデックスＲＩＤは、要求されたＵＲＬに関するいかなる情報をも含まない。リファレンスインデックスＲＩＤはウェブクローラＷＣに、ＵＲＬがインデックス付けされていないことを示すレスポンスＭ１１を送信し返す。
【００９３】
リファレンスインデックスはリファレンスウェブクロールＲＷＣＤから取得されるので、リソースがダウンロードされてなく、かつこのリファレンスウェブクロールに追加されていないことを意味することに留意するべきである。
【００９４】
次に、ウェブクローラＷＣは、このＵＲＬに対応するウェブサイトＷＳから、当該ＵＲＬにより識別されたリソースをダウンロードすることができる。ウェブクローラＷＣは、ウェブサイトＷＳにメッセージＭ１２を送信し、レスポンスＭ１３内のリソースを受信する。
【００９５】
第２の状況では、リファレンスインデックスＲＩＤは、ＵＲＬに関連するインデックス付けされた情報を含む。次に、リファレンスインデックスＲＩＤは、インデックスクエリＭ１４に応答する、ＵＲＬ関連したインデックス付けされた情報のすべてまたは一部である情報（一般的なケースでは、インデックス付けされた情報の一部のみが送信される）を含む、レスポンスＭ１５を送信する。
【００９６】
インデックスレスポンス内部の送信情報は、タグ、キーワード、情報フィールドなどのリソースの詳細を含むが、当該リソースの抜粋もしくは要約したバージョンをも含んでもよい。先に述べたように、ウェブページに関して、インデックス付けされた情報は、広告バナー、画像などを有さないページのバージョンを含むことができる。ビデオリソースに関して、インデックス付けされた情報は、ビデオのみのテキストの詳細などを含むことができる。
【００９７】
本発明の実施形態に準じて、ウェブクローラＷＣは、このインデックスレスポンスに基づいて、リソースをウェブコーパスＷＣＤに追加することを試みる機会について決定することができる。
【００９８】
リソースが、ウェブクローラが構築することを目的とするウェブコーパスＷＣＤに関連するか否かに準じて、この決定をすることができる。例えば、ウェブクローラＷＣが、与えられたテーマに関連したウェブコーパスを構築している場合に、ウェブクローラＷＣは、リファレンスインデックスが、リソースがこのテーマに対応しないことのヒントを返す場合に、当該リソースをウェブコーパスに追加しなければならないわけではない。
【００９９】
インデックスレスポンスから、ウェブクローラＷＣが、対応するリソースについてのポジティブインタレスト（positive interest）を決定する状況においては、ウェブクローラＷＣは、上記説明したように、リファレンスウェブクロールエージェントＲＷＣＡにＵＲＬを含むクエリＭ１６を送信する。ウェブクローラＷＣがリソースを含むレスポンスＭ１７を受信するときに、リソースはウェブコーパスＷＣＤに追加される。
【０１００】
インデックスレスポンスから、ウェブクローラＷＣが、対応するリソースについてのインタレストを有さないと決定する状況においては、処理がここで終了することができ、リファレンスウェブクロールエージェントＲＷＣＡにはメッセージＭ１６が送信されない。次に、ウェブクローラは別のＵＲＬを処理することができる。
【０１０１】
別のオプションに準じて、リファレンスインデックスＲＩＤに、クエリ言語に準じたクエリ基準を含むインデックスクエリＭ１８が送信される。このクエリ言語は複合のものもしくは単一のものであり得る（例えば、ブール結合によりリンクされたキーワードのリスト）。
【０１０２】
このオプションは、特に、構築されるウェブコーパスが、与えられたテーマに関連する特定のウェブコーパスであるときに意味をもつ。
【０１０３】
リファレンスインデックスＲＩＤは、クエリ基準にマッチする情報を送信することにより、このようなリクエストに応答してもよい。特に、レスポンスＭ１９は、クエリ基準にマッチするリソースに対応したＵＲＬのリスト、またはＵＲＬに対応するリソースのインデックス付けされた情報に関連するＵＲＬのリストを含んでもよい。
【０１０４】
第１のケースでは、ウェブクローラＷＣは受信したリストに含まれるＵＲＬ毎にクエリＭ２０を送信する必要がある場合がある。
【０１０５】
第２のケースでは、ウェブクローラは、受信したインデックス付けされた情報を使用して、リソースの各々をクエリするのに関与するか否かを判定してもよい。次に、ウェブクローラは、受信したリストのＵＲＬの各々もしくは一部に対してクエリＭ２０を送信してもよく、当該ＵＲＬのいずれにも送信しなくてもよい。ウェブクローラは、クエリされたＵＲＬに対応するレスポンスＭ２１を受信する。
【０１０６】
別のオプションは、ウェブクローラが、リソースそのものをクエリすることなしに、当該リソースに含まれるＵＲＬのリストについてクエリすることを可能にさせることにある。
【０１０７】
ウェブクローラＷＣは、リファレンスインデックスＲＩＤに、ＵＲＬおよびインジケータを含むインデックスクエリＭ２２を送信する。
【０１０８】
このインジケータを認識するために、リファレンスインデックスＲＩＤは、このインデックスクエリＭ２２と、上記説明したインデックスクエリＭ１０、Ｍ１４のような「通常の」インデックスクエリとを区別するであろう。リファレンスインデックスＲＩＤは、上記のようなこのＵＲＬに関連するインデックス付けされた情報を含むかを確認するであろう。
【０１０９】
このオプションの好ましい実施形態では、インデックス付けされた情報は、リソースに含まれるＵＲＬ（ハイパーリンク）に関する情報を含む。リファレンスインデックスＲＩＤを作成するときに、リソースを構文解析することにより、この情報が検索された可能性がある。この実施形態では、リファレンスインデックスＲＩＤは、リソースの更なる構文解析の処理を必要とせずに、インデックスクエリに対して素早く応答することができる。インデックス付けされた情報が発見された場合、リファレンスインデックスＲＩＤはこれらのＵＲＬを含む（もしあれば）レスポンスＭ２３を送信する。
【０１１０】
次に、ウェブクローラＷＣは、以下のクエリ、すなわち、これらのＵＲＬにより識別されたリソースについてのリファレンスウェブクロールエージェントＲＷＣＡへのクエリ、リソース自体を取得することなしにさらなるＵＲＬを取得するためのリファレンスインデックスＲＩＤについてのクエリ、の任意のタイプに対し、これらのＵＲＬを使用することができる。
【０１１１】
リクエストのこのタイプは、１つのリソースがこのコーパスに関与しないが（テーマなどに関連しない）、関与しているその他のリソースへのハイパーリンクをいまだに含み得る状況において、不要なリソースをウェブコーパスＷＣＤに追加することを回避するために有用となる。
【０１１２】
同一のウェブクローラは、これらのオプションの１つまたは複数を実装し、そのアルゴリズムに準じて当該オプションを利用して、最も効率的な方法でウェブを発見し、ウェブコーパスを構築することができる。
【０１１３】
本発明は、好ましい実施形態を参照して説明してきた。しかしながら、本発明の範囲内で多くの変更が可能となる。
【図１】
2013222463.tif 000003
【図２】
2013222463.tif 000004
【図３】
2013222463.tif 000005
【図４】
2013222463.tif 000006
【図５】
2013222463.tif 000007
【外国語明細書】
2013222463000001.pdf