一种基于相似性度量的模型比对方法

文档序号:6369481阅读:353来源:国知局
专利名称:一种基于相似性度量的模型比对方法
技术领域
本发明涉及计算机科学数据库领域,尤其涉及一种在半结构化模型上基于相似性度量的比对方法。
背景技术
版本控制是对系统不同版本进行标识和跟踪的过程,并且方便于对版本加以区分、检索和跟踪,以及表明各个版本之间的关系。而版本的比对则是版本控制中一个重要的模块,其目的为了让用户对当前所用版本有进一步的认识,将当前版本与以前的版本实例进行对比,并且把两个版本之间的明显不同清晰的呈现给用户。经过长时间的发展,传统的版本比对工具已经比较成熟,传统的版本比对方法多数是基于行的比对,即标记出相比较的文本某一行存在的差别。对于模型比对,现有的方法 是直接对模型中的文字和结构进行匹配来实现的。虽然相关技术也有了长足的进步,但是当前在建模工具中所用的模型比对方法却显得有些不尽如人意。在当前的建模工具的模型比对中,只对两个模型进行非常简单的比较,即只有在两个模型在存储层面相同时两个模型才能被认同是相匹配的,而两个模型中的细微的差别都可能导致比对结果的不同。而用户所建立的模型往往是基于一些语义关系或者模型中的结构关系,而这些特点显然不能被整个对比工具所认知,因此,现存的模型比对工具与用户的需求仍然有一定的距离。而具体来说,当前模型比对方法的不足之处可以概括为如下几
占-
^ \\\ · (I)在模型比对时,不能对具有同义关系或相似的语义关系的两个概念进行判别,很容易就将具有相似语义关系的两个模型直接区别开来。例如两个名称分别为“防护导弹”与“防御导弹”的模型,在用户看来,它们是一致的,而在模型比对中则会被视为不同的两个概念来处理。(2)缺乏对异构数据源中的两个模型关系的认识。由于在建模过程中可能会出现多个团队,因此,就很容易导致他们对某些模型的认识上存在一定的差异,在相同的模型的表述上存在不同。这样就直接导致了所生成模型结构的不同。例如对某一图书库中的书本模型的表述可以分别是如图I所示的三个模型。而以上三种表述方法,对用户来说应当是相同的。(3)不能适用当前比较主流的建模工具的模型比对。在一般的建模工具中,模型在文件上都是以XML的方式进行存储的,现在针对XML进行比对的方法也层出不穷,但是由于当前模型比对具备了一定建模领域的特点。因此,亟需一种基于相似性度量的模型比对方法以解决上述问题。

