JP2010501096A - ラッパー生成およびテンプレート検出の協同最適化 - Google Patents
ラッパー生成およびテンプレート検出の協同最適化 Download PDFInfo
- Publication number
- JP2010501096A JP2010501096A JP2009524708A JP2009524708A JP2010501096A JP 2010501096 A JP2010501096 A JP 2010501096A JP 2009524708 A JP2009524708 A JP 2009524708A JP 2009524708 A JP2009524708 A JP 2009524708A JP 2010501096 A JP2010501096 A JP 2010501096A
- Authority
- JP
- Japan
- Prior art keywords
- tree
- wrapper
- document
- nodes
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/137—Hierarchical processing, e.g. outlines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
テンプレート検出およびラッパー生成を協同して最適化することによって階層的に編成された文書のラッパーを生成する方法およびシステムを提供する。ラッパー生成システムは、文書ツリーのクラスタを識別することと、クラスタのラッパーツリーを生成することとによって、類似するテンプレートを有する文書のラッパーを生成する。ラッパーツリーは、クラスタのテンプレートと一致する文書のラッパーを定義する。ラッパー生成システムは、初期文書ツリーに基づいてクラスタのラッパーツリーを生成することによって、文書ツリーをクラスタ化する。ラッパー生成システムは、次に、任意の他の文書ツリーがクラスタのラッパーツリーと一致しまたはほぼ一致するかどうかを繰り返して判定し、そうである場合には、その文書ツリーをクラスタに追加し、適当にラッパーツリーを調整し、その結果、新たに追加された文書ツリーを含むすべての文書ツリーがラッパーツリーと一致するようにする。
Description
ワールドワイドウェブ(「ウェブ」)は、ウェブページを介してアクセス可能な膨大な量の情報を提供する。ウェブページは、スタティックコンテンツまたはダイナミックコンテンツを含むことができる。スタティックコンテンツは、一般に、ウェブページの多数のアクセスにまたがって同一のままであることができる情報を指す。ダイナミックコンテンツは、一般に、ウェブデータベース内に格納され、検索要求に応答してウェブページに追加される情報を指す。ダイナミックコンテンツは、ディープウェブまたは隠しウェブと呼ばれてきたものを表す。
多くの検索エンジンサービスは、ユーザがウェブのスタティックコンテンツを検索することを可能にする。ユーザが、検索用語を含む検索要求またはクエリをサブミットした後に、検索エンジンサービスは、これらの検索用語に関連する可能性があるウェブページを識別する。これらのウェブページが、検索結果である。関連するウェブページをすばやく識別するために、検索エンジンサービスは、ウェブページへのキーワードのマッピングを維持する場合がある。このマッピングは、各ウェブページのキーワードを識別するためにウェブを「クロール」することによって生成することができる。ウェブをクロールするために、検索エンジンサービスは、ルートウェブページを介してアクセス可能なすべてのウェブページを識別するためにルートウェブページのリストを使用する場合がある。特定のウェブページのキーワードは、見出しとしての単語の識別、ウェブページのメタデータ内で供給される単語、強調表示される単語など、さまざまな周知の情報検索技法を使用して識別することができる。
しかし、これらの検索エンジンサービスは、一般に、非クロール可能コンテンツとも考えられるダイナミックコンテンツの検索を提供しない。多くのウェブページは、構造化されたソース(たとえば、リレーショナルデータベース)から生成されたダイナミックページを含む。そのようなダイナミックコンテンツを含むウェブページが生成される時に、基礎になる構造化されたソースの構造化データは、構造化されない形または半構造化された形でウェブページ内においてエンコードされる。そのようなダイナミックコンテンツの検索に関連する1つの問題は、ウェブページから対応する構造化されたソースのスキーマを識別することが難しいことである。スキーマは、基礎になる構造化ソースに格納された情報または属性を定義する。この問題のゆえに、そのようなダイナミックコンテンツを有するウェブページの照会は、しばしば、不満足な結果をもたらす。
ウェブページのダイナミックコンテンツのスキーマを識別する試みが行われ、その結果、検索を容易にするためにより構造化されたフォーマットにコンテンツを変換できるようになってきた。構造化されたフォーマットでのウェブページからの情報およびその編成の抽出は、「ラッパー」と呼ばれるプログラムによって実行される。ウェブサイトのウェブページ用のラッパーを手作業で生成するのは、時間がかかる可能性がある。したがって、ダイナミックコンテンツを提供する数千個のウェブサイトの数百万個のウェブページのラッパーを手作業で生成するのは、非実用的である。
いくつかの自動ラッパー「誘導」システムまたは自動ラッパー生成システムが開発されてきた。ラッパー誘導は、ウェブページのダイナミックコンテンツのスキーマを学習することと、そのウェブページからデータを抽出し、抽出されたデータをスキーマによって識別される構造化フォーマットで格納するラッパーを生成することというプロセスである。これらの自動ラッパー誘導システムは、ラッパーの表現力に対して有効性をトレードオフするものである。有効性とは、ラッパー誘導プロセスには使用されないが、同一の「テンプレート」を共有するウェブページからコンテンツを抽出する際にラッパーがどれほど正確であるかを指す。ラッパー誘導システムは、ウェブページのトレーニングセットを使用してテンプレートに関してラッパーを生成する。次に、ラッパーは、同一のテンプレートを共有するウェブページからデータを抽出するのに使用される。表現力は、ラッパーのテンプレートによって識別されるラッパーによって処理できるウェブページの範囲を指す。ラッパーをより表現力のあるものにするために、ラッパー誘導システムは、一般に、ラッパーにワイルドカード(たとえば、「*」)を導入し、その結果、より多くのウェブページがラッパーの範囲に含まれるようにする。しかし、一般に、ラッパーの表現力が高まるほど、その有効性が下がり、逆も同様である。
有効性と表現力との間の受け入れられるトレードオフを提供するために、通常のラッパー誘導システムは、トレーニングウェブページを、ウェブページ上のダイナミックコンテンツの編成を表すテンプレートに従ってクラスタ化する。したがって、類似する編成を用いる(たとえば、同一のテンプレートを有する)ウェブページは、一緒にクラスタ化される。これらのラッパー誘導システムは、あるクラスタ内のウェブページのラッパーを自動的に生成することができる。クラスタのウェブページが類似するので、そのようなラッパーは、表現力を高めながら許容できる有効性を達成するために、限られたワイルドカードを使用する可能性がある。
Liu, B., Grossman, R., and Zhai, Y., "Mining Data Records in Web Pages," Proceedings of the 9th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2003, pp. 601-606
しかし、そのような通常のラッパー誘導システムによって生成されるラッパーの正確さは、大部分、同一のテンプレートを有するウェブページを正しくクラスタ化することの正確さに依存する。一部のラッパー誘導システムは、単純に、ウェブページのURLの間の類似性に基づいてウェブページをクラスタ化する。このクラスタ化の単純な手法は、ウェブサイトが、そのウェブサイトの同一のサブディレクトリ内の同一のテンプレートを使用するウェブページを格納する場合には適当である。その場合に、それらのURLは、サブディレクトリの位置を示すために同一のプレフィックスを有する。しかし、多くのウェブサイトは、ウェブページのURLを定義する時に、はるかにより複雑な手法を使用する。その結果、類似するURLを有するウェブページが、非常に異なるテンプレートを有する可能性があり、非常に異なるURLを有するウェブページが、非常に類似するテンプレートを有する場合がある。したがって、ウェブページの編成の類似性に基づいてウェブページを正確にクラスタ化することは、非常に難しい可能性があり、有効性と表現力との間の許容できないトレードオフを有するラッパーがもたらされる。
テンプレート検出とラッパー生成とを協同して最適化することによって階層的に編成された文書のラッパーを生成する方法およびシステムを提供する。ラッパー生成システムは、文書のテンプレートを検出すると同時に、文書のラッパーを動的に生成する。ラッパー生成システムは、ラベル付き葉ノードを有する文書ツリーとして文書を表す。ラッパー生成システムは、文書ツリーのクラスタを識別することと、クラスタのラッパーツリーを生成することとによって、類似するテンプレートを有する文書のラッパーを生成する。ラッパーツリーは、クラスタのテンプレートと一致する文書のラッパーを定義する。ラッパー生成システムは、初期文書ツリーに基づいてクラスタのラッパーツリーを生成することによって文書ツリーをクラスタ化する。次に、ラッパー生成システムは、他の文書ツリーがそのクラスタのラッパーツリーと一致しまたはほぼ一致するかどうかを繰り返して判定し、そうである場合には、その文書ツリーをクラスタに追加し、新たに追加された文書ツリーを含むすべての文書ツリーがラッパーツリーと一致するようにするために、適当にラッパーツリーを調整する。ラッパーツリーと一致するかほぼ一致する文書ツリーがもうない時には、そのクラスタのラッパーツリーの生成が完了する。次に、ラッパー生成システムは、このプロセスを繰り返して、文書ツリーの新しいクラスタを形成し、そのラッパーツリーを生成する。次に、ラッパー生成システムは、これらのラッパーツリーを使用して、ラッパーを定義する。新しい文書のデータを抽出するために、新しい文書の文書ツリーが生成され、最もよく一致するラッパーツリーが識別され、その識別されたラッパーツリーのラッパーが、データを抽出するのに使用される。
この「課題を解決するための手段」は、下の「発明を実施するための形態」でさらに説明する概念の選択物を単純化された形で導入するために提供されたものである。この「課題を解決するための手段」は、請求される主題の主要な特徴または本質的特徴を識別することを意図されたものではなく、請求される主題の範囲を判定する際の助けとして使用されることを意図されたものでもない。
テンプレート検出およびラッパー生成を協同して最適化することによって階層的に編成された文書のラッパーを生成する方法およびシステムを提供する。一実施形態で、ラッパー生成システムは、文書のテンプレートを検出すると同時に文書のラッパーを動的に生成する。ラッパー生成システムは、ウェブページなど、それぞれが文書ツリーと称するその階層のツリー構造によって表される、階層的に編成された文書のコレクションを与えられる。たとえば、ウェブページが、ドキュメントオブジェクトモデル(「DOM」)に準拠する場合に、文書ツリーは、DOM文書のタグに対応するノードを含む。ラッパー生成システムは、文書ツリーの葉ノードのラベルをも与えられる。これらのラベルは、基礎になる構造化データの識別子、フィールド、または属性に対応する。たとえば、自動車に関する情報を含むウェブページは、「メーカー」、「モデル」、「年式」、「色」、「価格」などとしてラベル付けされた葉ノードを有する可能性がある。ラッパー生成システムは、コレクションの文書ツリーを選択し、その文書ツリーに対応するラッパーツリーを生成することによって、類似するテンプレートを有する文書のラッパーを生成する。ラッパーツリーは、検出されたテンプレートと一致する文書のラッパーを定義する。ラッパー生成システムは、コレクションの任意の他の文書ツリーがラッパーツリーとほぼ一致するかどうかを判定する。そうである場合には、ラッパー生成システムは、文書ツリーが、ラッパーを生成するのに使用された文書ツリーと同一のテンプレートを共有すると考える。ラッパー生成システムは、ほぼ一致する文書ツリーについてラッパーツリーを調整し、その結果、両方の文書ツリーがそのラッパーツリーと一致するようにする。文書ツリーが、たまたまラッパーツリーと正確に一致する場合には、ラッパー生成システムは、ラッパーツリーを調整する必要がない。次に、ラッパー生成システムは、コレクションの任意の他の文書ツリーが調整されたラッパーツリーとほぼ一致するかどうかの判定およびラッパーツリーの調整を、調整されたラッパーツリーとほぼ一致するコレクション内の文書ツリーがなくなるまで繰り返す。ラッパーツリーの生成および調整に使用される文書ツリーを、類似するテンプレートを有し、ラッパーツリーと一致する文書ツリーの「クラスタ」と称する。次に、ラッパー生成システムは、新しいクラスタを形成するための文書ツリーの選択、その文書ツリーのラッパーツリーの生成、およびクラスタに追加されるほぼ一致するツリーに関するラッパーツリーの動的調整というプロセスを繰り返す。この形で、ラッパー生成システムは、動的に生成されるラッパーツリーに基づいてテンプレートを検出し、動的に識別されたテンプレートに基づいてラッパーツリーを生成する。次に、ラッパー生成システムは、ラッパーツリーを使用してラッパーを定義する。
一実施形態で、ラッパー生成システムは、距離メトリックを使用して、文書ツリーがラッパーツリーと一致し、またはほぼ一致するかどうかを判定する。ラッパーツリーは、類似するテンプレートを有する文書ツリーを定義するラッパーノードの階層であり、テンプレートを有する文書ツリーからデータを抽出するのに使用されるラッパーを表す。ラッパーツリーのラッパーノードは、ラッパーのノードと一致する文書ツリーの対応する文書ノードを定義するタグ、ラベル、またはワイルドカードを含むことができる。文書ツリーとラッパーツリーとの間の距離を判定するために、ラッパー生成システムは、文書ノードをラッパーノードに位置合せする。次に、ラッパー生成システムは、ラッパーノードと位置合せされないツリーノードの個数と、ツリーノードと位置合せされないラッパーノードの個数とをカウントする。ラッパー生成システムは、これらの位置合せされないノードの個数に基づいて距離メトリックを計算する。ラッパー生成は、距離メトリックを正規化し、その結果、同一の距離しきい値を、そのサイズに関わりなく文書ツリーとラッパーツリーとの間のほぼ一致を定義するのに使用できるようにすることもできる。たとえば、5つの位置合せされないノードを有する文書ツリーは、100個のノードを有するラッパーツリーとほぼ一致するが、10個のノードのみを有するラッパーツリーとほぼ一致はしないものとすることができる。
一実施形態で、ラッパー生成システムは、固定しきい値または適応しきい値のいずれかを使用して、文書ツリーがラッパーツリーとほぼ一致するかどうかを判定することができる。固定しきい値を使用する時には、ラッパー生成システムは、ラッパー生成プロセス全体を通じて、文書ツリーがラッパーツリーとほぼ一致するかどうかを判定するのに同一のしきい値を使用する。適応しきい値を使用する時には、ラッパー生成システムは、当初に、文書ツリーをクラスタ化する時に小さいしきい値を使用することができる。クラスタのラッパーツリーとほぼ一致する文書ツリーがもうない場合に、ラッパー生成システムは、しきい値を増やし、その後、増やされたしきい値を使用し、ラッパーツリーを適当に調整することによって、ラッパーツリーとほぼ一致する文書ツリーをクラスタに追加することができる。その後、ラッパー生成システムは、増やされたしきい値に基づいて調整されたラッパーツリーが、以前のしきい値を用いるラッパーツリーよりよく動作するかどうかをテストする。ラッパー生成システムは、新たに調整されたラッパーツリーに基づくラッパーを使用してクラスタの文書ツリーからデータを抽出することによって、性能をテストすることができる。この性能が、大幅によりよいものではない場合には、ラッパー生成システムは、増やされたしきい値のゆえに追加された文書ツリーを除外するように最終的なクラスタをセットすることと、最終的なラッパーツリーに、増やされたしきい値のゆえに調整される前のラッパーツリーをセットすることとによって、増やされたしきい値の影響をロールバックする。しかし、調整されたラッパーツリーの性能の方がよい場合には、ラッパー生成システムは、もう一度しきい値を増やし、ほぼ一致する文書ツリーをクラスタに追加する。ラッパー生成システムは、増やされたしきい値に基づいて調整されたラッパーツリーが以前のしきい値を用いるラッパーツリーよりよくまたは大幅によりよく動作しなくなるまで、このプロセスを継続する。
図1は、一実施形態のラッパー生成システムの動作の高水準概要を示すブロック図である。このラッパー生成システムは、ウェブページなどの文書のトレーニングセットを与えられる101。このラッパー生成システムは、次に、ウェブページを解析して102、文書ツリーを生成し、その葉ノードのラベルを入力する。このラッパー生成システムは、テンプレートを協同して検出し103、動的に調整されるラッパーツリーに基づいて文書ツリーをクラスタ化することによってラッパーを生成する103。次に、このラッパー生成システムは、ラッパーツリーに基づいて定義されたラッパーを出力する104。次に、このラッパー生成システムは、ラッパーを使用してウェブページからデータを抽出することができる。このラッパー生成システムは、新しいウェブページを受け取る105時に、新しいウェブページを解析して106、文書ツリーを生成する。次に、このラッパー生成システムは、距離メトリックに基づいて、生成された文書ツリーに最も近いラッパーツリーを選択し107、選択されたラッパーツリーに対応するラッパーを使用してツリーからデータを抽出する108。一実施形態で、文書は、XMLフォーマットで表すことができる。
ラッパー生成システムは、「括弧」ノードを含めることができる各ラッパーノードに割り当てられた記号を有する修正DOMツリー(modified DOM tree)としてラッパーツリーを表す。ラッパー生成システムは、ラッパーノードの記号を使用して、文書ツリーとラッパーツリーとの間の距離を計算する時に、文書ノードおよびラッパーノードが位置合せされているかどうかを判定する。ラッパー生成システムは、ラッパーノードσの記号S(σ)が、1、整数N(N≧2)、またはワイルドカードすなわち?、+、および*のうちの1つになるように定義する。1の記号は、ラッパーノードが1つのツリーノードだけと一致することができることを意味する。Nの記号は、ラッパーノードがN個の連続するツリーノードだけと一致することができることを意味する。?の記号は、ラッパーノードが0個または1個のツリーノードだけと一致することができることを意味する。+の記号は、ラッパーノードが連続するN個のツリーノードと一致することができ、N≧1であることを意味する。*の記号は、ラッパーノードが0個または連続するN個のツリーノードと一致することができ、N≧1であることを意味する。?または*の記号を有するラッパーノードは、ツリーノードと一致しない可能性があるので、「ソフト」ノードと考えられる。他のすべてのラッパーノードは、「ハード」ノードと考えられる。ラッパーツリーには、「ブロック」ノードと称する特殊なノードを含めることができる。括弧ノードは、タグを有しておらず、括弧の対のように振る舞い、したがって、葉ノードになることはできない。ラッパーツリーの他のすべてのノードは、「タグ」ノードと呼ばれる。
一実施形態で、ラッパー生成システムは、文書ツリーとラッパーツリーとの間の距離メトリックを、文書ツリーおよびラッパーツリーの重さに基づいて正規化する。ラッパー生成システムは、ツリーノードσのツリーノード重さW(σ)を、σをルートとするサブツリーのノード数と等しくなるように定義する。そのルートノードがτであるツリーTdの文書ツリー重さW(Td)は、W(τ)である。ラッパー生成システムは、ラッパーノードσのラッパーノード重さW(σ)を、そのラッパーノードがソフトノードである時には0になり、そのラッパーノードがハードノードである時にはその子ノードの重さの合計になり、そのラッパーノードがハード葉タグノードである。時には1になり、そのラッパーノードがハード非葉タグノードである時には1にその子ノードの重さの合計を加えたものになるように定義する。ラッパーツリー重さは、ラッパーツリーTwのW(Tw)は、Twが文書ツリーTdによって生成される時にはW(Td)であり、ラッパーツリーTwがラッパーツリー
および
の組合せによって生成される時には
である。
ラッパー生成システムは、ラッパーツリーを生成するのに使用される文書ツリーの個数として「ラッパーレベル」を定義する。レベル1ラッパーツリーは、文書ツリーをラッパーツリーに変換することによって生成されるラッパーツリーである。文書ツリーのラッパーツリーへの変換は、次の式によって表される。
Td→Tw
ここで、Tdは、文書dの文書ツリーを表し、Twは、ラッパーwのラッパーツリーを表す。定義により、レベル1ラッパーの重さは、それがそこから生成された文書ツリーの重さである。文書ツリーをラッパーツリーに変換する時に、ラッパー生成システムは、反復パターン組合せアルゴリズムを実行して、TwをTdより簡潔にする。一実施形態で、ラッパー生成システムは、参照によって本明細書に組み込まれている非特許文献1に記載のアルゴリズムに類似するアルゴリズムを使用する。このアルゴリズムが、文書ノードの同一の連続するサブツリーを検出する場合に、このアルゴリズムは、それらをラッパーツリーの1つのラッパーノードにマージし、その記号に同一のサブツリーの個数をセットする。このアルゴリズムが、文書ノードの同一の連続するサブフォレストを識別する場合に、このアルゴリズムは、ラッパーツリー内のブロックノードの下の1つのサブフォレストとしてそれらをマージし、その記号に同一のサブフォレストの個数をセットする。このアルゴリズムは、文書ツリーをラッパーツリーに変換する時に、葉ノードのラベルを検討する。図2に、文書ツリーのラッパーツリーへの変換を示す。文書ツリー210が、ラッパーツリー220に変換される。文書ツリーのルートノードAは、BノードおよびCノードの反復サブフォレストを含むので、ラッパー生成システムは、括弧ノードXをラッパーツリーに追加し、その記号に2をセットする。各Bノードは、連続するノードD1を含む(添字は、ノードのラベルを表す)ので、ラッパー生成システムは、これらのノードをラッパーツリー内で組み合わせ、その記号に2をセットする。
Td→Tw
ここで、Tdは、文書dの文書ツリーを表し、Twは、ラッパーwのラッパーツリーを表す。定義により、レベル1ラッパーの重さは、それがそこから生成された文書ツリーの重さである。文書ツリーをラッパーツリーに変換する時に、ラッパー生成システムは、反復パターン組合せアルゴリズムを実行して、TwをTdより簡潔にする。一実施形態で、ラッパー生成システムは、参照によって本明細書に組み込まれている非特許文献1に記載のアルゴリズムに類似するアルゴリズムを使用する。このアルゴリズムが、文書ノードの同一の連続するサブツリーを検出する場合に、このアルゴリズムは、それらをラッパーツリーの1つのラッパーノードにマージし、その記号に同一のサブツリーの個数をセットする。このアルゴリズムが、文書ノードの同一の連続するサブフォレストを識別する場合に、このアルゴリズムは、ラッパーツリー内のブロックノードの下の1つのサブフォレストとしてそれらをマージし、その記号に同一のサブフォレストの個数をセットする。このアルゴリズムは、文書ツリーをラッパーツリーに変換する時に、葉ノードのラベルを検討する。図2に、文書ツリーのラッパーツリーへの変換を示す。文書ツリー210が、ラッパーツリー220に変換される。文書ツリーのルートノードAは、BノードおよびCノードの反復サブフォレストを含むので、ラッパー生成システムは、括弧ノードXをラッパーツリーに追加し、その記号に2をセットする。各Bノードは、連続するノードD1を含む(添字は、ノードのラベルを表す)ので、ラッパー生成システムは、これらのノードをラッパーツリー内で組み合わせ、その記号に2をセットする。
ラッパー生成システムは、2つの低水準ラッパーツリーの位置合わせに基づいて高水準ラッパーツリーを生成する。ラッパー生成システムは、トップダウンの順序でレイヤごとに2つのラッパーツリー
および
を位置合せする。ルートノードから同一の深さにあるノードは、同一レイヤに含まれ、ブロックノードは、1つのレイヤに含まれるとは考えられない。ラッパー生成システムは、同一レイヤ内のノードだけを位置合せする。ラッパー生成システムは、ラッパーノード
および
が、両方とも非葉ノードであるか、両方とも葉ノードであり、
であり、
および
が両方とも葉ノードである場合に
である。
ここで、T(σ)は、ノードσのタグを表し、L(σ)は、ノードσのラベルを表す。各レイヤで、ラッパー生成システムは、位置合わせ関数
ここで、T(σ)は、ノードσのタグを表し、L(σ)は、ノードσのラベルを表す。各レイヤで、ラッパー生成システムは、位置合わせ関数
を呼び出すことによって表されるように、サブツリーのアレイ
と
との間のシーケンス位置合わせを実行する。ラッパー生成システムは、最小コスト位置合わせを入手するために動的計画法を使用する。
および
内のすべての不一致のルートノードは、その重みをコストとして
に寄与する。非葉ノードである一致するノードの対
および
について、ラッパー生成システムは、
を再帰的に呼び出し、ここで、
および
は、
および
の子ノードをルートとするサブツリーからなるサブフォレストである。ラッパー生成システムは、関数
を呼び出すことによって計算されたコストを
のコストに加算する。ラッパー生成システムは、ラッパーノードをトップダウンの再帰的な形で位置合せするので、2つのラッパー内のノードの両方がルートノードであるか、その親ノードが互いに位置合せされている場合に限って、それらのノードの位置合わせを試みる。
図3は、一実施形態でのラッパーツリーのマージを示す図である。ラッパーツリー310および320がマージされて、ラッパーツリー330を形成する。影付きのノードDおよびGは、他方のラッパーツリー内に一致するノードを有しない。その結果、マージされたラッパーツリーの対応するラッパーノードは、ソフトノードである。ラッパー生成システムは、当初に、これらのラッパーツリーのルートノードを渡して、A(A,A)として位置合わせ関数を呼び出す。この関数は、第2レイヤのラッパーノードを渡してA(B(C3DE*)?,BC3E)としてそれ自体を再帰的に呼び出す。ワイルドカード?はソフトなので、この関数は、A(BC3DE*,BC3E)およびA(B,BC3E)としてそれ自体を再帰的に呼び出す。前者が、より低いコスト(すなわち、よりよい一致)をもたらすので、この関数は、前者を位置合わせとして選択する。関数A(B(C3DE*)?,BC3E)の動的計画法プロセス中に、関数A(F2,FG+)が、A(BC3DE*,BC3E)とA(B,BC3E)との両方によって再帰的に呼び出されて、この2つの解のコストを計算する。位置合わせが、2つのラッパーツリーの間の最適解を入手した後に、ラッパー生成システムは、次の記号生成関数Fを使用して新しいラッパーツリーを構築する。
F(1,NULL) = ? |F(?,N) = *
F(?,NULL) = ? |F(?,+) = *
F(n,NULL) = * |F(1,*) = *
F(+,NULL) = * |F(N,*) = *
F(*,NULL) = * |F(?,*) = *
F(1,1) = 1 |F(+,*) = * (1)
F(N,N) = N |F(1,N) = +
F(+,+) = + |F(N,+) = +
F(?,?) = ? |F(1,+) = +
F(*,*) = * |F(N1,N2) = +
F(1,?) = ? |
ここで、NULLは、ラッパーノードの不一致を表す。たとえば、F(1,NULL)は、その記号が1であるラッパーノードの不一致を示す。
F(1,NULL) = ? |F(?,N) = *
F(?,NULL) = ? |F(?,+) = *
F(n,NULL) = * |F(1,*) = *
F(+,NULL) = * |F(N,*) = *
F(*,NULL) = * |F(?,*) = *
F(1,1) = 1 |F(+,*) = * (1)
F(N,N) = N |F(1,N) = +
F(+,+) = + |F(N,+) = +
F(?,?) = ? |F(1,+) = +
F(*,*) = * |F(N1,N2) = +
F(1,?) = ? |
ここで、NULLは、ラッパーノードの不一致を表す。たとえば、F(1,NULL)は、その記号が1であるラッパーノードの不一致を示す。
ラッパー生成システムは、次を除いて、ラッパーツリーが位置合せされる方法に似た形で文書ツリーおよびラッパーツリーを位置合せする。ラッパーツリーは、1対1の形で位置合せされるが、その記号が+または*であるラッパーノード(タグノードのみ)を、複数の文書ノードと位置合わせすることができる。また、2つのラッパーノードを位置合せできるかどうかを判定する時には、ラッパー生成システムは、ノードのラベルを考慮に入れない。ラッパーツリーTwと文書ツリーTdとの間の位置合わせについて、ラッパー生成システムは、不一致の文書ノードによって寄与される総コストを示すためにCd(Tw,Td)を使用する。Cdは、ラッパーノードと一致しない文書ツリーTdのノードのカウントを表し、Cwは、文書ノードと一致しないラッパーツリーTwのノードを表す。
の場合には、すべての文書ツリーTdについて、
とTdとの間の位置合わせは、少なくとも
とTdとの間ならびに
とTdとの間と同数の一致する対を作る。というのは、
および
と同数のワイルドカードを有するからである。また、
に現れるが
と
との両方には存在しないラッパーノードは、ソフトノードであり、したがって、コストには寄与しない。したがって、すべての文書ツリーTdについて、次の条件が満足される。
ラッパー生成システムは、次の式によってラッパーツリーTwと文書ツリーTdとの間の距離を定義する。
この式は、すべてのラッパーツリーTwおよび文書ツリーTdについて、0≦Ψ(Tw,Td)≦1であるという特性を有する。また、すべての文書ツリーTdについて、次の条件が満足される。
図4は、ラッパーツリーと文書ツリーとの位置合わせを示す図である。ラッパーノードおよび文書ノードは、破線によって示されているように位置合せされる。
一実施形態で、ラッパー生成システムは、文書ツリーがラッパーツリーとほぼ一致するかどうかを判定する時に、適応しきい値を使用する。ラッパー生成システムは、当初に、小さいしきい値から開始する。文書ツリーが現在のしきい値内にない時には、ラッパー生成システムは、小さい量だけしきい値を増やす。ラッパー生成システムは、増やされたしきい値がラッパーツリーによって表されるラッパーの性能を大きくは高めなくなるまで、クラスタ化を繰り返す。ラッパー生成システムは、対応するクラスタ化された文書ツリーをテストすることによって、増やされたしきい値の下で生成されたラッパーツリーTw’の性能を評価する。ラッパー生成システムは、次に、前のラッパーツリーおよび現在のラッパーツリーの精度p、リコールr、およびF1 fを計算する。ラッパー生成システムは、次の式によって、大きい改善を表すことができる。
ここで、λは、しきい値増加が生成されるラッパーのリコールの大きい改善につながることを保証するのに使用される小さい値(たとえば、0.005)である。ラッパー生成システムは、初期しきい値と1との間になるように定義される停止値に達する時に、しきい値の増加を終了することもできる。
図5は、一実施形態でのラッパー生成システムのコンポーネントを示すブロック図である。ラッパー生成システム530は、通信リンク520を介してウェブサイト510に接続される。ラッパー生成システムは、ウェブページ収集コンポーネント531および文書ツリーストア532を含む。ウェブページ収集コンポーネントは、さまざまなウェブサイトをクロールして、ラッパー生成用のトレーニングデータとしてウェブページを収集する。ウェブページ収集コンポーネントは、各ウェブページのドキュメントオブジェクトモデル(「DOM」)表現を生成し、その表現を文書ツリーとして文書ツリーストア内に格納する。ラッパー生成システムは、ユーザが文書ツリーの葉ノードに手作業でラベルを付けるためのユーザインターフェースをも提供することができる。ラッパー生成システムは、これらのラベルを文書ツリーストア内に格納する。したがって、ラッパー生成用のトレーニングデータは、葉ノードのラベルと一緒に文書ツリーを含む。ラッパー生成システムは、ラッパー生成コンポーネント533およびラッパーストア534をも含む。ラッパー生成コンポーネントは、類似するテンプレートを共有するウェブページをクラスタ化し、ツリーストアのトレーニングデータのラッパーツリーを生成し、そのラッパーツリーをラッパーストアに格納する。ラッパー生成コンポーネントは、類似するテンプレートを共有するウェブページを動的にクラスタ化し、クラスタ化中にラッパーツリーを動的に調整する。したがって、クラスタのウェブページは、それらがクラスタのラッパーツリーとどれほどよく一致するかに基づいて選択され、ラッパーツリーは、クラスタの選択されたウェブページに基づいて調整される。ラッパー生成コンポーネントは、ラッパーへの文書変換コンポーネント535、クラスタへの一致する文書の移動コンポーネント536、クラスタへのほぼ一致する文書の移動コンポーネント537、距離計算コンポーネント538、およびラッパー調整コンポーネント539を呼び出す。ラッパーへの文書変換コンポーネントは、トレーニングデータの文書ツリーをラッパーツリーに変換する。クラスタへの一致する文書の移動コンポーネントは、クラスタの現在のラッパーツリーと一致するトレーニングデータの文書ツリーを識別し、これらの識別された文書ツリーをクラスタに移動する。クラスタへのほぼ一致する文書の移動コンポーネントは、クラスタの現在のラッパーツリーとほぼ一致するトレーニングデータの文書ツリーを識別し、これらの識別された文書ツリーをクラスタに移動し、これらの識別された文書ツリーに基づいてクラスタのラッパーツリーを調整する。距離計算コンポーネントは、文書ツリーとラッパーツリーとの間の距離を計算して、文書ツリーがどれほどよく一致するかを判定する。ラッパー調整コンポーネントは、新しい文書ツリーがクラスタに追加される時のクラスタのラッパーツリーの動的調整をもたらすために、2つのラッパーツリーをマージする。ラッパー生成コンポーネントがウェブページをクラスタ化した後に、ラッパー生成コンポーネントは、各クラスタの動的に生成されたラッパーツリーをラッパーストアに格納する。ラッパー生成システムは、ラッパー選択コンポーネント540をも含む。ラッパー選択コンポーネントは、ウェブページを受け取り、そのウェブページの文書ツリーを生成し、そのツリーに最も近いラッパーストアのラッパーツリーを識別し、識別されたラッパーツリーのラッパーを使用してウェブページからデータを抽出する。
ラッパー生成システムを実施できるコンピューティング装置は、中央処理装置、メモリ、入力装置(たとえば、キーボードおよびポインティング装置)、出力装置(たとえば、ディスプレイ装置)、およびストレージ装置(たとえば、ディスクドライブ)を含むことができる。物理メモリおよびストレージ装置は、ラッパー生成システムを実施する命令およびデータ構造を含むことができるコンピュータ可読媒体である。さらに、このデータ構造および命令を、格納するか、通信リンク上の信号などのデータ伝送媒体を介して伝送することができる。インターネット、ローカルエリアネットワーク、広域ネットワーク、ポイントツーポイントダイヤルアップネットワーク、セル電話網など、さまざまな通信リンクを使用して、システムのコンポーネントを接続することができる。
ラッパー生成システムの実施形態は、パーソナルコンピュータ、サーバコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などを含むさまざまなオペレーティング環境で実施し、使用することができる。ユーザコンピューティング装置は、セル電話機、携帯情報端末、スマートホン、パーソナルコンピュータ、プログラマブル消費者エレクトロニクス、ディジタルカメラなどを含むことができる。
ラッパー生成システムは、1つまたは複数のコンピュータまたは他の装置によって実行される、プログラムモジュールなどのコンピュータ実行可能命令の全体的な文脈で説明することができる。一般に、プログラムモジュールは、特定のタスクを実行するか特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、プログラムモジュールの機能性は、さまざまな実施形態で望み通りに組み合わせるか分散させることができる。ラッパー生成システムによって使用される文書には、ウェブページ、XMLベースの文書、HTMLベースの文書など、すべての階層的に編成された文書を含めることができる。
図6は、一実施形態でのラッパー生成システムのラッパー生成コンポーネントの処理を示す流れ図である。このコンポーネントは、類似するテンプレートを有するウェブページを動的にクラスタ化し、ウェブページの各クラスタのラッパーツリーを動的に生成する。このコンポーネントは、当初に、トレーニングコレクションD内にトレーニングデータのすべての文書ツリーを有する状態で開始する。ブロック601〜609では、このコンポーネントは、ウェブページのクラスタを識別し、クラスタのラッパーツリーを動的に調整しながらループする。判断ブロック601で、トレーニングコレクションが空の場合には、このコンポーネントは完了し、そうでない場合には、このコンポーネントはブロック602で継続する。ブロック602では、このコンポーネントは、新しいクラスタTPを作成する。ブロック603で、このコンポーネントは、コレクションからの文書ツリーTdをクラスタの最初の文書ツリーとして選択する。一実施形態で、このコンポーネントは、文書ツリーをランダムに選択する。ブロック604で、このコンポーネントは、ラッパーへの文書変換コンポーネントを呼び出して、選択された文書ツリーTdを新しいクラスタTPの初期ラッパーツリーTwに変換する。ブロック605で、このコンポーネントは、コレクションDからの選択された文書ツリーTdを新しいクラスタTPに移動する。ブロック606で、このコンポーネントは、クラスタへの一致する文書の移動コンポーネントを呼び出して、初期ラッパーツリーと一致する文書ツリーをコレクションDから新しいクラスタTPに移動する。ブロック607で、このコンポーネントは、クラスタへのほぼ一致する文書の移動コンポーネントを呼び出して、調整されたラッパーツリーとほぼ一致する文書ツリーをコレクションDから新しいクラスタTPに移動し、移動された文書に基づいてラッパーツリーを調整する。ブロック608で、このコンポーネントは、クラスタTPをクラスタのコレクションRに追加する。ブロック609で、このコンポーネントは、ラッパーツリーTwをラッパーツリーのコレクションWに追加する。その後、このコンポーネントは、ブロック601にループして、クラスタの識別を継続する。
図7は、一実施形態でのラッパー生成システムのラッパーへの文書変換コンポーネントの処理を示す流れ図である。このコンポーネントは、文書ツリーのルートノードを渡され、ラッパーツリーを生成するためにこのコンポーネント自体を再帰的に呼び出す。このコンポーネントは、再帰的であるものとして図示されているが、当業者は、このコンポーネントを、その代わりに非再帰的な形で実施できることを了解するであろう。判断ブロック701で、渡されたノードが葉ノードである場合には、このコンポーネントはリターンし、そうでない場合には、このコンポーネントはブロック702で継続する。ブロック702〜704では、このコンポーネントは、渡されたノードの各子ノードを選択し、このコンポーネントを再帰的に呼び出しながらループする。ブロック702で、このコンポーネントは、渡されたノードの次の子ノードを選択する。判断ブロック703で、すべての子ノードを既に選択し終えている場合に、このコンポーネントは、ブロック705で継続し、そうでない場合には、このコンポーネントは、ブロック704で継続する。ブロック704で、このコンポーネントは、選択されたノードを渡して、ラッパーへの文書変換コンポーネントを再帰的に呼び出し、その後、ブロック702にループして、次の子ノードを選択する。ブロック705で、このコンポーネントは、渡されたノードの連続するサブツリーを組み合わせる。ブロック706で、このコンポーネントは、渡されたノードの連続するサブフォレストを組み合わせる。その後、このコンポーネントは、リターンする。
図8は、一実施形態でのラッパー生成システムのクラスタへの一致する文書の移動コンポーネントの処理を示す流れ図である。このコンポーネントは、ラッパーツリーTwと一致するコレクションDのすべての文書ツリーTdをクラスタTPに移動する。ブロック801で、このコンポーネントは、コレクションDの次の文書ツリーTdを選択する。判断ブロック802で、すべての文書ツリーが既に選択済みである場合には、このコンポーネントは、リターンし、そうでない場合には、このコンポーネントは、ブロック803で継続する。ブロック803では、このコンポーネントは、距離計算コンポーネントを呼び出して、選択された文書ツリーTdとラッパーツリーTwとの間の距離を計算する。判断ブロック804で、距離が0である場合には、選択された文書ツリーは、ラッパーツリーと一致し、このコンポーネントは、ブロック805で継続し、そうでない場合には、このコンポーネントは、ブロック801にループして、次の文書ツリーを選択する。ブロック805で、このコンポーネントは、選択された文書ツリーTdをクラスタTPに移動し、その後、ブロック801にループして、次の文書ツリーを選択する。
図9は、一実施形態でのラッパー生成システムのクラスタへのほぼ一致する文書の移動コンポーネントの処理を示す流れ図である。このコンポーネントは、ラッパーツリーTwとほぼ一致するコレクションDの文書ツリーをクラスタTPに移動し、ラッパーツリーを動的に調整する。このコンポーネントは、コレクション内のどの文書も、調整されたラッパーツリーとほぼ一致しなくなるまでこの処理を繰り返す。ブロック901〜906では、このコンポーネントは、ほぼ一致する文書ツリーをクラスタに移動しながらループする。ブロック901で、このコンポーネントは、文書ツリーTdがラッパーツリーTwとほぼ一致するかどうかを判定するために、ほぼ一致する文書のチェックコンポーネントを呼び出す。判断ブロック902で、ほぼ一致する文書ツリーが見つかった場合には、このコンポーネントは、ブロック903で継続し、そうでない場合には、このコンポーネントは、ブロック907で継続する。ブロック903で、このコンポーネントは、ラッパーへの文書の変換コンポーネントを呼び出して、ほぼ一致する文書ツリーをラッパーツリーTw’に変換する。ブロック904で、このコンポーネントは、ラッパー調整コンポーネントを呼び出して、クラスタに追加される文書ツリーから生成されたラッパーツリーTw’に基づいて、ラッパーツリーTwを調整する。ブロック905で、このコンポーネントは、文書ツリーTdをコレクションDからクラスタTPに移動する。ブロック906で、このコンポーネントは、クラスタへの一致する文書の移動コンポーネントを呼び出して、調整されたラッパーツリーと一致するコレクションのすべての文書ツリーをクラスタに移動する。その後、このコンポーネントは、ブロック901にループして、調整されたラッパーツリーとほぼ一致するさらなる文書ツリーをチェックする。
ブロック907〜911で、このコンポーネントは、クラスタへの文書ツリーの移動に関する適応しきい値を実施する。このコンポーネントが固定しきい値を使用した場合には、このコンポーネントは、ブロック907で継続するのではなく、リターンする。ブロック907では、このコンポーネントは、現在のしきい値が、前のしきい値を使用して生成されたラッパーツリーより改善されたラッパーツリーをもたらしたかどうかを判定する。判断ブロック908で、改善が大きい場合には、このコンポーネントは、ブロック909でしきい値を増やし、ブロック901にループして、増やされたしきい値に基づいて文書ツリーをクラスタに移動する。しかし、改善が大きくはない場合には、このコンポーネントは、ブロック910で継続する。判断ブロック910では、改善がある場合に、このコンポーネントは、リターンし、そうでない場合には、このコンポーネントは、ブロック911で継続する。ブロック911で、このコンポーネントは、改善をもたらさなかった現在のしきい値に関する文書ツリー移動の影響をロールバックし、その後、リターンする。
図10は、一実施形態でのラッパー生成システムのほぼ一致する文書のチェックコンポーネントの処理を示す流れ図である。このコンポーネントは、ほぼ一致である文書ツリーが見つかるか、一致する文書ツリーがないと判定されるまで、コレクションDの文書ツリーとラッパーツリーTwとの間の距離をチェックしながらループする。ブロック1001で、このコンポーネントは、コレクションDの次の文書ツリーTdを選択する。判断ブロック1002で、コレクションの文書ツリーのすべてが既に選択済みである場合には、ほぼ一致である文書ツリーはなく、このコンポーネントは、ほぼ一致がないことを示してリターンし、そうでない場合には、このコンポーネントは、ブロック1003で継続する。ブロック1003で、このコンポーネントは、ラッパーツリーTwおよび文書ツリーTdを渡して距離計算コンポーネントを呼び出して、文書ツリーとラッパーツリーとの間の距離を計算する。判断ブロック1004で、距離がしきい値未満である場合に、このコンポーネントは、ほぼ一致を示して文書ツリーを返し、そうでない場合には、このコンポーネントは、ブロック1001にループして、コレクションの次の文書ツリーを選択する。代替案では、このコンポーネントは、最も近いほぼ一致するが同一ではない文書ツリー、最も遠いほぼ一致する文書ツリー、またはランダムに選択されたほぼ一致する文書ツリーを返すことができる。
図11は、一実施形態でのラッパー生成システムの距離計算コンポーネントの処理を示す流れ図である。このコンポーネントは、ラッパーツリーTwおよび文書ツリーTdを渡され、そのラッパーツリーとその文書ツリーとの間の距離を計算する。ブロック1101で、このコンポーネントは、文書ツリーをラッパーツリーに位置合せする。ブロック1102で、このコンポーネントは、ラッパーツリーの位置合せされないノードの個数Cwをカウントする。ブロック1103で、このコンポーネントは、ラッパーツリーの重さW(Tw)を計算する。ブロック1104で、このコンポーネントは、文書ツリーの位置合せされないノードの個数Cdをカウントする。ブロック1105で、このコンポーネントは、文書ツリーの重さW(Td)を計算する。ブロック1106で、このコンポーネントは、式5を使用して距離を計算する。その後、このコンポーネントは、リターンする。
図12は、一実施形態でのラッパー生成システムのラッパー調整コンポーネントの処理を示す流れ図である。このコンポーネントは、ラッパーツリーの対を渡され、これらを単一のラッパーツリーにマージする。ブロック1201で、このコンポーネントは、ラッパー位置合わせコンポーネントを呼び出して、ラッパーツリーのノードを位置合せする。ラッパー位置合わせコンポーネントは、ラッパーツリーのサブツリーのすべての可能な位置合わせをテストする再帰コンポーネントである。このコンポーネントは、動的計画法技法を使用して、以前にテストされた解の再テストを防ぐことができる。ブロック1202で、このコンポーネントは、ラッパーツリーのルートノードの次の解を選択する。判断ブロック1203で、すべての解が既に選択済みである場合には、このコンポーネントは、ブロック1205で継続し、そうでない場合には、このコンポーネントは、ブロック1204で継続する。ブロック1204で、このコンポーネントは、解のコストを集計し、その後、ブロック1202にループして、次の解を選択する。ブロック1205で、このコンポーネントは、最小のコストを有する解を選択し、その後、リターンする。
図13は、一実施形態でのラッパー生成システムのラッパー位置合わせコンポーネントの処理を示す流れ図である。このコンポーネントは、すべての可能な解のコストを判定するために再帰的に呼び出される。判断ブロック1301で、両方のラッパーツリーのレイヤがまだある場合には、このコンポーネントは、ブロック1302で継続し、そうでない場合には、このコンポーネントは、リターンする。ブロック1302〜1305では、このコンポーネントは、新しい解を選択し、ラッパー位置合わせコンポーネントを再帰的に呼び出しながらループする。ブロック1302で、このコンポーネントは、現在のレイヤの次の解を選択する。判断ブロック1303で、すべての解が既に選択済みである場合には、このコンポーネントは、リターンし、そうでない場合には、このコンポーネントは、ブロック1304で継続する。ブロック1304で、このコンポーネントは、ラッパーツリーの次のレイヤのノードを位置合せするために、ラッパー位置合わせコンポーネントを再帰的に呼び出す。ブロック1305で、このコンポーネントは、レイヤの選択された解のコストをセットし、その後、ブロック1302にループして、次の解を選択する。
本主題を、構造的特徴および/または方法論的動作に固有の言葉で説明してきたが、添付の特許請求の範囲で定義される本主題が、必ずしも上で説明した特定の特徴または動作に限定されないことを理解されたい。そうではなく、上で説明した特定の特徴および動作は、特許請求の範囲を実施する例の形として開示されたものである。したがって、本発明は、添付の特許請求の範囲によるものを除いて限定されない。
Claims (20)
- 階層的に編成された文書のラッパーを生成するコンピューティング装置での方法であって、各文書は、文書ツリーを有し、前記方法は、
文書ツリーのラッパーツリーを作成すること(535)と、
前記ラッパーツリーへのその距離がしきい値以内である文書ツリーを選択すること(537)と、
前記文書ツリーに基づいて前記ラッパーツリーを調整すること(539)と
を含み、前記ラッパーは、前記調整されたラッパーツリーに基づくことを特徴とする方法。 - 前記ラッパーツリーの前記調整は、前記選択された文書ツリーのラッパーツリーおよび前記作成されたラッパーツリーをマージすることを含むことを特徴とする請求項1に記載の方法。
- 文書ツリーのラッパーツリーの前記作成は、前記文書ツリー内のノードの連続するサブフォレストを組み合わせることを含むことを特徴とする請求項2に記載の方法。
- 複数の文書ツリーについて前記選択および調整を実行することを含むことを特徴とする請求項1に記載の方法。
- 前記ラッパーツリーは、前記ラッパーツリーがそれに関して作成される前記文書ツリーおよび前記ラッパーツリーがそれに関して調整される前記文書ツリーを含む文書ツリーのクラスタに関することを特徴とする請求項1に記載の方法。
- 前記ラッパーツリーが生成された後に、文書ツリーのもう1つのクラスタについてもう1つのラッパーツリーを生成することを含むことを特徴とする請求項5に記載の方法。
- 文書ツリーとラッパーツリーとの間の距離は、文書ノードと一致しないラッパーノードの個数およびラッパーノードと一致しない文書ノードの個数に基づくことを特徴とする請求項1に記載の方法。
- 前記距離は、前記文書ツリーおよび前記ラッパーツリーの重さに基づいて正規化されることを特徴とする請求項7に記載の方法。
- 複数のラッパーツリーが生成された時に、文書ツリーと前記ラッパーツリーとの間の距離に基づいて前記文書ツリーからデータを抽出するのに使用すべきラッパーを識別することを特徴とする請求項1に記載の方法。
- 前記しきい値は、適応式であることを特徴とする請求項1に記載の方法。
- 前記しきい値は、増やされたしきい値のゆえに選択される文書に基づく前記ラッパーツリーの前記調整が前記ラッパーツリーの有効性を下げるまで増やされることを特徴とする請求項10に記載の方法。
- 階層的に編成された文書とラッパーツリーとの間の類似性を判定するコンピューティングシステムであって、前記文書は、文書ツリーを有し、前記システムは、
前記文書ツリーのノードを前記ラッパーツリーのノードに位置合せするコンポーネント(1101)と、
位置合せされないノードの個数からメトリックを生成するコンポーネント(1102〜1106)であって、前記メトリックは、前記文書ツリーと前記ラッパーツリーとの間の類似性を示す、コンポーネント(1102〜1106)と
を含むことを特徴とするコンピューティングシステム。 - 前記メトリックは、前記ラッパーツリーのノードと位置合せされない前記文書ツリーのノードの個数および前記文書ツリーのノードと位置合せされない前記ラッパーツリーのノードの個数に基づくことを特徴とする請求項12に記載のコンピューティングシステム。
- 位置合せされないノードの個数は、前記ツリーの重さに基づいて正規化されることを特徴とする請求項13に記載のコンピューティングシステム。
- ラッパーツリーごとに、
以前に選択されたことがない文書ツリーを選択すること(603)と、
前記選択された文書ツリーの前記ラッパーツリーを作成すること(604)と、
前記ラッパーからのその距離がしきい値未満である選択されていない文書ツリーが存在する時に、前記文書ツリーを選択し(606、607)、前記選択された文書ツリーに基づいて前記ラッパーツリーを調整することと
を含む方法によって、文書ツリーのラッパーツリーを生成するためにコンピューティングシステムを制御する命令を含むことを特徴とするコンピュータ可読媒体。 - 前記距離が0である時に、前記ラッパーツリーを調整せずに前記文書ツリーを選択することを特徴とする請求項16に記載のコンピュータ可読媒体。
- ラッパーツリーの前記選択された文書ツリーは、文書ツリーのクラスタを形成することを特徴とする請求項17に記載のコンピュータ可読媒体。
- 前記距離は、前記文書ツリーと前記ラッパーツリーとの間の位置合せされないノードの個数に基づくことを特徴とする請求項16に記載のコンピュータ可読媒体。
- 文書の文書ツリーからのその距離が最小である前記ラッパーツリーを識別することと、前記識別されたラッパーツリーを前記文書からデータを抽出するためのテンプレートとして使用することとによって、前記文書からデータを抽出することを含むことを特徴とする請求項16に記載のコンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/465,026 US7660804B2 (en) | 2006-08-16 | 2006-08-16 | Joint optimization of wrapper generation and template detection |
PCT/US2007/018417 WO2008021561A2 (en) | 2006-08-16 | 2007-08-16 | Joint optimization of wrapper generation and template detection |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010501096A true JP2010501096A (ja) | 2010-01-14 |
Family
ID=39082811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009524708A Withdrawn JP2010501096A (ja) | 2006-08-16 | 2007-08-16 | ラッパー生成およびテンプレート検出の協同最適化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7660804B2 (ja) |
EP (1) | EP2057557B1 (ja) |
JP (1) | JP2010501096A (ja) |
CN (1) | CN101501684A (ja) |
CA (1) | CA2657418A1 (ja) |
WO (1) | WO2008021561A2 (ja) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039722B1 (en) * | 1999-11-12 | 2006-05-02 | Fuisz Richard C | Method and apparatus for translating web addresses and using numerically entered web addresses |
US7669119B1 (en) * | 2005-07-20 | 2010-02-23 | Alexa Internet | Correlation-based information extraction from markup language documents |
US7676465B2 (en) * | 2006-07-05 | 2010-03-09 | Yahoo! Inc. | Techniques for clustering structurally similar web pages based on page features |
US8589366B1 (en) * | 2007-11-01 | 2013-11-19 | Google Inc. | Data extraction using templates |
US20090182759A1 (en) * | 2008-01-11 | 2009-07-16 | Yahoo! Inc. | Extracting entities from a web page |
US20090204889A1 (en) * | 2008-02-13 | 2009-08-13 | Mehta Rupesh R | Adaptive sampling of web pages for extraction |
US8239387B2 (en) * | 2008-02-22 | 2012-08-07 | Yahoo! Inc. | Structural clustering and template identification for electronic documents |
US8051083B2 (en) * | 2008-04-16 | 2011-11-01 | Microsoft Corporation | Forum web page clustering based on repetitive regions |
US20090271388A1 (en) * | 2008-04-23 | 2009-10-29 | Yahoo! Inc. | Annotations of third party content |
US7668942B2 (en) * | 2008-05-02 | 2010-02-23 | Yahoo! Inc. | Generating document templates that are robust to structural variations |
US20100169311A1 (en) * | 2008-12-30 | 2010-07-01 | Ashwin Tengli | Approaches for the unsupervised creation of structural templates for electronic documents |
US20100185684A1 (en) * | 2009-01-09 | 2010-07-22 | Amit Madaan | High precision multi entity extraction |
US20100199165A1 (en) * | 2009-02-03 | 2010-08-05 | Yahoo!, Inc., a Delaware corporation | Updating wrapper annotations |
US20100198770A1 (en) * | 2009-02-03 | 2010-08-05 | Yahoo!, Inc., a Delaware corporation | Identifying previously annotated web page information |
US20100223214A1 (en) * | 2009-02-27 | 2010-09-02 | Kirpal Alok S | Automatic extraction using machine learning based robust structural extractors |
CN101499098B (zh) * | 2009-03-04 | 2012-07-11 | 阿里巴巴集团控股有限公司 | 一种网页评估值的确定及运用的方法、系统 |
US20100228738A1 (en) * | 2009-03-04 | 2010-09-09 | Mehta Rupesh R | Adaptive document sampling for information extraction |
US9092424B2 (en) * | 2009-09-30 | 2015-07-28 | Microsoft Technology Licensing, Llc | Webpage entity extraction through joint understanding of page structures and sentences |
WO2011044865A1 (de) * | 2009-10-12 | 2011-04-21 | Beel Joeran | Verfahren zum bestimmen einer ähnlichkeit von objekten |
US8667015B2 (en) * | 2009-11-25 | 2014-03-04 | Hewlett-Packard Development Company, L.P. | Data extraction method, computer program product and system |
US10564944B2 (en) * | 2010-01-07 | 2020-02-18 | Microsoft Technology Licensing, Llc | Efficient immutable syntax representation with incremental change |
US8832102B2 (en) * | 2010-01-12 | 2014-09-09 | Yahoo! Inc. | Methods and apparatuses for clustering electronic documents based on structural features and static content features |
US20110191381A1 (en) * | 2010-01-29 | 2011-08-04 | Microsoft Corporation | Interactive System for Extracting Data from a Website |
US8458584B1 (en) * | 2010-06-28 | 2013-06-04 | Google Inc. | Extraction and analysis of user-generated content |
US9400799B2 (en) * | 2010-10-04 | 2016-07-26 | Dell Products L.P. | Data block migration |
US9280528B2 (en) * | 2010-10-04 | 2016-03-08 | Yahoo! Inc. | Method and system for processing and learning rules for extracting information from incoming web pages |
US8819236B2 (en) * | 2010-12-16 | 2014-08-26 | Microsoft Corporation | Resource optimization for online services |
EP2469421A1 (en) * | 2010-12-23 | 2012-06-27 | British Telecommunications Public Limited Company | Method and apparatus for processing electronic data |
CN102650999B (zh) * | 2011-02-28 | 2015-08-05 | 株式会社理光 | 一种从网页中抽取对象属性值信息的方法和系统 |
JP5716469B2 (ja) * | 2011-03-17 | 2015-05-13 | 富士通セミコンダクター株式会社 | ラッパープログラム及び集積回路装置 |
CN102411498A (zh) * | 2011-07-26 | 2012-04-11 | 中兴通讯股份有限公司 | 一种实现数据模型的方法及图形化设计器 |
US10402484B2 (en) | 2011-10-27 | 2019-09-03 | Entit Software Llc | Aligning annotation of fields of documents |
US9152619B2 (en) | 2012-05-21 | 2015-10-06 | Google Inc. | System and method for constructing markup language templates and input data structure specifications |
CN102842129B (zh) * | 2012-05-24 | 2014-12-31 | 北京工业大学 | 基于树分解的非标准模板图像匹配方法 |
US8990183B2 (en) | 2012-06-06 | 2015-03-24 | Microsoft Technology Licensing, Llc | Deep application crawling |
US9740765B2 (en) * | 2012-10-08 | 2017-08-22 | International Business Machines Corporation | Building nomenclature in a set of documents while building associative document trees |
US9582494B2 (en) | 2013-02-22 | 2017-02-28 | Altilia S.R.L. | Object extraction from presentation-oriented documents using a semantic and spatial approach |
KR20140132938A (ko) * | 2013-05-09 | 2014-11-19 | 삼성전자주식회사 | 웹 페이지 표시 방법 및 그 장치 |
US9117280B2 (en) | 2013-08-29 | 2015-08-25 | Microsoft Technology Licensing, Llc | Determining images of article for extraction |
WO2015163850A1 (en) | 2014-04-22 | 2015-10-29 | Hewlett-Packard Development Company, L.P. | Identifying a functional fragment of a document object model tree |
US9652530B1 (en) | 2014-08-27 | 2017-05-16 | Google Inc. | Generating and applying event data extraction templates |
US9563689B1 (en) | 2014-08-27 | 2017-02-07 | Google Inc. | Generating and applying data extraction templates |
US9785705B1 (en) | 2014-10-16 | 2017-10-10 | Google Inc. | Generating and applying data extraction templates |
US10216837B1 (en) | 2014-12-29 | 2019-02-26 | Google Llc | Selecting pattern matching segments for electronic communication clustering |
US9720814B2 (en) | 2015-05-22 | 2017-08-01 | Microsoft Technology Licensing, Llc | Template identification for control of testing |
US9940318B2 (en) * | 2016-01-01 | 2018-04-10 | Google Llc | Generating and applying outgoing communication templates |
US20180024978A1 (en) * | 2016-07-22 | 2018-01-25 | Ricoh Company, Ltd. | Approach For Processing Electronic Documents Using Parsing Templates |
US10387559B1 (en) * | 2016-11-22 | 2019-08-20 | Google Llc | Template-based identification of user interest |
US11210357B2 (en) * | 2018-09-17 | 2021-12-28 | International Business Machines Corporation | Automatically categorizing bookmarks from customized folders and implementation based on web browsing activity |
US11269835B2 (en) * | 2019-07-11 | 2022-03-08 | International Business Machines Corporation | Customization and recommendation of tree-structured templates |
US11636161B1 (en) * | 2019-07-16 | 2023-04-25 | Proofpoint, Inc. | Intelligent clustering systems and methods useful for domain protection |
US11860903B1 (en) * | 2019-12-03 | 2024-01-02 | Ciitizen, Llc | Clustering data base on visual model |
FR3104282B1 (fr) | 2019-12-05 | 2024-01-19 | Codexo | Sauvegarde de documents en blocs |
US11537786B2 (en) | 2020-11-16 | 2022-12-27 | Dropbox, Inc. | Generating fillable documents and fillable templates in a collaborative environment |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6135650A (en) * | 1995-12-22 | 2000-10-24 | Sun Microsystems, Inc. | Method and system for wrapper routine optimization |
US6304870B1 (en) * | 1997-12-02 | 2001-10-16 | The Board Of Regents Of The University Of Washington, Office Of Technology Transfer | Method and apparatus of automatically generating a procedure for extracting information from textual information sources |
US6446061B1 (en) * | 1998-07-31 | 2002-09-03 | International Business Machines Corporation | Taxonomy generation for document collections |
US6606625B1 (en) * | 1999-06-03 | 2003-08-12 | University Of Southern California | Wrapper induction by hierarchical data analysis |
US6792576B1 (en) * | 1999-07-26 | 2004-09-14 | Xerox Corporation | System and method of automatic wrapper grammar generation |
US6654739B1 (en) * | 2000-01-31 | 2003-11-25 | International Business Machines Corporation | Lightweight document clustering |
US6757678B2 (en) * | 2001-04-12 | 2004-06-29 | International Business Machines Corporation | Generalized method and system of merging and pruning of data trees |
US20020174161A1 (en) | 2001-05-18 | 2002-11-21 | Scheetz Michael A. | Java startup wrapper |
US7581170B2 (en) * | 2001-05-31 | 2009-08-25 | Lixto Software Gmbh | Visual and interactive wrapper generation, automated information extraction from Web pages, and translation into XML |
US6941558B2 (en) * | 2001-10-31 | 2005-09-06 | Agilent Technologies, Inc. | System and method for automatically generating an object-oriented class wrapper |
KR20030069639A (ko) * | 2002-02-22 | 2003-08-27 | 이의범 | 계층적 및 개념적 클러스터링에 의한 증권정보 검색시스템및 그 방법 |
US7383258B2 (en) * | 2002-10-03 | 2008-06-03 | Google, Inc. | Method and apparatus for characterizing documents based on clusters of related words |
US6944612B2 (en) * | 2002-11-13 | 2005-09-13 | Xerox Corporation | Structured contextual clustering method and system in a federated search engine |
US20040111400A1 (en) | 2002-12-10 | 2004-06-10 | Xerox Corporation | Method for automatic wrapper generation |
US7203679B2 (en) * | 2003-07-29 | 2007-04-10 | International Business Machines Corporation | Determining structural similarity in semi-structured documents |
US7165216B2 (en) * | 2004-01-14 | 2007-01-16 | Xerox Corporation | Systems and methods for converting legacy and proprietary documents into extended mark-up language format |
KR100600862B1 (ko) | 2004-01-30 | 2006-07-14 | 김선권 | 인터넷상의 정보자원에 대한 접근 경로를 체계적으로수집하고 검색하는 방법, 및 이 방법을 실행할 수 있는컴퓨터 프로그램을 수록한 기록매체 |
US9031898B2 (en) | 2004-09-27 | 2015-05-12 | Google Inc. | Presentation of search results based on document structure |
US7433869B2 (en) * | 2005-07-01 | 2008-10-07 | Ebrary, Inc. | Method and apparatus for document clustering and document sketching |
US7676465B2 (en) * | 2006-07-05 | 2010-03-09 | Yahoo! Inc. | Techniques for clustering structurally similar web pages based on page features |
-
2006
- 2006-08-16 US US11/465,026 patent/US7660804B2/en not_active Expired - Fee Related
-
2007
- 2007-08-16 CN CNA2007800303110A patent/CN101501684A/zh active Pending
- 2007-08-16 WO PCT/US2007/018417 patent/WO2008021561A2/en active Application Filing
- 2007-08-16 JP JP2009524708A patent/JP2010501096A/ja not_active Withdrawn
- 2007-08-16 EP EP07837097.0A patent/EP2057557B1/en active Active
- 2007-08-16 CA CA002657418A patent/CA2657418A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2008021561A2 (en) | 2008-02-21 |
EP2057557A2 (en) | 2009-05-13 |
EP2057557B1 (en) | 2019-03-20 |
WO2008021561A3 (en) | 2008-04-03 |
US7660804B2 (en) | 2010-02-09 |
CN101501684A (zh) | 2009-08-05 |
CA2657418A1 (en) | 2008-02-21 |
US20080046441A1 (en) | 2008-02-21 |
EP2057557A4 (en) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010501096A (ja) | ラッパー生成およびテンプレート検出の協同最適化 | |
US7788265B2 (en) | Taxonomy-based object classification | |
US7680858B2 (en) | Techniques for clustering structurally similar web pages | |
US20100169311A1 (en) | Approaches for the unsupervised creation of structural templates for electronic documents | |
US20090125529A1 (en) | Extracting information based on document structure and characteristics of attributes | |
Abebe et al. | Generic metadata representation framework for social-based event detection, description, and linkage | |
US20090182723A1 (en) | Ranking search results using author extraction | |
US20110264651A1 (en) | Large scale entity-specific resource classification | |
US20080072140A1 (en) | Techniques for inducing high quality structural templates for electronic documents | |
CN105378731A (zh) | 从被回答问题关联语料库/语料值 | |
CN105045875A (zh) | 个性化信息检索方法及装置 | |
US20100211533A1 (en) | Extracting structured data from web forums | |
US20090083266A1 (en) | Techniques for tokenizing urls | |
US20090112865A1 (en) | Hierarchical structure entropy measurement methods and systems | |
CN111079043A (zh) | 一种关键内容定位方法 | |
Ferrara et al. | Automatic wrapper adaptation by tree edit distance matching | |
Parameswaran et al. | Optimal schemes for robust web extraction | |
CN101393550A (zh) | 用于计算对象之间竞争性度量的方法与系统 | |
Omari et al. | Synthesis of forgiving data extractors | |
Izquierdo et al. | Keyword search over schema-less RDF datasets by SPARQL query compilation | |
CN102257490A (zh) | 文档信息选择方法和计算机程序产品 | |
US9195940B2 (en) | Jabba-type override for correcting or improving output of a model | |
Ferrara et al. | Design of automatically adaptable web wrappers | |
Yang et al. | Automatically extracting web api specifications from html documentation | |
Xiong et al. | Automating Mashup service recommendation via semantic and structural features |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101102 |