基于多标记图和对比模型的模式匹配方法

文档序号:6561212阅读:148来源:国知局
专利名称:基于多标记图和对比模型的模式匹配方法
技术领域
本发明涉及一种信息技术领域的方法,具体是一种基于多标记图和对比模型的模式匹配方法。
背景技术
模式是数据库应用中的一类特定的元数据模型,是实现异构数据和应用系统互操作中不可缺少的基本元素。模式匹配在许多数据库应用中具有关键性的作用,是诸多基于数据库应用的基础,例如模式集成、电子商务、数据仓库、XML消息交换等。模式匹配问题已经成为制约异构数据共享和应用系统互操作的瓶颈之一。
经对现有技术文献的检索发现,经对现有技术的文献检索发现,E.Rahm等在《The VLDB Journal》(2001年第10期334-350页)上发表(“A survey ofapproaches to automatic schema matching”)提出了一些基于机器学习的模式匹配方法,具体方法包括使用贝叶斯学习的Autoplex系统和LSD系统,基于神经网络的SEMINT系统等,这些原型系统都使用机器学习算法来训练系统,利用系统的泛化能力来得到模式匹配的结果;另外还有基于WordNet等外部词典库的概念语义匹配方法;基于图匹配的Similarity Flooding算法;基于启发式策略的名称匹配和结构匹配等混和匹配方法的Cupid系统等。这些匹配算法的的不足在于都没有建立一个统一的形式化描述,从而建立有效的算法模型,设计出有效的匹配方法。

发明内容
本发明的目的在于针对现有技术的不足,提供一个基于多标记图和对比模型的模式匹配方法,解决了上述的模式匹配问题,在模式集成、电子商务、数据仓库、XML消息交换领域取得了良好的效果。
本发明是通过以下技术方案实现的,本发明使用多标记图作为各种模式的元模型,将模式匹配归约为多标记图匹配问题,采用基于对比模型的相似性比较方法,建立了多标记图匹配的目标优化函数,基于目标优化函数,可以使用搜索方法,得到模式匹配的结果,这样就完成了基于多标记图匹配的模式匹配。
所述的将模式匹配归约为多标记图匹配问题,是指将各种类型的模式采用多标记图来进行描述,将模式之间的匹配转化为多标记图之间的匹配。
所述的多标记图,是指模式∑可用如下表示为S=(V,E,Lab,rV,rF)1.V是有限顶点集合,每个顶点表示待匹配的对象;2.EV×V是有限边集合,每个边表示两个顶点之间的邻接关系;3.Lab={LabV,LabE}标记的有限常数类集,标记是描述顶点和边属性的字符串。其中,LabV表示顶点标记的有限类集,LabE表示边标记的有限类集;4.rVV×LabV表示顶点和标记之间的关系的集合,即rV是(vi,l)的集合,(vi,l)表示将标记l赋于顶点vi,rV被称为顶点特征;5.rEE×LabE表示边和标记之间的关系的集合,即rE是三元组(vi,vj,l)的集合,(vi,vj,l)表示将标记l赋于边(vi,vj),rE被称为边特征;6.descr(S)=rV∪rE是模式∑的顶点和边特征集合,它是关于模式∑的全部特征的集合。
这样,模式之间的匹配就转化为多标记图之间的匹配。
所述的基于对比模型的相似性比较方法,是指模式∑和模式T的相似性是∑和T的公共特征,和∑和T的全部特征所决定的,得到计算两个模式之间相似性的方法 所述的两个模式∑和T的公共特征,是指两个模式转化为多标记图S=(VS,ES,LabS,rVS,rES)]]>和T=(VT,ET,LabT,rVT,rET)]]>之后,得到了两个模式的特征集合descr(S)=rVS∪rES]]>和descr(T)=rVT∪rET,]]>这样可以得到S和T的公共特征=descr(S)∩descr(T)。
所述的两个模式∑和T的全部特征,是指两个模式转化为多标记图S=(VS,ES,LabS,rVS,rES)]]>和T=(VT,ET,LabT,rVT,rET)]]>之后,得到了两个模式的特征集合descr(S)=rVS∪rES]]>和descr(T)=rVT∪rET,]]>这样可以得到S和T的全部特征=descr(S)∪descr(T)。
所述的多标记图匹配的目标优化函数,是指由于两个模式之间的存在2|VS|×|VT|匹配状态,基于上述的基于对比模型的相似性比较方法,此可以建立多标记图匹配的优化函数 =maxf(descr(S)∩descr(T))f(descr(S)∪descr(T)),]]>这里f和g为基数函数。
即从2|VS|×|VT|个匹配状态中得到一个匹配状态,使得sim(S,T)最大,该匹配状态称为最佳匹配状态mbest。
所述的基数函数,是指采用计数的方法,来计算特征的数目。
所述的搜索方法,是指贪婪策略、局部搜索、全局搜索等搜索技术。基于所述的多标记图匹配的目标优化函数,可以快速地得到模式之间的匹配结果。
本发明的方法能够获得较高的匹配准确率和非常快的速度。由于利用模式的全部特征来计算两个模式之间的相似程度,综合考虑了影响匹配的各种因素,因此可以得到较高的匹配准确率,而且使用的搜索方法,可以快速地得到模式的匹配结果。相对于Autoplex、LSD、SEMINT、Similarity Flooding、Cupid等匹配方法来说,本发明提出的方法,大大提高了模式匹配的质量,提高了匹配的速度,在模式集成、电子商务、数据仓库、XML消息交换领域取得了良好的效果。