发明内容
本发明所要解决的技术问题之一是需要提供一种能够使得模型比对的结果更加准确、客观的基于相似性度量的模型比对方法。
为了解决上述技术问题,本发明提供了一种基于相似性度量的模型比对方法,该方法包括步骤10,确定待比对的模型;步骤20,分别从所述待比对的模型中获取组成各个模型的节点;步骤30,计算所述待比对模型之间各个节点的节点相似度;步骤40,基于所述待比对模型之间各个节点的节点相似度计算得到所述待比对模型之间的模型相似度;步骤50,基于所述模型相似度以得到所述待比对模型之间的关系。根据本发明另一方面的基于相似性度量的模型比对方法,在所述步骤30中,通过计算所述待比对模型之间各个节点的节点文本相似度和节点标签相似度、以得到所述待比对模型之间各个节点的节点相似度。根据本发明另一方面的基于相似性度量的模型比对方法,基于各个节点所对应的标签之间的语义关系以得到所述待对比模型之间各个节点的节点标签相似度。根据本发明另一方面的基于相似性度量的模型比对方法,基于各个节点之间的字符串编辑距离来得到所述待比对模型之间各个节点的节点文本相似度。根据本发明另一方面的基于相似性度量的模型比对方法,所述待比对模型之间各个节点利用以下表达式来得到节点文本相似度
权利要求
1.一种基于相似性度量的模型比对方法,其特征在于,包括 步骤10,确定待比对的模型; 步骤20,分别从所述待比对的模型中获取组成各个模型的节点; 步骤30,计算所述待比对模型之间各个节点的节点相似度; 步骤40,基于所述待比对模型之间各个节点的节点相似度计算得到所述待比对模型之间的模型相似度; 步骤50,基于所述模型相似度以得到所述待比对模型之间的关系。
2.根据权利要求I所述的方法,其特征在于,在所述步骤30中, 通过计算所述待比对模型之间各个节点的节点文本相似度和节点标签相似度、以得到所述待比对模型之间各个节点的节点相似度。
3.根据权利要求2所述的方法,其特征在于, 基于各个节点所对应的标签之间的语义关系以得到所述待对比模型之间各个节点的节点标签相似度。
4.根据权利要求2所述的方法,其特征在于, 基于各个节点之间的字符串编辑距离来得到所述待比对模型之间各个节点的节点文本相似度。
5.根据权利要求4所述的方法,其特征在于, 所述待比对模型之间各个节点利用以下表达式来得到节点文本相似度
6.根据权利要求2至5任一项所述的方法,其特征在于, 所述待比对模型之间各个节点利用如下表达式来得到所述待比对模型之间各个节点的节点相似度
7.根据权利要求I所述的方法,其特征在于,在所述步骤40中,具体包括以下步骤 步骤41,基于所述各个节点的节点相似度计算得到所述待比对模型之间各个路径的路径相似度和各个层次的层次相似度; 步骤42,基于所述各个路径的路径相似度和所述各个层次的层次相似度以得到所述待比对模型之间的模型相似度, 其中,所述路径为待比对模型的树结构中从根节点到叶子节点所经由的节点组成的串。
8.根据权利要求7所述的方法,其特征在于,在所述步骤41中,利用所述各个节点的节点相似度,基于最长公共子序列法和/或层次法得到所述待比对模型之间各个路径的路径相似度。
9.根据权利要求7或8任一项所述的方法,其特征在于,在所述步骤41中, 利用以下表达式得到待比对模型之间各个层次的层次相似度
10.根据权利要求7所述的方法,其特征在于,在所述步骤42中,具体包括以下步骤 步骤421,基于所述各个路径的路径相似度得到待比对模型之间的模型纵向相似度; 步骤422,基于所述各个层次的层次相似度得到待比对模型之间的模型横向相似度; 步骤423,基于所述模型纵向相似度和/或模型横向相似度以得到待比对模型之间的模型相似度。
11.根据权利要求10所述的方法,其特征在于,在所述步骤421中, 所述待比对模型利用如下表达式得到待比对模型之间的模型纵向相似度
12.根据权利要求10所述的方法,其特征在于,所述步骤422中, 利用以下表达式得到待比对模型之间的模型横向相似度
13.根据权利要求7至12任一项所述的方法,其特征在于,在所述步骤50中, 将所述模型相似度与设定阈值进行比较以得到待比对模型之间的关系。
全文摘要
本发明公开了一种基于相似性度量的模型比对方法,该方法包括步骤10,确定待比对的模型;步骤20,分别从所述待比对的模型中获取组成各个模型的节点;步骤30,计算所述待比对模型之间各个节点的节点相似度;步骤40,基于所述待比对模型之间各个节点的节点相似度计算得到所述待比对模型之间的模型相似度;步骤50,基于所述模型相似度以得到所述待比对模型之间的关系。本发明方法因为在计算节点相似度时采用了文本相似度与标签相似度相结合的手段,克服了仅仅考虑文本而忽略模型元素标签特性的问题,进而使节点相似度更能反映模型的实际情况。
文档编号G06F17/30GK102722556SQ20121017125
公开日2012年10月10日 申请日期2012年5月29日 优先权日2012年5月29日
发明者任博岩, 徐哲, 徐文华, 李金星, 王珍, 王瑶, 胡浩, 覃征, 赵凤飞 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1