本体匹配中一种综合概念相似度计算方法的研究

时间:2022-07-11 10:40:44

本体匹配中一种综合概念相似度计算方法的研究

【摘要】在信息检索领域,概念间的相似度计算是实现高效率、高命中率搜索的前提。本文针对现有相似度计算方法的不足,提出一种综合的计算本体间概念相似度的方法。该方法分别计算两个概念的名称相似度、属性相似度和结构相似度,最后综合得到两个概念间的相似度,实验结果证明该方法有效。

【关键词】本体匹配;概念相似度;名称相似度;属性相似度;结构相似度

1.引言

本体提供了一种对信息和知识进行规范化描述和建模的方法,具有的良好的概念层次结构和对逻辑推理的支持,因而在信息检索,特别是在基于知识的检索中得到了广泛的应用。本体的应用,使用户和计算机能够更准确地基于语义进行交流[1]。但是由于本体是不同背景知识的领域专家使用各种术语构造和维护的,这些本体的表现形式和内在逻辑结构可能有差异,这种异构严重影响了本体间的知识共享和重用。

图1给出了本体异构的一个实例,图a为iswc.owl本体[2]中的部分片段,图b为kalsruhe大学构建的swrc.wol本体[3]中的部分片段。

如上图所示,两个本体都表示了大学的人员构成,但却存在语义冲突。例如两个本体中都包含概念Employee,但表示不同的意义,在图(a)中表示除教工以外的其它职工,而在图(b)中表示大学中的所有教职员工;图(a)中的FacultyMember和图(b)中的AcademicStaff则都可以表示教学人员。

相似度计算在基于本体的领域资源语义检索中担当着重要的作用。通过相似度计算对检索范围进行扩充可以发掘出与检索相关的隐性信息,同时也避免了基于关键字查询时因为语义多元化导致检索出无关信息的问题,从而使得检索结果更为全面、准确。本文基于概念名称、概念属性、概念结构相结合的方法,提出了本体匹配中一种综合概念相似度计算方法。

2.概念相似度

在信息检索中计算概念相似度,主要目的是反映结果与用户查询请求的匹配程度,相似度越高,表明该文本与用户请求越接近。在本文中,相似度的取值范围为[0,1]。当比较的两个概念完全相同时,其相似度为1;反之,当两个概念没有任何关联的时候,其相似度为0;其他情况下,其相似度在0到1之间。

目前计算概念相似度的方法主要有三种[4]。

(1)基于词形也即名称相似的方法。这种方法基于编辑距离或相同字词进行计算,与传统的基于关键字检索其实有类似之处。从图1的例子可以看出,由于语义多元化,完全相同的两个概念在不同的上下文中,其所表示的含义不一定一样。

(2)利用语义词典如WordNet、Roget’s Thesaurus中的同义词或义原将所有同类的语义项构成树状层次体系结构,通计算两个概念之间的信息熵或语义距离计算概念语义相似度。

(3)利用语料库统计的方法,根据两个概念在上下文中出现的频率计算概念间语用相似度。

3.综合的概念相似度计算方法

3.1 基于概念名称的相似度

使用元素名称发现查询结果是最直接也是最基本的方法,目前采用较多的有基于文本相似的方法,例如:计算编辑距离的方法、计算单词前后缀相似性的方法、计算Jaro-Winler分数的方法[5]。另一种是基于词典相似的方法,使用较多的是WordNet,例如基于路径长度的Leacock-Chodorow方法、基于最近上层概念的负平均信息量的Lin方法[7]等。

通常在命名时,大家习惯使用完整的单词、部分单词或者复合词作为名称,例如Employee、Associate_Professor。为此,本算法使用了基于同义词和字符串公共子串比较相结合的元素名称相似度计算方法,既考虑元素名称的实际意义,同时也考虑了字符串的相似性,因为两个概念的公共子串长度越长,这两个字符串相似度就越高,其表示相似含义的可能性就越大。在处理概念名称相似度和属性相似度时都采用了同样的方法。

概念A和概念B基于名称的相似度计算公式为:

如果两个概念文本完全匹配,即这两个概念的文本完全相同,则相似度为1。通过WordNet可以查到单词的同义词组,如果两个概念对应字符串的同义词组中有相同的词,那么这两个概念是同义关系,则相似度为a,其中a为常数,由领域专家根据情况确定,且。

