基于频繁关联标签序列的xml结构相似度度量方法

文档序号:6440057阅读:147来源:国知局
专利名称:基于频繁关联标签序列的xml结构相似度度量方法
技术领域
本发明属于数据管理技术领域,涉及一种XML文档的结构相似度度量方法,特别是涉及一种利用从XML文档集中挖掘到的频繁关联标签序列作为特征来度量XML文档结构相似度的方法。
背景技术
XML作为互联网上数据表示和数据交换的事实标准,已得到广泛的应用。随着XML 文档数量的不断增长,如何有效地对XML数据进行存储、过滤、检索以及管理在数据库和信息检索领域变得越来越重要。许多对XML的操作任务需要度量XML文档之间的相似性,XML 文档的相似性度量已经成为许多XML处理技术的基本问题,并被应用于多个领域,比如半结构化数据集成,XML文档的分类/聚类,XML检索等。与传统的文本文档只包含内容不同,XML文档中包含了层次结构。如何利用包含在其中的结构信息来计算XML文档之间的结构相似度是XML相似度计算中的一个关键问题。 针对这个问题研究人员提出了许多不同的方法。其中一些基于路径的方法将XML文档的结构表示为路径的集合,然后利用集合或者向量操作来计算文档之间的结构相似性。例如,考虑图 1 中的三个 XML 文档。文献[1] "Joshi, S.,Agrawal, N.,Krishnapuram, R.,Negi, S. :A Bag of Paths Model for Measuring Structural Similarity in Web Documents. In Proceedings of the 9th International Conference on Knowledge Discovery and Data Mining (SIGKDD). (2003)577-582. ”提出的路径包模型(本说明书称其为BOTP模型) 中,一个文档的结构被表示为路径的集合,一个路径是其对应的DOM树中从根节点到叶子节点的序列。如图1中的三个文档使用该模型表示如表1中的BOTP列。可以看出,docl和 doc2中的路径“a/b/c”和“a/b”,"a/e/f/g"和“a/h/f/g”都被视为完全不同的路径。事实上,这两组路径都是部分匹配,而且在很大程度上是相似的。另外,路径包模型虽然保留了节点之间的父子关系,但是忽略了其兄弟关系,认为路径之间是相互独立的,没有关系。 例如docl和doc3中的路径“a/b/c”和“a/d”被认为是相互独立的,事实上它们构成兄弟关系,频繁地同时出现在同一个文档中。文献[1]同时提出了另外一种基于XPath的路径包模型(称为BOXP模型)。该模型虽然包含了部分节点之间的兄弟关系,但并不完全。文献[2] "Leung, H. P. , Chung, F. L. , Chan, S. C. , Luk, R. :XML Document Clustering Using Common XPath. In Proceedings of the International Workshop on Challenges in Web Information Retrieval and Integration. U005) 91-96.,,从文档集中挖掘频繁的 XPath, 称为commonXPath,然后将XML文档表示为由commonXPath构成的向量。例如,设最小支持度为60%,则图1中的三个文档使用该模型的可表示如表1中第3列。尽管docl和doc2 中的路径“a/e/f/g”和“a/h/f/g”通过commonXPath :“a/*/f/g”被认为是相似的,但doc3 中的路径“a/f/g”仍被认为不相似。事实上“a/e/f/g”,“a/h/f/g”和“a/f/g”这三个路径都是非常相似的。另外,文献[2]在通过向量计算相似度时同样认为路径之间是独立的。 例如,三个文档都包含路径“a/b”和“a/d”,并构成兄弟关系,但文献[2]忽略了这种关系。文献[3] “Rafiei, D. , Moise, D. L. , Sun, D. :Finding Syntactic Similarities Between XML Documents. In Proceedings of the 17th International Conference on Database and Expert Systems Applications(DEXA). (2006)512-516. ” 除了把从根节点到叶子节点的全路径作为特征外,还考虑了全路径的子路径,如图1中的三个文档使用该模型的可表示如表1中的第四列,这种方法在计算相似度时仍然忽略了节点之间的兄弟关系。表1 XML文档的不同的路径表示
DocBOTPcommonXPathsub Path
docl{a/b/c, a/d, a/e/f/g}{a/b/c,a/d,a/*/f/g}{a/b/c,a/d,a/e/f/g,a/b,a/d,/a/e,b/c,e/f,f/g,...}
doc2 {a/b, a/d, a/h/f/g}{a/b,a/d,a/*/f/g}{a/b,a/d,a/h/f/g,a/h,h/f,f/g,...}
doc3{a/b/c, a/d, a/f/g}{a/b/c,a/d,a/f/g}{a/b/c,a/d,a/f/g,a/b,a/d,a/f,b/c,f/g,...}综上所述,现有的基于路径的计算XML文档结构相似度方法存在以下两个问题1.不能很好地处理路径之间部分匹配的情况。如上例中“a/e/f/g”,“a/h/f/g”和 “a/f/g”之间的相似度不能很好地处理。2.尽管捕捉到了节点之间的父子关系或祖先后代关系,但节点之间的兄弟关系却被部分或全部地忽略了。如上例中路径“a/b”和“a/d”被认为是相互独立的。由于没有充分利用包含在XML文档中的这些信息,使得以上这些方法计算的文档之间的结构相似度不够准确,将其应用于XML文档聚类或者分类时正确率有一定的损失。

发明内容
为了克服现有基于路径的XML文档结构相似度度量方法的不足,本发明引入关联挖掘和序列模式挖掘的概念,提出了一种基于频繁关联标签序列的文档结构相似度计算方法,该方法克服了现有基于路径的方法的不足,计算的相似度更为准确。本发明要解决的问题为给定XML文档集C,计算其中任意两个文档Cli和…之间的结构相似度。本发明解决其技术问题所采用的技术方案包括以下步骤1.预处理。解析XML文档集C中所有的XML文档,将每个XML文档的结构建模为一棵有序标签树,树中的每个节点表示文档中的一个元素,节点使用元素名来标记,称作标签。从所有文档中抽取的所有标签构成的集合称为标签集。将XML文档的结构都表示为标签序列的集合,得到标签序列数据库TSDB。所述的标签序列是指由标签集中的多个标签构成的有序列表。标签的顺序为XML 文档对应的标签树中从根节点到叶子节点的路径所经过的顺序。标签序列α可形式化地表示为< ,a2, L,an>,其中 为标签集中的一个标签,其中所包含的标签的个数称为标签序列的长度,长度为1的标签序列称为ι-标签序列。2.挖掘频繁标签序列。从TSDB中使用频繁序列模式挖掘算法挖掘所有的频繁标签序列集合FTS。所述的频繁标签序列是指对于给定的最小支持度阈值δ (0 < δ < 1),如果标签序列α在TSDB中的支持度大于等于δ,则称α在TSDB中是频繁标签序列。所述的标签序列α在TSDB中的支持度是指在TSDB中支持α的文档的数目与TSDB中所有文档数的比率,记为support ( α )。所述的支持α的文档是指在该文档中存在一个标签序列β,使得β包含α。所述的标签序列β :<bi; b2,L,bn>包含标签序列α :<ai; a2, L,am>是指存在整数序列“ < i2 < L < im,使得A = bh,a2 = bi2,i, am = bim,记作α e β,也称α是β的子标签序列,或β是α的超标签序列。3.极大化。从FTS中选出极大频繁标签序列,得到极大频繁标签序列集MFTS。所述的极大频繁标签序列是指对于标签序列α,在TSDB中不存在它的超标签序列也是频繁的。4.转换数据库。对于TSDB中的每一个文档中的每一个标签序列α,如果MFTS中存在它的一个子标签序列,则将α用该子标签序列代替,如果不存在,则删除α。全部处理完后即可得到新的数据库TSDB’。5.挖掘闭频繁关联标签序列。从TSDB’中使用闭频繁项集挖掘算法挖掘所有的闭频繁关联标签序列构成的集合FATS。所述的关联标签序列是指标签序列的集合,对于该集合中的任意标签序列α,集合中都不存在另外一个标签序列β,使得β包含α或者α包含β。所述的频繁关联标签序列是指对于给定的最小支持度阈值δ (0 < δ < 1),如果关联标签序列Y在TSDB’中的支持度大于等于δ,则称关联标签序列γ在TSDB’中是频繁关联标签序列。所述的关联标签序列Y在TSDB’中的支持度是指TSDB’中支持、的文档的数目与TSDB,中所有文档数的比率,记为support(Y)。所述的支持关联标签序列Y的文档是指对于Y中的任意标签序列α,该文档支
持ct。所述的闭频繁关联标签序列Y是指Y在TSDB’中是频繁的,且不存在它的真超集η,使得它们在TSDB’中支持度相同。6.文档表示。对于TSDB’中的任意一个文档(Ii,将其表示为其所包含的闭频繁关联标签序列的集合。即(Ii = {fats I fats e FATS Λ (Ii supports fats}dj = {fats I fats e FATS Λ (Ij supports fats}7.结构相似度计算。利用以下公式计算文档集合C中任意两个文档Cli和…之间的结构相似度Sim(C^dj)15
Γ . 、Id1^djI + Ip1jI + IpHSimidi, d) =-——-
I dt u d} I其中-.ρ] = {fats I fats e dt λ fats ¢. dj λ 可ats' e dj, fats a fats'}
P1i = {fats I fats e Cij λ fats ^ dt λ 3fats' e dt, fats c fats')本发明的有益效果是本发明采用序列模式和关联模式的概念,把XML文档看作是标签序列的集合,然后从中挖掘闭频繁关联标签序列作为文档的特征来计算XML文档之间的结构相似性。序列模式的引入,解决了现有基于路径的方法不能很好地处理路径部分匹配的情况的缺点,而关联模式的引入可在一定程度上弥补现有基于路径的方法忽略了 XML文档元素间兄弟关系的不足,从而使得使用本发明中的方法所计算的文档之间的相似度更为准确,在真实数据集上的实验结果表明,将该方法应用于XML文档的聚类,相比于其它的基于路径的结构相似度计算方法,可以提高聚类结果的准确率。下面结合附图对本发明进一步说明。


图1为XML文档结构树样例;图2为XML文档结构相似度度量方法流程图;图3为XML文档预处理流程图;图4为极大化频繁标签序列流程图;图5为转换标签序列数据库流程图;图6为聚类结果查准率。
具体实施例方式针对给定的一个XML文档集C,本发明计算任意两个文档之间的相似度的具体流程如图2所示,包括如下步骤1.对文档集进行预处理,得到标签序列数据库TSDB。处理流程如图3所示,在解析过程中,同一 XML文档的相同路径只在TSDB中出现一次,图中d_TS表示文档d包含的标签序列的集合,d. id表示文档d的标识。所述的标签序列是指由标签集中的多个标签构成的有序列表。标签的顺序为XML 文档对应的标签树中从根节点到叶子节点的路径所经过的顺序。标签序列α可形式化地表示为< ,a2, L,an>,其中 为标签集中的一个标签,其中所包含的标签的个数称为标签序列的长度,长度为1的标签序列称为ι-标签序列。2.给定最小支持度阈值δ,从TSDB中挖掘频繁标签序列集FTS。有多种挖掘频繁序列模式的算法都可以用来挖掘频繁标签序列,在具体实施中我们采用prefixspan算法, 关于该算法的详细描述可参见文献[4] "Pei,J.,Han, J.,Mortazavi-Asl,B.,Pinto, H., Chen, Q. , Dayal, U. , Hsu, Μ. C. :PrefixSpan :Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth. In Proceedings of the 17th International Conference on Data Engineering(ICDE). (2001)215-224.,,。所述的频繁标签序列是指对于给定的最小支持度阈值δ (0 < δ < 1),如果标签序列α在TSDB中的支持度大于等于δ,则称α在TSDB中是频繁标签序列。所述的标签序列α在TSDB中的支持度是指在TSDB中支持α的文档的数目与 TSDB中所有文档数的比率,记为support ( α )。所述的支持α的文档是指在该文档中存在一个标签序列β,使得β包含α。所述的标签序列β :<bi; b2,L,bn>包含标签序列α :<ai; a2, L,am>是指存在整数序列“ < i2 < L < im,使得A = bh,a2 = bi2,i, am = bim,记作α e β,也称α是β的子标签序列,或β是α的超标签序列。在具体实施中,我们取最小支持度阈值δ为0.3。
3.对于上一步得到频繁标签序列集FTS,做极大化处理,得到极大频繁标签序列集合MFTS。极大化处理流程如图4所示,图中m表示FTS中最长的频繁标签序列的长度。所述的极大频繁标签序列是指对于标签序列α,在TSDB中不存在它的超标签序列也是频繁的。4.将标签序列数据库TSDB转换为用极大频繁标签序列表示的数据库TSDB’。转换流程如图5所示,图中d_FTS表示文档d包含的频繁标签序列的集合。5.从TSDB’中挖掘闭频繁关联标签序列集FATS。多种挖掘闭频繁关联项集的算法均可以用来挖掘闭频繁关联标签序列,具体实施中我们采用CLOSET+算法,关于该算法的详细描述可参见文献[5]。所述的关联标签序列是指标签序列的集合,对于该集合中的任意标签序列α,集合中都不存在另外一个标签序列β,使得β包含α或者α包含β。所述的频繁关联标签序列是指对于给定的最小支持度阈值δ (0 < δ < 1),如果关联标签序列Y在TSDB’中的支持度大于等于δ,则称关联标签序列γ在TSDB’中是频繁关联标签序列。所述的关联标签序列Y在TSDB’中的支持度是指TSDB’中支持、的文档的数目与TSDB,中所有文档数的比率,记为support(Y)。所述的支持关联标签序列Y的文档是指对于Y中的任意标签序列α,该文档支
持ct。所述的闭频繁关联标签序列Y是指Y在TSDB’中是频繁的,且不存在它的真超集η,使得它们在TSDB’中支持度相同。同样在具体实施中我们取最小支持度阈值δ为0.3。通过前边的步骤得到闭频繁关联标签序列集FATS后,即可根据前述发明内容中第6步和第7步计算任意两个文档之间的结构相似度。其中,(Ii = {fats I fats e FATS Λ (Ii supports fats},dj = {fats | fats e FATS Λ (Ij supports fats},
I dx n J. I +1 p' I +1 Pji \Simidi,d )=-----,
I Cii u dj I
p'j = {fats I fats e dt λ fats ¢. dj λ 可ats' e dj, fats a fats'},
P1i = {fats I fats e Cij λ fats ^ dt λ 3fats' e dt, fats c fats')。 为了证实本发明方法能够有效提高基于路径的相似度计算方法的准确性,我们将本发明方法与其它几种基于路径的相似度计算方法(BOTP,BOXP, commonXPath, subPath) 作了对比实验。实验基于两个真实的数据集,其中一个来自于参考文献W] "Kurt, Α., Tozal, Ε. !Classification of XSLT-Generated Web Documents With Support Vector machines. In -Proceedings of the 1st international workshop on Knowledge Discovery from XML Documents. Q006) 33-42.,,,称为 Texas 数据集;另一个来自于 ACM Sigmod Record 的 XML 片反本(见文献"Sigmod Record in XML, http://www.sigmod.org/ publications/sigmodrecord/xml-edition. ”),称为 Sigmod 数据集。实验主要对比这几种方法在XML文档聚类应用中结果的查准率(precision)。对比结果如图6所示,从图6可以看出,在两个不同的数据集上,本发明方法的查准率比其它几种方法均有不同程度的提高。
权利要求
1. 一种基于频繁关联标签序列的XML结构相似度度量方法,其特征在于包括下述步骤1)预处理解析XML文档集C中所有的XML文档,将每个XML文档的结构建模为一棵有序标签树,树中的每个节点表示文档中的一个元素,节点使用元素名来标记,称作标签;从所有文档中抽取的所有标签构成的集合称为标签集;将XML文档的结构都表示为标签序列的集合,得到标签序列数据库TSDB ;所述的标签序列是指由标签集中的多个标签构成的有序列表,标签的顺序为XML文档对应的标签树中从根节点到叶子节点的路径所经过的顺序,标签序列α可形式化地表示为< ,a2, L,an>,其中 为标签集中的一个标签,其中所包含的标签的个数称为标签序列的长度,长度为1的标签序列称为1-标签序列;2)挖掘频繁标签序列从TSDB中使用频繁序列模式挖掘算法挖掘所有的频繁标签序列集合FTS ;所述的频繁标签序列是指对于给定的最小支持度阈值、如果标签序列α在TSDB中的支持度大于等于S,则称α在TSDB中是频繁标签序列,0 <5^1;所述的标签序列α在TSDB中的支持度是指在TSDB中支持α的文档的数目与TSDB 中所有文档数的比率,记为Support(Ci);所述的支持α的文档是指在该文档中存在一个标签序列β,使得β包含α ;所述的标签序列β :<1ν1ν , 3η>包含标签序列α :<ai,a2,L,am>是指存在整数序列 I1 < i2 < L< im,使得 A = bh,a2 = bi2,i, Ctm = bim,记作 α e β,也称 α 是 β 的子标签序列, 或β是α的超标签序列;3)极大化从FTS中选出极大频繁标签序列,得到极大频繁标签序列集MFTS;所述的极大频繁标签序列是指对于标签序列α,在TSDB中不存在它的超标签序列也是频繁的;4)转换数据库对于TSDB中的每一个文档中的每一个标签序列α,如果MFTS中存在它的一个子标签序列,则将α用该子标签序列代替,如果不存在,则删除α,全部处理完后即可得到新的数据库TSDB’ ;5)挖掘闭频繁关联标签序列从TSDB’中使用闭频繁项集挖掘算法挖掘所有的闭频繁关联标签序列构成的集合FATS ;所述的关联标签序列是指标签序列的集合,对于该集合中的任意标签序列α,集合中都不存在另外一个标签序列β,使得β包含α或者α包含β ;所述的频繁关联标签序列是指对于给定的最小支持度阈值、如果关联标签序列Y 在TSDB’中的支持度大于等于δ,则称关联标签序列γ在TSDB’中是频繁关联标签序列; O < δ 彡 1 ;所述的关联标签序列Y在TSDB’中的支持度是指TSDB’中支持γ的文档的数目与 TSDB,中所有文档数的比率,记为support ( y );所述的支持关联标签序列Y的文档是指对于Y中的任意标签序列α,该文档支持α ;所述的闭频繁关联标签序列Y是指Y在TSDB’中是频繁的,且不存在它的真超集η, 使得它们在TSDB’中支持度相同;6)文档表示对于TSDB’中的任意一个文档屯,将其表示为其所包含的闭频繁关联标签序列的集合,即 Cli = {fats I fats e FATS Λ (Ii supports fats};I d, nJ, I + 1 P11 I +1 Pji I7)结构相似度计算利用公式力=—J L计算文档集合C中I at u dj I任意两个文档Cli和…之间的结构相似度sinKdi,dj),其中-Pj = {fats I fats e dt λ fats ¢. dj λ 3fats' e dj, fats a fats'}。
全文摘要
本发明公开了一种基于频繁关联标签序列的XML结构相似度度量方法,解析XML文档集C得到标签序列数据库TSDB;从TSDB中挖掘所有的频繁标签序列集合FTS;从中选出极大频繁标签序列集MFTS;转化得到新的数据库TSDB’;从中挖掘闭频繁关联标签序列集合;将TSDB’中的任意一个文档表示为其所包含的闭频繁关联标签序列集合,从而计算文档集合C中任意两个文档之间的结构相似度。本发明可以提高聚类结果的准确率。
文档编号G06F17/30GK102521325SQ20111039818
公开日2012年6月27日 申请日期2011年12月2日 优先权日2011年12月2日
发明者张利军, 李战怀, 李霞, 陈群 申请人:西北工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1