当前位置:文档之家› 基于Ontology 的智能检索技术研究与实践

基于Ontology 的智能检索技术研究与实践

基于Ontology的智能检索技术研究与实践* Method of Development and Architecture of an Ontology-Based

intelligent retrieval System

胡正银1,2,方曙2 ,郑颖2,钟秀琴3

(1. 四川大学公共管理学院,成都610041;

2. 中科院国家科学图书馆成都分馆,

3. 中科院成都计算机应用研究所,成都610041)

【摘要】:本文在调研基于本体智能检索相关技术的基础上,总结和讨论了其建设方法与体系结构。基于本体的智能检索系统体系结构从下至上可分为:数据层、语义图层、推理层、查询层、接口层。论文具体讨论了一个基于中医药本体的实验性智能检索系统实现的详细过程,重点论述了语义图层、推理层的技术实现,并指出了在实际建设中需注意的一些问题。

【关键词】:本体;智能检索;知识库;推理规则

【中图分类号】G250 【文章标识码】A

*基金项目:本文受中国科学院西部之光项目:《基于本体的天然药物知识推理系统的设计与应用》;中国科学院知识创新工程青年人才领域前沿项目:《基于本体的智能检索技术探索与实践》资助。

作者简介:

1胡正银,男,研究生,1979—,中国科学院国家科学图书馆成都分馆(成都文献情报中心)信息技术部工程师,四川大学公共管理学院情报学硕士研究生,已发表论文6篇。研究方向:知识管理与数据挖掘。通信地址:四川省成都市人民南路四段九号中国科学院成都文献情报中心。联系电话:028-********。Email:huzy@https://www.doczj.com/doc/e85492663.html,。2方曙,男,博士,1957—,中科院国家科学图书馆副馆长,成都分馆馆长,中科院研究生院情报学博士生导师、四川大学公共管理学院情报学硕士研究生导师,已发表论文60余篇。研究方向:知识管理与情报分析。

3郑颖, 女 ,博士,1973—,中科院国家科学图书馆副研究员,已经发表论文多篇。研究方向:知识管理与情报分析。

4钟秀琴,女 ,博士,1976—,中科院成都计算机应用研究所,副研究员,已经发表论文多篇。研究方向:知识库。

1、引言

传统的学科信息门户多提供基于学科分类的资源导航服务与基于关键词匹配的检索服务,由于信息之间缺乏语意的关联,因此很难提供基于知识的服务。基于本体的智能检索技术在传统的关键词匹配检索的基础上,通过添加了语义层,可实现基于语义的智能检索,目前已成为研究的热点[1]。

虽然基于ontology的智能检索技术研究仍处于发展的前期,还有很多研究难题,但其已经引起了包括图书情报界在内的广泛关注。

2、智能检索系统体系结构

以语义网七层体系结构为参考,基于本体的智能检索系统结构如下[2] :

接口层

(提供用户和应用程序接口)

查询层

(在语义图的基础上,实现智能查询)

推理层

(提供基于规则的知识推理和知识发现的功能)

语义图层

(对概念进行语义描述,用定义的关系连接各种概念,并对数据库中的资源进

行语义映射,建立领域知识的核心语义图)

数据层

(有机地整合多源数据和通用本体,并提供远程访问接口)

图1 基于本体的智能检索系统体系结构图

Fig 1 “ontology-based intelligent retrieval” architecture diagram

1、数据层:有机地整合多源数据及通用本体等,并提供远程访问其它相关数据的接口。

2、语义图层:在已有数据库及文献资料等资源的基础上,采用RDF,OWL等描述语言对数据库的各类数据和资源进行语义描述和关系映射,建立一个领域知识的核心语义图。该语义图可扩展、可读写、可推导。逐步构建领域的本体[3]。

3、推理层:推理规则的提取与描述,利用推理引擎如:Jena或RacePro或RDF Prolog等,实现知识推理和新知识发现的功能。

4、查询层:在语义图的基础上,利用推理功能,根据数字图书馆知识服务的需要,可建立知识查询服务。

5、接口层:在一个查询界面下实现跨数据库查询和数据整合,使得用户查询更加便利和全

面,提供用户和应用程序接口。

3、智能检索实验性系统的实现

本文以AllegroGraph知识库管理系统为基础,以AllegroGraph知识库系统自带的RDF Prolog 语言作为推理规则描述语言,在Java环境下实现了一个基于中医药本体的智能检索演示系统,具体方案描述如下:

