摘要:由于目前检索技术效率低下,所以需要一种基于本体的检索技术来提高效率。语义相似度计算是基于本体的检索技术的一个关键问题。本文对已有语义相似度计算方法进行总结并改进,最后对其进行分析。
关键词:本体;本体检索;语义相似度计算
1 引言
随着internet的日益发展和普及,本体在信息采集、信息检索及本体集成等方面的应用越来越广泛。2002年12月18日berners-lee在国际xml2000的会议提出semantic web(语义网)的构想[1]。在semantic web中,语义相似度算法是实现基于本体的检索、采集等的关键问题。因此语义相似度算法的好坏成为信息检索效率高低的重点,于是改良语义相似度算法是一个迫切的问题。
关于语义的相关性,国内外专家已经做了大量的工作:resnik根据两个词的公共祖先节点的最大信息量来衡量两个词的语义相似度。agirre等在利用wordnet计算词语的语义相似度时,除了结点间的路径长度外,还考虑到概念层次树的深度、概念层次树的区域密度。鲁松研究了如何利用词语的相关性来计算词语的相似度。li sujian等提出了一种词语语义相似度的计算方法,计算过程综合利用了《知网》和《同义词词林》。朱礼军等引入了计算语言学中的语义距离思想来计算领域本体中概念间的相似度。
本文总结前人的经验,并将概念的数据类型考虑其中,这样概念的语义相似度就更加精确。
2 本体与领域本体
本体(ontology)作为一种能在语义和知识层次上描述信息的概念模型,自被提出以来就引起了国外众多科研人员的关注,并在计算机的许多领域得到了广泛的应用,如知识工程、数字图书馆、软件复用、信息检索和web上异构信息的处理、语义web等。
2.1 本体的概念
目前对本体的定义有很多,专家们认为由studer等人在1998年提出的“本体是共享概念模型的明确的形式化规范说明。[3]”最为精确。它包含4层含义:概念化(conceptualization)、明确(explicit)、形式化(formal)和共享(share)。
(1)概念化:指通过抽象得出客观世界中一些现象(phenomenon)的概念模型。
(2)明确:指所使用的概念及使用这些概念的约束都有明确的定义。
(3)形式化:指本体是计算机可读的(即能被计算机处理)。
(4)共享:本体中体现的是共同认可的知识,反映的是相关领域中公认的概念集,它所针对的是团体而不是个体。
2.2 本体的分类
guarino[5]在1997年对本体依照领域依赖程度,分为顶级(top-level)、领域(domain)、任务(task)和应用(application) ontologies共4类。其中:
(1)顶级ontologies描述的是最普通的概念及概念之间的关系,与具体的应用无关,其他种类的ontologies都是该类ontologies的特例。
(2)领域ontologies描述的是特定领域中的概念及概念之间的关系。
(3)任务ontologies描述的是特定任务或行为中的概念及概念之间的关系。
(4)应用ontologies描述的是依赖于特定领域和任务概念及概念之间的关系。
本文主要就是基于领域ontology来设计与研究语义相似度计算方法。
3 语义相似度计算
语义相似度是判断几个概念之间的语义的相似程度。在信息检索中,它反映的是用户查询关键词的意义上的符合程度。
3.1 语义相似度计算原则
语义相似度的计算原则是为了本体内部概念间相似度计算更加准确而提出的[2],其内容如下:
(1)量化原则:相似度是一个数值,取值范围应该在[0,1]之间[3],如果两个概念完全相同,那么他们的相似度为1,完全不同,相似度为0。
(2)简单性原则:计算相似度的同时应该考虑计算复杂度[4],复杂度应该尽量降低。
(3)充分利用本体的特性。
(4)可调节性:可调节性是指相似度的计算结果可通过某些参数来调节,词语相似度是一个主观性比较强的概念,可调节性可以满足不同的需求,适应不同的情况[2]。
(5)类型性:在计算概念相似度的时候,也应该将概念的数据类型考虑其中,这样能提高概念相似度的精度。
(6)对称性:sim(c1,c2)= sim(c2,c1),对称性有利于概念相似度之间的对比与换算。
3.2 相似度计算方法
本文建立了一个简单的医疗系统的本体,如图1所示。class:表示的是类,subclassof:表示的是本体中最主要的关系,即概念之间子类的关系,也就是继承关系。例如:c0是c1,c2的父类,而c1与c2则是c0的子类。
利于owl语言构建此本体的代码片段,如下:
xmlns:rdf="/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="/2001/xmlschema#"
xmlns:rdfs="/2000/01/rdf-schema#"
xmlns:owl="/2002/07/owl#"
xmlns="/ontology1243997987.owl#"
xml:base="/ontology1243997987.owl">
……
……
(1)语义距离:是两个概念在本体树中的最短距离,记作distant(a,b)。①语义距离越大,其语义相似度越低。反之越大。②两个概念的父节点是同一个,那么distance=1/n(n表示与该节点有共同父节点的子节点的个数)③同一概念的语义距离为0。例如:图1中所示的distance(c5,c5)=0,distance(c7,c8)=0.5。
(2)datatype(数据类型属性)的相似度:是两个概念的数据类型的比较得出来的一个参数值,记作simdt(a,b)。如果两个概念的数据类型相同,则simdt(a,b)=1。如果不同,则simdt(a,b)=0。
(3)objectproperty(对象类型属性)的相似度[5]:是类与类之间的关系,记做simobject(a,b)。和分别表示概念和的对象类型属性的个数。 的对象类型属性所对应的概念为,的对象类型属性所对应的概念为,则概念的对象属性的语义相似度为:
(4)本体概念的深度:是概念在本体树中的层数,记作depth(a)。
(5)调节因子:是为了满足系统的特定需要而设定的特定参数。由于词语相似度是一个主观性比较强的概念,所以必须使用调节因数来具体情况具体分析。它通过对本体树的广度与深度的控制来调节特定的语义的相似度。本文用k来表示调节因数。
综合得出语义相似度算法的公式:
式中sim(c1,c2)表示概念c1、c2的语义相似度,distance(c1,c2)表示概念c1、c2的语义距离,simdt(c1,c2)表示概念c1、c2的数据类型的相似度,simobject(c1,c2)表示概念c1、c2的对象类型的相似度,k表示调节因子,depth(c1)表示c1的的深度(即本体树中的层数),分别是数据类型属性和对象类型属性在属性相似度中的权值,,且。
3.3实验结果
根据本文得出的语义相似度算法,即上述公式计算出表1所示的本体树的语义相似度。
3.4 基于本体语义相似度的应用
begin;
input:查询表达式 q={w1,w 2,……,wn} and 语义相似度的临界值k;
result = null,i=0;
while(q[i]的语义相似度>=k){
result[i]=q[i]+相关概念集;
i++;
}
return result;
end;
4 结束语
人与机器之间的有语义的交流近年来成为了人们研究的焦点与瓶颈。本体由于其共享性和明确性以人与机器的语义交流的基础进入了人们的视野。本文通过建立本体树,利用其层次之间的关系来设计概念的语义相似度算法。同时将概念的数据类型与对象类型也考虑其中,这大大提高了概念的语义相似度算法的精度。但是由于本文只考虑了基于单个本体的相似度算法,不能满足多个领域本体间概念的相似度算法。在以后的研究中,会将此算法扩展到多个领域来设计,以便大幅度提高概念的语义相似度的精度,进而优化基于本体的信息检索及信息采集。
参考文献
[1]berners-lee t,hendler j,lassila o.the semantic web[j].scientific american, 2001,284(5):34-43.
[2]李鹏,陶兰.一个改进的本体语义相似度计算及其应用[j].计算机工程与设计,2007,28(1):226-228.
[3] 刘建,李素建.基于《知网》的词汇语义似度计算[j].中文计算机语言学, 2002,7(2):59-76. [4] andreasen
论文联盟 ,henrik bulskov,rasmus knappe.from ontology over similarity to query evaluation[z].elsevier science, 2003.
[5] guarino n. semantic matching: formal ontological distinctions for information organization, extraction, and integration. in: pazienza m t, eds. information extraction: a multidisciplinary approach to an emerging information technology, springer verlag, 1997, 139-170