説明

パーペチュアルカレンダページを含むウェブページのトラップ検出及びこれを用いた検索データベース構築方法、システム及びコンピュータ読取可能な記録媒体

【課題】本発明は、パーペチュアルカレンダページを含むウェブページのトラップ検出及びこれを用いた検索データベース構築方法、システム及びコンピュータ読取可能な記録媒体に関するものである。
【解決手段】本発明の一態様によると、パーペチュアルカレンダページを含むウェブページのトラップを検出する方法は、データベースに格納されたウェブページに対応するURLを所定基準でクラスタリングし、前記クラスタリングの結果に含まれる日付パターンを分析して正規表現を生成し、前記生成された正規表現を用いてパーペチュアルカレンダページを含むウェブページのトラップと疑われるクラスタを検出することを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パーペチュアルカレンダページ(perpetual calendar pages)を含むウェブページのトラップ(trap)検出及びこれを用いた検索データベース構築方法、システム及びコンピュータ読取可能な記録媒体に関するもので、より詳細には、パーペチュアルカレンダの特徴に基づいて正規表現(regular expression)を生成し、これに基づきパーペチュアルカレンダページを含むウェブページのトラップを検出し、検出されたウェブページのトラップを既存の検索データベースから削除し、生成された正規表現を以後適用することなどを含む検索データベースを構築するための方法、システム及びコンピュータ読取可能な媒体に関するものである。
【背景技術】
【0002】
最近、インターネットの使用が普遍化されるにつれて、ユーザはインターネット検索を通して多様な情報を獲得できるようになった。すなわち、ユーザは、インターネットへの接続が可能な個人用コンピュータなどの端末装置を通してウェブブラウザのアドレスバーにURL(Uniform Resource Locator)などの識別子を入力することによってインターネット検索サイトに接続した後、自分が確認しようとする検索語句を入力し、ニュース、知識、ゲーム、コミュニティ、ウェブページなどの多様な分野に関連する検索結果を見られるようになった。
【0003】
このように、ユーザが検索しようとする内容を適宜見せるために、インターネット検索サイトのプロバイダは、ウェブページなどを収集し、収集されたウェブページなどに索引(index)を付け、これに基づいて検索結果をユーザに提供する役割をする検索エンジンを設計・構成している。特に、ウェブクローラ(Web Crawler)は、インターネット上に存在するウェブページを系統的(methodical)及び自動化された方法で探索及び収集する機能をするものとして大きな役割をしている。
【0004】
このようなウェブクローラの作動方式の一つとしては、シード(seed)と呼ばれるURLリストから始め、シードに含まれている全てのハイパーリンクを認識してURLリストを更新し、更新されたURLリストを再帰的にアクセスする方式を使用している。
【0005】
しかし、パーペチュアルカレンダページを含むウェブページには、図1に示すように、ページに前後の月に移動できるハイパーリンクが存在し、その他にも前後の年、週及び日などに移動できるハイパーリンクが存在する。すなわち、パーペチュアルカレンダページを含むウェブページは、無意味な日付のハイパーリンクを無限に生成するので、既存のウェブクローラの作動方式に基づいてパーペチュアルカレンダページを含むウェブページを収集すると、無限なハイパーリンクによってトラップに陥るようになり、不必要又は無意味なウェブページを継続して収集するようになる。そのため、収集された内容を格納するストレージの空き容量(storage space)の浪費をもたらすだけでなく、不必要又は無意味なウェブページの継続的な収集によってウェブクローラの性能も低下し、さらに、不必要又は無意味なウェブページの量が増加することによって検索エンジンの負荷が増大するという問題が発生していた。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】韓国特許第0943996号明細書
【特許文献2】特開第2005―202609号公報
【特許文献3】韓国特許第0571302号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明の目的は、上述した従来技術の問題を解決することにある。
【0008】
本発明の一つの目的は、パーペチュアルカレンダページを含むウェブページのトラップを検出し、これを検索データベースから削除することによってストレージの空き容量を効率的に使用し、検索エンジンの負荷を減少させることにある。
【0009】
また、本発明の他の目的は、パーペチュアルカレンダページを含むウェブページのトラップを検出するために正規表現を生成し、これをウェブクローラに適用することによって、以後、より効率的にウェブページを収集することにある。
【課題を解決するための手段】
【0010】
以下、上述したような本発明の目的を達成し、後述する本発明の特有の効果を達成するための本発明の特徴的な構成を説明する。
【0011】
本発明の一態様によると、パーペチュアルカレンダページを含むウェブページのトラップを検出する方法は、データベースに格納されたウェブページに対応するURLを所定基準でクラスタリングし、前記クラスタリング結果に含まれた日付パターンを分析することによって正規表現を生成し、前記生成された正規表現を用いてパーペチュアルカレンダページを含むウェブページのトラップと疑われるクラスタを検出することを含む。
【0012】
本発明の他の態様によると、パーペチュアルカレンダページを含むウェブページのトラップを検出するシステムは、データベースに格納されたウェブページに対応するURLを所定基準でクラスタリングするクラスタリング手段と、前記クラスタリング結果に含まれた日付パターンを分析することによって正規表現を生成する日付パターン検出手段と、前記生成された正規表現を用いてパーペチュアルカレンダページを含むウェブページのトラップと疑われるクラスタを検出するパーペチュアルカレンダトラップ確認手段と、を含む。
【発明の効果】
【0013】
上述したように、本発明によると、パーペチュアルカレンダページを含むウェブページのトラップを検出し、これを検索データベースから削除することができるので、ストレージの空き容量を効率的に使用し、検索エンジンの負荷を減少させることができる。
【0014】
また、本発明によると、パーペチュアルカレンダページを含むウェブページのトラップを検出するために正規表現を生成し、これをウェブクローラに適用することによって、以後、より効率的にウェブページを収集することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施例に係るパーペチュアルカレンダページを含むウェブページを示した例示的な画面である。
【図2】本発明の一実施例に係る検索結果提供システムの全体構成図である。
【図3】本発明の一実施例に係る検索結果提供システムを示すブロック図である。
【図4】本発明の一実施例に係る検索結果提供システム内のパーペチュアルカレンダトラップ検出部を示すブロック図である。
【図5】本発明の一実施例に係るパーペチュアルカレンダトラップ検出部の動作を示すフローチャートである。
【発明を実施するための形態】
【0016】
後述する本発明に関する詳細な説明は、本発明が実施され得る特定の実施例を例示する添付の図面を参照する。これら実施例は、当業者が本発明を十分に実施できるように詳細に説明する。本発明の多様な実施例は互いに異なっているが、互いに排他的である必要はないことを理解しなければならない。例えば、ここに記載している特定の形状、構造及び特性は、一実施例と関連して本発明の精神及び範囲を逸脱しない範囲で他の実施例によって実現され得る。また、それぞれの開示された実施例の個別的な構成要素の位置又は配置は、本発明の精神及び範囲を逸脱しない範囲で変更可能であることを理解しなければならない。したがって、後述する詳細な説明は限定的なものでなく、本発明の範囲は、適宜説明される場合は、それら各請求項が主張することと均等な全ての範囲と共に添付の請求項のみによって限定される。図面における類似する参照符号は、多様な側面にわたって同一又は類似する機能を示す。
【0017】
以下、本発明の属する技術分野で通常の知識を有する者が本発明を容易に実施できるように、本発明の好適な各実施例について添付の図面を参照して詳細に説明することにする。
【0018】
[本発明の好適な実施例]
【0019】
本発明の実施例において、「連結される(connected)」という言葉は、「直接的に連結」されている場合のみならず、他の素子を間に挟んで「電気的に接続」されている場合も含む広義の意味を有する。また、一つの部分が一つの構成要素を「含む」とするとき、これは、特別に反対の記載がない限り、他の構成要素を除外するのではなく、他の構成要素をさらに含むことができることを意味する。
【0020】
また、本発明の実施例において、「ウェブページ」という用語は、インターネットエクスプローラなどのウェブブラウザプログラムを用いて閲覧可能な受動又は能動的な文書形式を全て含む広義の意味と解釈しなければならない。また、ウェブページの文書形式としては主にHTML(HyperText Markup Language)が使用されるが、必ずしもこれに限定されるものではなく、XML(eXtensible Markup Language)、SGML(Standard Generalized Markup Language)を含み、かつ、ウェブブラウザプログラムを用いて閲覧可能な文書形式であれば、いずれもウェブページに該当する。ウェブブラウザプログラムを用いてウェブページを閲覧するためには、一般にウェブページが位置しているアドレスをURLに入力し、そのアドレス形式としてはHTTP(HyperText Transfer Protocol)が多く使用されるが、必ずしもこれに限定されるものではない。
【0021】
また、本発明の明細書において、「パーペチュアルカレンダ」という用語は、ウェブページのうち、カレンダ形態を示すものであり、かつ、当該ウェブページに前後の日、週、月及び年などに移動できるハイパーリンクが含まれているウェブページを全て含む広義の概念を有する。このようなパーペチュアルカレンダの特徴の一つとしては、ウェブページ内のハイパーリンクを通して移動するとき、前後の日、週、月及び年などに移動できるハイパーリンクを含み、かつ、同一のカレンダページを有するウェブページに連結されるという点を挙げることができ、パーペチュアルカレンダページを含むウェブページの詳細な特性については後述することにする。
【0022】
一方、本発明の明細書において、「URL(Uniform Resource Locator)」という用語は、ウェブ上でサービスを提供する各サーバにある各ファイルの位置を明示するためのもので、接続しなければならないサービスの種類、サーバの位置(ドメインネーム)及びファイルの位置を含む。URLの一般的な体系(syntax)は、「プロトコル://ホスト名/パス/ファイル名?パラメータ」のような形式で構成することができる。ここで、パスは、複数以上のパスを含むことができ、パラメータも複数のパラメータを含むことができる。例えば、「http://www.naver.com/a/b/c.html?x=1&y=2」のようなURLにおいて、プロトコルは「http」、ホスト名は「www.naver.com」、パスは「/a/b/」、ファイル名は「c.html」であり、パラメータは、x、yの二つでありそれぞれ1、2の値であるとみなすことができる。
【0023】
パーペチュアルカレンダページを含むウェブページの特徴
【0024】
パーペチュアルカレンダページを含むウェブページを検出するためには、まず、パーペチュアルカレンダページを有するウェブページの特徴を説明する必要がある。他のウェブページの形式と区別される、パーペチュアルカレンダページを有するウェブページの固有の特性としては、次のような特性がある。
【0025】
まず、URLに日付パターンを含むことができる。具体的に、URLのうちホスト名を除いたパス又はパラメータを用いて日付パターンを示すことができる。そのうち、パスを用いて日付パターンを含むURLの例は、「http://www.naver.com/cal/2009/02」などのように示すことができ、ここで、パスである「/cal/2009/02」の一部に2009年2月を示す日付パターンが含まれてもよい。また、パラメータを用いた日付パターンを含むURLの例は、「http://www.naver.com/cal.php?month=02&year=2009」などのように示すことができ、ここで、パラメータであるmonth及びyearに2009年2月を示す日付パターンが含まれてもよい。この他にも、多様な形式でパス又はパラメータを通して日付パターンが示され得る。
【0026】
次に、パーペチュアルカレンダページを有するウェブページは、図1に示すように、その内部にカレンダを示した表を有してもよい。カレンダを示した表がウェブページの内部に存在するかどうかは、<table>などの表を示す特定のhtmlタグ及び内部に1〜28以上の数字が表示されているか、及び/又は曜日が表示されているか、そして、表の列が7個(日曜日から土曜日まで)で構成されているかなどの内容を判断することによって確認できるが、必ずしも前記の羅列された内容に限定して判断すべきものではなく、その他にもカレンダを示すことができる多様な特性を用いて判断することができる。
【0027】
第三に、パーペチュアルカレンダページを有するウェブページには、図1に示すように、その内部に1ヶ月又は1週単位で前後に移動できるハイパーリンクが存在することになる。このようなハイパーリンクの存在有無を判断するためには、現在のウェブページのURL及びハイパーリンクで連結されるURLを比較・判断してもよい。例えば、現在のウェブページのURLがパラメータとして「caldate=1992―1―12」を有しており、ウェブページ内に存在するハイパーリンクに対応するURLのパラメータに「caldate=1992―1―5」及び「caldate=1992―1―19」が存在する場合、パラメータの比較により1週単位で前後に移動できるハイパーリンクが存在すると判断し、パーペチュアルカレンダページを有するウェブページであると判断することができる。
【0028】
その次に、パーペチュアルカレンダページを有するウェブページの場合は、URL分析を通して他の日付に移動したときも、当該ウェブページを探すことができないというHTTP404エラーが発生せず、正常に当該日付に対応するウェブページに移動することができる。例えば、既に収集されたURLのパラメータから1992年1月に対応する日付を検出した場合、これを修正し、1975年1月又は2020年1月に対応する日付を代入したURLをウェブブラウザ上に入力した場合にも、その日付に対応するウェブページに移動することができる。
【0029】
最後に、パーペチュアルカレンダページを有するウェブページは、内容が空(empty)であるか、又は、多くのウェブページが同一の内容を有している。例えば、パーペチュアルカレンダページを有するウェブページを日記などの形態で提供している場合は、無限なハイパーリンクを通して無限の数のウェブページが存在しているが、実際に特別な内容(specific content)が含まれたウェブページは少ないため、全体的に見ると、ほとんどのウェブページは、その内容が空であるか、同一の内容を有するようになる。その結果、ページのサイズが特定の範囲(range)に偏っていると判断することもできる。
【0030】
このようなパーペチュアルカレンダページの特徴に起因し、ウェブクローラを通してウェブページを収集するとき、ハイパーリンクが無限に生成される無意味な日付のウェブページも収集することがある。すなわち、パーペチュアルカレンダページを含むウェブページのトラップに陥るという問題が発生するので、既にウェブクローラを用いて収集したページのうち、このようなトラップによって収集されたほとんどの無意味なウェブページについては削除が必要である。そのため、本発明では、上述したパーペチュアルカレンダページを有するウェブページの特徴のうち一つ又はそれ以上を複合的に用いて所定のウェブページがパーペチュアルカレンダページを有するかどうかを判断し、これに基づき、トラップによって収集される無意味なパーペチュアルカレンダページのウェブページを決定した後、これを削除するシステム及び方法を開示している。
【0031】
システムの全体構成
【0032】
図2は、本発明の一実施例に係る、パーペチュアルカレンダページを含むウェブページのトラップを検出し、この検出結果に基づいて構築された検索データベースを用いて検索結果を提供するシステムの全体的な構成を概略的に示す図である。
【0033】
図2に示すように、本発明の一実施例に係るシステムにおいて、検索結果提供システム100は、通信網200を介して複数のユーザ端末装置300及び複数のウェブページサーバ400に接続されている。
【0034】
まず、本発明の一実施例によると、検索結果提供システム100は、ユーザ端末装置300から検索語句、すなわち、クエリを受信し、これに基づいて検索データベース(図示せず)を参照して検索を行った後、その結果として導き出される検索結果をユーザ端末装置300に伝送する。また、検索結果提供システム100は、ウェブクローラ(図示せず)を使用して複数のウェブページサーバ400から収集したウェブページのうちパーペチュアルカレンダページを含むウェブページのトラップを検出するために正規表現を生成し、これに基づいて収集されたウェブページのうち、トラップによって収集されたウェブページの一部又は全部を除去し、ウェブクローラ(図示せず)の次の作動時に、生成された正規表現を適用する。
【0035】
また、本発明の一実施例によると、通信網200は、有線及び無線のいずれの通信形態でも構成することができ、短距離通信網(PAN;Personal Area Network)、近距離通信網(LAN;Local Area Network)、都市圏通信網(MAN;Metropolitan Area Network)、広域通信網(WAN;Wide Area Network)などの多様な通信網で構成することができる。
【0036】
また、本発明の一実施例に係るユーザ端末装置300とは、ユーザが入力した所定のクエリに対する検索結果を受けることができるように、通信網200を介して検索結果提供システム100に接続するための機能を有する入出力装置を意味する。デスクトップコンピュータのみならず、ノートブックコンピュータ、ワークステーション、パームトップ(palmtop)コンピュータ、個人携帯情報端末機(personal digital assistant:PDA)、ウェブパッド、スマートフォンを含む移動通信端末機などのようにメモリを備え、かつ、マイクロプロセッサが搭載されて演算能力を有するデジタルデバイスであれば、いずれも本発明に係るユーザ端末装置300として採用することができる。望ましくは、検索結果提供システム100に接続され、ユーザ端末装置300のウェブブラウザを操作してクエリを入力し、クエリに対応する検索結果を受けることができるものがよいが、ユーザ端末装置300は必ずしもこの形態に限定されるものではなく、他の手段を用いて操作されるものであってもよい。
【0037】
そして、本発明の一実施例に係るウェブページサーバ400は、検索結果提供システム100のウェブクローラが収集するウェブページを含むウェブサーバを総称し、物理的に特定のサーバや特定の内容/ページを含むウェブページに限定されるものではない。ウェブクローラが通信網200を介して接続してウェブページを収集できるウェブサーバであれば、いずれもウェブページサーバ400に含まれるものとみなすべきである。望ましくは、ウェブページサーバ400は、パーペチュアルカレンダページを含むウェブページを含んでもよい。
【0038】
検索結果提供システム
【0039】
図3は、本発明の一実施例に係る検索結果提供システム100のブロック図である。
【0040】
図3を参照すると、本発明の一実施例に係る検索結果提供システム100は、送受信部110、検索部120、パーペチュアルカレンダトラップ検出部130、ウェブクローラ140及び検索データベース150を含んでもよい。
【0041】
送受信部110は、ユーザ端末装置300からクエリを受信して検索部120に伝送し、検索部120から抽出された検索結果をユーザ端末装置300に伝送する。
【0042】
検索部120は、送受信部110から受信したクエリにマッチングされる情報を検索データベース150から検索する。検索により抽出された検索結果は、ユーザ端末装置300に送るために送受信部110に伝送する。
【0043】
パーペチュアルカレンダトラップ検出部130は、検索データベース150又は別途のデータベース(図示せず)に格納されたウェブページのうち、パーペチュアルカレンダページを含むウェブページが存在するかどうかを判断するために正規表現を生成し、生成された正規表現及び所定の条件を用いて、パーペチュアルカレンダページを含むウェブページのトラップにより収集された無意味なウェブページが存在する場合、その一部又は全部を検索データベース150又は別途のデータベースから削除する。また、生成された正規表現及び所定の条件を適用し、ウェブクローラ140の次の動作時、正規表現及び条件に該当するウェブページは収集しないように設定することができる。パーペチュアルカレンダトラップ検出部130の各構成要素の詳細な機能については、後述することにする。
【0044】
ウェブクローラ140は、ウェブページサーバ140に格納されたウェブページを公知の系統的及び自動化された方法で探索・収集し、これを検索データベース150又は別途のデータベース(図示せず)に格納する機能を有する。ウェブクローラ140は、特定の条件を付与し、これを行うか、或いは行わないように設定することもできる。
【0045】
検索データベース150は、クエリに対応する検索結果を提供するために収集又は格納された各種情報を含んでもよく、その他にも、ウェブクローラ140が収集したウェブページを格納してもよい。また、パーペチュアルカレンダトラップ検出部130の動作により、検索データベース150の内部に、パーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページが格納されている場合、その一部又は全部を削除することができる。
【0046】
図3には検索データベース150のみを示したが、本発明の実施例によってウェブクローラ140及びパーペチュアルカレンダトラップ検出部130が収集・検出するウェブページを格納するデータベースを別途に構築し、パーペチュアルカレンダページを含むウェブページのトラップによって収集されたウェブページの一部又は全部を削除してから、残った部分のみをインデックス化して検索データベース150に格納してもよい。また、送受信部110、検索部120、パーペチュアルカレンダトラップ検出部130、及びウェブクローラ140は、物理的に一つの装置内で実現してもよく、一部又はそれぞれを物理的に異なる装置で実現してもよく、同一の機能を有する物理的に複数存在する装置が並列的に存在してもよい。このように、本発明は、各構成部が設置された装置又はデータベースの物理的な個数及び位置に限定されず、多様な方式で設計・変更可能であることは、本発明の属する技術分野で通常の知識を有する者にとって自明である。
【0047】
パーペチュアルカレンダトラップ検出部
【0048】
本発明の一実施例によって図4に示した検索結果提供システム100のパーペチュアルカレンダトラップ検出部130をより詳細に説明すると、パーペチュアルカレンダトラップ検出部130は、URLチェック手段131、クラスタリング手段132、日付パターン検出手段133、パーペチュアルカレンダトラップ確認手段134及び正規表現適用手段135を含んでもよい。
【0049】
ここで、本発明の一実施例に係るURLチェック手段131は、検索データベース150又は別途のデータベースに格納されている、ウェブクローラ140によって収集したウェブページのうちパーペチュアルカレンダページを含むウェブページのトラップによって収集されたウェブページの存在可能性を把握するために、ウェブページのURLを所定基準によってチェックする。このような基準の好適な一実施例として、上述したように、パーペチュアルカレンダページを含むウェブページの場合は、該当の年、月又は日を示すためにURLに日付パターンを含むという特徴を用いて、URLでホスト名を除いたパス又はパラメータに合計5個以上の数字が存在し、かつ、連続的に4個以上の数字を含む場合のみを基準として適用してURLをチェックすることができる。このようなURLチェックを通して、パーペチュアルカレンダページを含むウェブページのトラップによって収集されたウェブページの存在有無を把握するためにチェックすべきウェブページの量を大きく減少させることができ、その結果、処理コストを減少させ、処理速度を向上させることができる。
【0050】
次に、本発明の一実施例に係るクラスタリング手段132は、URLチェック手段131をパス(pass)したウェブページの各URLを、所定基準を満たさないクラスタにまとめる(gather)機能を実行することができる。具体的には、まず、同一のホスト名を有するURLを一つのリストに全てまとめるホストクラスタリング(host clustering)機能を実行し、例えば、以下の表1に示した多数のURLは、同一のホストを有するので、一つのURLリストにまとめられる。
【0051】
【表1】

