您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 基于Ontology的智能检索技术研究与实践
``````基于Ontology的智能检索技术研究与实践*MethodofDevelopmentandArchitectureofanOntology-BasedintelligentretrievalSystem胡正银1,2,方曙2,郑颖2,钟秀琴3(1.四川大学公共管理学院,成都610041;2.中科院国家科学图书馆成都分馆,3.中科院成都计算机应用研究所,成都610041)【摘要】:本文在调研基于本体智能检索相关技术的基础上,总结和讨论了其建设方法与体系结构。基于本体的智能检索系统体系结构从下至上可分为:数据层、语义图层、推理层、查询层、接口层。论文具体讨论了一个基于中医药本体的实验性智能检索系统实现的详细过程,重点论述了语义图层、推理层的技术实现,并指出了在实际建设中需注意的一些问题。【关键词】:本体;智能检索;知识库;推理规则【中图分类号】G250【文章标识码】A*基金项目:本文受中国科学院西部之光项目:《基于本体的天然药物知识推理系统的设计与应用》;中国科学院知识创新工程青年人才领域前沿项目:《基于本体的智能检索技术探索与实践》资助。作者简介:1胡正银,男,研究生,1979—,中国科学院国家科学图书馆成都分馆(成都文献情报中心)信息技术部工程师,四川大学公共管理学院情报学硕士研究生,已发表论文6篇。研究方向:知识管理与数据挖掘。通信地址:四川省成都市人民南路四段九号中国科学院成都文献情报中心。联系电话:028-85220240。Email:huzy@clas.ac.cn。2方曙,男,博士,1957—,中科院国家科学图书馆副馆长,成都分馆馆长,中科院研究生院情报学博士生导师、四川大学公共管理学院情报学硕士研究生导师,已发表论文60余篇。研究方向:知识管理与情报分析。3郑颖,女,博士,1973—,中科院国家科学图书馆副研究员,已经发表论文多篇。研究方向:知识管理与情报分析。4钟秀琴,女,博士,1976—,中科院成都计算机应用研究所,副研究员,已经发表论文多篇。研究方向:知识库。1、引言传统的学科信息门户多提供基于学科分类的资源导航服务与基于关键词匹配的检索服务,由于信息之间缺乏语意的关联,因此很难提供基于知识的服务。基于本体的智能检索技术在传统的关键词匹配检索的基础上,通过添加了语义层,可实现基于语义的智能检索,目前已成为研究的热点[1]。虽然基于ontology的智能检索技术研究仍处于发展的前期,还有很多研究难题,但其已经引起了包括图书情报界在内的广泛关注。2、智能检索系统体系结构以语义网七层体系结构为参考,基于本体的智能检索系统结构如下[2]:接口层(提供用户和应用程序接口)查询层(在语义图的基础上,实现智能查询)推理层(提供基于规则的知识推理和知识发现的功能)语义图层(对概念进行语义描述,用定义的关系连接各种概念,并对数据库中的资源进行语义映射,建立领域知识的核心语义图)数据层(有机地整合多源数据和通用本体,并提供远程访问接口)图1基于本体的智能检索系统体系结构图Fig1“ontology-basedintelligentretrieval”architecturediagram1、数据层:有机地整合多源数据及通用本体等,并提供远程访问其它相关数据的接口。2、语义图层:在已有数据库及文献资料等资源的基础上,采用RDF,OWL等描述语言对数据库的各类数据和资源进行语义描述和关系映射,建立一个领域知识的核心语义图。该语义图可扩展、可读写、可推导。逐步构建领域的本体[3]。3、推理层:推理规则的提取与描述,利用推理引擎如:Jena或RacePro或RDFProlog等,实现知识推理和新知识发现的功能。4、查询层:在语义图的基础上,利用推理功能,根据数字图书馆知识服务的需要,可建立知识查询服务。5、接口层:在一个查询界面下实现跨数据库查询和数据整合,使得用户查询更加便利和全面,提供用户和应用程序接口。3、智能检索实验性系统的实现本文以AllegroGraph知识库管理系统为基础,以AllegroGraph知识库系统自带的RDFProlog语言作为推理规则描述语言,在Java环境下实现了一个基于中医药本体的智能检索演示系统,具体方案描述如下:1、数据层:在中药专家的指导下,以《中国中医药主题词表》[4],《中国大百科全书·中医》[5]中医卷,国科图成都分馆自建的天然药物数据库相关内容,作为本系统的数据源。主要涉及的数据包括:中草药的分类及其味,性,效等属性;中药方剂分类疗效及组成等属性;中医病症的症状等属性。2、语义图层:采用OWL描述语言对数据层数据进行描述,建立本体文件。该本体包含相关概念之间的关系及部分中草药,中药方剂实例的映射关系,形成该领域核心语义图。在本体的建设过程中,根据中医药主题词表的分类标准,采用自上而下的设计方法。如在定义中草药类时,先定义中草药类,然后按照其疗效分别定义:安神药,补益药,解表药等类,最后才在子类下面定义具体中草药实例[4][5]。中草药本体的结构设计如图2:图2中草药实验本体结构图Fig2“herbdemoontology”architecturediagram其中中药类特定属性包括:品名、别名、性(寒、热、温、凉)味(辛、甘、酸、苦、咸)、功效、应用等;方剂类的特定属性包括:成份、主治等;中医病症类的特定属性包括:症状等。在设计概念及实例之间相互关系时,除了owl中内置的上下位关系subclassof、同一关系:SameAs、类-实例关系:Individual外,部分定制关系如表1:中医药实验本体方剂清热剂开窍剂……安神剂清热祛湿剂……清脏府热剂清热解毒剂八正散白头翁汤黄连解毒汤柏子养心丸中草药解表药辛凉解表药辛温解表药白芷薄荷补益药补气药……补血药白及白芍……开窍药安息香中医病症阴阳症候虚实症候寒热症候六经症候……寒证化热肝火犯肺阳盛格阴太阳中风表1本体部分属性Table1PartoftheMeridiansOntology’sAttributes谓词DomainRange举例iscomponent中草药方剂陈皮是纯阳正气丸配方的一部分usezy方剂中草药纯阳正气丸配方中有陈皮这味药cancure方剂病症纯阳正气丸能治疗寒湿症transfer病症病症寒热症可转换成为寒湿症使用Protégé或TBC编辑器建立本体文件。目前本体数据持久化主要有三种方式:文件存储、传统关系型数据库存储、RDF三元组存储[6][7][8]:表2本体数据持久化方式Table2Methodoftheontologystorage持久化方式特点文件存储轻便快捷,适合于小型的本体库。不需要过多的配置,便于备份,复制,编辑,且查询速度快。缺点在于不适合较大的本体库,每次都需要读入内存进行操作,缺乏单独的索引机制,且对于模型的修改需要一次性保存全部模型,效率不高传统关系型数据库存储可处理更大更复杂的本体模型,标准的查询接口,容易使用。但当本体模型变化时,需要底层改动数据库结构,使得维护,扩展困难,在推理方面,效率低下。针对RDBMS不能有效适应本体模型变化的缺点,技术上常用是一种改进方案:数据存储与本体模型存储相分离,即:RDBMS只存储基本的数据信息,本体模型采用单独的本体Schema文件保存,当查询时,根据事实库中的已有事实,加载规则库中的规则,从而推理出新的事实,并将新的事实加入到OWL知识库中,实现了OWL知识库内容的更新与扩充RDF三元组存储专门针对本体存储,知识推理开发设计。有利于存储非结构化数据,适应本体知识的不断变化与累积,高效的索引与搜索性能,允许智能推理。其缺点是:检索,推理需要单独的语言,如:SPARQL、Prolog,标准化管理界面缺乏,相关技术人员缺乏经分析比较,本系统采用专门的RDF三元组存储系统AllegroGraph实现本体数据的持久化保存。我们认为:专门的ontology知识库管理系统必将越来越成熟,成为建立知识库的首选。3、推理层:虽然使用OWL语言可以较好的描述领域之间知识的关系,但是在描述一般形式的规则时,需要进行复杂的描述,如纯粹使用OWL来描述本体之间的关系,将给知识检索性能带来一定的影响。而通过在语义层的基础上,添加一个推理层,可以较好的解决该问题[9]。推理层采用的推理机有如下类型[8][9][10]:表3推理机类型Table3KindoftheReasoners推理机类型特点Transitivereasoner传递推理是指基于具有传递特性的属性进行的推理,这种推理比较简单,也很容易实现RDFSrulereasoner基于RDFS约束的子集的推理实现OWL/OWLmini/OWLmicroreasoners基于OWL/Full子集的不完全实现DAMLmicroreasoner基于DAML的微型推理机Genericrulereasoner泛化规则引擎是基于规则的,支持用户的自定义本实验性系统采用泛化规则方式实现推理,具体来说采用AllegroGraph知识库系统自带的RDFProlog语言作为推理规则描述语言,来建立推理层。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开发了一个演示性用户界面,用户可以进行一些简单的智能
本文标题:基于Ontology的智能检索技术研究与实践
链接地址:https://www.777doc.com/doc-2571126 .html