APP下载

基于本体与面向服务的信息集成

2015-04-02宋鹏

软件导刊 2015年2期
关键词:本体

摘要:信息集成的难点在于异构数据的处理。为了解决这个问题,提出一种基于本体和面向服务(SOA)的解决方案。SOA可以很容易解决信息集成扩展性的问题,使用本体可以实现异构数据的集成和互操作性。此外还提出了一种高效的本体映射算法,该算法结合两种本体映射算法,在本体映射的效率和精确度上都有很好的表现。

关键词关键词:信息集成;面向服务架构;本体;本体映射

DOIDOI:10.11907/rjdk.143908

中图分类号:TP301

文献标识码:A文章编号文章编号:16727800(2015)002000103

作者简介作者简介:宋鹏(1989-),男,江苏徐州人,华北电力大学控制与计算机工程学院硕士研究生,研究方向为本体映射;陈璐(1979-)女,广东汕头人,博士,海军工程大学信息安全系讲师,研究方向为信息安全、可信计算。

1本体与SOA

本体是对领域中概念和概念之间关系的规范化描述[1]。一个典型的本体通常提供一个词汇表来描述感兴趣的领域,并对词汇表中用到的术语进行详细说明[2]。通过使用本体技术,可以实现机器与机器之间的交互。

SOA是开放的软件体系架构。该架构下应用程序的不同服务之间通过定义良好的接口和契约联系起来,接口采用中立的方式进行定义。它应该独立于实现服务的硬件平台、操作系统和编程语言,使构建在各种系统中的服务可以以一种统一和通用的方式进行交互。 SOA的主要特性是松耦合性。SOA的主要作用是把服务从复杂的环境中独立出来,使各服务之间是可互操作、独立、模块化、位置明确的并且是可相互调用、不依赖于其它系统的。

2基于本体和SOA的体系架构

2.1系统架构

现有集成技术主要通过定制适配器(或包装器)以及通过配置文件在不同数据以及消息格式之间建立映射。这种基于语法结构的集成方式难以解决信息语义上的冲突和互联,且集成的代码也往往固化在硬编码的逻辑中,难以支持新概念及事实的动态扩展。考虑到SOA架构在解决企业信息集成方面的灵活性和可扩展性,以及本体技术能够很好地解决信息异构问题,本文提出一种基于本体和面向服务的信息集成方案。以3个系统的信息集成为例,具体如图1、图2所示。

图1传统SOA信息集成架构

图2基于本体的SOA的信息集成架构

要实现该集成架构,首先要做两项基本工作:

(1) 对子系统进行领域本体的抽象。根据子系统的不同特点,对其进行领域本体的抽象,在实际建模过程中主要有以下3种形式: ①基于数据库的结构进行本体抽象,例如对关系型数据库的ER模型进行本体抽象;②基于组件和服务提供的接口描述进行本体抽象;③基于非结构化资源的本体抽象,例如对文档管理等系统中形式各异的文件资料进行本体抽象。

(2)在不同领域本体之间建立映射。通过建立不同领域本体之间的映射可以消除各本体所表示的数据源异构,协调本体之间的冲突。

以上两项基本工作主要完成的是对来源不同的信息进行本体抽象,并最终通过本体映射建立集成本体。这样形成的集成本体比直接建立全局本体有着更好的灵活性和可扩展性。集成本体的构建有利于实现全局模式下的信息交互,消除信息之间的异构,并可通过本体具有的推理特性实现对隐性关联知识的发现与推理。

2.2系统构成

该系统主要由查询接口、推理引擎、本体映射接口和数据存取接口组成。

(1) 查询接口:接受查询请求,并把这些查询请求转换为一种RDF查询语言,如SPARQL。然后将转换后的查询命令传给推理引擎,并接受来自推理引擎的查询结果,查询结果可以用XML语法格式表示。最终向请求方返回其不同格式要求的信息。

(2) 推理引擎:通过 URL 加载推理所需的本体结构以及本体实例信息,进行本体推理以及合法性验证。主要工作是对查询接口传来的查询命令进行逻辑推理,并形成各个子系统对应的查询请求格式,以实现对具体系统的查询。

(3) 本体映射接口:建立不同系统本体的映射。由于现有的本体映射技术还未能实现完全的自动构建,一般需要领域专家的参与。

