APP下载

智能IETM语义检索系统设计与实现

2012-03-17张永恒

电子设计工程 2012年17期
关键词:引擎实例本体

张永恒 , 张 峰 ,2

(1.榆林学院 信息工程学院,陕西 榆林 719000;2.西北工业大学 自动化控制学院,陕西 西安 710065)

随着技术系统的复杂化和技术资料数量的膨胀因素的影响,武器装备IETM系统知识库越来越庞大,而使用者希望能够准确高效的检索到有用信息[1]。但现有的大部分IETM系统还停留在基于关键字精确匹配,查全率和智能性都不高。主要存在的问题表现在:1)采取关键字匹配检索方式,对语义相近的词语无法判定其概念上的相似性,例如检索概念相同但表述不同的同一个概念,那么检索结果就完全不同,这就带来了很大的问题;2)检索结果只是简单罗列,使用者往往要在很多的信息中寻找想要的信息,很难实现与用户的交互,也缺乏关联智能性;3)缺乏推荐和启发式关联机制,检索结果往往只是特定的,如果使用者想查找相关的其他信息则必须重新构想关键字进行二次检索[2]。因此,提高现有IETM系统海量数据的检索的智能化和关联机制就成为IETM技术研究的一个关键技术。针对这一问题,本章提出了一种基于Jena推理机的IETM智能化语义检索方法,并通过实例进行了说明。

1 IETM语义检索

1.1 语义检索建模分析

语义检索引擎(Semantic Retrieval)是本文IETM系统的核心技术之一,设计获取用户的检索词后经过语义扩展完成相关的推理查询,返回具备语义关联的结果集。因此,一个完整的语义检索引擎需包括查询推理扩展、查询映射(查询扩展)和语义封装3大主要模块。

1)查询推理扩展 基于用户提交的检索词作为输入条件的一个处理单元,本体构建的过程中预定义相关的语义推理扩展规则,该处理单元利用语义扩展规则对语义查询进行推理扩展,据此推出一组与用户的检索对象具有语义关联的语义查询条件。

2)查询映射 以获得的语义查询条件作为输入条件的一个处理单元,语义查询条件最终需要转化成一组可执行的SQL语句来查询RDB,该处理单元的功能就是将一组语义查询条件映射成一组RDB的SQL语句,具体的映射规则(Onto-RDB映射规则)需要在本体构建过程中建立。

3)语义封装 对查询结果的加工处理单元,它将从RDB中查询获取的结果根据Onto-RDB映射规则进行逆向推理,解析得出一个基于本体词汇结果集返回。

根据上述模块和涉及的本体构建的前置条件,可以推出语义检索引擎的一种实现模型如图1所示,其具体过程解析如下:

以用户提交的基于本体库词汇的语义查询Qs作为查询输入条件,“查询推理”模块读取“本体库”中预先定义的语义推理扩展规则对Qs进行语义扩展处理,得出与Qs具有语义关联一组语义查询条件 Q1s,Q2s,Q3s,…,Qns;以此为输入,“查询映射”模块读取“Onto-RDB映射规则”获得本体与数据库的映射关系,据此进行查询语句重写处理:重写得出一组SQL语句 Q1D,Q2D,Q3D, …,QnD直接提交给数据连接池来查询 RDB,据此获得一组查询结果集 R(Q1D),R(Q2D),R(Q3D)…R(QnD)。该结果集若直接返回给用户,语义可读性较差,需要调用“语义封装”模块来进行语义处理,该模块读取 “Onto-RDB映射规则”,据此关系进行逆向处理达到语义封装的目的,如公式(1)所示。f-2(R(Q1D),R(Q2D),R(Q3D)…R(QnD))

=(R(Q1s),R(Q2s),R(Q3s)…R(Qns)) (1)

经过重写封装后获得的结果集 R(Q1s),R(Q2s),R(Q3s)…R(Qns)返回给面向视图层的服务器端组件。语义检索的实现模型如图1所示。

图1 一种语义检索的实现模型Fig.1 Semantic retrievalmodel

1.2 语义检索过程建模设计

