一种自适应的混沌粒子群算法优化XML数据聚类策略

  • 格式:pdf
  • 大小:446.23 KB
  • 文档页数:9

一种自适应的混沌粒子群算法优化XML数据聚类策略1刘波1,杨路明1,翟学敏2,邓云龙31中南大学信息学院,长沙(410083)2江南大学,江苏无锡(214122)3中南大学湘雅附三医院,长沙(410013)E-mail:ltbo99@,l-tb@摘要:针对海量XML文档数据挖掘进行聚类划分效率低的不足,本文尝试对XML数据聚类方法进行优化。

通过说明XML键及其聚类定义,结合混沌运动的特点融入一种新的基于混沌思想的粒子群优化算法,该算法以XML键为粒度利用混沌原理划分XML聚类时,通过提高自身聚类学习能力,增强对XML数据的全局寻优能力,改善聚类的收敛性;同时通过对权重因子的自适应地调整,更减少搜索局限及计算成本。

实验仿真表明,此算法不仅很大程度上避免了聚类过程停滞现象的发生,而且是一种有效的优化聚类方法。

关键词:XML数据库,XML键,混沌优化算法,自适应,粒子群优化算法中图分类号:TP301 文献识别码:A0. 引言随着互联网技术发展,XML作为一种具有灵活、开放、跨平台、跨语种等特点的文本标记描述语言被广泛用于信息的表达及交换,由此产生了海量XML文档,需要对这些文档进行查询、挖掘,提取有价值的信息,聚类是XML数据挖掘中的一种重要的分析手段,可以将数据对象归入到相应有意义的聚类中。

对于XML数据的聚类管理,XML文档本身的标签以及路径约束使其具有传统文档所没有的结构和层次特性,考虑到XML的结构信息,文献[1]利用相似路径进行XML聚类操作,通过对XML路径查询分类处理降低查询过程的IO页面处理,文献[2]则根据XML架构语义,结合路径相似性与路径权重系数进行XML文档聚类操作,这些都离不开对XML树进行相似性度量,其缺点是时间复杂度过高,一般为O(n3),不适合多文档集处理;文献[3]则从XML文档结构入手,通过分析有序标签树结构、路径权重,利用各种树编辑距离理论提出树结构距离算法,降低XML嵌套层次,有利XML树间的匹配,但效果仍不甚理想,主要原因在于单纯的树“编辑距离”仅适合文档两两比较, 缺乏类原形描述与操作记忆力,针对以上方法的不足,本文尝试利用XML键与混沌原理、结合粒子群的有效记忆性探讨对XML文档进行自学习的聚类算法,希望有助于降低聚类过程中的计算规模。

该算法的主要过程是首先利用XML键及其约束条件求解XML文档集中的候选键信息,并组成有效的XML键组合,消除非关键信息造成的影响,然后以XML键组合信息为粒度,以类间距离大小为判断准则,利用粒子群算法寻找代价相似的XML文档集,再利用基于权重代价的XML文档相似性算法依次收集XML文档作为聚类结果,这一点与混沌原理的粗搜与细搜过程相似,而基于粒子群算法的聚类方法是以个体之间的协作和群体信息共享的基本模型为基础提出的一种自适应聚类结果 [4-5],这一特点与聚类过程中无须用户提供先验的分类知识,而是根据数据实际的分布情况得到自然的聚集结果相吻合。

作为进化计算的研究热点之一,目前已提出了多种改进PSO算法[6-8],但是这些算法大多着眼于PSO的参数选择或某个参数的动态修改策略,很少涉及其针对XML文档操作方面的应用1本课题是湖南信息职业学院科技创新项目(编号108652006011,名称:基于XML数据库压缩算法与概率查询分析及实现),同时本课题获得湖南省教育厅科研基金(编号05c671,名称:遗传算法参数设计)的资助。

与改进,为此本文以XML键为粒度,结合混沌原理, 提出针对XML文档一种自适应的混沌粒子群算法(ACPSO)聚类检测方法,为使ACPSO算法摆脱局部极小,提出粒子扰动策略,即根据运行时间,自动调整粒子的权重因子,从而提高XML文档聚类检测的速度和准确性。

1. 基于XML键约束的XML文档相似性代价度量为简化描述, 本文在研究XML树型结构中不特别区分元素和属性, 也不考虑树中叶结点的文本内容,毕竟在分析中,只有XPath轴及路径表达式才是重要的,这样容易度量XML文档的相似性。

本节首先基于路径表达式,在XML文档树定义的基础上给出XML键的定义及求解XML候选键的相应算法。