(4) 数据存取接口(DAI):主要实现对不同系统不同形式存储介质的访问。例如可以通过SQL查询语言获取关系数据库的相关信息,通过FTP协议获取一些系统的FTP服务器上的非结构化文件等,还可以通过UDP协议获取相关的实时数据等。数据存储接口对数据操作的命令来源于推理引擎对查询请求的推理分解成的相应系统的数据操作查询请求。

2.3信息交互过程

(1) 可以把查询接口、推理引擎、本体映射接口和数据存取接口所组成的一个整体看作Broker。当一个系统需要加入该集成系统,首先要构建自己的领域本体,并向Broker发送自己的注册信息,得到批准后将构建好的领域本体上传到Broker,本体映射接口会将其与其它本体关联映射,扩充原有的集成本体。系统变更都需要向Broker更新自己的本体信息。

(2) 当一个系统向其它系统发起查询请求时,查询请求首先被发送到Broker的查询接口中,查询接口会将查询请求转换为RDF查询语言。RDF查询语言将会被分解成不同系统的查询请求格式,然后DAI将会实现对不同系统的查询,查询结果由查询接口返回给请求者。

3本体映射

本体集成是为了解决不同本体之间的共享和交流,其中本体映射是语义网中能够成功进行异构数据集成的先决条件[3]。本体映射是指在两个本体中存在语义级的概念关联,通过语义的联系,实现将源本体的实体(概念、实例、属性等)映射到目标本体实体上的过程。映射性能的好坏直接关系着信息集成的效果。

本文采用的本体映射方法结合了文献[4]的基于模式结构分类的方法和文献[8]的综合相似度评估方法实现本体映射。该方法首先将待映射的本体按照自身的继承关系转换为图,其中将本体中每个概念描述为树。初始时待映射的两个本体中的所有树是在同一个类中,只对同一个类中的元素做映射操作。本体映射操作可以分为以下4个步骤:(1)叶节点相似度计算。采用文献[8]中提出的方法计算叶节点相似度。在相似性计算中,同义词集、特征以及语义邻居都会被考虑在内。使用一个根据各部分相似度加权之和定义的相似度计算函数,如公式1所示。函数Sl、Su、Sn分别是本体O1中类e1和本体O2中类e2之间的同义词集、特征和语义邻居的相似度,wl、wu、wn分别是这3部分对应的相似度权重。

leafnodes-sim(e1,e2)=wl·Sl(e1,e2)+wu·Su(e1,e2)+wn·Sn(e1,e2)(1)

其中 wl· wu· wn >= 0 ,且wl+ wu+wn = 1。Sl、Su和Sn的权重要依据本体特性而定。公式2给出了一个基于标准的Tversky[9]模型和集合论中的交集和差集的相似度测量公式。其中e1和e2是实体类,A和B分别是e1和e2的描述集合(例如同义词集、特征集、语义邻居的实体类集等),| |表示集合的基数,a是一个定义非公共特性相关度的函数。

S(e1,e2)= |A∩B||A∩B|+a(e1,e2)|A/B|+(1-a(e1,e2))|B/A|(2)

其中0≤a≤1。为了更好地获得实体类的层次,虚构一个根节点,它的两个子节点是两个独立本体的根节点。根据这种模型,函数a可以定义如公式3,其中函数depth对应实体类节点到虚根节点的最短路径长度。

a(e1,e2)=depth(e1)depth(e1)+depth(e2)depth(e1)≤depth(e2)1-depth(e1)depth(e1)+depth(e2) depth(e1)>depth(e2) (3)

文献[8]详细阐述了字符匹配Sl、特征匹配Su和语义邻居匹配Sn。采用文献[5]的n percent方法设定一个阈值,以判断两个叶节点所代表的实体是否相似。该方法通过计算最高叶节点的相似度与固定百分比的乘积得到阈值,具体如公式4所示。

cut-off=max(leafnodes-sim(ex,ey)|ex∈O1,ey∈O2)(1-p)(4)

可以根据阈值过滤叶节点映射结果,将结果集存在叶节点映射矩阵中。

(2)非叶节点的相似度计算。可以采用文献[6]、[7]中的方法计算非叶节点之间的相似度,即根据叶节点的相似度计算非叶节点的相似度,如公式5所示。

sim(e1,e2)=∑i∈set(e1,mapping(O1,O2))We2i/∑j∈set(e2)We2j(5)

