从多个RDFS本体中抽取子本体①,本文主要内容关键词为:本体论文,多个论文,RDFS论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
语义Web被称为下一代的互联网,它的目标是使Web上的信息具有计算机可以理解的语义,满足Agent对网上异构和分布信息的有效访问和检索[1]。本体是概念模型的明确的规范说明[2],它是解决语义层次上Web信息共享和交换的基础,构成了语义Web的核心。它的形式化定义可以用七元组描述。其中C是概念的集合。概念也称为类,从语义上讲,它是对现实世界中个体的抽象,表示的是个体的集合。A[C]是概念属性的集合。概念间之所以有差异,正是由于它们有着不同的属性,从而对应着不同的个体集合。R是关系的集合。一个关系通常包含定义域和值域两部分,这两部分限定了该关系所适用的范围。是关系属性的集合,关系的属性描述了对关系的进一步限制。H表示概念层次,概念层次是概念集合C上通过Kind-of或Is-a关系构成的概念层次结构。I是实例的集合。实例是现实世界中具体的和唯一的个体,它对应着本体中的一个或多个概念。X是公理的集合,公理集合中的每条公理代表领域知识中的永真断言。
本体建模时总希望模型建立得尽量准确和完整,这往往导致本体规模很大。如统一医学语言系统本体,包括了多达80万个概念和900万个关系。大规模本体难以驾驭,而且实际应用往往只需其中与应用需求相关的一小部分,使用整个本体会大大增加系统的复杂性和降低效率。因此,从源本体中抽取一个小的子本体能让系统更有效。有时单一本体所包含的领域知识有限,所以需要从多个源本体中抽取所需的领域本体。
RDFS本体提供了一种用于表达语义信息,并使其能在应用程序间交换而不丧失语义的通用框架,是语义Web表示语义信息的基础。现有的一些大规模的本体,如WordNet等,都可以表示为RDFS本体。为了获取实际应用领域所需的本体,首先要研究从RDFS本体中抽取子本体的方法。
部分学者对子本体抽取方法进行了研究。Wouters等人提出物化本体视图抽取的顺序抽取过程,通过优化模式来保证抽取质量[3]。该方法计算代价较高。Bhatt等人提出了一种分布式方法来降低从大的复杂本体中抽取子本体的代价[4],并进一步分析了这种方法的语义完整性问题[5]。这些方法都是从单个本体中进行子本体抽取。但多本体环境下的应用很多,多个本体的不同部分都可能是子本体所需要的。Kang等人率先探讨了从多本体中抽取子本体的方法[6],但只是提出了一个多本体抽取的框架,未给出具体算法。本文提出一种从多个源本体中抽取RDFS子本体的算法,一定程度上可以快速构建所需的领域本体。
1 RDFS本体的图模型
RDF是一个网络资源对象和其间关系的数据模型,也是一种基本的本体描述语言[7]。RDF Schema(简称RDFS)是一种用来描述RDF资源的属性和类型的词汇集描述语言,并提供了关于这些属性和类型的语义[8]。RDFS自身也是用RDF表示的,它具有比RDF更强的资源描述能力,可看作是RDF的扩展与补充。
RDFS的基本结构是声明三元组的集合,可用具有节点和有向边的图来表示。图中的节点代表三元组中的主体和客体,边代表谓词,其方向总是由主体指向客体。下面介绍一些相关的概念[9]。
定义1(图):图表示为二元组G=(N,E),其中N为节点集合,E为边集合。
定义5(RDFS本体):RDFS本体是一个有向图G=(N,E)。其中,节点集N表示组成本体的声明中的主体和客体;边集E表示组成本体的声明中的谓词。
RDFS本体可表示为一个连通或无连通的有向图,这取决于本体中的全部声明是否能够通过声明中的谓词全部联系起来。
图1是一个RDFS本体的一部分。RDFS本体中有明确的概念间继承关系“subClasssOf”,这是RDFS具有的一个特有属性,使得“subClasssOf”连接的“Wine”、“Burgundy”和“Meursault”3个概念之间具有继承关系。“ChateauDeMeursault”和“Carton MontrachetWhiteBurgundy”是两个类的实例。“madeFromGrape”是一个关系,它与关系“madeFromFruit”间具有“subPropertyOf”的关系。“subPropertyOf”也是RDFS特有的属性,可表示关系间的继承关系。关系“hasFlavor”与“hasWine Descriptor”之间也具有“subPropertyOf”的关系。“Strong”是实例“CartonMontrachetWhiteBurgundy”上关系“hasFlavor”的值。
图1 一个RDFS本体O[,1]的一部分
2 RDFS子本体的抽取
RDFS子本体的抽取主要包括3个部分:①领域相关知识的获取;②RDFS本体的闭包生成;③从RDFS本体的闭包中抽取RDFS子本体。
2.1 领域相关知识的获取
抽取RDFS子本体首先需要获取领域相关的知识。例如,如果需要从源本体中抽取一个通信领域的子本体,可以首先从通信术语词典中获取与通信领域相关的概念,这些概念是子本体的重要组成要素。抽取的子本体中仅仅包含领域相关的概念是不够的,例如,如果需要抽取含有图1中的概念“Burgundy”的子本体,这个子本体就应该含有概念“Burgundy”类的实例“CartonMontrachetWhite burgundy”。本节通过领域相关的概念分两步来获取和丰富领域相关的知识。
设与领域相关的概念集为,由于在RDFS本体中类也可以作为实例,这些概念是RDFS本体中的类或实例,分别对应图1中的节点。首先将与这些节点直接相连或通过映射直接相连的节点加入领域相关的知识。如对于图1中的概念“Burgundy”,将概念类的直接父类“wine”、直接子类“Meursault”以及实例“CartonMontrachetWhite burgundy”放入领域相关的知识。
RDFS视一切为资源,包括实例、类、关系和声明。在某一声明中,关系作谓词,则在抽象图模型中表示为边;在另一声明中,该关系可能作为主体或客体,则表示为节点。如图1中,关系“madeFromGrape”既表现为图中的边,又表现为图中的节点。因此如果通过第一步得到的领域相关知识中存在两个节点含有关系“madeFromGrape”,则因为“madeFromGrape”又是节点,把这个节点加入领域相关的知识。设通过上面两步得到的领域相关知识表示的节点集为N[,1]。
2.2 多本体的联合闭包
RDFS能够描述概念间子类,父类继承关系及关联关系间的蕴含特性,这使得RDFS描述的本体具有一定的推理功能。如果简单地将RDFS本体中的领域无关概念及概念间关系直接删除,会使得源本体中概念的继承关系、关联关系间的蕴含等特性得不到利用,无形中浪费了RDFS本体具有的推理能力。
Hayes总结了一系列关于RDFS的公理,其中包括了13条推理规则,这些规则对资源、特性等做了声明和定义,并对类和特性的自反性、传递性等做了补充的声明[10]。篇幅所限,下面只介绍13条推理规则中的一部分。
规则5:如果U是V的子特性,V是X的子特性,则U是X的子特性(关系的传递性)
((U subPropertyOf V),(V subPropertyOf X))/(U subPropertyOf X)
规则6:每个特性都是其本身的子特性(关系自反性)
(U type Property)/(U subPropertyOf U)
规则9:如果U是X的子类,V是U的实例,则 V也是X的实例(实例继承性)
((U subClassOf X),(V type U))/(V type X)
规则10:每个类都是其自身的子类(类的自反性)
(U typeClass)/(U subClassOf U)
规则11:如果U是V的子类,V是X的子类,则U是X的子类(类的传递性)
((U subClassOf V),(V subClassOf X))/(U subClassOf X)
根据这些规则,可由已有的RDFS声明中推导出新的RDFS声明。这些新的RDFS声明可看作对RDFS本体中原有隐含知识的显式说明。RDFS模型中所有显式的和隐含的声明称为RDFS模型的闭包。RDFS本体的抽取在闭包的基础上进行,使得抽取出的子本体可以保留更多的领域知识。
定义6(闭包):RDFS图G中显式的和隐含的所有三元组集合组成的图称为G的闭包,记作c(G)。闭包具有的特性为:图G是其闭包的子图;对任一图G,其闭包是唯一的。
Broekstra给出了一个闭包的生成算法[11],其主要思想为:循环地应用13条规则,如果有声明满足13条规则中的某一条,则生成新的声明,将新的声明添加到原有声明中;如果所有声明都不能满足13条规则的触发条件,则循环停止,此时所有RDFS声明组成了原RDFS图的闭包。
单个RDFS本体中的RDF声明生成闭包可更好地利用RDFS的推理能力,而不同本体间的知识往往缺乏联系。本体映射能够将多个本体中的知识联系起来,从而进行多个本体中知识的互相推理。多个通过映射联系起来的RDFS本体图中显式的和隐含的所有三元组集合组成的图称为多本体的联合闭包。为将多个本体中的相关知识有效联系起来,考虑下面4种主要映射:
图2所示本体是图1中本体的一个异构本体。比较两个图可看到:图2中“BurgundyWine”和图1中“Burgundy”这两个概念表示的含义相同,可看作是概念等同的情况;图2中“dryMeursaultWine”是图1中“Meursault”的一种,可看作是概念蕴含的情况。类似的,两个本体的关系间也存在着“关系等同”和“关系蕴含”的情况。
图2 一个异构RDFS本体O[,2]的一部分
在生成多本体的联合闭包时,上述的4种映射需要以RDFS声明的方式表现出来。令本体间映射的处理规则如下:
由上述的映射处理规则,可得到图3的结果。
图3 本体映射的结果
生成联合闭包后,新的RDFS声明集合由两部分组成:多个本体原有的声明集合和由映射规则产生的新的RDFS声明。这些组成了一个新的声明集合,在新的声明集合上应用闭包生成算法生成多个本体的联合闭包。
图4是图3映射结果的联合闭包,其中虚线为生成的新声明中的谓词,虚线起点和终点所指的部分分别为新声明中的主体和客体。比较图3和图4可以看到,在生成的闭包中,推理规则6、9、10和11都得到了应用,将RDFS本体及本体间隐含的知识以声明的方式表现出来。
图4 多本体的联合闭包
2.3 从联合闭包中抽取RDFS子本体
设多个RDFS源本体的联合闭包为一个有向图G=(N,E),其中N为节点集,节点数为k,E为边的集合。已有的领域概念集为C,以C中节点为中心获取的领域相关知识节点集为
图5 抽取出的RDFS子本体
3 结束语
采用本体抽取方法重用本体,可提高本体的利用效率。将RDFS本体抽象为图模型,通过映射生成多个源本体的联合闭包,再从中抽取子本体,可由若干个源本体和领域概念集快速构建领域本体。
大规模源本体的RDFS闭包生成对计算机内存和计算能力要求很高,通常需要大容量内存和较长时间才可完成。因此,分布式RDFS闭包生成算法将是RDFS本体抽取研究的重点之一。
现有的一些较大规模的本体,如Cyc、WordNet、SUMO等,不是为特定领域而构建的,源本体中对领域知识的包含程度、知识表示的粒度以及知识的组织结构各有不同,因此对抽取出的子本体在一致性、完备性等方面还需投入更多的研究。
注释:
①国家自然科学基金青年基金(60403016)、总装备部武器预研基金(51406020105JB8103)资助项目。
标签:语义分析论文;