基于ontology的科学数据共享检索体系解析
1.背景
“科学数据”是指各类社会科技活动所产生的原始性、基础性的数据,以及按照不同需求系统加工的数据集和相关信息。科学数据是全社会共同拥有的知识资源,只有实现科学数据的共享才能最大限度地发挥科学数据的价值。为此,许多发达国家建立了一批批全球性的数据共享工程,如美国的“分布式最活跃数据档案中心群”、世界气象组织的“全球电信数据交换系统”和国际减灾协会组织的“国际灾害信息资源网络”等工程,这些共享工程为我国科学数据共享提供了良好的借鉴和参考。我国自2002年起开始了国家科技基础条件平台建设的试点工作,截止目前为止,已经取得了显著进展。
然而,国家共享平台以资源整合为主,强调数据量和系统集成,对于知识管理和智能检索相关技术的研究力度不足。随着平台建设的不断完善,数据存量和数据增量直线递增,如何对这些海量资源进行高效管理,准确获取用户所需专业知识,最大限度发挥科学数据作为战略资源的作用,已经成为数据共享检索系统面临的重要挑战之一。现有的数据共享系统存在许多不足,主要表现在以下几个方面:
1)数据检索:科学数据共享系统利用传统搜索引擎技术,普遍采用关键字匹配方式进行检索,忽视字、词间语义关联以及专业领域特性。加之中文一义多词、一词多义现象广泛存在,导致系统查全率、查准率不高,经常出现错检、漏检等情况,检索到的数据缺少语义和上下文语境支持。
2)数据管理:虽然各个项目都根据国家科学数据共享工程的统一要求整理了用于描述数据的元数据,但元数据大多以数据目录和内容介绍的形式出现,没有充分发挥元数据的用途。此外,对共享资源的管理还停留在数据管理或档案管理的层面,没有从深层次上体现数据的领域特点、形成系统的管理方式,更没有达到知识管理的层面。
3)公共知识共享:众所周知,当两个人进行交流时,双方在认识问题深度、考虑问题着眼点等方面存在很大差异,往往会形成对同一问题的不同理解,但由于公共知识的支持,交流并不会受到影响,一方可以共享另一方的专有知识,反之亦然。目前人机交流还远远不能如此,因为缺少一种明确的、计算机能够理解的规范化、形式化的公共知识,从而降低了人机间信息共享效率,也降低了科学数据共享的效率。
国内外相关科研人员将本体引入信息检索系统,为计算机添加可以识别的领域知识库,以期解决信息检索效率低下等关键问题。然而,相较于国外,我国起步较晚,相关研究成果较少。为了引进国外先进技术成果,我国与多个国家和地区签署了双边和多边协议,国际科技合作项目“基于知识管理的数据共享关键技术研究”正是在这样的背景下提出的。本文作为该项目的系列成果之一,建立了基于本体的科学数据共享检索体系,并描述了该体系的重要模块和关键技术,提出了智能检索系统实现的流程,建立了基于领域本体的智能检索系统,介绍了语义检索的实例,以期对科学数据共享检索服务及相关研究提供借鉴和指导。
2.本体概述
2.1 本体
本体根植于哲学领域,进入信息时代,本体被赋予了新的涵义而应用于在计算机领域,与哲学领域的本体概念有着明显的、本质的区别:
1)哲学领域的本体:本体的首字母是大写“O”,表示一种理论。在西方哲学史中,本体论是关于存在(being)和规律的学说;在中国哲学史中,本体论又叫“本根论”, 指探究天地万物产生、存在、发展变化的根本原因和根本依据的学说。
2)计算机领域的本体:本体的首字母是小写“o”,表示一个实体。关于计算机领域的本体定义有很多,最早是由Neches等人提出的,其中得到广泛认可的是Studer在Gruber 和Borst定义基础上提出的,即“本体是共享概念模型的明确的形式化规范说明”。本体的目标是捕获相关领域的知识,确定该领域内共同认可的概念,并从不同层次的形式化模式上给出这些概念和概念间相互关系的明确定义,提供对该领域知识的共同理解。并且,Web的创始人Tim Berners-Lee指出本体是语义Web核心,如图1所示。

图1 语义网层次结构
2.2 领域本体
本体的分类方法很多,Guarino 的四分法较为普及。1998年,Guarino按照本体详细程度和领域依赖度将本体划分为顶层本体、领域本体、任务本体和应用本体,同时,在此基础上提出了本体论研究层次,如图2所示:

