基于语义网的本体转换模型研究,本文主要内容关键词为:语义论文,本体论文,模型论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
目前万维网上的网页数量已超过150亿,其中大部分页面的内容都是由HTML 语言组织和描述的。计算机虽然能够解析HTML语言并以相应的表达形式将网页内容呈现在浏览器端,但它并没有真正理解页面的内容和意义。互联网上的大量信息仅仅通过这种表层的信息处理就传递给了用户,页面内容中蕴涵的大量信息并没有得到完全的处理和利用,这使得计算机处理器的强大功能没有被有效地利用起来。
互联网技术的研究者们针对这种局限性不断展开了新的研究。在2000年世界XML大会上,万维网创始人、W3C主席Tim Berners-Lee作了题为Semantic Web(语义网)[1,2] 的演讲,对语义网这一概念进行了解释,并提出了它的体系结构。语义网,作为新一代万维网的前沿技术,得到了研究者们的极大关注,国外的许多大学、研究机构及大公司也纷纷设立了专门的项目来推动该技术的发展。
语义网[1] 通过元数据和结构化的分类词汇(Taxonomy)来组织网络资源,并以分层的体系结构扩展了互联网的基本功能,为各种网络软件代理提供了智能化工作的环境。运用本体(Ontology)来描述网络信息资源的语义,是语义网超越目前WWW局限的首要前提。概括而言, 本体是对客观世界的全部或某一部分的概念化和结构化的抽象。本体通过信息内容及其语义的结合,将网络资源的处理从信息处理的层面提高到了知识处理的层面。当网络信息内容通过本体标识描述之后,网络软件就能更好地理解信息资源的意义,从而能在一系列的任务中智能化地定位或整合分散的信息资源。
然而,单一的本体一般无法涵盖客观世界的所有应用和领域,语义网通常由分散在各处的针对不同应用领域的许多本体组成,这些本体所描述的领域可能相同、相似(领域交叉)或完全不同。因此,相关的网络资源(不同组织机构所生产的)很可能以不同的本体(领域有交叉)来标识和描述。为了提高网络信息资源组织、检索、整合等应用软件的工作效率,本体转换成为了这些网络软件亟待解决的关键问题之一。本文就是针对当前语义网大环境下的本体转换模型,展开深入的研究和讨论。
1 基于语义网的本体转换模型的提出
Tim Berners-Lee所畅想的语义网是以一种机器可处理的元数据对网络资源进行标注解释,并以此来提供资源的知识和意义,它的主要目标是使机器能够在“理解”信息元数据的基础上处理信息。在后来的语义网体系结构设计中,进一步提出了以XML作为元数据的语法标准、RDF(S)作为元数据的语义标准(逐渐被现在的DAML+OIL和OWL标准取代),但仍然没有形成知识结构的形式化描述方法。随着信息化步伐的加快,本体被重新提出并定义为对客观世界的概念(concepts)和与概念相关的公理(axioms)的形式化描述。这一特性恰与语义网的定义和发展理念不谋而合,因而,本体论顺其自然地和语义网形成了相互促进的发展架构。
在语义网描述信息语义的触动下,越来越多的描述各种各样领域的本体[3] 产生了,其中不免会有许多描述相似领域的本体。由于网络的分散特性,不同的本体常常被用来描述相似的领域知识,基于不同本体的网络代理之间的通信就会引起语义互操作。为了在这样的语义互操作中提高知识共享和利用的效率,研究者们提出了语义网中相关本体知识之间相互转换的问题。
下面以数字图书馆信息资源建设过程中所遇到的问题来说明本体转换的必要性。数字图书馆的信息资源涵盖了社会科学、自然科学、艺术等各个领域的知识,在信息资源建设过程中要运用不同的领域本体来组织相应领域的知识,而不同领域的知识内容难免会交叉,因而同一知识内容在不同的领域中很可能以不同的本体实体来描述,这样,不同领域中的本体实体可能表达着相同的知识内容。为了实现数字图书馆的各种应用,在信息资源组织过程中需要将这样的跨领域本体实体关系有效地表达出来。因此本体实体之间的映射和转换问题[4] 成为数字图书馆中有效应用本体的一个壁垒,很好地解决不同本体实体之间的映射转换不仅能拓宽本体的应用范围,更能使语义网的发展上升到一个新的水平。
图1 基于语义网的本体转换模型
目前,一些国外的学者已经对不同本体中实体(本体域中概念、关系、属性及公理等)之间的映射匹配和转换等过程展开了专门的研究,但是,这些研究成果大都是针对本体转换过程中的某一特定阶段(比如不同本体概念间的匹配,本体表达形式的语法转换、语义转换以及转换过程中的人工干预等)的解决方法。 笔者以MAFRA(Ontology MApping FRAmework)[5] 作为语义网环境下本体转换的基础,通过对前人某些特定阶段方法的分析和研究总结[6],针对网络环境的动态性、交互性和持续增长的特性,提出了修正后的本体转换模型如图1所示。图中, 横向方框所描述的过程从下到上依据箭头所指的方向依次展示了本体转换的各个重要阶段,可以根据后一阶段的进行结果对前一阶段进行适当的调整(反向箭头所表达的意义);纵向方框所描述的过程则贯穿了整个本体转换过程的始末,并可以与多个横向过程进行交互。
1.1 不同本体实体间的相似度匹配(Similarity)
这一阶段的本体转换处理的重点是计算给定本体的概念之间的相似度,并以特定的阈值限定概念之间的映射关系。实际上,本体概念匹配一直是信息处理应用中的核心问题:凡是包含多个本体的信息处理应用(比如数字图书馆、电子商务、知识管理、信息检索及Web services等)都要通过匹配多个本体中的概念来发现本体间的概念映射,这是保证语义互操作的必要条件。如今在语义网技术的推动下,产生了一些帮助(半)自动化处理本体匹配的算法,如机器学习法(应用于GLUE系统)、H-MATCH[7] 算法等。
1.2 语法转换( Syntactic Translation)和语义转换(Semantic Translation)我们将本体转换的核心过程划分为语法转换和语义转换两部分。语义网中的各个本体通常会以不同的本体表达语言(RDF(S)、DAML+OIL、OWL等)来描述。显然,不同的本体表达语言具有不同的语法结构和表达原语(primitives)[8]。 比如在RDF Schema中定义“人”类型可以表达为:〈rdfs:Class ID=“ Person”〉〈/rdfs:Class〉,而在LOOM[9] 中则要表达为(defconcept Person)。由于不同本体语言所包含的表达原语的数量和表达深度不同,它们具有不同的表达能力,这意味着某些语言能够表达的事情在其他语言中无法表达[8]。比如有些语言可以表达“非”这一概念,而其他语言没有这种表达原语;有的语言支持list、set概念,而其他语言则没有。为了解决这些由不同本体表达语言所带来的不一致,我们一般将这些语言统一转换为一种内部表达语言。这种内部表达语言也必须是一套逻辑理论(Logic Theory,基于描述逻辑Descriptive Logic、谓词逻辑Predicate Logic或Horn Logic等的语言体系)。语法转换就是通过这种方式来消除不同本体知识描述之间的语法差别,从而唯一地突显语义差别。这种分层的转换机制在OntoMerge[10] 中得到了很好的应用。 OntoMerge 是一个在线本体转换系统, 它使用 Web-PDDL[10] 作为语法转换的内部表达语言。Web-PDDL 基于一阶谓词逻辑, 具有与Lisp类似的语法,它以XML名称空间特性和一系列灵活的公理表达符号扩展了PDDL(Planning Domain Definition Language),因此它能够用来表达本体、 数据集或查询。OntoMerge还通过一个内置的转换器PDDAML来实现DAML+OIL和Web-PDDL之间的转换。如果简单扩展PDDAML的功能,还可以实现对其他本体表达语言(如OWL)的转换。在语法转换过程中, 为了避免由于表达能力的限制而产生的语义丢失(Semantic Missing),尽量选择表达能力强的本体语言作为内部表达语言。比如在OntoMerge中,相对于DAML+OIL,Web-PDDL具有更丰富的公理表达符号来描述不同本体概念之间的复杂关系。当然,我们必须合理地平衡本体语言的表达能力和推理能力,因为后续的转换执行过程是以内部表达语言的推理能力为基础的,过于复杂的表达语言将导致不可控制的推理过程和无法预料的推理结果。
相对于语法转换而言,语义转换的自动化处理更加困难。这一过程是以相似度匹配阶段产生的本体概念映射为基础,并以一定的表达方式定义映射的转换规则。
1.3 转换的执行(Execution)和后续处理
转换的执行过程主要是以特定的机制来执行语义转换过程中得到的映射转换规则,从而真正实现本体的转换。在后续处理中,通过对转换执行的结果的检查和分析来修正映射转换规则,进而一步步地前向修正各个转换过程,提高本体转换结果的质量。
1.4 本体演化(Evolution)、领域背景和约束(Domain Knowledge & Constraints)与人工干预(Human Intervention)
在语义网环境下,各个本体中的实体知识在不断的发展和扩充,本体的组织结构也会随之发生改变。当对给定本体之间建立转换关系时,这些本体中可能产生新的概念,相应地会与原有概念建立新的关系。在这种情况下,不仅要对新产生的概念进行相似度匹配,而且新概念的产生将会不同程度地影响本体中原有概念之间的相似度匹配值,从而改变原有的本体概念映射,并产生新的本体概念映射。新概念的产生还可能影响原有概念的粒度,从而改变原有概念的语义,这就要对相应的转换规则进行重新定义并再次执行。当然这种方式并不是最有效率的,应该给映射规则加入演化机制使其可以通过重用现有状态来适应新的需要。
在本体概念相似度测评阶段引入领域背景和约束知识能够明显提高概念匹配结果的精确度。与此同时,映射转换规则的构造也离不开领域背景和约束知识,因为转换规则是在概念的语义大环境下构造的,要准确把握概念的语义范畴就必须了解领域背景和约束知识。
无论是在转换规则构造阶段提供领域背景和约束知识,还是根据转换执行阶段的结果对转换规则进行修剪,甚至在转换规则构造阶段,都暂时离不开人类(尤其是领域专家)的干预。因为在近几年内,本体的转换过程还不太可能达到完全自动化。
前面的内容针对基于语义网的本体转换模型,分阶段地进行了系统的阐述,并把本体转换过程中的重要步骤、方法和转换机制有机地组合到了转换模型中。
2 相似度匹配算法
为了实现多个本体中语义相关的概念之间的转换,需要合适的匹配算法来计算概念之间的相似度,并以此来建立概念映射。相似度匹配阶段的任务是:对给定源本体中的概念,在目标本体中找出与其语义最相近的概念,并将它们关联起来形成概念映射,作为在语义转换阶段构造映射转换规则的基石。因此,匹配算法的质量在很大程度上决定了转换结果的质量。
H-MATCH[7] 算法在评价不同本体概念间的语义相关度时,同时考虑了本体概念的语言学特征(linguistic features)及其与该本体中其他概念之间的语义关系(semantic relations)。该算法认为,概念的意义是由概念的名称术语(term)与其他术语之间的术语关系(terminological relationships)以及与其他概念之间的语义关系(semantic relations)决定的。概念的语言学特征所对应的即是表达该概念的术语与叙词表(Thesaurus)中其他术语之间的术语关系。因此,H-MATCH算法在评价概念的意义时,不仅考虑了该概念的表达名称(即叙词表中的相应术语),还考虑了该概念在本体中的上下文环境(context,包括该概念的属性和与本体中其他概念之间的语义关系)。这种对概念语义的深层次挖掘也是H-MATCH算法最大特色之一。
基于上述考虑,我们将给定的本体看成一个三元组(C,P,SR),其中C 表示本体中的所有概念的集合,P表示概念的属性集合。对于任意p∈P,p被定义为一种一元关系p(c),并且c∈C表示概念集C中具有属性p的概念。SR={same-as,kind-of,part-of,contains,associates},用这些语义关系来概括本体中概念之间的所有关系(如果概念之间相关而又没有明显的相同、类属或部分—整体关系时,就用associates关系来表达它们之间的关联,比如associates(teacher,student))。对于任意sr∈SR,将sr定义为一个二元关系sr(c,c′),并且c∈C、c′∈C表示具有sr语义关系的概念对。
在H-MATCH算法中是这样评价概念的上下文环境的:对给定的概念c∈C,用P(c)={p[,i]│p[,i](c)}表示c的概念集,用SR(c)={c[,j]│sr[,j] (c,c[,j])}表示c的邻居(即与c有语义关系的概念集),于是概念c的上下文环境被定义为Ctx(c)=P(c)∪SR(c)。图2生动地展示了概念Volume的上下文环境(虚线框内)。
图2 本体中概念Volume的上下文环境
H-MATCH算法考虑概念的语言学特征是以叙词表为基础的,概念以叙词表中对应的术语作为名称。在应用中通常利用已有的词汇库(如WordNet)为基础建造叙词表,在需要的情况下本体设计者会对词汇库进行扩充。H-MATCH算法利用WordNet所提供的术语关系的一个子集:{SYN(Synonym-of),BT/NT(Broader/Narrower Terms),RT(Related Terms)},并用TR表示这些术语关系的集合。
H-MATCH算法分别计算概念间的语言相关度LA(Linguistic Affinity)和上下文相关度CA(Context Affinity),这样可以根据待转换本体的不同特性,分别为LA和CA设定不同的权值来计算最终的语义相关度,从而使本体转换模型的灵活度大大提高。
语言相关度LA(t,t′)表示两个概念的名称术语t和t′在叙词表中的相关度,其算法描述如下:
function LA(t,t′)/*函数输入参数为两个术语, 输出参数为术语之间的语言相关度*/
begin function
def x=0,y=1;
if如果在叙词表中存在t到t′的术语关系路径P
/*术语关系路径P是由术语关系组成的路径,对该路径上的每一术语关系tr[ ,i]∈P,δ[,tri]表示术语关系tr[,i]的权值*/
for each P
y=1;
for each t[,ri]∈P
y=y*δ[,tri];
if y≥x
x=y;
return x;
end function
在叙词表中,术语t和t′之间可能存在多条路径,这些路径是由多条关系边组成。如果没有任何路径存在,那么就认为它们的相关度为0;反之, 则比较各个路径的强度值,以最大强度值作为术语的相关度。每条路径的强度值是指该路径上所有术语关系的权值的乘积。图3展示了某叙词表的一部分,图中术语Book和Publication之间有两条术语关系路径,第一条为{NT(Book,Publication)},第二条是{RT(Book,Heading),RT(Heading,Publication)}。
图3 部分叙词表的图例
上下文相关度计算要涉及给定概念与其邻居概念的语义关系之间的相关度比较,称之为“关系关联度”,表达为RA(r,r′)。它是一种评价语义关系之间,或语义关系与属性之间联系的方法,其中r和r′或者全部表示语义关系,或者一个表示语义关系另一个表示属性。其算法描述如下:
function RA(r,r′)/*函数的输入参数为r和r′,输出参数为关系关联度*/
begin function
def δr,δr′;/* δr,δr′分别为语义关系(或属性)r和r′的权值*/
def x=0;
x=1-│δr-δr′│;
return x;
end function
从上述算法中,可以看出语义关系之间的“关系关联度”总在0到1之间。当被比较的语义关系的权值相等时,它们的关系关联度最大,即为1。 两个语义关系的权值差别越大,它们的关系关联度越低。
上下文相关度的评价是由函数CA(CV(c),CV(c′))来实现的,其中c和c′表示被比较的概念,一个概念c的上下文环境Ctx(c)则由一个环境向量CV(c)=(cv[,1],…,cv[,n])来表示。对于所有的i∈(1,…,n)都有cv[,i]=(f[ ,i],r[,i]),其中f[,i]表示概念c的一个属性或邻居概念,而r[,i]表示概念c与f[,i]之间的语义关系(如果f[,i]表示一个属性,则c与f[,i]之间的语义关系由Property来表示)。函数CA(CV(c),CV(c′))的具体实现过程如下:
function CA(CV(c),CV(c′))/*输入参数分别为两个概念c和c′的环境向量CV(c)和CV(c′),输出则为上下文相关度*/
begin function
def x=0,y=0,z=0;
for each cv∈CV(c)│cv=(f,r);
for each cv′∈CV(c′)│cv′=(f′,r′);
y=LA(f,f′)* RA(r,r′);
z=z+y;
z=z÷(length(CV(c))*length(CV(c′)));
x=z*F[,k]/*F[,k]=1+(1-z)作为一个控制因子*/
return x;
end function
在上述算法中,为了更好地平衡相关度分布,引入了一个控制因子F[,k]使得评价结果更精练。
可见,H-MATCH算法在评价概念的语义相关度时, 分别计算它们的语言相关度LA和上下文相关度CA,这样可以根据不同本体的结构特色灵活地设定LA和CA的重要性关系,使得最终的语义相关度更加精确。与此同时,在上下文相关度测度中,属性和邻居概念之间的重要性也可以根据对结果的精度要求和计算量之间的平衡而灵活地设定。其实,H-MATCH算法只需考虑LA就能精确地比较概念之间的差别,但在不同的本体环境下,相同的概念在意义上也不能保持完全一致,因此H-MATCH算法在考虑LA的同时还考虑CA,从而能够更精确地把握在特定环境下概念的语义范畴,做出准确的语义评价,这也充分体现了该算法的科学性。
3 语义转换的实现
语义转换是在相似度匹配阶段产生的概念映射的基础上,以一定的方式表达映射概念之间的转换规则,而这种转换规则的描述和执行也正是整个本体转换模型所要达到的目标。在这一阶段通常有两种方式来表达映射转换规则,一种是语义桥本体(Semantic Bridging Ontology,即SBO)[5,11],另一种是语义桥公理SBA(Semantic Bridging Axiom)[12],两种方式分别以不同的机制来表达转换规则。SBO[11] 以本体作为规则的描述形式,它具有特定的建模原语,能将映射概念之间的微妙关系生动地描述出来,从而形成一个个描述映射规则的语义桥。每个语义桥都封装了从一个源本体实体到目标本体实体转换所需的必要信息,所有相关的语义桥组成了本体映射文档。由于SBO以本体作为描述形式, 常用的本体描述语言都能被用来表达映射规则。下面举一个简单的用DAML+OIL来表达概念映射规则的语义桥[12]:
〈bridges:One2OneConceptBridge rdf:ID=“Person-Person”〉
〈bridges:abstract〉yes〈/bridges:abstract〉
〈bridges:relatesSourceEntity rdf:resource=“&so; Person”/〉
〈bridges:relatesTargetEntity rdf:resource=“&to; Person”/〉
… … …
〈/bridges:One2OneConceptBridge〉
该语义桥描述了从源本体概念Person到目标本体概念Person的语义转换。构建语义桥的特定原语One2OneConceptBridge由名称空间bridges指定,故可将SBO看成描述本体的元本体(meta-ontology)。不同于SBO通过扩展本体描述原语的方式构建语义桥,SBA则通过公理规则来表达语义转换, 这就要求语法转换过程中的内部本体表达语言具有较强的公理描述和推理能力。前文中提到的OntoMerge系统以Web-PDDL作为内部本体表达语言,它具有比DAML+OIL更丰富的公理描述符号, 能够以公理规则的方式来表达语义转换。下面以Web-PDDL为例说明如何以公理的形式表达语义桥。
本体实体(booktitle a s)在源本体中的意义是“出版物a出现在一本以s 为书名的书中”,而在目标本体中意味着“书a的书名是s”,所以事实“The publication a appeared in the Proceedings of IEEE Conf.on Computer Vision and Pattern Recognition”在源本体(以yale_bib为名称空间前缀)中将被描述为:
(:objects…a-InProceedings)
(:facts…(booktitle a“Proceedings of CVPR”))
在Web-PDDL中,声明变量或常量为类型T可以写成“x-T”;“:object”用来声明一系列对象,这些对象以不同的变量来表示;“:facts ”则用来说明一些事实。在目标本体(以cmu_bib为名称空间前缀)中,该事实将被描述为:
(:objects … a-Article proc-Proceedings)
(:facts…(inProceedings a proc)
(booktitle proc “Proceedings of CVPR”)…)
为了实现booktitle从源本体到目标本体的语义转换,语义桥的公理描述如下:
(forall(a-@yale_bib:Inproceedings t1-String)
(iff(@yale_bib:booktitle a t1)
(exists(p-Proceedings)
(and(contain p a)
(@cmu_bib:inProceedings a p)
(@cmu_bib:booktitle p t1)))))
基于公理描述的语义转换在后面的执行阶段需要具有定理证明功能的推理引擎,这种引擎能依据待转换的源本体实体,在SBA中选定合适的公理,并在该公理的指引下一步步地演化出相应的目标本体实体,从而最终实现本体转换。
在SBO方式中,往往构建语义桥的本体原语十分有限,而且表达方式刻板, 与SBA方式相比,它不可能像公理那样简短灵活地把映射规则表达出来。显然SBA更善于表达复杂的本体实体关系,但SBA对执行过程中引擎的推理能力要求很高, 为了防止推理执行的不可预测性,在语义转换阶段要谨慎地构造公理,这些都是为获得简洁灵活的表达方式所要付出的代价。当然,在具体的转换应用中,要针对整个应用的大环境来选取最合适的规则表达方式,而且语义转换阶段的规则表达方式决定了后一阶段的执行机制。
从前述的各个表达映射规则的方法,我们可以看到目前语义桥的构建无法完全自动化。由于相似度匹配阶段仅产生可能的本体实体映射,它是从相似的角度来比较不同本体实体的,而整个本体转换是要在相似性的基础上进行差异转换,本体映射没有提供实体之间的差异信息,语法转换自动地消除了实体的语法差异,为了进一步转换语义差异就需要人(尤其是领域专家)的参与,因为只有人可以理解映射实体间复杂微妙的语义差异,所以语义桥的构建往往是一种交互性的过程。
4 结束语
本文以MAFRA为基础,针对语义网络环境的动态性、交互性和持续增长的特性,提出了新的本体转换模型,并对模型的各个有机组成部分进行了阐述。在对该本体转换模型的研究中,重点讨论了相似度匹配阶段算法的应用原理和语义转换阶段概念映射规则的多种表达方法,并比较了各种方法的优劣。
本文主要从原理和方法论上对本体转换模型框架进行了研究,对于该模型如何适应网络动态性、交互性的具体解决方法,如何在本体演化的环境下高效地实现本体转换、以及语义转换过程中构建语义桥所要考虑的诸多因素还有待进一步的研究。
收稿日期:2005年3月4日