图1本发明实施例中模式∑对应的多标记示意图。
图2本发明实施例中模式T对应的多标记示意图。
图3本发明实施例中实验模式∑和T的匹配结果示意图具体实施方式
下面结合附图对本发明的实施例作详细说明本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。本实施例采用的模式来于斯坦福大学数据库研究组的模式库,该模式用于电子商务中进行的模式交换。实现过程如下1.采用的电子商务中使用的模式∑和T,具体如下<Schema name=″Schema∑″xmlns=″urn:schemas-microsoft-com:xml-data″>
<ElementType name=″AccountOwner″>
<element type=″Name″/>
<element type=″Address″/>
<element type=″Birihdate″/>
<element type=″TaxExempt″/>
</ElementType>
<ElementType name=″Address″>
<element type=″Street″/>
<elemeht type=″City″/>
<element type=″State″/>
<element type=″ZIP″/>
</ElementType>
</Schema>
<Schema name=″Schema T″xmlns=″urn:schemas-microsoft-com:xml-data″>
<ElementType name=″Customer″>
<element type=″CFname″/>
<element type=″CLname″/>
<element type=″CAddress″/>
</ElementType>
<ElementType name=″CustomerAddress″>
<element type=″Street″/>
<element type=″City″/>
<elementnte=″Province″/>
<element type=″PostalCode″/>
</ElementType>
</Schema>
首先,得到∑和T的待匹配元素及其之间的关系,即图1、2中的顶点和边。每个顶点由一唯一标识符确定VS={s1,s2,...,s11},VT={t1,s2,...,t10};每一条边表示元素之间的包含关系,s2到s3有向边表示s3是s2的子元素,记做(s2,s3)。
然后,得到如下表1-2中所示的顶点标记,包括顶点名称、概念、类型。另外,由于模式∑和T中的有向边(v,v′)表示顶点v包含v′,所有的边具有相同的标记LabE={include}。
表1为模式∑对应的多标记图中使用的顶点标记;表2则为模式T对应的多标记图中顶点使用的标记。

表1