其中,set(e1,mapping(O1,O2))表示本体O2中能够与本体O1中e1的叶节点建立映射的叶节点集合;set (e2)表示本体O2中e2的叶节点集合;W表示这些节点在O2中的相对权重。可以按下述思想定义相对权重:l是本体O中节点e的叶节点,如果l距离e越近,则l的权重越大,即权重与距离成反比。(3) 概念分类。概念分类指将语义相似的树分到一类。映射操作也只在同一类中进行,这样,不具有相关性的类之间的映射操作会被省略,算法的效率也得以提升。通过计算两棵树根节点之间的相似度决定两棵树是否能归为一类。当两棵树根节点间的相似度大于一个固定的阈值,则这两棵树归为一类。根据文献[5],使用一个合适的常数作为这个阈值。b = c, 其中b是阈值,c是常数(6)当且仅当sim(e1,e2) < b且sim(e2,e1) < b时,e1和e2不被分在同一类,同时也可以推理出mapping (e1, e2, O1, O2) = null 并且mapping (e2, e1, O2, O1) = null。(4) 调节图结构。图的结构需要根据计算出的节点间相似度值和阈值b进行调整。调整方式是根据规则移除部分根节点。被移除根节点的树将会根据继承关系分解成一系列子树。如何选择被移除的根节点,规则如下:①若sim (e1,e2) < b且sim (e2,e1) > b,则移除 e2,推理出mapping(e1,e2,O1,O2) = subclass且 mapping(e2,e1,O2,O1) = superclass;②若sim (e1,e2) > b且sim (e2,e1) < b,则移除 e1,推理出mapping(e1,e2,O1,O2) = superclass且 mapping(e2,e1,O2,O1) = subclass;③若sim (e1,e2) > b且sim (e2,e1) > b,则移除 e1和e2中任意一个,推理出mapping(e1,e2,O1,O2) = equivalentclass且 mapping(e2,e1,O2,O1) = equivalentclass。

迭代上述第2、3、4步骤,直到没有树可被分解。通过

综合非叶节点和叶节点的映射结果,可以获得本体之间的映射结果。上述过程可以用一个流程图表示(见图3)。

图3基于模式结构分类的本体映射流程

参考文献参考文献:

\[1\]VOGRINCIC S, BOSNIC Z. Ontologybased multilabel classification of economic articles[J]. Computer Science and Information Systems, 2011,8(1):101119.

[2]SHVAIKO P,EUZENAT J. Ontology matching: state of the art and future challenges[J]. Knowledge and Data Engineering, IEEE Transactions on, 2013,25(1):158176.

[3]NAGY M, VARGASVERA M. Multiagent ontology mapping framework for the semantic Web[J]. Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on, 2011,41(4): 693704.

[4]XU ZHOU, LEI LIU, RENHONG FAN. A method of ontology mapping based on classifying schema structure[J].ACTA Electronica SINICA, 2011,39(4):882886.

[5]EHRIG M, SURE Y. Ontology mappingan integrated approach[C].Proceedings of the European Semantic Web Symposium (ESWS). Heraklion, Greece, 2004:7691.

[6]DO H H, RAHM E. COMAa system for flexible combination of schema matching approaches[C]. Proceedings of the Very Large Data Bases Conference (VLDB).Roma, Italy,2001: 610621.

[7]MADHAVAN J,BERNSTEIN P,RAHM E.Generic schema matching with Cupid[C]. Proceedings of the Very Large Data Bases Conference (VLDB).Roma, Italy, 2001: 4958.

[8]RODRIGUEZ M A, EGENHOFER M J. Determining semantic similarity among entity classes from different ontologies[J]. Knowledge and Data Engineering, IEEE Transactions on,2003,15(2):442456.

[9]A TVERSKY.Features of similarity[J].Psychological Rev,1977:327352.

责任编辑(责任编辑:黄健)

猜你喜欢

本体
Abstracts and Key Words
灰铸铁缸体本体抗拉强度提升的研究
眼睛是“本体”
对姜夔自度曲音乐本体的现代解读
领域本体的查询扩展和检索研究
基于本体的机械产品工艺知识表示
本体在产品设计知识管理中的应用研究
《我应该感到自豪才对》的本体性教学内容及启示
一种基于本体的语义检索设计与实现
媒介生存:关于新闻史研究本体的思考