1、数据层:在中药专家的指导下,以《中国中医药主题词表》[4],《中国大百科全书·中医》[5]中医卷,国科图成都分馆自建的天然药物数据库相关内容,作为本系统的数据源。主要涉及的数据包括:中草药的分类及其味,性,效等属性;中药方剂分类疗效及组成等属性;中医病症的症状等属性。

2、语义图层:采用OWL描述语言对数据层数据进行描述,建立本体文件。该本体包含相关概念之间的关系及部分中草药,中药方剂实例的映射关系,形成该领域核心语义图。

在本体的建设过程中,根据中医药主题词表的分类标准,采用自上而下的设计方法。如在定义中草药类时,先定义中草药类,然后按照其疗效分别定义:安神药,补益药,解表药等类,最后才在子类下面定义具体中草药实例[4] [5]。

中草药本体的结构设计如图2:

图2 中草药实验本体结构图

Fig 2 “herb demo ontology” architecture diagram

其中中药类特定属性包括:品名、别名、性(寒、热、温、凉)味(辛、甘、酸、苦、咸)、功效、应用等;方剂类的特定属性包括:成份、主治等;中医病症类的特定属性包括:症状等。

在设计概念及实例之间相互关系时,除了owl中内置的上下位关系subclassof 、同一关系:SameAs、类-实例关系:Individual外,部分定制关系如表1:

表1 本体部分属性

Table1 Part of the Meridians Ontology’s Attributes

使用Protégé或TBC编辑器建立本体文件。目前本体数据持久化主要有三种方式:文件存储、传统关系型数据库存储、RDF三元组存储[6] [7] [8] :

表2 本体数据持久化方式

Table2 Method of the ontology storage

经分析比较,本系统采用专门的RDF三元组存储系统AllegroGraph实现本体数据的持久化保存。我们认为:专门的ontology知识库管理系统必将越来越成熟,成为建立知识库的首选。

3、推理层:虽然使用OWL语言可以较好的描述领域之间知识的关系,但是在描述一般形式的规则时,需要进行复杂的描述,如纯粹使用OWL来描述本体之间的关系,将给知识检索性能带来一定的影响。而通过在语义层的基础上,添加一个推理层,可以较好的解决该问题[9]。

推理层采用的推理机有如下类型[8] [9] [10]:

表3 推理机类型

Table3 Kind of the Reasoners

本实验性系统采用泛化规则方式实现推理,具体来说采用AllegroGraph知识库系统自带的RDF Prolog语言作为推理规则描述语言,来建立推理层。Prolog作为一种逻辑编程语,建立在逻辑学理论基础之上,最初被运用于自然语言等研究领域。现在已广泛的应用在人工智能、专家系统、自然语言理解、智能知识库研究中[11]。现将部分推理规则描述如下:

zyonto是在系统中定义的语义层本体命名空间,以下分别用ZY、ZYFJ、ZYBZ定义在推理规则中中草药,中药方剂,中药病症简称:

<-- (ZY ?x) (q ?x ! rdf:type !zyonto:zy))

<-- (ZYFJ ?y) (q ?y ! rdf:type !zyonto:zyfj))

<-- (ZYBZ ?z) (q ?z ! rdf:type !zyonto:zybz))

以下定义推理规则中基本关系:

定义关系:iscomponent:

Prolog描述:(<-- (iscomponent ?x ?y) (ZY ?x)(ZYFJ ?y) (q ?x !zyonto:iscomponent ?y)) 关系说明:如果x是一种中草药,y是一种中药方剂,且x的iscomponent值为y,那么x与y的关系为iscomponent;

定义关系:usezy:

Prolog描述:

(<-- (usezy ?y ?x) (ZYFJ ?y)(ZY ?x) (q ?y !zyonto:usezy ?x))

或者:

(<-- (usezy ?y ?x) (iscomponent ?x ?y))

关系说明:如果x与y的关系是iscomponent,那么y与x的关系为usezy;

定义关系:cancure:

Prolog描述:(<-- (cancure ?y ?z) (ZYFJ ?y)(ZYBZ ?z) (q ?y !zyonto:cancure ?z))

关系说明:如果y是一种中药方剂,z是一种中医病症,且y的cancure值为z,那么y与z的关系为cancure;

以上三种关系本身存在与语义层的定义中(即存在于OWL文件中),在推理层中重新定义,是为了给进一步复杂的关系推理提供基础。现在其基础上定义复杂关系:

定义关系:haseffect:

Prolog描述:(<-- (haseffect ?x ?z) (iscomponent ?x ?y) (cancure ?y ?z))

