xml定义几种方式_调查XML数据挖掘的几种方法

xml定义几种方式

从技术到金融服务,医疗系统,生物信息学,航空,国防等许多领域,XML越来越成为数据表示,存储和交换的首选语言。 以XML表示的信息量已经Swift增加。 许多人正在寻找明智的技术来解决与XML文档存储和分析相关的问题。 在这个由三部分组成的系列文章中,探索XML数据挖掘的某些方面。

在本文中,了解可用于XML数据挖掘的研究和技术。 探索从静态和动态XML文档中挖掘关联规则的挑战。

本系列的后续文章将涵盖挖掘XML关联规则和集群化多版本XML文档。

XML挖掘

XML挖掘包括从XML文档中挖掘结构和内容。 结构的挖掘本质上是在挖掘XML模式,包括内部结构挖掘(在XML文档内部挖掘结构)和内部结构挖掘(在XML文档之间挖掘结构)。 内容的挖掘涉及内容分析和结构澄清。 内容分析与分析XML文档中的文本有关。 结构上的澄清涉及根据相似文件的内容确定相似文件。

静态 XML文档不会随时间改变其内容和结构。 例如,包含在会议上发表的论文的详细信息的XML文档是静态文档。 动态的或多版本的XML文档会随着时间的推移更改其结构或内容。 例如,如果在线书店的内容以XML格式表示,则它会每天根据电子客户的行为而变化。

将静态文档与动态XML文档区分开的主要特征是:

时间覆盖的表示
静态XML文档不包含指示文档有效时间的元素。 相反,动态XML文档固有地包含至少一个元素,该元素指示文档特定版本的时间覆盖范围。
呈现信息的持久性
创建后,静态XML文档中的信息始终有效。 相反,动态XML文档的版本仅在时间元素指定的时间段内有效。 一旦出现新版本,将取代先前版本中包含的信息。

图1显示了WSDL格式的静态XML文档的架构示例。

图1.静态XML文档的架构
示例图显示了静态XML文档的模式

基于图1中的架构的XML文档实例的内容将永远不会改变,因为一旦发布,该特定会议上发表的论文将不会被修改。

图2显示了WSDL格式的动态XML文档的架构示例。

图2.动态(多版本)XML文档的架构
示例图显示了动态XML文档的模式

图2中<AsAtDate>节点包含每个XML文档版本中数据的有效期。 您可以使用两个日期节点来指定有效日期范围(例如, <from_date><to_date> ),而不是使用单个日期节点来指定有效时间。 通常,对XML文档的更改使它们动态化。 给定XML文档的初始版本,对其应用的每组更改都会产生一个新的XML文档。 新的XML文档将被视为旧文档的新版本。

挖掘静态XML文档

本节回顾了几种从静态XML文档中挖掘关联规则以及对静态XML文档进行聚类的方法。

静态XML文档中的关联规则

从静态XML文档挖掘关联规则的大多数工作都使用基于Apriori算法的面向XML的算法。 但是,有几种非基于Apriori的方法。

发现关联规则涉及在给定数据集中一起出现的项之间找到有趣的关系。 这种关系应该经常发生以至于可以作为规则对待。 该规则必须对数据集具有支持和信心。

如果关联规则的概念扩展到XML文档,则您正在寻找XML文档各部分之间的关​​系。 XML文档的一部分可以是简单节点,也可以是由其他简单节点组成的复杂节点。 任何复杂的节点都可以看作是整个XML文档中较大树中的一棵树。 因此,在XML文档中挖掘关联规则的任务需要找到XML文档的子树(子结构)之间的关系。 下面的列表总结了三种不同的方法。

  • 由万和多比(见提出的一种XML关联规则抽取算法相关主题 )实际上是使用XQuery语言Apriori算法的实现。 使用此算法,可以直接开采XML数据,而无需预处理XML文档。 不需要映射到其他格式。 但是,使用XQuery实现时,在挖掘过程中发现大型项目集要比使用C++实现时要慢。 在XQuery实现中,算法所需的更新功能受到限制。
  • Daniele Braga和同事提出的方法(请参阅参考资料 )基于Apriori算法,并通过三个主要步骤挖掘关联规则:预处理数据,提取关联规则和后处理关联规则。 作者介绍了以下概念:
    • 关联规则的上下文
    • 上下文选择
    • 身体
    在关系X- > Y中 , X是关联规则的主体 , Y是关联规则的头 。 总是根据规则的上下文来定义身体和头部。 支持和置信度将仅在已确定的背景下计算和相关。 图3显示了XML文档的示例,该XML文档表示为具有所标识的上下文,正文和标题的树。
    图3.带有上下文,正文和标题的XML文档
    具有确定的上下文,正文和标题的XML文档的示例图
  • Ling Feng及其同事提出的一项技术(请参阅参考资料 )不是基于Apriori算法,而是提出了一种将事务和项的概念映射到XML文档的树状结构的不同方法。 目的是从XML文档集合而不是单个文档中发现关联规则。 因此,每个XML文档(树)对应于一个数据库记录(事务),其中每个XML片段(子树)对应于事务中的一个项目。 这项工作试图发现XML文档中的树之间而不是结构简单的项目之间的关联规则。 每棵树都被称为树结构项,并且是一棵有序的,有根的树,其节点分为基本节点(没有边出现)和复杂节点(内部节点有一个或多个边)。