表示A和B最大公共子串的长度,和分别表示A和B的字符串长度。

3.2 基于概念属性的相似度

本体中概念的属性可以是简单的数据类型(DatatypeProperty),例如phone就是数据类型属性。如果一个概念的实例通过一个属性与另一个概念的实例相关联,那么这个属性就是对象类型属性(ObjecttypeProperty)。对象类型属性其实体现了两个概念间除继承以外的关系,例如:PhDStudent有一个属性tutor,该属性的取值应该是AcademicStaff的一个实例,所以tutor属性就是对象类型的属性。本算法将对象类型也作为一种特殊数据类型,则属性相似度计算过程如下:

(1)将概念A和概念B的属性按类型分类,形成若干个属性集合P(A)1、…、P(A)m和P(B)1、…、P(B)n。这些数据类型包括对象类型、布尔型、枚举型、实型、字符串等。假设其中相同的数据类型共有k个,则。

(2)对于每种相同类型的属性对P(A)r= {a1,a2,…,ax}和P(B)s={b1,b2,…,by},计算每对属性ai(1≤i≤x)和bj(1≤j≤y)的相似度,记为SOij,可以构造一个相似度矩阵:

其中,数据类型属性根据数据类型的不同,采用不同的计算方法计算其平均差异度dsij,则其相似度由属性名称相似度与平均差异度综合计算。

对象类型属性语义相似度计算就是计算对象类型属性所关联的概念的语义相似度。为避免计算过程中出现循环计算,在计算相似度SOij时只使用公式(1)计算相关联概念的名称相似度。

(3)在求得的相似性矩阵中,取这些相似度中最大的前t个()值记作:p1,p2,…,pt。则得到某种类型属性的相似度为:

(4)因为概念A和B相同数据类型的属性有k个,综合得到两个概念A和B的属性语义相似度:

3.3 结构相似度

3.2节中的对象类型属性实际是考虑了两个概念间除继承以外的关系。继承关系是概念间十分重要的一种关系,能够体现本体中概念的层次结构。Sup(A)和Sup(B)分别表示概念A和B的父概念集,Sub(A)和Sub(B)表示概念A和B的子概念集,则概念A和概念B的结构相似度计算公式为:

3.4 综合相似度

根据上面的定义,可得到根据概念各个特征计算得到的相似度,为了得到最终的概念相似度值,还需要对各计算结果进行如下计算:

4.实验

在图1所示的本体中找到几组概念,根据上面介绍的方法计算其相似度,其中所有的权值都取平均值。计算结果如表1所示。

从实验结果可以看出,虽然在两个本体中都有概念Employee,但由于它在两个本体中表达的语义不同,特别是子概念集差别较大,所以计算得到的综合相似度并大。而FacultyMember与AcademicStaff由于在结构上比较相似,所以综合相似度大于第一对概念。

5.结论

在信息检索领域,概念间语义相似度的计算起着十分重要的作用。本文改进了现有的概念相似度计算方法,综合考虑概念在名称、属性和结构上的语义相似度,并对该方法选取两个本体进行实验。从实验结果来看,这种方法考虑了语义多元化,可以缩小查找结果的范围,提高了查准率;另一方面,此方法也发掘了概念间的隐性关系,提高了查全率。

当然,本体匹配是一个非常复杂的过程,在计算过程中许多参数的设置还有赖于领域专家的建议,或者通过更多的实验数据进行计算得到其概率分布。所以还需要更进一步的工作对算法进行完善。

参考文献

[1]HalevyDoan,Jayant Madhavan,Pedro Domingos,AlonAnHai.Learning to map between ontologies on the semantic web.Proceeding of the World Wide Web Conference.Hawaii USA,2002:662-673.

[2]http:///p/mestrado-ufc-eufrasio/source/browse/trunk/fontes/iswc.owl.

[3]http:///p/apexaifbxxplore/source/browse/trunk/xxplore_core/res/BTC/swrc.owl?r=557.

[4]张磊,周良,谢强,丁秋林.一种基于语义的Ontology映射方法[J].南京航空航天大学学报,2006,38(4).

[5]Pavel,EuzenatJerome,Shvaiko.OntologyMatching.Springer-Verlag Berlin and Heidelberg GmbH & Co.K,2007.

上一篇:TFT—基板玻璃生产线通道空调设备的研究构想 下一篇:基于多元统计分析的教学质量评估模型