表2
根据以上步骤,给出描述模式的各种特征a.descr(S)={rVS,rES},]]>其中rVS={(s1,SchemaΣ),(s1,schema),(s1,Schema);]]>(s2,AccountOwner),(s2,account+owner),(s2,ElementType);]]>(s3,AccountOwner.Name),(s3,name),(s3,element);...]]>(s11,Address.ZIP),(s11,ZIP),(s11,element)}]]>rES={(s1,s2,include),(s2,s3,include),...,(s7,s11,include)}]]>b.descr(T)={rVT,rET},]]>其中rVT={(t1,SchemeaT),(t1,schema),(t1,Schema);]]>(t2,Customer),(t2,customer),(t2,ElementType);...]]>(t10,PostalCode),(t10,postal code),(t10,element)};]]>rET={(t1,t2,include),(t2,t3,include),...,(t6,t10,include)}]]>2.根据descr(S)={rVS,rES}]]>和descr(T)={rVT,rET}]]>得到∑和T的全部特征集合descr(S)={rVS,rES}]]>和descr(T)={rVT,rET}]]>descr(S)∪descr(T)=descr(S)∪descr(T)|concept∪descr(S)∪descr(T)|name∪descr(S)∪descr(T)|type∪descr(S)∪descr(T)|edge函数f为基数函数,即计算集合中元素的数目f(descr(S)∪descr(T))=21+21+21+19=823.对于模式∑和T,所有的匹配状态构成了整个的匹配空间,这些状态构成了模式匹配问题的解空间M。匹配空间M的规模是其中匹配状态的数量|M|=2n×k。假设m为匹配空间M中的一个匹配状态
m=10000000000100000000001100000000001000000000000000000000000000000100000000001000000000010000000000100000000001]]>即,m={(s1,t1),(s2,t2),(s3,t3),(s4,t5),(s5,t4),(s7,t6),(s8,t7),(s9,t8),(s10,t10)}。
4.基于m,根据descr(S)={rVS,rES}]]>和descr(T)={rVT,rET}]]>得到∑和T的公共特征集合descr(S)∩mdescr(T)|name={(s1,Schema ∑),(s2,AccountOwner),(s3,AccountOwner.Name),(s4,AccountOwner.Address),(s7,Address),(s8,Address.Street),(s9,Address.City),(t1,Schema T),(t2,Customer),(t3,Customer.Cfname),(t4,Customer.Clname),(t5,Customer.CAddress)(t6,CustomerAddress),(t7,CustomerAddress.Street),(t8,CustomerAddress.City)}descr(S)∩mdescr(T)|concept={(s1,schema),(s2,account+owner),(s3,name),(s4,address),(s7,address),(s8,street),(s9,city),(s10,state),(s11,ZIP),(t1,schema),(t2,customer),(t3,first name),(t4,last name),(t5,address)(t6,address),(t7,street),(t8,city),(t9,province),(t10,postal code)}descr(S)∩mdescr(T)|type={(s1,Schema),(s2,ElementType),(s3,element),(s4,element),(s7,ElementType),(s8,element),(s9,element),(s10,element),(s11,element),(t1,Schema),(t2,ElementType),(t3,element),(t4,element),(t5,element)(t6,ElementType),(t7,element),(t8,element),(t9,element),(t10,element)}descr(S)∩mdescr(T)|edge={(s1,s2,part-of),(s2,s3,part-of),(s2,s4,part-of),(s1,s7,part-of),(s7,s8,part-of),(s7,s9,part-of),(s7,s10,part-of),(s7,s11,part-of),(t1,t2,part-of),(t2,t3,part-of),(t2,t4,part-of),(t2,t5,part-of),(t1,t6,part-of),(t6,t7,part-of),(t6,t8,part-of),(t6,t9,part-of),(t6,t10,part-of)}descr(S)∩mdescr(T)=descr(S)∩descr(T)|concept∪descr(S)∩descr(T)|name∪descr(S)∩descr(T)|type∪descr(S)∩descr(T)|edge对于相似性度量函数,函数f为基数函数,即计算集合中元素的数目f(descr(S)∩m1descr(T))=15+19+19+17=705.根据上述得到的∑和T的公共特征和全部特征,得到模式∑和T的相似度sim(S,T)m=f(descr(S)∩mdescr(T))f(descr(S)∪descr(T))=7082=0.854]]>6.采用搜索算法,搜索匹配空间M,可以得到一个匹配状态mbest,该匹配状态使得sim(S,T)为最大,即得到最大的匹配相似度。对于模式∑和T,搜索匹配空间,得到m即为最佳匹配状态,最终的匹配结果如图3所示。
本实施例能够获得较高的匹配准确率和非常快的速度,而且具有较高的匹配准确率,可以快速地得到模式的匹配结果。
权利要求
1.一种基于多标记图和对比模型的模式匹配方法,其特征在于,使用多标记图作为各种模式的元模型,将模式匹配归约为多标记图匹配问题,采用基于对比模型的相似性比较方法,建立了多标记图匹配的目标优化函数,基于目标优化函数,使用搜索方法,得到模式匹配的结果,完成基于多标记图匹配的模式匹配;所述的将模式匹配归约为多标记图匹配问题,是指将各种类型的模式采用多标记图来进行描述,将模式之间的匹配转化为多标记图之间的匹配;所述的多标记图,模式∑用如下表示为S=(V,E,Lab,rV,rE)(1)V是有限顶点集合,每个顶点表示待匹配的对象;(2)EV×V是有限边集合,每个边表示两个顶点之间的邻接关系;(3)Lab={LabV,LabE}标记的有限常数类集,标记是描述顶点和边属性的字符串,其中,LabV表示顶点标记的有限类集,LabE表示边标记的有限类集;(4)rVV×LabV表示顶点和标记之间的关系的集合,rV是(vi,l)的集合,(vi,l)表示将标记l赋于顶点vi,rV被称为顶点特征;(5)rEE×LabE表示边和标记之间的关系的集合,rE是三元组(vi,vj,l)的集合,(vi,vj,l)表示将标记l赋于边(vi,vj),rE被称为边特征;(6)descr(S)=rV∪rE是模式∑的顶点和边特征集合,它是关于模式∑的全部特征的集合,这样,模式之间的匹配就转化为多标记图之间的匹配;所述的基于对比模型的相似性比较方法,是指模式∑和模式T的相似性是∑和T的公共特征,和∑和T的全部特征所决定的,得到计算两个模式之间相似性的方法 所述的多标记图匹配的目标优化函数,是指 这里f和g为基数函数,从2|VS|×|VT|个匹配状态中得到一个匹配状态,使得sim(S,T)最大。
2.根据权利要求1所述的基于多标记图和对比模型的模式匹配方法,其特征是,所述的两个模式∑和T的公共特征,是指两个模式转化为多标记图S=(VS,ES,LabS,rVS,rES)]]>和T=(VT,ET,LabT,rVT,rET)]]>之后,得到了两个模式的特征集合descr(S)=rVS∪rES]]>和descr(T)=rVT∪rET,]]>这样得到S和T的公共特征=descr(S)∩descr(T)。
3.根据权利要求1所述的基于多标记图和对比模型的模式匹配方法,其特征是,所述的两个模式∑和T的全部特征,是指两个模式转化为多标记图S=(VS,ES,LabS,rVS,rES)]]>和T=(VT,ET,LabT,rVT,rET)]]>之后,得到了两个模式的特征集合descr(S)=rVS∪rES]]>和descr(T)=rVT∪rET,]]>这样得到S和T的全部特征=descr(S)∪descr(T)。
4.根据权利要求1所述的基于多标记图和对比模型的模式匹配方法,其特征是,所述的基数函数,是指采用计数的方法,来计算特征的数目。
5.根据权利要求1所述的基于多标记图和对比模型的模式匹配方法,其特征是,所述的搜索方法,包括贪婪策略、局部搜索、全局搜索方法中的一种。
全文摘要
一种信息技术领域的基于多标记图和对比模型的模式匹配方法。本发明使用多标记图作为各种模式的元模型,将模式匹配归约为多标记图匹配问题,采用基于对比模型的相似性比较方法,建立了多标记图匹配的目标优化函数,基于目标优化函数,使用搜索方法,得到模式匹配的结果,完成基于多标记图匹配的模式匹配。本发明能够获得较高的匹配准确率和非常快的速度。由于利用模式的全部特征来计算两个模式之间的相似程度,综合考虑了影响匹配的各种因素,因此可以得到较高的匹配准确率,而且使用的搜索方法,可以快速地得到模式的匹配结果。
文档编号G06F17/30GK1949215SQ20061011811
公开日2007年4月18日 申请日期2006年11月9日 优先权日2006年11月9日
发明者张治 , 施鹏飞 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1