定义1(XML文档树)一棵XML文档树被定义为T=(V,chl,lab,val,Vr),其中V为XML文档树T中的节点集合,Vr为根结点,chl表子节点的集合,val表从集合V到E∪S∪A(E:元素名称集合,S:指代#PCDATA,A:属性名称集合)的映射函数。

针对XML树T及其对应的DTD,一个关键字就是一个对(H,{p1,p2,…,pn}),其中H是一个路径表达式Paths(T),{p1,p2,…,pn}是一个简单路径表达式的集合,其约束关系如下:取出任意两个节点(n1,n2)∈[[H]],对应两个节点集合对(n1[[pi]],n2[[pi]]),这两个集合分别是从n 1,n2沿着路径pi所到达的节点的集合。

定义2(XML键)给定DTD D=(E,A,P,R,r),任意的XML文档树T|=D,Paths(T)为文档树T上的路径集合,{p1x ,…,pxn}⊆Paths(T),如果FD XMLϕ(H,[p1x,…,p xn→Paths(T)])在D上成立,则称K:(H,[p1x ,…,pxn])在D上成立,并且不存在任何{p'1x,…,p'xn}⊂{p1x,…,p xn},使得(H,[p'1x ,…,p'xn→Paths(T)])也成立,称K(H,[p1x,…,pxn])为XML的一个候选键,其中H称上下文路径, {p1x ,…,pxn}称键路径。

定义3(XML候选键约束) )给定DTD D=(E,A,P,R,r),任意的XML文档树T|=D,Paths(T)为文档树T上的路径集合,Σ是FDXML 集,K是FDXML集Σ的候选键,当且仅当(1)K是Paths(T)中元素构成的集合;(2)存在路径P',P"使得(a)P',P"和K构成Paths(T)的一个划分;(b)∀P'i,P'i∈P',K→P'i;(c)∀P'j,P'j∈P",∃{p'1x,…,p'xn},使得{p'1x,…,p'xn}∪K→P'j;(3)K的任何真子集都不满足(1)和(2)。

根据上述的定义及约束条件,给出一个求解FDXML集Σ的候选键算法:输入:一个FDXML集Σ,路径集Paths(T)输出:Σ的一个候选健KFinding a Candidate Key for XML(Σ,Paths(T))(1)初始化:{LP:=左部路径集;RP:=右部路径集,DP:=双部路径集,EP:=外部路径集};(2)P":=EP;(3)if DP=Φthen {K:=LP; return(K);}else{ K:=LP∪{所有右部路径的左部路径};P':=RP;Σ:=Σ-{所有右部路径出现过的FDXML的约束};while Σ≠Φ do{foreach(每个FDXML :p1x,…,pxn→p1y,…,pymin Σ中){K:=K∪{ p1x,…,p };Σ:=Σ-{ p1x ,…,pxn→p1y,…,pym};foreach (p1y ,…,pym的FDXML:ϕ in RP){K:=K∪{ϕ的左部路径};Σ:=Σ-ϕ;foreach(∀p1y,…,p ym的FD XML:ϕ' in LP){Σ:=Σ-ϕ';} }}}}(4)return(K).<paper><conference><id/><title/><author/><date/></conference> </paper><paper><conference><id/><title/><authors><date/></conference> </paper><author/></authors>XML文档1XML文档21234512345paperconferenceid title6author date67paperconferenceid titleauthorauthors date图1 XML文档集图2 XML文档树集合Fig.1 XML document set Fig.2 XML document trees’ set为了减少单个键值的操作冲突,一般会选择相应一组XML键构成相应集合,如图1对应键{paper→conference→id, paper→conference→title}。

确定XML候选关键字后,就可以由确定的XML键组合进行XML文档聚类了,一个XML聚类就是彼此相似的一组XML文档对象所构成的集合[9],这一系列集合如何从海量XML文档中获取,主要分两步进行,首先以类间距离函数为适应值,利用混沌粒子群算法寻找代价相似的XML文档集,其次再利用XML文档相似性权重代价算法分类收集XML文档,在此首先论述XML文档的权重代价度量定义及相似性检测算法。

定义4(权重代价度量)主要是计算查询树与目标树之间的距离,即把XML键组合从查询树转换目标树的最小编辑操作代价的总和。

用X和Y分别表示两个XML文档,其表达式为:div (X,Y)=∑jijiv opt,))((cos (1)这里opi 为源树X上的节点vj上的操作,此外令o(opi)和θ(v j)是op i操作和节点v j的代价,则上式可更改为:div (X,Y)=∑j i,∆1(∑∀iiiiopow)(+))(jjjjvw∑∀θ) (2)其中wi ,wj是权重,∆是规范化因子。

针对(3)式主要考虑以下3种操作类型和3类节点特性:(1)o1:插入操作类型;(2)o2:删除操作类型;(3)o3:更新操作类型;(4)θ1:节点层次;(5)θ2:节点分支;(6)θ3:语义解释。

为了在给定应用领域能求得最适合的代价,应该使用自适应技术,下面给出基于自适应的权重代价度量算法。

(1)假设存有n个XML文档集{Ii}(1≤i≤n),每个集合包含三元组{Q i,A i,L i},其中Q i:查询请求,Ai :近似结果,Li=⎩⎨⎧1无关与相关与iiiiAQAQ(2)存在目标函数u和它的近似函数−u,根据XML键抽取θi和应用领域进行计算。

初始化目标函数u(Ir ),如u(Ir)=⎩⎨⎧−+111Li==iL计算近似值:−u(Ii)=∑=kiiiw1θ那么相应基于权重代价的XML文档进行相似性度量算法如下:算法:基于权重代价的XML文档相似性度量输入:文档树I1,I2输出:文档树X,Y的相似性div (I1,I2)Similarity_Weight_Cost(I1,I2)(1)初始化系数:权重值wi,θi,η,u(I i);(2)while !(终止条件)(3){foreach (Path(Ii) in Path(T)){(4)−u(Ii)=w1θ1+w2θ2+…+ wkθk;(5)∆u i=u(I i)-−u(Ii);(6)−iw=wi+η×∆u i×θi;//η用来调整权重范围(7)∆w i=−iw-wi;}(8)}(9)div (I1,I2)=k1∑=kiiiw1θ;(10)r eturn div (I1,I2)终止条件:若∆w i为0,或小于某个指定的阈值,或超过预先指定的循环次数。