JP4992072B2 - 複数のxml文書の類似性検出システム、および、複数のxml文書の統合システム - Google Patents

複数のxml文書の類似性検出システム、および、複数のxml文書の統合システム Download PDF

Info

Publication number
JP4992072B2
JP4992072B2 JP2005236039A JP2005236039A JP4992072B2 JP 4992072 B2 JP4992072 B2 JP 4992072B2 JP 2005236039 A JP2005236039 A JP 2005236039A JP 2005236039 A JP2005236039 A JP 2005236039A JP 4992072 B2 JP4992072 B2 JP 4992072B2
Authority
JP
Japan
Prior art keywords
subtree
similarity
xml
xml document
leaf node
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.)
Active
Application number
JP2005236039A
Other languages
English (en)
Other versions
JP2007052556A (ja
Inventor
治夫 横田
文新 梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Institute of Technology NUC
Original Assignee
Tokyo Institute of Technology NUC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tokyo Institute of Technology NUC filed Critical Tokyo Institute of Technology NUC
Priority to JP2005236039A priority Critical patent/JP4992072B2/ja
Publication of JP2007052556A publication Critical patent/JP2007052556A/ja
Application granted granted Critical
Publication of JP4992072B2 publication Critical patent/JP4992072B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数のXML文書の類似性検出システム、および、複数のXML文書の統合システムに関する。
近年、様々なデータが、XML(eXtensible Markup Langua
ge)によって記述されることが多くなってきている。例えば、MAGE(MicroArray and Gene Expression:http://www.mged.org/Workgroups/MAGE/mage.html参照)、DBLP(Digital Bibliography & Library Project:http://www.dblp.uni−trier.de/xml/参照)、ACM SIGMOD Record(http://www.acm.org/sigmod/record/xml/参照)等のデータソースが、インターネット上にXML文書によって公開されている。しかし、こうしたXMLによって記述された複数のデータソースには、同じ情報が含まれていても、異なる構造でデータ化されている。例えば、XML文書に記述される文書型定義(DTD:Document Type Definition)は、XML文書の構造に関する情報を取得するために、有用であるとされているが、同じDTDで記述されているXMLデータソースであっても、繰り返し或いは選択的な要素の数の違いで、同一の木構造に構成されていない。
そこで、利用者がより完全で有用な情報に容易にアクセスして利用できるように、XML文書同士を照合して、類似した情報を含むデータを統合し、より有用なデータとすることが、様々な分野で望まれている。例えば、バイオインフォマティクス(生命情報科学)の分野では、大量のデータがXMLで記述されているが、各データには、類似の情報が混在しているため、各データから有用な情報を抽出して、それらのデータを統合することが求められている。また、論文の書誌的情報についても、同様に、データを統合することが求められている。例えば、図14(a)に示すXML文書「Bibliography」と、図14(b)に示すXML文書「PaperRecord」とは、異なるDTDで記述されているXML文書の例である。これらの2つのXML文書は、異なる構造を有するものであるが、同じデータ項目(例えば、この図14(a)および(b)に示す例では「article」)の中に、一方のXML文書に含まれない情報が、他方のXML文書に含まれている。すなわち、図14(a)に示すXML文書では「pages」、図14(b)に示すXML文書では「volume」が、それぞれ他方のXML文書に含まれていない情報である。したがって、これらの同じデータが異なる構造で記述されたXML文書同士を統合して、各XML文書が保有する全ての情報を含む新たなXML文書とすることができれば、より完全で有用な情報に利用者が容易にアクセスすることができるデータベースの構築が可能となる。特に、近年、Web上に蓄積され、公開されるデータが爆発的に増加している状況では、そのデータを統合することが重要となってきている。
このようなXML文書同士を照合して、類似した情報を含むデータを統合する場合、まず、類似しているXML文書を比較して、類似した部分を抽出する必要がある。そのため、従来、木の編集距離(Tree Edit Distance)によって、XML文書における木構造の各ノードの間の相違を抽出することが行われ、あるいは提案されてきた。しかし、木の編集距離の計算は、高コストを要し、大きなXML文書には適用できない、という問題がある。すなわち、複数のXML文書の間の類似度を測るため、従来は、XML文書を構成する木構造について、二つの木構造の各ノードに対して、削除、挿入、置き換え、といった操作を行って同じ木構造に変更するために要する操作の手数を数えて木の編集距離を求め、木の編集距離が小さいものは類似しているとして、類似した部分木を見つけ出し、その部分木の異なる部分を統合する手法が取られていた(非特許文献1)。
しかし、木の編集距離による方法は、計算コストがノードの個数の4乗に比例して増加するため、XML文書のサイズが大きくなって対応する木構造を構成するノード数が増えると、実用に耐え得る時間で類似度を算出することが困難となるという問題点があった。
また、部分木の葉ノードの部分のみが異なるような場合、葉ノードの部分までは同じであるため、木の編集距離による方法では部分木の間の差を検出し難いという問題点もあった。さらに、XML文書を部分木に分割して、どのように部分木を構成するのか、さらに、どのようにすれば効率的に部分木を構成することができるか、また、部分木同士の類似度の判定という点に関しても、明らかではなかった。
S. Guha, H.V. Jagadish, N. Koudas, D. Srivastava and T. Yu. Approximate XML Joins. In Proc. of ACM SIGMOD 2002, pages 287-298, 2002.
そこで、本発明の第1の目的は、前記の問題を解決し、複数のXML文書の間の類似度を高速かつ高効率、さらに低コストで検出することができる複数のXML文書の類似度検出方法を提供することにある。
また、本発明の第2の目的は、複数のXML文書の間の類似度を高速かつ高効率、さらに低コストで検出することができる複数のXML文書の類似度検出システムを提供することにある。
さらに、本発明の第3の目的は、検出された類似度に基づいて複数のXML文書を統合する複数のXML文書の統合方法およびシステムを提供することにある。
前記課題を解決するため、請求項1に記載の発明は、複数のXML文書の類似度をコンピュータによって検出するシステムであって、前記コンピュータが、一のXML文書Tbと、他のXML文書Ttとを、それぞれ複数の部分木で構成される木構造に分割する部分木分割部と、前記分割によって形成される、k b 個の部分木t bi (1≦i≦k b :k b は2以上の整数)で構成されるXML文書Tbと、k t 個の部分木t tj (1≦j≦k t :k t は2以上の整数)で構成されるXML文書Ttとについて、部分木t bi を構成するn bi 個の葉ノードを持つ葉ノードクラスタLbと、部分木t tj を構成する葉ノードクラスタLtとを照合して、葉ノードクラスタLbと葉ノードクラスタLtとの間で同じ内容を有する葉ノードの個数nを求め、前記式(1)に従って、部分木の類似度S(t bi ,t tj )を求める部分木類似度演算部と、前記の部分木t bi と部分木t tj の全組み合わせについて求められた部分木の類似度S(t bi ,t tj )において、i番目の部分木t bi と、1からk t 番目の部分木t tj との各組み合わせに対してそれぞれ求められる前記部分木の類似度S(t bi ,t tj )の中で、最大の値をS M [i]として、前記式(2)で表されるXML文書間類似度S(Tb,Tt)を求めるXML類似度演算部と、を備えることを特徴とする複数のXML文書の類似度検出システムである。
この複数のXML文書の類似度検出システムでは、部分木分割部における分割によって形成される、木構造のXML文書Tbと、XML文書Ttとについて、前記部分木の類似度S(t bi ,t tj )を求め、さらに、この部分木の類似度S(t bi ,t tj )から求められるXML文書間類似度S(Tb,Tt)に基づいて、複数のXML文書の間の類似性を高速かつ低コストで的確に検出することができる。
請求項に係る発明は、前記部分木分割部は、前記した一のXML文書Tbと、他のXML文書Ttとを、それぞれ複数の部分木で構成される木構造に分割するとき、自己から最も遠い子孫ノードまでの最大距離が3以上である或いは子ノード二つ以上を持つノードを候補ノードとし、前記候補ノードの子ノードの中で、候補ノードの個数nと、最も遠い子孫ノードまでの距離dと、所定の定数φ(0<φ≦1)とに基づいて、下記式(3)で表されるパラメータwを求め、木構造の中でそれぞれの上端から末端までの候補ノードが構成するトップダウン(top−down)パスでwが一番大きなノードで、XML文書Ttを部分木に分割することを特徴とする。
w=n×dφ (3)
この複数のXML文書の類似度検出システムでは、前記パラメータwに基づいて、XML文書TbおよびXML文書Ttを部分木に分割することができ、複数のXML文書間の類似度の検出を高効率かつ的確に行うことが可能となる。
また、請求項に係る発明は、前記複数のXML文書の類似度検出システムにおいて、前記部分木類似度演算部は、前記した葉ノードクラスタLbと葉ノードクラスタLtとの間で同じ内容を有する葉ノードの個数nを求めるとき、各葉ノードクラスタが含む葉ノードが有する構文解析対象文字データを照合して、前記葉ノードクラスタLbが含む葉ノードと、前記葉ノードクラスタLtが含む葉ノードとが同一の内容のものであるか否かを決定することを特徴とする。
この複数のXML文書の類似度検出システムでは、各葉ノードクラスタが含む構文解析対象文字データを照合して、前記葉ノードクラスタLbと、前記葉ノードクラスタLtとが同一であるか否かを決定することによって、木の編集距離による類似度の検出に比べて、部分木同士の類似度の判定を正確かつ迅速に行うことができるため、複数のXML文書間の類似度の検出を高効率かつ的確に行うことが可能となる。
また、請求項4に係る発明は、複数のXML文書の類似度をコンピュータによって検出して、XML文書を統合するシステムであって、前記コンピュータが、一のXML文書Tbと、他のXML文書Ttとを、それぞれ複数の部分木で構成される木構造に分割する部分木分割部と、前記分割によって形成される、kb個の部分木tbi(1≦i≦kb:kbは2以上の整数)で構成されるXML文書Tbと、kt個の部分木ttj(1≦j≦kt:ktは2以上の整数)で構成されるXML文書Ttとについて、部分木tbiを構成するnbi個の葉ノードを持つ葉ノードクラスタLbと、部分木ttjを構成する葉ノードクラスタLtとを照合して、葉ノードクラスタLbと葉ノードクラスタLtとの間で同じ内容を有する葉ノードの個数nを求め、前記式(1)に従って、部分木の類似度S(tbi,ttj)を求める部分木類似度演算部と、前記の部分木tbiと部分木ttjの全組み合わせについて求められた部分木の類似度S(tbi,ttj)において、i番目の部分木tbiと、1からkt番目の部分木ttjとの各組み合わせに対してそれぞれ求められる前記部分木の類似度S(tbi,ttj)の中で、最大の値をSM[i]として、前記式(2)で表されるXML文書間類似度S(Tb,Tt)を求めるXML類似度演算部と、で表されるXML文書間類似度S(Tb,Tt)を求めるXML類似度演算部と、すべての部分木tbi,ttjの組み合わせのうち、前記XML類似度演算部によって求められたXML文書間類似度S(Tb,Tt)が予め定めたしきい値τ(0<τ≦1)よりも大きい値を示す場合に、前記しきい値τ以上の部分木類似度を有する部分木tbi,ttjの組み合わせを選び、その一方の部分木を基準とし、他方の部分木において前記一方の部分木に含まれていない葉ノードクラスタを抽出して差分とし、その差分を前記一方の部分木に付加することで、2つのXML文書の統合を行う統合演算部と、を備えることを特徴とする複数のXML文書の統合システムを提供する。
この複数のXML文書の統合システムでは、すべての部分木t bi ,t tj の組み合わせのうち、前記XML文書間類似度S(Tb,Tt)に基づいて、XML文書間類似度S(Tb,Tt)が高い値を示す部分木tbi,ttjの組み合わせを選び、2つのXML文書を統合することによって、低コストかつ高効率で複数のXML文書を統合することが可能となる。
本発明の複数のXML文書の類似度検出システムによれば、複数のXML文書の間の類似度を高速かつ高効率、さらに低コストで検出することができる。例えば、従来の木の編集距離による類似度の検出方法では、計算コスト(時間)がノードの個数の4乗に比例して増加するのに対して、計算コストはノードの個数の2乗に比例して増加する。そのため、特に、本発明の方法は、XML文書のサイズが大きくなるほど、従来の方法よりも有効となる。
すなわち、本発明においては、比較するXML文書から構成される木構造を解析して部分木に分割し、類似度の検出に有効な部分木を有する木構造を構成できる。そして、本発明の類似度検出システムでは、部分木の葉ノードのみでデータの突合せを行って部分木の類似性を判定することで、低コストで類似した部分を抽出し、高速で類似度を算出し、葉ノードの部分のみが異なってその上位のノードが同じ部分木の間の差を明確にすることができる。従来の方法、例えば、木の編集距離による方法では、部分木の葉ノードの部分のみが異なるような場合、葉ノードの部分までは同じなので、部分木の間の差を明確に検出することが困難であるが、本発明の方法では、その差を明確に検出することが可能となる。
さらに、本発明の複数のXML文書の統合システムによれば、複数のXML文書に含まれる情報を統合して完全でより有用な情報を含むデータを得ることができる。そして、このXML文書の統合に際して、容易に常用の結合方法(例えば、ソート・マージ結合、ネステッド・ループ結合、クラスタ結合、ハッシュ結合等)を適用してXML文書を統合できる利点がある。
本発明は、同じデータが異なる構造で記述されたXML文書同士を統合して、各XML文書が保有する全ての情報を含む新たなXML文書として、より完全で有用な情報に利用者が容易にアクセスすることができるデータベースの構築、さらに、情報の統合による新たな知見が可能となる。例えば、バイオインフォマテックス、文献情報、電子商取引(E-business)等の各種の分野で、XMLで記述された複数のデータを統合して、調査・研究に有用なデータを得るために有効である。特に、近年、Web上に蓄積され、公開されるデータが爆発的に増加している状況では、そのデータを統合することが重要となっているため、本発明の複数のXML文書の統合システムは、有用である。
次に、本発明の実施形態について、適宜、図面を参照しながら詳細に説明する。
以下、まず、本発明において、2つのXML文書Tb,Ttの類似度を検出する方法について説明する。
この方法は、一のXML文書Tbと、他方のXML文書Ttとを、それぞれ複数の部分木で構成される木構造に分割して行う段階(A)と、各XML文書を構成する部分木が含む葉ノードクラスタ同士を照合して、部分木の類似度S(tbi,ttj)を求める段階(B)と、2つのXML文書Tb,Ttの類似度であるXML文書間類似度S(Tb,Tt)を求める段階(C)とを含む。
段階(A)は、一のXML文書Tbと、他方のXML文書Ttとを、それぞれ複数の部分木で構成されるツリー構造に分割する。この段階(A)において、図1(a)および図1(b)に示すように、XML文書TbおよびXML文書Ttは、それぞれ3階以上の階層構造を有するツリー構造に構成される。すなわち、図1(a)に示すように、XML文書Tbは、kb個(kbは2以上の整数)の部分木tbi(iは1≦i≦kbの整数)で構成され、部分木tbiのそれぞれは、複数の葉ノードクラスタLbを含む木構造を形成する。また、図1(b)に示すように、XML文書Ttは、kt個(ktは2以上の整数)の部分木ttj(jは1≦j≦ktの整数)で構成され、各部分木ttjは複数の葉ノードクラスタLtで構成される木構造を形成する。
この段階(A)において、各部分木tbi,ttjが下記の要件を満足するように分割される。
(a)各部分木は、一の独立項目のみを含む。すなわち、部分木は、他の項目に属する情報を含まない。
(b)一の独立項目は、一の部分木しか対応しない。すなわち、一の独立項目は、対応する部分木を1つ以上持たない。
(c)各部分木は、可能な限り代表している項目の多くの情報項目を含む。すなわち、その情報項目に属する多くの葉ノードは、可能な限りその部分木に含まれる。
段階(A)において、適切に分割された部分木を有する木構造として、前記の図14(b)に示す木構造のXML文書(PaperRecord)を分割した例を、図2に示す。
このXML文書(PaperRecord)の木構造において、木構造の先端の「XML」、「John」、「Jane」、「10」、「XMLJoins」等は、それぞれ、部分木「article」の葉ノードを示す。
さらに、XML文書TbおよびTtのノードの中で、自分から最も遠い子孫ノードまでの最大距離が3以上である或いは子ノード二つ以上を持つノードを候補ノードとし、前記候補ノードの子ノード中で、候補ノードの個数nと、最も遠い子孫ノードまでの距離dと、所定の定数φ(0<φ≦1)とに基づいて、下記式(3)で表されるパラメータwを求め、木構造の中でそれぞれの上端から末端までの候補ノードが構成するトップダウン(top-down)パスでwが一番大きなノードで、XML文書TbおよびXML文書Ttを独立して意味を持つ部分木を分割して行うことが好ましい。
w=n×dφ (3)
前記定数φは、予め実験等によって決定することができる。例えば、漸次減少のφ(例えば、φ=1,0.9,0.8,…)で一つのXML文書を前記の方法で分割し、それぞれ分割された部分木の個数(Mと示す)と各部分木が含む葉ノードの平均個数(Nと示す)と、一番大きなM×N値によって定数φを決定することができる。通常、φは、1である。
このパラメータwによる部分木の分割は、例えば、下記のアルゴリズムによって行うことができる。
Figure 0004992072
このパラメータwによる部分木分割のアルゴリズムを、図2に示す木構造について説明すると、図3に示すように、ルートノードから下ノードへのトップダウン(top-down)パスが2つある。この2つのパスの中で、左側のパス[PaperRecord(1,5),articles(2,4),article(1,3),authors(0,2)]においては、パラメータwの最大値が2×4=8(ここで、定数φが1と仮定している)であるノード:article(2,4)が、分割における候補ノードとなる。また、同様に、右側のパスにおいては、article(1,3)が、分割における候補ノードとなる。これによって、XML文書(PaperRecord)は、図3中に楕円で囲んだ2つの部分木に分割される。
次に、段階(B)においては、前記段階(A)で求められた木構造を有するXML文書Tbと、XML文書Ttとについて、XML文書Tbを構成するkb個(kbは2以上の整数)の部分木tbi(iは1≦i≦kbの整数)を構成する葉ノードクラスタLbと、XML文書Ttを構成するkt個の部分木ttj(jは1≦j≦kt)を構成する葉ノードクラスタLtとを照合する。そして、照合の結果、葉ノードクラスタLbが有する葉ノードの個数nbiと、葉ノードクラスタLbと葉ノードクラスタLtとの間で同じ内容を有する葉ノードの個数nとに基づいて、前記式(1)で表される部分木の類似度S(tbi,ttj)を、部分木tbiと部分木ttjの全組み合わせ(kb×kt通り)について求める。
この段階(B)における各部分木を構成する葉ノード同士の照合による部分木の類似度S(tbi,ttj)の算出について、図4に示す木構造を有する2つのXML文書Tb,Ttを例にして説明する。
この図4に示すXML文書Tb,Ttは、それぞれ、2つの部分木tb1,tb2、tt1,tt2を有する。XML文書Tbにおいて、部分木tb1は葉ノードA,B,Cを、部分木tb2は葉ノードC,D,Eを、それぞれ有する。また、XML文書Ttにおいて、部分木tt1は葉ノードD,A,Eを、部分木tt2は葉ノードA,C,Eを、それぞれ有する。
この段階(B)において、部分木tbjと部分木ttjとの間で同じ値を有する葉ノードは、各葉ノードに含まれる構文解析対象文字データ(PCDATA:parsed character data)を比較して、同一性を判定することができる。これによって、部分木tbjと部分木ttjとの間で同じ値を有する葉ノードの個数nを決定することができる。また、各葉ノードに含まれる文字列のセマンティックスの違いを比較して、同一性の判定を行うこともできる。これによって、より正確な同一性の判定を行うことができるとともに、XML文書の統合に際しては、より精細なXML文書の統合が可能となる。
このXML文書Tbと、XML文書Ttとの間の類似度の検出において、まず、図5(a)に示すように、部分木tb1の葉ノードA,B,Cに対して、部分木tt1の葉ノードD,A,Eとを照合する。このとき、部分木tb1と部分木tt1との間では、同じ内容を有する葉ノードの個数(n)は1、部分木tb1の個数(nb)は3であるから、部分木類似度S(tb1,tt1)は、1/3=0.333と計算される。
次に、部分木tb1の葉ノードA,B,Cに対して、部分木tt2の葉ノードA,C,Bとを照合する。このとき、部分木tb1と部分木tt2との間では、同じ内容を有する葉ノードの個数(n)は3、部分木tb1の個数(nb)は3であるから、部分木類似度S(tb1,tt1)は、3/3=1と計算される。
さらに、図5(b)に示すように、部分木tb2の葉ノードC,D,Eに対して、部分木tt1の葉ノードD,A,Eとを照合する。このとき、部分木tb2と部分木tt1との間では、同じ値を有する葉ノードの個数(n)は2、部分木tb1の個数(nb)は3であるから、部分木類似度S(tb1,tt1)は、2/3=0.667と計算される。
次に、部分木tb2の葉ノードC,D,Eに対して、部分木tt2の葉ノードA,C,Bとを照合する。このとき、部分木tb2と部分木tt2との間では、同じ値を有する葉ノードの個数(n)は1、部分木tb1の個数(nb)は3であるから、部分木類似度S(tb1,tt1)は、1/3=0.333と計算される。
次に、段階(C)においては、前記の部分木tbiと部分木ttjの全組み合わせについて求められた部分木の類似度S(tbi,ttj)において、i番目の部分木tbiと、1からkt番目の部分木ttjとの各組み合わせに対してそれぞれ求められた前記部分木の類似度S(tbi,ttj)の中で、最大の値をSM[i]として、前記式(2)で表されるXML文書間類似度S(Tb,Tt)を求める。すなわち、1番目の部分木tb1と、1からkt番目の部分木ttjとの各組み合わせに対して、それぞれ求められた部分木類似度S(tb1,tt1),S(tb1,tt2),・・・・,S(tb1,ttkt)の中で、最大の部分木類似度の値をSM[1]とする。同様に、2番目の部分木tb2と、1からkt番目の部分木ttjとの各組み合わせに対して、それぞれ求められた部分木類似度S(tb2,tt1),S(tb2,tt2),・・・・,S(tb2,ttkt)の中で、最大の部分木類似度の値をSM[2]とする。このステップを同様に繰り返して、SM[3],・・・・,SM[kb]を求める。
そして、このようにして求められたSM[1]〜SM[kb]とによって、前記式(2)で表されるXML文書間類似度S(Tb,Tt)を計算する。
この段階(C)におけるXML文書間類似度S(Tb,Tt)の計算について、前記図4に示す図4に示す木構造を有する2つのXML文書Tb,Ttについて求めると、SM[1]は1、SM[2]は0.667となるから、XML文書間類似度S(Tb,Tt)は、前記式(2)から、(1+0.667)/2=0.834と計算される。
以上の段階(A)〜段階(C)において、求められたXML文書間類似度S(Tb,Tt)によって、2つのXML文書TbとXML文書Ttとの間の類似性を判定して、両XML文書間の統合を行うことができる。例えば、前記XML文書間類似度S(Tb,Tt)が所定のしきい値τ(0<τ≦1)よりも大きい値を示す場合、XML文書Tbと、XML文書Ttとが、類似性を有し、両XML文書を統合することによって、より有用なXML文書からなるデータソースの構築が可能である、と決定することができる。
ここで、前記部分木の類似度S(tbi,ttj)の計算、ならびにXML文書間類似度S(Tb,Tt)の計算、およびS(Tb,Tt)としきい値τとの比較を行うアルゴリズムの一例を以下に示す。
Figure 0004992072
次に、本発明の複数のXML文書の統合方法について説明する。
この方法は、前記の段階(A)と、段階(B)と、段階(C)とを含み、さらに、段階(C)において求められたXML文書間類似度S(Tb,Tt)に基づいて、各XML文書を構成する部分木同士で類似度が高いものを選び、各部分木の間の異なる葉ノードを抽出して、その差分を一方の部分木に付加することで、XML文書の統合を行う段階(D)を含むものである。このとき、予め定めたしきい値τ(0<τ≦1)以上の部分木類似度を有する部分木同士をヒットした部分木とし、そのヒットした部分木を統合することによって、2つのXML文書Tb,Ttを統合することができる。しきい値τは、統合するXML文書の内容、構造、大きさ等によって、統合されたXML文書を逐次検証することによって選択することができる。
このXML文書の統合に際して、2つのXML文書の結合は、特に制限されず、公知の方法を適用して行うことができる。例えば、ソート・マージ結合、ネステッド・ループ結合、クラスタ結合、ハッシュ結合等によって、XML文書の結合を行うことができる。
この複数のXML文書の統合によって得られる新たなXML文書の具体例として、図14(a)に示すXML文書「Bibliography」と、図14(b)に示すXML文書「PaperRecord」とを統合したXML文書の例を図6に示す。図6に示すとおり、2つのXML文書「Bibliography」,「PaperRecord」を統合して、両XML文書が含む情報を統合した新たなXML文書「PaperRecord」を得ることができる。この新たなXML文書「PaperRecord」は、XML文書に含まれない情報が、他方のXML文書に含まれている。すなわち、図14(a)に示すXML文書「Bibliography」に含まれるが、図14(b)に示すXML文書「PaperRecord」に含まれていない「page」の項目をXML文書「PaperRecord」に付加して、図6に示す新たなXML文書「PaperRecord」を構成したものである。
前記に説明した実施形態では、2つのXML文書Tb,Ttの類似度を検出する方法およびその類似度に基づいて、2つのXML文書を統合する方法について説明したが、本発明の方法は、2つのXML文書の類似度の検出および統合する方法のみに限定されず、3以上のXML文書の間の類似度の検出および各文書の統合する方法をも含む。すなわち、本発明の方法においては、複数のXML文書T1,T2,T3・・・・の中から、一対のXML文書を選択し、その2つのXML文書の間の類似度を検出するステップを各対のXML文書に対して繰り返し、所定の値以上の類似度を示す2つのXML文書を選択し、両XML文書を統合して新たなXML文書を得ることができる。
次に、前記の複数のXML文書の類似度検出方法にしたがって、複数のXML文書の類似度を検出するシステム(以下、「XML文書類似度検出システム」という)および複数のXML文書の統合システム(以下、「XML文書の統合システム」という)について説明する。
図7は、XML文書類似度検出システム4と、XML文書の統合システム6とを示す。
図7に示すXML文書類似度検出システム4は、部分木分割部1と、部分木類似度演算部2と、XML類似度演算部3とを備える。
部分木分割部1は、一のXML文書Tbと、他方のXML文書Ttとを、それぞれ複数の部分木で構成される木構造に分割して行う。この部分木分割部1における木構造の分割操作については、前記段階(A)について説明したとおりである。
部分木類似度演算部2は、前記部分木の分割によって形成される、kb個の部分木tbi(1≦i≦kb:kbは2以上の整数)で構成されるXML文書Tbと、kt個の部分木ttj(1≦j≦kt:ktは2以上の整数)で構成されるXML文書Ttとについて、部分木tbiを構成するnbi個のノードを持つ葉ノードクラスタLbと、部分木ttjを構成する葉ノードクラスタLtとを照合して、同じ内容を持つ葉ノードの個数nを求め、前記式(1)に従って、部分木の類似度S(tbi,ttj)を求める。この部分木類似度演算部2における部分木の類似度S(tbi,ttj)の演算は、前記段階(B)について説明したとおりである。
XML類似度演算部3は、前記の部分木tbiと部分木ttjの全組み合わせについて求められた部分木の類似度S(tbi,ttj)において、i番目の部分木tbiと、1からkt番目の部分木ttjとの各組み合わせに対してそれぞれ求められる前記部分木の類似度S(tbi,ttj)の中で、最大の値をSM[i]として、前記式(2)で表されるXML文書間類似度S(Tb,Tt)を求める。このXML類似度演算部3におけるXML文書間類似度S(Tb,Tt)の演算は、前記段階(C)について説明したとおりである。
また、XML文書の統合システムは、図7に示すとおり、前記の部分木分割部1と、部分木類似度演算部2と、XML類似度演算部3とを備えるXML文書類似度検出システム4に、さらに、前記ツリー類似度演算部3によって求められたXML文書間類似度S(Tb,Tt)が高い値を示す部分木tbi,ttjの組み合わせを選び、その2つの部分木が含む異なる葉ノードを抽出して差分とし、その差分を一方のXML文書の部分木に付加することで、2つのXML文書の統合を行う統合演算部5を備えるものである。
このXML文書の統合システムの統合演算部5における2つのXML文書の統合の方法は、前記段階(D)について説明したとおりである。
本発明において、前記の複数のXML文書の類似度検出システムおよび複数のXML文書の統合システムは、単独のコンピュータにて一体的に実現させることもできるし、部分木分割部1、ツリー類似度演算部2、XML類似度演算部3、または統合演算部5の各部またはその一部がそれぞれ独立した装置で構成されて実現させることもできる。
また、本発明の複数のXML文書の類似度検出システムは、コンピュータに記録または格納させることによって、前記の段階(A)〜段階(C)を行う部分木分割部1、部分木類似度演算部2、XML類似度演算部3が構成されるように記述されたプログラム、およびそのプログラムを記録した記録媒体の形態で提供することができる。さらに、本発明の複数のXML文書の統合システムは、コンピュータに記録または格納させることによって、前記の段階(A)〜段階(C)を行う前記の部分木分割部1、ツリー類似度演算部2およびXML類似度演算部3と、前記段階(D)を行う統合演算部5とが構成されるように記述されたプログラム、およびそのプログラムを記録した記録媒体の形態で提供することができる。
以下、本発明の実施例および比較例により、本発明についてより具体的に説明するが、本発明は、以下の実施例に限定されるものではない。
(実施例、比較例)
実際に、合成データ群と、実データ群とのそれぞれについて、従来の木の編集距離によってXML文書間の類似性を検出する場合(比較例)と、本発明の方法によってXML文書間の類似性を検出する場合(実施例)とについて、検出効率および効果を評価した。
この実験においては、合成データ群として、DTDを入力することによってXML文書をランダムに生成するIBM XML Generator(http://www.alphaworks.ibm.com/xml/参照)を用いて、SigmodRecord.dtd(http://www.acm.org/sigmod/record/xml/参照)から、2つのパラメータ:MaxLevelsとMaxRepeatsを変化させることによって、異なるサイズのXML文書をランダムに生成させた。
生成したXML文書のサイズは、1〜150KB(約0〜5000ノード)の範囲であった。
一方、実データ群として、下記の2つのXML文書を用いた。
(a)ACM SIGMOD recordのXMLバージョン(http://www.acm.org/sigmod/record/xml/参照)から、OrdinaryIssuePage,ProceedingsPageおよびSigmodRecordに関するXML文書
(b)DBLPデータベースのXML文書(http://www.dblp.uni−trier.de/xml/参照)
実験は、下記の条件下で行った。
実験条件:
CPU インテル社 PENTIUM(登録商標) IV 2.80GHz
メモリ 1.0GB
OS マイクロソフト社 WINDOWS(登録商標) XP Professional
プログラム環境 サン・マイクロシステムズ社 JDK(登録商標) 1.4.2
前記合成データ群から、ノード個数が1200以下のXML文書の組み合わせについて、そのXML文書の間の類似度の検出を、本発明による方法、および木の編集距離による方法のそれぞれによって行い、計算時間を比較した。結果を図8に示す。図8において、「LAX)は本発明による方法を示す。
この図8に示す結果から、本発明の方法は、ノード個数が500以上の場合には、木の編集距離による方法に比べて圧倒的に早く類似度を検出できることが分かる。したがって、本発明の方法は、XML文書間の類似度の検出を、木の編集距離による場合よりも効率的に行うことができることが分かる。
次に、前記実データ群の(a)ACM SIGMOD recordのXML文書、および(b)DBLPデータベースのXML文書との2つのXML文書について、木の編集距離と、本発明の方法によるXML文書間類似度とを求めた。
この木の編集距離およびXML文書間類似度の実際の計算に際しては、木の編集距離の計算は非常に時間が掛かるため、(a)ACM SIGMOD recordのXML文書を小さい部分にわけ、同様に、(b)DBLPデータベースのXML文書を6つのdblp1.xml〜dbpl6.xmlの各部分に分けた。各部分は、それぞれほぼ同じノード個数を有する。下記表1に、各XML文書の部分におけるノード個数(No.of nodes)と部分木の個数(No.of subtrees)を示す。
Figure 0004992072
このsigmod.xmlと、6つのdblp1.xml〜dblp6.xmlのそれぞれとの組み合わせについて、木の編集距離(Tree edit distance)、XML文書間類似度(Tree similarity degree)、およびXML文書を構成する木構造の中で実際に適合する部分木の個数(No.of hit subtrees)を求めた。結果を表2に示す。
Figure 0004992072
表2に示す結果から、前記の6つの組み合わせについて求められる木の編集距離は、ほぼ同じ値を示すが、XML文書間類似度(Tree similarity degree)については、図9に示すように、実際に適合する部分木の個数(No.of hit subtrees)に比例して大きい値を示すことが分かる。
このことから、木の編集距離が同じ値を有する場合でも、本発明の方法によれば、XML文書間の類似度の差を明確に識別できることが分かる。すなわち、部分木の葉ノードの部分のみが異なるような場合、葉ノードの部分までは同じなので、木の編集距離による方法では部分木の間の差が出づらいが、本発明の方法では、その差を明確に出すことが可能となる。
sigmod.xmlと、dblp6.xmlとの組み合わせにおいて、実際に適合する部分木についての詳細な結果を表3に示す。表3において、TM[i](i=1〜9)は適合した部分木を示し、NsigmodおよびNdblpは、それぞれ、sigmod.xmlおよびdblp6.xmlにおける適合した部分木が有するノードの個数を示す。また、SMおよびTEDistは、それぞれ、適合した部分木の間の類似度および木の編集距離(TEDist)を示す。
Figure 0004992072
これらの結果から、木の編集距離によって、各XML文書間で適合する部分木を決定することは困難であるが、本発明の方法においては、適当なしきい値を設定することによって、適合する部分木を決定することが可能であることが分かる。したがって、その適合した部分木を統合することによって、より完全な情報を含むXML文書を得ることができる。
次に、葉ノードの個数および部分木の個数が、本発明の方法の性能に与える影響を調べた。
まず、前記合成データ群から選択した2つのXML文書について、XML文書間類似度(Tree similarity degree)を計算し、その計算に要した時間を図10(a)および図10(b)に示す。図10(a)のX軸は選択した2つのXML文書の木構造を構成する葉ノードの総個数を示し、図10(b)のX軸は2つのXML文書の木構造を構成する部分木の総個数を示す。
図10(a)および図10(b)から、XML文書の葉ノードの個数または部分木の個数にほぼ比例して、XML文書間類似度(Tree similarity degree)の計算時間が増加し、葉ノードの個数および部分木の個数の2つの要素がXML文書間類似度(Tree similarity degree)の計算時間に与える影響は、ほぼ同じであることことが分かる。また、図10(a)および図10(b)から、2つのXML文書において、葉ノードの総個数が500以下(300KB以下のXML文書のサイズ)または部分木の総個数が400以下の場合には、XML文書間類似度(Tree similarity degree)の計算は、2秒以内で達成されることが分かる。
また、前記合成データ群について、XML文書のサイズの増加に対して、そのXML文書の分割によって形成される部分木の個数が、どのように変化するかを調べた。
その結果、図11に示すように、XML文書のサイズが大きくなるとともに、部分木の個数は増加するが、その部分木の個数は、常に単調に増加しない。これは、部分木が、異なるDTDによって異なる個数の葉ノードを含むことが原因と考えられる。
また、実データ群に関して、XML文書のサイズに対して、分割された部分木の個数を図12に、ならびに葉ノードの総個数および部分木の総個数に対するXML文書間類似度(Tree similarity degree)の計算時間を、それぞれ、図13(a)および図13(b)に示す。これらの図に示す結果から、実データ群における部分木類似度の計算時間は、合成データ群と同程度の葉ノードの個数の場合でも、合成データ群における場合よりも早く増加することが分かる。これは、XML Generatorによって生成される合成データに比べて、実データのPCDATA値が長いことが原因と考えられる。
(a)および(b)は、それぞれXML文書の木構造の例を示す図である。 部分木に分割されたXML文書の木構造の具体例を示す図である。 パラメータwによる部分木の分割を説明する図である。 ツリー構造を有する2つのXML文書Tb,Ttの例を示す図である。 部分木が含む葉ノードの照合を説明する図である。 統合されたXML文書の具体例を示す図である。 XML文書類似度検出システムおよびXML文書の統合システムを説明する模式図である。 本発明の方法および木の編集距離による方法にしたがって、XML文書の間の類似度を計算した場合の計算時間を比較した図である。 2つのXML文書において、XML文書間類似度と、実際に適合する部分木の個数との関係を示すグラフである。 (a)は、合成データ群における葉ノードの総個数とXML文書間類似度の計算時間の関係を示す図、(b)は、合成データ群における部分木の総個数に対するXML文書間類似度の計算時間の関係を示す図である。 合成データ群におけるXML文書のサイズと、分割された部分木の個数との関係を示す図である。 実データ群におけるXML文書のサイズと、分割された部分木の個数との関係を示す図である。 (a)は、実データ群における葉ノードの総個数とXML文書間類似度の計算時間の関係を示す図、(b)は、実データ群における部分木の総個数に対するXML文書間類似度の計算時間の関係を示す図である。 (a)および(b)は、実例として、それぞれXML文書の木構造の例を示す図である。
符号の説明
1 部分木分割部
2 部分木類似度演算部
3 XML類似度演算部
4 XML文書類似度検出システム
5 統合演算部

Claims (4)

  1. 複数のXML文書の類似度をコンピュータによって検出するシステムであって、
    前記コンピュータが、
    一のXML文書Tbと、他のXML文書Ttとを、それぞれ複数の部分木で構成される木構造に分割する部分木分割部と、
    前記分割によって形成される、kb個の部分木tbi(1≦i≦kb:kbは2以上の整数)で構成されるXML文書Tbと、kt個の部分木ttj(1≦j≦kt:ktは2以上の整数)で構成されるXML文書Ttとについて、部分木tbiを構成するnbi個の葉ノードを持つ葉ノードクラスタLbと、部分木ttjを構成する葉ノードクラスタLtとを照合して、葉ノードクラスタLbと葉ノードクラスタLtとの間で同じ内容を有する葉ノードの個数nを求め、下記式(1)に従って、部分木の類似度S(tbi,ttj)を求める部分木類似度演算部と、
    Figure 0004992072
    前記の部分木tbiと部分木ttjの全組み合わせについて求められた部分木の類似度S(tbi,ttj)において、i番目の部分木tbiと、1からkt番目の部分木ttjとの各組み合わせに対してそれぞれ求められる前記部分木の類似度S(tbi,ttj)の中で、最大の値をSM[i]として、下記式(2):
    Figure 0004992072
    で表されるXML文書間類似度S(Tb,Tt)を求めるXML類似度演算部と
    を備えることを特徴とする複数のXML文書の類似度検出システム。
  2. 前記部分木分割部は、
    前記した一のXML文書Tbと、他のXML文書Ttとを、それぞれ複数の部分木で構成される木構造に分割するとき、
    自己から最も遠い子孫ノードまでの最大距離が3以上である或いは子ノード二つ以上を持つノードを候補ノードとし、前記候補ノードの子ノードの中で、候補ノードの個数nと、最も遠い子孫ノードまでの距離dと、所定の定数φ(0<φ≦1)とに基づいて、下記式(3)で表されるパラメータwを求め、木構造の中でそれぞれの上端から末端までの候補ノードが構成するトップダウンパスでwが一番大きなノードで、XML文書TbおよびXML文書Ttを部分木に分割する
    ことを特徴とする請求項に記載の複数のXML文書の類似度検出システム
    w=n×dφ (3)
  3. 前記部分木類似度演算部は、
    前記した葉ノードクラスタLbと葉ノードクラスタLtとの間で同じ内容を有する葉ノードの個数nを求めるとき、
    各葉ノードクラスタが含む葉ノードが有する構文解析対象文字データを照合して、前記葉ノードクラスタLbが含む葉ノードと、前記葉ノードクラスタLtが含む葉ノードとが同一の内容のものであるか否かを決定する
    ことを特徴とする請求項1または請求項2に記載の複数のXML文書の類似度検出システム
  4. 複数のXML文書の類似度をコンピュータによって検出して、XML文書を統合するシステムであって、
    前記コンピュータが、
    一のXML文書Tbと、他のXML文書Ttとを、それぞれ複数の部分木で構成される木構造に分割する部分木分割部と、
    前記分割によって形成される、kb個の部分木tbi(1≦i≦kb:kbは2以上の整数)で構成されるXML文書Tbと、kt個の部分木ttj(1≦j≦kt:ktは2以上の整数)で構成されるXML文書Ttとについて、部分木tbiを構成するnbi個の葉ノードを持つ葉ノードクラスタLbと、部分木ttjを構成する葉ノードクラスタLtとを照合して、葉ノードクラスタLbと葉ノードクラスタLtとの間で同じ内容を有する葉ノードの個数nを求め、下記式(1)に従って、部分木の類似度S(tbi,ttj)を求める部分木類似度演算部と、
    Figure 0004992072
    前記の部分木tbiと部分木ttjの全組み合わせについて求められた部分木の類似度S(tbi,ttj)において、i番目の部分木tbiと、1からkt番目の部分木ttjとの各組み合わせに対してそれぞれ求められる前記部分木の類似度S(tbi,ttj)の中で、最大の値をSM[i]として、下記式(2):
    Figure 0004992072
    で表されるXML文書間類似度S(Tb,Tt)を求めるXML類似度演算部と、
    すべての部分木tbi,ttjの組み合わせのうち、前記XML類似度演算部によって求められたXML文書間類似度S(Tb,Tt)が予め定めたしきい値τ(0<τ≦1)よりも大きい値を示す場合に、前記しきい値τ以上の部分木類似度を有する部分木tbi,ttjの組み合わせを選び、その一方の部分木を基準とし、他方の部分木において前記一方の部分木に含まれていない葉ノードクラスタを抽出して差分とし、その差分を前記一方の部分木に付加することで、2つのXML文書の統合を行う統合演算部と、を備える
    ことを特徴とする複数のXML文書の統合システム。
JP2005236039A 2005-08-16 2005-08-16 複数のxml文書の類似性検出システム、および、複数のxml文書の統合システム Active JP4992072B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005236039A JP4992072B2 (ja) 2005-08-16 2005-08-16 複数のxml文書の類似性検出システム、および、複数のxml文書の統合システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005236039A JP4992072B2 (ja) 2005-08-16 2005-08-16 複数のxml文書の類似性検出システム、および、複数のxml文書の統合システム

Publications (2)

Publication Number Publication Date
JP2007052556A JP2007052556A (ja) 2007-03-01
JP4992072B2 true JP4992072B2 (ja) 2012-08-08

Family

ID=37916979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005236039A Active JP4992072B2 (ja) 2005-08-16 2005-08-16 複数のxml文書の類似性検出システム、および、複数のxml文書の統合システム

Country Status (1)

Country Link
JP (1) JP4992072B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5379372B2 (ja) * 2007-11-15 2013-12-25 キヤノン株式会社 データ圧縮装置、データ伸長装置およびデータ圧縮方法
JP5090408B2 (ja) 2009-07-22 2012-12-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク通信において送信データの宛先を動的に制御する方法及び機器
JP5471372B2 (ja) * 2009-12-01 2014-04-16 富士ゼロックス株式会社 プログラム及び情報処理システム
CN102110122B (zh) * 2009-12-24 2013-04-03 阿里巴巴集团控股有限公司 一种建立样本图片索引表和图片过滤、搜索方法及装置
JP5496853B2 (ja) 2010-10-29 2014-05-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 構造化文書を分類するためのルールを生成するための方法、並びにそのコンピュータ・プログラム及びコンピュータ
US20130222389A1 (en) * 2010-11-09 2013-08-29 Nec Corporation Information processing device
JP5652332B2 (ja) * 2011-05-31 2015-01-14 富士ゼロックス株式会社 データ構造比較プログラム及びデータ構造比較装置
CN102799680B (zh) * 2012-07-24 2014-10-15 华北电力大学(保定) 一种基于近邻传播的xml文档谱聚类方法
JP6173896B2 (ja) * 2013-12-10 2017-08-02 株式会社日立製作所 データ処理方法およびデータ処理サーバ
JP6317280B2 (ja) * 2015-02-20 2018-04-25 日本電信電話株式会社 同種帳票ファイル選定装置、同種帳票ファイル選定方法、および、同種帳票ファイル選定プログラム
WO2018070405A1 (ja) * 2016-10-12 2018-04-19 日本電気株式会社 情報処理装置、方法およびプログラム記録媒体

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000105769A (ja) * 1998-09-28 2000-04-11 Hitachi Ltd 文書表示方法
JP2004348341A (ja) * 2003-05-21 2004-12-09 Toshiba Corp 構造化文書処理システム、構造化文書処理方法及びプログラム

Also Published As

Publication number Publication date
JP2007052556A (ja) 2007-03-01

Similar Documents

Publication Publication Date Title
JP4992072B2 (ja) 複数のxml文書の類似性検出システム、および、複数のxml文書の統合システム
US7721188B2 (en) Differencing and merging tree-structured documents
US7260572B2 (en) Method of processing query about XML data using APEX
US8892599B2 (en) Apparatus and method for securing preliminary information about database fragments for utilization in mapreduce processing
US8145668B2 (en) Associating information related to components in structured documents stored in their native format in a database
JP4637181B2 (ja) 文書構造に基づいた検索結果の表示
Al-Ekram et al. diffX: an algorithm to detect changes in multi-version XML documents
US20090049062A1 (en) Method for Organizing Structurally Similar Web Pages from a Web Site
Helmer Measuring the structural similarity of semistructured documents using entropy
CN100495401C (zh) 结构化文档处理装置和方法
JP2010501096A (ja) ラッパー生成およびテンプレート検出の協同最適化
US20090030887A1 (en) Recording medium in which collation processing program is stored, collation processing device and collation processing method
US7496571B2 (en) Method for performing information-preserving DTD schema embeddings
Cohen Indexing for subtree similarity-search using edit distance
Nayak et al. Xcls: A fast and effective clustering algorithm for heterogenous xml documents
Izadi et al. S3: Evaluation of tree-pattern XML queries supported by structural summaries
Tekli et al. Structural similarity evaluation between XML documents and DTDs
Barbosa et al. Efficient incremental validation of XML documents after composite updates
Saleem et al. Performance oriented schema matching
Kim et al. DOM tree browsing of a very large XML document: Design and implementation
Viyanon et al. XML data integration based on content and structure similarity using keys
Li et al. Approximate joins for XML at label level
Swapna et al. Efficient approach for web search personalization in user behavior supported web server log files using web usage mining
Ribeiro et al. Evaluating performance and quality of XML-based similarity joins
Thulasi et al. Structure based XML document clustering: a review

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150