【0052】
次に、上記表1のように一つにまとめられたURLリストを対象にして、各パスで連結された数字を置換子(replacer)で置換して正規化するパスクラスタリング(path clustering)を実行することができる。表1に示した第1のURL及び第2のURLの場合、パスクラスタリングを行った結果により正規化されたURLリストは、http://www.naver.com/cal/<数字1>/<数字2>/などのように示すことができ、ここで、<数字1>及び<数字2>は、正規化するための置換子を意味する。
【0053】
パスクラスタリングの実行と共に、又は独立的に、各パラメータの値と一部のURLのみに含まれた各パラメータは無視し、残りのパラメータに対して正規化するパラメータクラスタリングを行うことができる。表1に示した第3のURL〜第5のURLの場合、各パラメータの値である2010、02、03、2008、05、ok及び一部のURLに含まれたパラメータに対応するセッションを省略しパラメータクラスタリングを行った結果による正規化されたURLは、「http://www.naver.com/cal.php?y=&m=」のような形式で示すことができる。
【0054】
クラスタリング手段132によるクラスタリングは、URLチェック手段131をパスした全てのURLに対してそれぞれ全体的に実施したり、又は、パスしたURLのうち一部に対して行うことによってURLを正規化した後、正規化されたURLに基づいて残りのURLにも適用することができる。このような作業方式又は手順の変更は、本発明の属する分野で通常の知識を有する者にとって自明であろう。また、クラスタリング手段132は、パーペチュアルカレンダページを含むウェブページのトラップによって収集されたウェブページを把握するためのもので、クラスタリングを通して一つのリストに含まれたURLの個数が特定の個数、例えば、5個以下である場合、当該リストに含まれたURLは、パーペチュアルカレンダページを含むウェブページのトラップによって収集されたウェブページである可能性が少ないものと判断し、リスト自体を除外することもできる。
【0055】
次に、日付パターン検出手段133では、上述したクラスタリング手段132を通して同一のクラスタにまとめられた各URLリストに基づいて日付パターン、すなわち、年、月及び日に対応する部分がどこに存在するかを判断し、この情報を用いて正規表現を生成する。まず、パラメータ又はパスに表示された日付パターンを分析してみると、以下の表2のように多様な方式で示されることが分かる。
【0056】
【表2】