基于Apriori的方法和基于非Apriori的方法之间的主要区别在于它们使用事务和项目概念的方式。 尽管基于Apriori的算法通过查询XML文档的特定路径将要挖掘的项目提取为节点列表,但非Apriori算法将XML文档中的每个子树(子结构)视为一项。

各种算法在挖掘的文档中允许不同程度的复杂性(不同级别的嵌套)。 也可能只需要挖掘一个XML文档或从多个XML文档中提取关联规则。

此处描述的基于Apriori的XML关联规则挖掘技术可用于任何复杂程度的XML文档,只要事先知道该结构即可。 对于复杂且结构不规则的XML文档,请考虑对XML数据使用一组转换以简化对挖掘上下文的标识。 在某些算法中,您需要在算法开始时定义关联规则的上下文,正文和标题。 表1总结了这些方法,它们的优点和缺点。

表1.从静态XML文档中挖掘关联规则
作品 基于Apriori的挖掘算法 基于非先验的挖掘算法 来自单个XML文档的矿山关联规则 来自多个XML文档的矿山关联规则 来自简单XML文档的矿山关联规则 复杂XML文档中的矿山关联规则
Wan&Dobbie,2003; Wan&Dobbie,2004年 ÿ ñ ÿ ñ ÿ ñ
Braga et al。,2002; B。 Braga等人,2003年 ÿ ñ ÿ ÿ ÿ ÿ
Feng等,2003 ñ ÿ ÿ ÿ ÿ ÿ

集群静态XML文档

可以基于每种技术采用的相似性类型(结构,语义或组合类型)将静态XML文档聚类。

基于结构相似性的聚类重点是基于XML文档之间结构的相似性将它们分组为聚类。 结构性方法包括:

  • 在S-GRACE算法(参见相关信息 )使用结构图 (S-图)结构,集群XML文档。 s图是一个有向图,它提供XML文档中节点和边的摘要以及父节点和子节点之间的关系。 S-GRACE对从给定XML文档集中提取的s图应用分层聚类算法。
  • De Francesca及其同事(请参阅参考资料 )提出了一种通用的,聚集的层次聚类算法,以参数方式解决了XML聚类问题。 给定适当的距离度量,该算法将找到最佳的聚类代表。 集群代表是一个XML文档,它反映了集群的结构内容。 因此,任务主要是通过树匹配,树合并和合并树的修剪来计算群集代表。

除了结构信息外,每个节点还具有语义含义。 您可以基于结构和语义相似性来聚类XML文档。

  • 尹提出了一种方法(参见相关主题 ),打破了每个XML文档需要聚集到ePaths。 ePath是从XML文档的根部开始的完整路径,其中,嵌套最多的元素只能是简单元素(包含值且没有子元素)。

    然后建立一个称为BitCube的三维位图索引。 维度是文档列表,从文档中提取的ePath列表以及从所有ePath的简单内容中提取的单词列表。 然后,您可以从此多维数据集中确定哪些文档具有与某些单词相关联的单词(以及其他内容),并在用户按特定术语搜索时加快检索过程。

  • Shen和Wang提供的一种技术(请参阅参考资料 )从XML文档中提取宏路径,该宏路径可能基于或不基于XML模式,其中每个宏路径都包含三个元素:路径序列,属性序列,和内容序列。 这些宏路径之间的相似度表示所分析的XML文档之间的相似度。