语义检索的核心是解决检索时执行的查询转换和推理扩展,用户的检索方式并不唯一,完整的语义检索过程通常有两种类型:

1)导航式分类检索 如图2中opt选项1所示,根据用户的检索词获取模型库导航提示,语义检索引擎从本体模型库中推理获得本体的层级关系和关联本体,以本体树或辐射网的形式显示,该导航的主要目的是通过语义关联词挖掘和明确用户的检索需求;用户从导航提示中选择最符合检索需求的本体对象提交给检索引擎获取对象的属性集,该属性集用于构建实例检索表单,表单输入域与本体属性一一对应;表单的“名/值”对构成检索实例,发送到检索引擎与模型库和实例库进行匹配检索获得结果集。

2)全局实例检索 如图2中opt选项2所示,在这种方式下主检索界面的本体已限定,用户选择该本体的某属性输入检索词,检索词本身应是一个实例属性值;语义引擎根据属性值获得结果集,该结果集中的每个实例同属于一个抽象类,因此当引擎在返回该实例的原始数据的同时,会根据模型的语义规则推理得到关联实例。

图2 语义检索过程模型Fig.2 Semantic retrieval processmodel

2 基于Jena语义推理

2.1 Jena功能结构设计

Jena对本体的操作主要包括:

1)以RDF/XML、三元组形式读写RDF

Jena 文档中详细介绍了 RDF(s)和 Jena RDF API,其内容包括对 Jena RDF包的介绍,RDF(s)模型的创建、读写、查询等操作,以及RDF容器等讨论。Jena采用三元组方式并按XML语法规则和格式读写和创建RDF模型,其具体过程如下:

//创建一个空的RDFModel

modelmodelname=ModelFactory.createDefaultModel();

//将模型中的信息写入到RDF文件中

modelname.write(system.out);

//将RDF文件中的信息读取到Model中

modelname.read(new InPutStream Reader(inputstream name);

2) 支持 RDF(s)、OWL 和 DAML+OIL 等本体的操作

Jena框架包含一个本体子系统(Ontology Subsystem),它提供的API允许处理基于RDF的本体数据进行操作和检索,即支持RDFS、OWL和DAML+OIL等本体语言,其具体操作过程如下:

//依据Resource的URI返回 Resource对象

Resource resoucename=model.getresouree(URI);

//利用Resouree对象API列出符合要求的信息

String stringname=resoureename.getProperty (Properyame).getString();

本体API与推理子系统结合可以从特定本体中提取信息,Jena还提供文档管理器(OntDocumentManager)以支持对导入本体的文档管理。

3)内存存储和持久存储

Jena允许将数据以OWL文件暂时存储PDF模型,也支持以文件系统或关系数据库的形式永久存储在硬盘中。

4)查询模型

Jena提供了ARQ查询引擎,它实现SPARQL查询语言和RDQL,从而支持对本体模型的查询。另外,查询引擎与关系数据库相关联,能够高效地查询存储在关系数据库中的本体。

5)基于规则的推理

语义检索意义在于通过概念及其概念之间的关系进行本体层面的检索。Jena支持基于RDF(s)和OWL等规则集的推理,也支持自建规则的推理。

2.2 Jena模块架构设计

Jena程序处理核心是Model和Resource,前者对应于一个文档模型,该模型以文件系统或数据库的方式存储,Jena内核一次性载入原始模型以类似于Dom树的形式序列化到内存中,因此针对模型节点的增、删、改操作基本上都是程序与内存的交互,仅当操作完成后才重新存储到后台持久环境中;Resource是Jena Statement的核心,针对三元组的statement以Resource表示主语,Property表示谓词,对象是一个Resource,这种<Resource, Statement, Property>范式是 Jena解析和推理过程的基础[4]。在Jena体系中,属性定义、属性约束、公理定义形成了Resource,所有的Resource和相互的类公理组成了Model,这是Jena的基本设计思想[5-6]。在该思想的基础上,Jena的模块架构如图3所示。

图3 Jena的模块架构Fig.3 Jena’smodule architecture

3 应用实例分析