【0057】
上記表2において、日付パターンのY、M、Dはそれぞれ年、月、日を意味し、順序はそのパターンを意味し、下線(_)は、挿入可能なデリミタ(delimiter)であり、パラメータを区分するもの又はパスを分ける基準として示すことができる。上述したように、パーペチュアルカレンダページを含むウェブページの場合、一つ又は多数のパス又はパラメータを通して該当の日付又は月を示すことができるので、これに基づいた多様なページを含む日付パターンの例示が表2によく示されている。すなわち、日付パターンY_M_Dの場合、年、月、日の順序となっており、それらの間にそれぞれデリミタ又はパスを分ける基準(/)が挿入されているか、又はそれぞれが個々のパラメータに代入されていることを意味する。その例として、デリミタ「―」が挿入された一つのパラメータに「2010―04―05」が入力されたもの(例示1)、又は多重パス(multiple paths)からなる「2010/04/05」(例示2)のように入力されたものを挙げることができる。また、表2の例示には示していないが、y=2010&m=04&d=05のように多重パラメータ(multi−parameter)を通して年、月、日の順に個々のパラメータに代入されていることを意味することもできる。また、日付パターンMYの場合は、月、年の順序となっており、それらの間にデリミタが挿入されないか、又は多重パスとなっていないことを意味することができる。その例として、一つのパラメータに日付パターン全体が代入されるdate=042010のように入力されたもの(例示1)を挙げることができ、ここで、04は月を、2010は年を意味することができる。また、その例として、一つのパスに/042010/のように入力されたものを挙げることもできる。しかし、表2は、例示的なものに過ぎず、新しい日付パターンがさらに追加されたり、又は既存の日付パターンが削除又は変更されることもあり得ることを理解しなければならない。
【0058】
表2に例として示した日付パターンは、検索データベース150又は別途のデータベース(図示せず)に格納され、日付パターン検索手段133の日付パターン判断時に用いることができる。具体的な一例として、日付パターン検索手段133は、同一のクラスタにまとめられているURLリストの一部のURLを抽出し、既存の日付パターンと比較して同一又は最も類似したパターンを通して予測(anticipate)される年、月及び日の位置及び代入方法を決定する。同一又は最も類似したパターンとの比較は、予測される年、月及び日の位置で得られる数字が有効な数字であるかを確認する方式によって行えるが、例えば、年の位置で得た数字が0より大きい整数で、月の位置で得た数字が1以上12以下の整数で、日の位置で得た数字が1以上31以下の整数である場合、予測した日付パターンが妥当であると決定することができる。
【0059】
このように決定された日付パターンが同一のクラスタ内部の他のURLに対して全て適用されるかどうかを判断し、他のURLに対して全て適用される場合、これに基づいて正規表現を生成することができる。適用可否に関する判断は、上述した方式と同一であり、URLのうち年、月及び日に対応する位置に存在する数字が有効な数字であるかを確認する方式によって行うことができる。具体的な例として、単一パラメータの値として2009―02―14を有しているURLの場合、日付パターンのうちY_M_Dに対応するものと予測し、デリミタで分けられた2009、02、14をそれぞれ年、月及び日の位置と見なして抽出した後、有効な数字である場合、すなわち、2009は0より大きい整数で、02は1以上12以下の整数で、14は1以上31以下の整数である場合、予測した日付パターンが妥当であると決定する。その後、同一のクラスタにまとめられた他のURLの全てに対して当該パラメータの値を抽出し、予測した年、月及び日に対応する位置から数字を抽出してその有効性を判断し、クラスタ内部の多数の又は全体のURLがパスする場合、これに基づいて正規表現を生成する。正規表現は、同一のクラスタの多数の又は全体のURLリストが適用される一般化された公式を意味し、前記例の場合、パラメータの値に対応する部分を([1―3]{1}[0―9]{3})[^0―9]{1}([0―1]?[0―9]{1})[^0―9]{1}([0―3]?[0―9]{1})のように表現したURLの正規表現を生成できるが、これは例示的なものに過ぎなく、多様な方式や表現で正規表現を生成可能であることは本発明の属する分野で通常の知識を有する者にとって自明である。
【0060】
上述したように、パラメータ又はパスを用いてURLに日付を表示することができ、そのうちパラメータを用いるときは、単一パラメータ又は多重パラメータである場合、そして、デリミタを含む場合とそうでない場合などがあり得る。パスを用いるときも、多重パス又は単一パスなどの方式があり得る。そのため、前記ではデリミタを含む単一パラメータを用いた例に限定して説明したとしても、日付パターン検出手段133では、他の多様な方式で表示可能なそれぞれのクラスタリングされたURLリストに対してもそれぞれの特徴を有する日付パターンを参照して比較しながら年、月及び日の位置を予測し、その予測された位置及び代入方法に対する決定を同一のクラスタの他のURLに対して適用できるかどうかを判断し、これに基づいて正規表現を生成することができる。
【0061】
また、日付パターン検出手段133では、上述した例示的な方式と共に又は別途に、下記で説明する例示的な方式を通して日付パターンに対する結果にフィルタをかける(filter)こともできる。すなわち、上述したパーペチュアルカレンダページを含むウェブページの特徴のうちパーペチュアルカレンダページを有するウェブページは、その内部にカレンダを示す表を含んでもよく、又は、その内部に1ヶ月又は1週単位で前後に移動できるハイパーリンクが存在するという特徴を用いて、日付パターン検出手段133は、当該URLを有するウェブページの内部にカレンダ形式があるのか、すなわち、内部のテキストに1〜28日までの数字及び月、日又は曜日が存在するかどうかを判断し、当該URLがパーペチュアルカレンダページを含むウェブページであるかどうかを、追加的に又は別途にフィルタをかけることができる。また、当該URLを有するウェブページの内部にハイパーリンクが存在する場合、1ヶ月や1週単位で前後に移動するハイパーリンクであるかどうかを判断するために、ハイパーリンクに対応するURLを日付パターンにマッチングして年、月及び日を抽出し、1ヶ月(28日〜31日)の差又は1週(7日)の差があるかどうかを比較・判断することによって、当該URLがパーペチュアルカレンダページを含むウェブページであるかどうかを追加的に又は別途にフィルタをかけることができる。
【0062】
本発明の一実施例に係るパーペチュアルカレンダトラップ確認手段134は、日付パターン検出手段133を通して生成された正規表現でまとめられた一つのクラスタに対応するURLリストにパーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページが持つURLが含まれているかどうかを決定し、これが含まれている場合、どのような基準で当該URLを分離できるかに関する情報を提供する機能を実行する。
【0063】
上述したパーペチュアルカレンダページを含むウェブページの特徴に起因したトラップによると、パーペチュアルカレンダページを含むウェブページは、過去又は未来に無限に繰り返して存在するので、このような特徴を用いて、生成された正規表現のうち日付パターンに任意の日付を代入したURLを所定個数だけ生成し、それぞれのURLに対するアクセスの成功可否を確認する方式で同一のクラスタにまとめられた所定のURLリストに、パーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページに関連するURLが含まれているかどうかを決定することができる。一つの例示として、単一パラメータ「date=2009―08」を有するURLである「http://www.naver.com/cal.php?date=2009―02」から正規表現「^http[s]?://www.naver\.com/cal\.php\?date=([1―3]{1}[0―9]{3})[^0―9]{1}([0―1]?[0―9]{1})&?$」が生成されたと仮定するとき、パーペチュアルカレンダトラップ確認手段134は、このような正規表現に任意の過去と未来の日付をそれぞれ5個ずつ代入し、以下の表3及び表4のようなURLを生成することができる。
【0064】
【表3】