基于距离的聚类技术是结构方法的扩展,因为它们还考虑了要聚类的给定XML文档集的结构和语义特征。 基于距离的聚类技术具有一个特定的特征:它们使用树形编辑距离概念。

  • 从西奥多Dalamagas和同事的技术(参见相关主题 )XML文档视为有序树。 他们的算法减少了嵌套和重复,然后计算了每对结构摘要之间的树编辑距离。 聚类基于结构摘要之间的距离。
  • 通过Nierman和贾格迪什(见A方法相关主题 :)通过使用XML树五种不同的操作计算两个XML文档之间的距离, relabelinsertdeleteinsertTreedeleteTree 。 最后两个操作允许剪切和粘贴XML文档的整个部分。 动态编程算法还可以定义允许的编辑操作序列,并使用它来计算给定集合中的XML文档对之间的距离。
  • Xing,Xia和Guo的最新技术(请参阅参考资料 )通过计算XML文档及其模式之间的编辑距离来计算两个XML文档之间的相似度。 从每个文档中提取一个模式,然后将两个XML文档之间的距离计算为每个XML文档与从该对中另一个XML文档中提取的模式之间的距离的平均值。

表2总结了涉及群集静态XML文档的方法。

表2.集群静态XML文档
作品 计算距离作为一组编辑操作 仅评估结构相似性 评估结构和语义上的相似性 仅评估语义相似性
De Francesca等,2003 ñ ÿ ñ ñ
Liang等,2004 ñ ÿ ñ ñ
Yoon等,2001 ñ ñ ÿ ñ
沉&王,2003 ñ ñ ÿ ñ
Nierman&Jagadish,2002年 ÿ ñ ÿ ñ
达拉加加斯等人,2004年 ÿ ÿ ñ ñ
邢等,2007 ÿ ÿ ñ ñ

挖掘动态XML文档

挖掘动态XML文档给开发人员带来了新的挑战。 在实际的应用程序中,XML文档的连续版本之间的差异会波动,因此无法为动态XML文档复制静态XML文档的挖掘技术。

从动态XML文档中发现关联规则

从多版本XML文档中发现关联规则仍处于起步阶段。 加权FPgrowth算法(参见相关主题 )来解决此问题。 此算法分三个步骤从XML结构增量或XSD-AR中提取关联规则:

  1. 建立结构性增量数据库。
  2. 发现频繁的子树模式。
  3. 提取关联规则。

XML结构差异是动态XML文档的连续版本之间的结构差异。 加权FPgrowth算法还定义了变化程度,变化频率和频繁子树模式的概念。

我提出了两种从动态XML文档中挖掘关联规则的方法(请参阅参考资料 ):

  • 从XML文档的历史版本集合中获得的有趣知识(在本例中为关联规则)。

    考虑结构和内容上的更改,这些更改会在给定的时间内影响多版本的XML文档。 您可以动态确定所涉及的XML文档的元素或子结构之间的最新有效关联规则,而无需在最新的XML文档版本上运行完整的发现算法。

  • 关联规则是从XML文档版本之间的实际更改中提取的。

    查看XML文档版本之间的实际更改(存储为增量文档或合并的增量文档),并找到它们之间的关联。

集群动态XML文档

涉及集群动态XML文档的工作还很少。 下面概述了两种可能性。

  • 我和我的同事提出的一种技术(请参阅参考资料 )是在群集动态XML文档更改后重新评估它们之间的距离,并在更改文档之前计算更改对距离的影响。
  • Nayak和Xu提出的另一种技术(请参阅参考资料 ),是对一系列XML文档进行聚类。 给定一系列XML文档流,使用级别结构计算每个传入XML文档与现有集群之间的距离。 该距离是通过将传入文档中的节点与现有群集中的节点进行匹配来确定的。 这样,对于群集中的单个文档,在群集级别而不是成对确定相似性。

表3总结了挖掘动态XML文档的方法。

表3.挖掘动态XML文档
作品 多个版本的矿山关联规则 三角洲的矿山关联规则 XML文档集群系列 集群多版本(动态)XML文档
Chen等,2004 ñ ÿ ñ ñ
Nayak和Xu,2006年 ñ ñ ÿ ñ
Rusu et al。,2006a; ÿ ñ ñ ñ
Rusu et al。,2006b; ñ ÿ ñ ñ
Rusu等人,2008年 ñ ñ ñ ÿ

摘要

在本文中,您了解了XML数据挖掘中的技术,这些技术可从XML文档中发现关联规则或基于结构或内容对XML文档进行聚类。 大多数技术都处理静态XML文档。 但是,当今可用的普遍动态信息要求还可以用于动态(多版本)XML文档的技术。

请继续关注本系列的第2部分,它将详细介绍如何挖掘XML关联规则。


翻译自: https://www.ibm.com/developerworks/xml/library/x-datamine1/index.html

xml定义几种方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值