依照前面的分析,构建了文献本体系统的类、属性和实例,如图4所示。图4(a)中定义了Book、Person和Publication3个抽象类(Class);图 4(b)中定义所涉及到的 5个属性(Properties),其中 isPublished/Publishing 和 both Published/bothPublishing 是两对互逆(inverseOf)属性。

图4 抽象类与属性Fig.4 Abstract classes and attributes

若一本书B满足如下情况<P1出版 B书,P2出版 B书>,则推出该书由P1社和P2社联合出版;同理,若一个出版社P满足如下情况<P出版A书,P出版B书>,则推出A书和B书都由P社出版。按照Jena GenericRuleReasoner的规则编写规范,上述规则表述为:

[bothPublishing:

(?a http://www.nwpu.edu.cn/owl#Publishing?c),

(?b http://www.nwpu.edu.cn/owl#Publishing?c),

notEqual(?a, ?b)

->(?a http://www.nwpu.edu.cn/owl#bothPublishing?b)]

[bothPublished:

(?a http://www.nwpu.edu.cn/owl#Publishing?b),

(?a http://www.nwpu.edu.cn/owl#Publishing?c),

notEqual(?b, ?c)

->(?b http://www.nwpu.edu.cn/owl#bothPublished?c)]

规则一利用三元组的Property属性值中间没有利用隐含逻辑,是一种最为简单的规则推理;规则二在规则一的基础上利用属性的侧面定义推导隐含的反面逻辑关系。通过两条隐含的isPublished条件来推得bothPublished属性。

IF <a,http://www.nwpu.edu.cn#Publishing,?b>

THEN < b http://www.nwpu.edu.cn#isPublished?a >

综上,可建立如图5所示的该语义模型的程序结构。其中BibModelFactory类用于配置通用推理机的规则库和本体库,返回 InfModel模型;SearchBaseModel调用 BibModel Factory的InfModel并按三元组范式检索模型;URICreator工具类用于统一定义命名空间,为检索关键词返回规范的URI值。

图5 文献本体查询建模Fig.5 Literature ontology querymodeling

4 结 论

文中提出了一种基于Jena推理的IETM智能化语义检索方法,介绍了语义检索的基本理论和五种语义推理工具,并选择出Jena作为航空武器装备IETM语义检索的工具,详细研究了Jena语义推理的功能结构、模块架构、以及其Model API、推理系统、数据存储和检索语法4个子模块等关键技术。提出了基于Jena推理的IETM智能语义检索方法。该方法先检索语义相关集,然后根据语义集合,选择合适的节点获取详细信息。该方法能有效克服传统的关键字检索模型存在的语义缺失问题,且能有效地提高检索的查全率和查准率。

[1]Fuller J J.Plan for DoD wide demonstrations of a DoD improved interactive electronic technical manual (IETM)architecture[R].West Bethesda:CDNSWC,1998.

[2]Su L P,Nolan M,deMare G,et al.Prognostics frame-work software design tool[C]//Aerospace Conference Proceedings,2000:18-25.

[3]Mathur A,Ghoshal S,Haste D,et al.An integrated support system for rotorcrafthealthmanagementand maintenance[C]//Aerospace Conference Proceedings,2010:18-25.

[4]Koh J J,Kwon S D,Kim B U,et al.Implementation of an interactive electronic technical manual based on webmultimedia technology[C]//The 4th Korea-Russia International Symposium on Volume 2,2007:21-24.

[5]Sarma S,Brock D,Ashton K.The Networked PhysicalWorld[R].White paper MIT,MIT Auto-ID Center,2001.

[6]Scholer F,Williams H E,Yiannis J,et al.Compression of inverted indexes for fast query evaluation[C]//In Proceedings of the 25th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval,2002:222-229.

猜你喜欢

引擎实例本体
眼睛是“本体”
蓝谷: “涉蓝”新引擎
基于本体的机械产品工艺知识表示
无形的引擎
基于Cocos2d引擎的PuzzleGame开发
完形填空Ⅱ
完形填空Ⅰ
专题
Care about the virtue moral education
One Engine Left只剩下一个引擎