【0065】
【表4】

【0066】
パーペチュアルカレンダトラップ確認手段134は、表3と表4のように生成された任意のURLリストの各URLに対して接続を試みることにより、アクセスの成功可否を確かめ、すなわち、当該URLに対応するウェブページの存在有無を判断し、多数又は全体のURLリストに対して当該ウェブページが存在する場合は、正規表現が同一のクラスタにまとめられた所定のURLリストに、パーペチュアルカレンダページを含むウェブページトラップによって収集された無意味なウェブページに関連するURLが含まれると決定することができる。ここで、接続を試みるときに、HTTP404のようなエラーを受信する場合は、パーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページが存在しないと決定することもできる。
【0067】
また、パーペチュアルカレンダ確認手段134では、上述した例示的な方式と共に、追加的に又は別途に、下記で説明する例示的な方式を通して一つのクラスタに対応するURLリストにパーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページに関連するURLが持つ特徴(characteristics)を分離する機能を実行することができる。
【0068】
上述したパーペチュアルカレンダページを含むウェブページの特徴によると、ほとんどのウェブページサイズが特定の帯域に偏っているので、これを用いて、パーペチュアルカレンダ確認手段134は、X―meansクラスタリングやEMクラスタリングなどの公知のクラスタリング技法を通してURLのウェブページサイズを各サイズ別のクラスタに分類し、このうち、パーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページと疑われるトラップ候補クラスタ(trap candidate cluster)を検出する。このようなトラップ候補クラスタの検出条件としては多様なものが使用可能であるが、そのうち、URLカウントが所定回数以上で、ウェブページサイズの標準偏差が所定数値以下であるものをその基準とし、その基準に入るウェブページのサイズの最小値及び最大値を算出することができる。また、一般的な検出条件から逸脱するイレギュラー(irregular)な特徴を有する各URLを追加的に検出するために、URLカウントが所定回数以上である各URLに該当するウェブページのサイズを既存の条件に併合し、最終的にトラップと疑われるトラップ候補クラスタに入るウェブページのサイズの最小値及び最大値を計算することができる。このように計算したウェブページのサイズの最小値及び最大値は、パーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページが持つ固有の特徴とみなすこともできる。
【0069】
最後に、本発明の一実施例に係る正規表現適用手段135は、同一のクラスタにまとめられたURLリストに生成された正規表現に、日付基準及び/またはウェブページのサイズ範囲を適用し、既存の検索データベース150又は別途のデータベースに格納されているウェブページのうち、パーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページを削除することができ、これをウェブクローラ140に適用し、以後、ウェブページの収集時における無意味なウェブページの収集を防止することができる。
【0070】
正規表現の適用の一例として、正規表現適用手段135は、日付パターン検出手段133によって生成された正規表現にイレギュラーな日付を適用し、適用されたURLに対応するウェブページは全て削除することができる。その具体的な例として、1995年以後及び2020年以後に対応するURLをいずれもイレギュラーな日付と見なして削除するように適用する場合、以下の表5で番号3〜6に対応するURLに該当するウェブページは、検索データベース150又は別途のデータベースから削除することができ、ウェブクローラ140は、以後、イレギュラーな日付に対応するURLに存在するウェブページを収集しないようにする。
【0071】
【表5】