图2 本体研究和开发层次关系图
其中,领域本体是目前国内外本体研究的重点。领域本体是对特定领域内概念及概念间关系的精确描述,他提供一个领域的概念、概念间关系、领域内发生的活动、主要理论和基本原理等。领域本体的研究使得人类共同认知的知识在计算机中形式化地描述出来,从而可以实现特定领域知识的重用。
2.3 本体描述语言
按照本体描述语言的发展阶段不同(如图3所示),可以将其分为两种:
.jpg)
图3 本体描述语言发展阶段
1)基于AI的本体描述语言:伴随着ontology的提出,一些基于AI的本体实现语言被陆续提出,如KIF、Ontolingua、Cycl、Loom、OCML、Flogic等。然而,随着技术的不断更新,这些本体语言大多销声匿迹,并未在描述资源、本体等方面得到广泛的应用和推广。
2)基于Web的本体描述语言:随着Internet的发展,又出现了一些基于Web的本体描述语言,如XML、SHOE、RDF/S、OML、XOL、OXL、CKML、OIL、DAML、DAML-ONT、DAML+OIL、OWL等。其中,RDF用来描述元数据以及元数据之间的关系,它是一种初级本体描述语言,可以用来存储本体中的实例。其他几种本体语言一般都是基于RDF/S和XML两种语言演化的,目前应用比较多的是DAML+OIL和OWL,而尤以OWL最为普及。OWL是由W3C组织推荐的标准,它参考了DAML+OIL的设计思想和经验,具有较好的类构造、推理、公理描述能力以及较好的兼容性和扩展性,同时支持类的层次、类的相等、实例相等、本体扩展以及本体版本修订等功能。有鉴于此,本项目采用OWL作为本体描述语言。
3.系统开发平台与工具
表1是基于ontology的科学数据共享检索系统所采用的开发平台和工具:
表1 系统开发平台与工具