关系说明:如果中药方剂y能治疗病症z,且中药方剂y配方中包含中草药x,那么中草药x 可能对病症z有疗效。

可能有疗效规则:haseffect是在语义层基本定义的基础上推理出来的,当语义层的基本属性定义足够多时,可以利用这些属性编写出很多复杂的推理规则存储在推理层,以供查询层直接调用。这样做的好处是:一方面可以简化语义层的定义工作,避免本体文件变得庞大和不可读;另一方面有利于查询层的封装与调用,否则每次查询层进行检索时,都要直接利用语义层定义的属性进行推理,效率低下。

4、查询层:查询层是面向知识服务的核心应用,不同于传统的信息检索,基于本体的智能检索系统中可对用户的查询关键词经过一组推理操作,实现同义、上下位及平级扩展,形成语义丰富的扩展概念集,再提交搜寻[12]。

5、接口层:本系统采用JSP开发了一个演示性用户界面,用户可以进行一些简单的智能检索,如:针对寒湿症状可能有疗效的中草药有哪些等,在此不再赘述。

4、需要注意的问题

1、本体与规则的结合:单纯使用OWL来描述领域知识间的关系,其表达能力局限于描述逻辑,在描述一般形式的规则时,需要进行很复杂的描述,会给本体建设与知识检索性能都带来很大的影响[9]。建议在实际系统建设中,将推理层单独独立出来,使用高效的推理规则描述语言如:RDF Prolog等来对语义层基本关系重新描述,并通过对这些基本关系进行重新组合生成更复杂的关系。而不要将所有的关系试图全部在语义层中进行描述。

2、采用专门的知识库存储系统:关系数据库系统对交易数据和数据分类很有效,但是处理关联数据(大多数的知识都属这一类)时就有所欠缺。此外RDBMS对知识的开放式管理支持有限,当新的知识添加或修改时,很有可能涉及到数据库底层数据结构的修改,不适合于知识的管理。对知识库底层知识的存储与管理,建议使用专门的知识存储与管理系统,如:AllegroGraph 等[6]。

5、结语

基于本体的智能检索技术是目前一个比较热门的研究热点,国内外很多机构、学者对此进行了大量研究。其涉及的内容与技术较多,还没有形成统一的模式与规范。本文在系统调研基于本体的智能检索技术相关技术与方法的基础上,结合《基于本体的天然药物知识推理系统的设计与应用》项目研究,设计了一个简单的智能检索系统,并指出了在建设过程中应注意的一些问题。由于在中医领域,目前尚未建立一套完整、系统的本体库,本文中涉及到的中医药本体尚在进行当中,并不完善,因此该智能检索系统推理规则有限,智能检索应用也受到一定的限制。本文希望通过描述智能检索系统建设全过程,对基于本体的智能检索应用开发起到抛砖引玉的作用。

参考文献

[1] 杨建林. 网格环境下的信息检索[J]. 情报理论与实践,2007,(30卷3期):88-94

[2] 李洁,丁颖. 语义网关键技术概述[J]. 计算机工程与设计,2007,(28卷8期):1831-1836

[3] 田稷.语义网与网络信息和知识的表达[J].情报杂志,2003;(6)

[4]吴兰成. 中国中医药主题词表[M]. 中医古籍出版社:1996.

[5] 傅世垣. 中国大百科全书·中医(修订版)[M]. 中国大百科全书出版社:2000.

[6] Franz公司培训资料[EB/OL]. https://www.doczj.com/doc/e85492663.html,/allegrograph/.

[7]Aimilia Magkanaraki, Grigoris Karvounarakis, Ta Tuan Anh, et al. Ontology storage and querying:TECHNICAL REPORT No 308[R],Foundation for Research and Technology Hellas Institute of Computer Science Information Systems Laboratory,April 2002.

[8] Jena - A Semantic Web Framework for Java [EB/OL].

[2008-03-15] [2008-09-10]. http://https://www.doczj.com/doc/e85492663.html,/

[9] 钟秀琴. 本体知识表示与推理的理论研究及其应用[D].中国科学院学位论文检索系统:中国科学院,2008.

[10] 袁方,王涛. 基于本体的推理机研究[J]. 计算机工程与应用,2006,(9):158-165

[11] 维基百科-Prolog [EB/OL]. http://https://www.doczj.com/doc/e85492663.html,/wiki/Prolog

[12] 佘莉. 基于语义的几何学科知识平台[D] .中国科学院学位论文检索系统:中国科学院,2006.

相关主题
文本预览
相关文档 最新文档