【0072】
正規表現の適用の他の例として、正規表現適用手段135は、パーペチュアルカレンダ確認手段134で計算された、疑わしいトラップ候補クラスタに入るウェブページのサイズの最小値及び最大値を適用し、クラスタにまとめられたURLリストのうち、サイズ範囲(最小値以上で、最大値以下の場合)に含まれるウェブページを有するURLを全て削除することができる。その具体的な例として、ウェブページのサイズが14,380バイト以上、14,500バイト以下であるか、14,702バイト以上、14,710バイト以下であるウェブページを有するURLを、いずれもパーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページに対応するURLと見なして削除する場合、以下の表6で番号1〜3に対応するURLに該当するウェブページは、検索データベース150又は別途のデータベースから削除することができ、ウェブクローラ140は、以後、当該サイズ範囲に含まれるウェブページを収集しないようにする。
【0073】
【表6】

【0074】
上述した正規表現の適用の二つの例は、正規表現適用手段135で使用可能な実質的な例示に過ぎなく、当該分野の技術水準及び当業者の技術常識によって多様な方法で前記正規表現の適用の各例を単独で又は結合して使用したり、同一又は類似した機能を行えるように変形して使用できることを認知しなければならない。
【0075】
図5は、上述したように、本発明の一実施例に係るパーペチュアルカレンダトラップ検出部の動作フローチャートである。
【0076】
図5を参照してパーペチュアルカレンダトラップ検出部130の動作の流れを説明すると、まず、URLチェック手段131で検索データベース150又は別途のデータベースに格納されている、ウェブクローラ140によって収集したウェブページのURLを所定基準によって検討(S110)し、検討の目的は、収集されたウェブページのうちパーペチュアルカレンダページを含むウェブページのトラップによって収集されたウェブページの存在有無を把握することにある。URLチェック手段131で使用可能な検討の所定基準は、上述した多様な例示で説明、それについての説明は省略することにする。
【0077】
次に、クラスタリング手段132は、前記ステップS100を通してURLチェック手段131によってパーペチュアルカレンダ形式と疑われる各ウェブページのURLを所定基準に対応するクラスタにまとめる(S120)。具体的には、クラスタリング手段132は、同一のホストを有する各URLリストを一つのリストにまとめるホストクラスタリングを実行することができ、具体的な適用方式などについては既に詳細に説明した。
【0078】
次に、ステップS130を通して、日付パターン検出手段133は、以前のステップで同一のクラスタにまとめられた各URLリストに基づいて年、月及び日などに対応する部分、すなわち、日付パターンがどのように構成されたかを判断し、この情報を用いて正規表現を生成する。パラメータやパスなどに表示された日付パターンの具体的な分析及び正規表現の生成方式などについては、既に詳細に説明した。
【0079】
その後、パーペチュアルカレンダトラップ確認手段134は、以前のステップS130を通して生成された正規表現でまとめられた一つのクラスタに該当するURLリストのうちパーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページが持つURLが含まれているかどうかを決定(S140)する。ステップS140による決定の方式の一例示として、生成された正規表現のうち日付パターンに任意の日付を代入したURLを生成し、当該URLをアクセスして成功可否を確認する方式などがあり得る。当該方式又は他の多様な方式によるパーペチュアルカレンダトラップ確認手段134の具体的な決定の例については、既に詳細に説明した。
【0080】
最後に、正規表現適用手段135は、同一のクラスタにまとめられたURLリストに生成された正規表現に特定基準又は範囲を適用し、既存の検索データベース150や別途のデータベースに格納されたウェブページのうち、パーペチュアルカレンダページを含むウェブページのトラップによって収集された無意味なウェブページを削除し、かつ、ウェブクローラ140に適用することによって、以後、ウェブページの収集時に無意味なウェブページを収集しないように設定することができる(S150)。正規表現適用手段135による正規表現の適用の具体的な例については、既に詳細に説明した。
【0081】
本発明に係る各実施例は、多様なコンピュータ手段を通して行われるプログラム命令形態で実現され、コンピュータ読取可能な媒体に記録される。前記コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本発明のために特別に設計・構成されたものであるか、又はコンピュータソフトウェア当業者に公知となって使用可能なものである。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープなどの磁気媒体、CD―ROM、DVDなどの光記録媒体、フロプティカルディスク(Floptical disk)などの磁気―光媒体及びROM、RAM、フラッシュメモリなどのようなプログラム命令を格納・遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって作られるような機械語コードのみならず、インタプリタなどを使用してコンピュータによって実行可能な高級言語コードを含む。前記のようなハードウェア装置は、本発明の動作を行うために一つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆の場合も同様である。
【0082】
以上のように、本発明は、具体的な構成要素などの特定事項に限定された実施例及び図面に基づいて説明したが、これは、本発明のより全般的な理解を促進するために提供されたものに過ぎない。また、本発明は、前記実施例に限定されるものではなく、本発明の属する分野で通常的な知識を有する者であれば、このような記載から多様な修正及び変形が可能である。
【0083】
したがって、本発明の思想は、上述した実施例に限定して定められてはならなく、後述する特許請求の範囲のみならず、この特許請求の範囲と均等であるか、又は等価的変形のあるものは全て本発明の思想の範疇に属すると言えるだろう。
【符号の説明】
【0084】
131:URLチェック手段、132:クラスタリング手段、133:日付パターン検出手段、134:パーペチュアルカレンダトラップ確認手段、135:正規表現適用手段