3.1 系统开发平台
系统的实现是一项非常复杂的工程,它需要多个开发工具的协同配合,因此,必须选择合适的开发平台实现系统的整合和多语言工具的集成。考虑项目需要、移植性和扩展性等多种因素,系统采用“EWP”平台,即Java 环境下的Eclipse 平台作为系统实现的基础,windows server 2003作为系统开发的环境,PostgreSQL作为数据库管理工具。
3.2 系统开发工具
● Protégé:
选用斯坦福大学开发的protégé作为本体编辑工具。Protégé 是一个免费的开源本体编辑器和知识库构建软件,它集本体编辑、实例编辑等多种功能于一体,可以外挂多种插件,如OwlPlugin插件可以支持owl语言,能够实现owl语言的可视化编辑;owlviz插件通过protégé调用grapviz软件,实现了本体关系图的绘制。这些插件的灵活调用增强了protégé的功能;Protégé 基于Java,具备可扩展性,提供即插即用的操作环境;另外,Protégé 拥有一个由开发者、学术用户、政府用户和公司用户共同构成的强大群体。以上这些优势无疑促进了protégé在全球范围内的完善和推广。
● Jena:
采用Jena作为语义解析和推理的工具。Jena是一个由HP实验室语义网研究小组开发的表示和处理半结构化数据的Java开源工具包,它包含DAML、RDFS和OWL的应用程序接口(API)、并支持数据表达、解析、查询和简单的推理,从而支持语义网的相关研究和应用开发。
● LTP of HIT-IR:
目前国内外有许多语义分析和推理工具,然而汉语不同于其他语言,所以我们结合系统自身特性以及项目实际需求,选择哈工大LTP系列模块,它是由哈工大信息检索研究室历时5年开发出来的语言技术平台,目前已经面向研究机构全部开源。LTP共包括11个模块,各模块之间的依存关系如下图所示:
.jpg)
图4 LTP模块之间依赖关系
● Lucene:
Lucene是美国Apache 基金会jakarta的一个子项目,其作者Doug Cutting是一位资深全文索引、检索专家,曾经是V-Twin搜索引擎的主要开发者之一。Lucene的目标是为各种中小型应用程序加入全文检索功能,Lucene是一个基于Java的全文索引工具包,它具有良好架构设计,能够很好地支持中文索引。有鉴于此,我们选用lucene作为语义索引工具。
4.系统设计
4.1 系统设计的目标
系统旨在以仪器仪表领域为切入点,建立工业自动化仪表领域本体,建立数据提供者、数据内容和数据使用者之间的联系,开发基于智能代理和知识管理的仪器仪表数据服务系统,最终归纳出一套基于本体的智能检索技术的实现方法和模式,并在机械行业的其他领域应用推广。
4.2 系统架构
在系统分析和参考国内外成功案例的基础上,我们提出了基于本体的数据共享检索体系,如图5所示。系统体系架构共包括3个层次以及2条数据处理主线。
.jpg)
图5 基于本体数据共享检索体系
● 系统体系层次:数据资源层、数据管理层和用户层。
● 数据处理主线:(1)数据资源预处理:元数据描述信息—数据分析—文档语义向量抽取—索引—索引服务器;
(2)用户查询语句处理:用户需求—分词—语法句法分析—查询扩展与校正—查询语义向量抽取。
4.3 主要模块
(1)本体服务器:本体服务器是整个系统的核心,利用服务器中概念及概念间语义关系,协助查询扩展与校正模块以及查询语义向量、文档语义向量抽取等关键步骤的完成;
(2)分词模块:借助本体库中概念以及用户自定义词典对用户输入的自然查询语句进行预处理,以保证领域内组合概念及专有概念的完整性;
(3)查询扩展与校正模块:根据本体概念关系,对分词结果进行查询扩展。同时,通过本体库中相关性、一致性推理,与用户进行交互,并对查询扩展进行校正;
(4)语义向量抽取模块:对查询扩展与校正模块输出结果进行分析,形成一系列多维查询语义向量;
(5)索引服务器:存储数据对象资源与相关本体概念之间的映射关系;
(6)结果优化模块:根据查询扩展的途径不同,对查询结果进行排序,将最符合用户需求的数据放在前面;
(7)本体自动构建与扩展模块:通过编程实现共享网中部分数据资源体系层次结构向标准本体文件格式的转化。自动统计文献中同时出现概率较大的本体概念,协助完成本体概念之间语义关系的抽取。自动记录用户输入的查询语句中没有纳入本体库的概念,便于管理人员及时添加、扩展和完善本体库;
(8)用户查询偏好信息库:记录用户输入的查询语句、形成查询语义向量和用户最终点击下载数据之间的映射关系,通过模糊匹配为用户提供相似性语义查询。
5.关键技术
5.1 本体构建
构建领域本体库是数据共享智能检索系统的关键点和难点,项目组采用的技术路线如下:
其一、专家协同参与。由于项目组拥有一批国内知名领域专家,同时又和外方相关领域专家建立了良好的合作伙伴关系。所以依靠国内和国外领域专家和本体科研专家对本体构建等关键技术提供指导,如下图所示:
.jpg)
图6 专家协同参与流程图
其二、半自动构建本体。目前,本体构建的方法仍以手工构建为主,这种方式构建的本体通常规模很小,当处理大量数据时,就暴露了明显的不足,知识库更新和维护等操作很难实现,使得本体的构建常常处于实验阶段,而不能广泛地、真正地应用于具体系统。目前,国外比较有代表性的本体编辑工具有OntoBuilder、TextToOnto、OntoLearn、OntoLiFT、Hasti等,但是也只能对英文等语言进行自动分析并构建相应本体,对中文的支持并不理想。目前国内还没有本体学习方面的工具,因此还无法进行中文本体的自动构建。有鉴于此,我们通过编程的方式实现了本体概念体系、属性、实例等的自动添加,将编写的程序形成owl文件,最后,在protégé中进行修改和完善等操作。这大大地提高了本体构建的效率以及本体的规模,同时为后续的工作奠定了良好的基础。
5.2 语义推理
推理是整个系统的又一重点和难点所在。本体库中包含了领域中的主要概念、概念间的关系、概念的基本属性等相关信息,本体推理是通过分析用户自然语言查询语句,抽取核心概念, 根据语义分析结果,参照本体库中的信息以及建立的推理规则,查找核心概念和问题在本体库中的位置、提取用户想要查找的专业领域知识的对象集合。
为了更好地实现语义推理功能,我们大力开展与外方合作,通过组织指导、培训以及出国考察、学习等多种途径加强与外方的交流,学习国外先进的推理技术。同时,外方专家为推理规则的设置等相关技术提供建议和指导;利用国外成熟的推理工具,结合国内相关成果自行研发系统需要的推理模块;参考研究哈工大LTP各大功能模块,为推理的实现打下良好的基石;调用JENA工具包的推理功能模块,实现与系统的语义推理。
6.系统实现
按照系统设计的步骤,通过分词、语法句法分析等操作,已经能够初步实现基于仪表领域本体的智能检索。例如当用户输入“测量范围-20~2000的温度仪表”,如下图所示,检索出许多满足条件的实例,而传统搜索引擎只是在字面上进行关键字的匹配,并不能实现诸如此类的语义检索。
.jpg)
.jpg)
图7 检索界面
点击想要查询的具体的实例,如“压力式温度计”,点击“开始查询”按钮,系统将会访问科学数据共享网,检索结果如下图所示:
图8 检索结果