【特許請求の範囲】
【請求項1】
クラスタリング手段によって、データベースに格納されたウェブページに対応するURL(Uniform Resource Locator)を所定基準でクラスタリングし、
日付パターン検出手段によって、前記クラスタリングの結果に含まれる日付パターンを分析して正規表現を生成し、
パーペチュアルカレンダトラップ確認手段によって、前記生成された正規表現を用いてパーペチュアルカレンダページを含むウェブページのトラップと疑われるクラスタを検出することを含むことを特徴とするトラップ検出方法。
【請求項2】
前記クラスタリングは、
前記URLを同一のホスト名を有するURLごとにクラスタリングするホストクラスタリング、それぞれのパスで連結された数字を置換子で置換し、正規化してクラスタリングするパスクラスタリング、又は、それぞれのパラメータの値及び一部のURLのみに含まれたパラメータを除いて正規化してクラスタリングするパラメータクラスタリングのうち少なくとも一つから選択される所定基準を適用することを特徴とする、請求項1に記載のトラップ検出方法。
【請求項3】
前記正規表現を生成することは、
前記クラスタリングの結果のURLを予め格納された日付パターンと比較して前記URLの日付パターンを予測し、
前記URLの予測された日付パターンを前記クラスタリングの結果の全てのURLに対して適用できるかどうかを決定し、
前記URLの日付パターンが前記クラスタリングの結果の全てのURLに対して適用される場合、前記URLの日付パターンに基づいて正規表現を生成することをさらに含むことを特徴とする、請求項1に記載のトラップ検出方法。
【請求項4】
前記日付パターンの適用可否を決定することは、
URLのうち年に対応する数字が0より大きい整数で、月に対応する数字が1以上12以下の整数に該当する場合に適用可能であると決定することを特徴とする、請求項3に記載のトラップ検出方法。
【請求項5】
前記トラップを検出することは、
前記生成された正規表現を用いて任意の日付を示すURLを所定の数だけ生成し、
前記生成されたURLへの接続を試み、
前記生成されたURLへの前記接続を試みて成功した場合、前記正規表現に関連する前記クラスタリングの結果を、パーペチュアルカレンダページを含むウェブページのトラップと疑われるトラップ候補クラスタとして検出することをさらに含むことを特徴とする、請求項1に記載のトラップ検出方法。
【請求項6】
前記トラップを検出することは、
前記クラスタリングの結果に対応するウェブページを、サイズを基準にしてクラスタリングし、
所定の検出条件を満足するクラスタを前記トラップ候補クラスタとして検出することをさらに含むことを特徴とする、請求項5に記載のトラップ検出方法。
【請求項7】
前記トラップを検出することは、
前記トラップ候補クラスタに含まれるウェブページのサイズの最小値及び最大値を算出することをさらに含むことを特徴とする、請求項6に記載のトラップ検出方法。
【請求項8】
前記トラップと疑われるクラスタを検出した後、正規表現適用手段によって、前記正規表現に所定の日付を代入したURLに対応するウェブページ及び/又は前記サイズの最小値から最大値の範囲に含まれるウェブページを、前記データベースから削除することをさらに含むことを特徴とする、請求項7に記載のトラップ検出方法。
【請求項9】
前記クラスタリングを実行する前に、URLチェック手段によって、前記データベースに格納されたウェブページに対応するURLのうち所定基準を満足しないURLは除外するURLチェックをさらに行うことを特徴とする、請求項1に記載のトラップ検出方法。
【請求項10】
前記URLチェックを行うことに適用される所定基準は、URLに数字が5個以上含まれ、かつ、4桁以上の連続した数字を有するかどうかであることを特徴とする、請求項9に記載のトラップ検出方法。
【請求項11】
パーペチュアルカレンダページを含むウェブページのトラップを検出するシステムにおいて、
データベースに格納されたウェブページに対応するURLを所定基準でクラスタリングするクラスタリング手段と、
前記クラスタリングの結果に含まれる日付パターンを分析して正規表現を生成する日付パターン検出手段と、
前記生成された正規表現を用いてパーペチュアルカレンダページを含むウェブページのトラップと疑われるクラスタを検出するパーペチュアルカレンダトラップ確認手段と、を含むことを特徴とするトラップ検出システム。
【請求項12】
前記クラスタリング手段は、
前記URLを同一のホスト名を有するURLごとにクラスタリングするホストクラスタリング、それぞれのパスで連結された数字を置換子で置換し、正規化してクラスタリングするパスクラスタリング、又は、それぞれのパラメータの値及び一部のURLのみに含まれるパラメータを除いて正規化してクラスタリングするパラメータクラスタリングのうち少なくとも一つから選択される所定基準を適用することを特徴とする、請求項11に記載のトラップ検出システム。
【請求項13】
前記日付パターン検出手段は、
前記クラスタリングの結果のURLを予め格納された日付パターンと比較して前記URLの日付パターンを予測し、前記URLの予測された日付パターンを前記クラスタリングの結果の全てのURLに対して適用できるかどうかを決定し、前記URLの日付パターンが前記クラスタリングの結果の全てのURLに対して適用される場合、前記URLの日付パターンに基づいて正規表現を生成することを特徴とする、請求項11に記載のトラップ検出システム。
【請求項14】
前記パーペチュアルカレンダトラップ確認手段は、
前記生成された正規表現を用いて任意の日付を示すURLを所定の数だけ生成し、前記生成されたURLへの接続を試みて成功した場合、前記正規表現に関連する前記クラスタリングの結果を、パーペチュアルカレンダページを含むウェブページのトラップと疑われるトラップ候補クラスタとして検出することを特徴とする、請求項11に記載のトラップ検出システム。
【請求項15】
前記パーペチュアルカレンダトラップ確認手段は、
前記クラスタリングの結果に対応するウェブページを、サイズを基準にしてクラスタリングし、所定の検出条件を満足するクラスタを前記トラップ候補クラスタとして検出することを特徴とする、請求項14に記載のトラップ検出システム。
【請求項16】
前記パーペチュアルカレンダトラップ確認手段は、
前記トラップ候補クラスタに含まれるウェブページのサイズの最小値及び最大値をさらに算出することを特徴とする、請求項15に記載のトラップ検出システム。
【請求項17】
前記正規表現に所定の日付を代入したURLに対応するウェブページ及び/又は前記サイズの最小値から最大値の範囲に含まれるウェブページを、前記データベースから削除する正規表現適用手段をさらに含むことを特徴とする、請求項16に記載のトラップ検出システム。
【請求項18】
前記データベースに格納されたウェブページに対応するURLのうち所定基準を満足しないURLは除外するURLチェック手段をさらに含むことを特徴とする、請求項11に記載のトラップ検出システム。
【請求項19】
請求項1乃至10のうちいずれか一項に記載されたトラップ検出方法の各ステップをコンピュータ上で遂行するためのプログラムが記録されていることを特徴とするコンピュータ読取可能な記録媒体。



【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図1】
image rotate


【公開番号】特開2012−9012(P2012−9012A)
【公開日】平成24年1月12日(2012.1.12)
【国際特許分類】
【出願番号】特願2011−86114(P2011−86114)
【出願日】平成23年4月8日(2011.4.8)
【出願人】(505205812)エヌエイチエヌ コーポレーション (408)
【Fターム(参考)】