基于领域本体的知识检索系统研究

时间:2022-10-03 05:14:19

基于领域本体的知识检索系统研究

摘要:为了解决传统信息检索存在的效率低、精度不高以及无法为用户提供个性化服务等问题,提出了将领域本体引入到信息检索的思路,并构建了基于领域本体的知识检索模型。在探讨基于领域本体的知识检索实现关键技术基础上,以毕业生求职招聘知识检索系统为例进行了知识检索性能的实验论证。实验结果表明该检索系统能有效的提高信息检索的准确率和效率。

关键词:领域本体;知识检索;本体构建

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)31-7423-04

随着计算机技术的不断发展以及互联网技术的日新月异,使得万维网上的信息每天都以爆炸式增长,如何快速高效地在海量的数据中获取有价值的信息已成为了当前信息检索研究所面临的重大挑战。传统的基于关键字的语法匹配和全文检索方式,在早些年以其简单、快捷和容易实现等优点受到用户的亲睐,但随着社会的发展,这种传统的检索方式出现的漏检、误检以及无法为用户提供个性化的检索需求等问题逐渐显现出来。通过对传统检索系统的研究,总结出传统检索方式存在以下几个较突出的问题:

第一,忠实表达问题。大多数检索系统主要是借助于目录、索引和关键字等方法来实现,结构单调统一,很多情况下,用户很难通过简单的几个关键词就能够真正表达出他所需要检索的内容,因此表达上的困难导致检索质量的降低。

第二,一词多义问题。不同的检索用户有着不同的检索目的,当以同一组关键词进行检索时会得到同样的检索结果,无法实现用户的特殊检索需求。

第三,同义词问题。基于关键字匹配的检索技术,是严格按照用户提交的查询请求在全文中进行关键字匹配的检索方式,没有理解和处理信息的能力,因此许多与关键词的同义词信息就无法检索出来。

第四,词汇孤岛问题。在人的大脑中,概念之间存在着各种各样的联系,而在基于关键字的检索系统中,这种概念之间的语义联系很难进行描述。

上述问题存在的根本原因就在传统的检索机制没有考虑到用户的检索意图,缺乏对知识的理解、表示和处理的能力,也就是缺少必要的语义性和智能性,以致于知识检索的效率和准确性较低。为了提高信息检索的效率和质量,在设计检索系统时,就需要把检索机制从传统的基于关键字层面提升到基于语义的层面上来,充分考虑用户的检索意图,以避免仅以表达式匹配的方式进行检索而形成的不足。针对以上问题,本文提出了基于领域本体的个性化信息检索方法,充分利用本体具有的良好的概念层次结构以及对逻辑推理的支持,为用户进行检索时提供检索关键词的语义分析,发掘用户在输入的简单的查询请求后所隐含的语义信息,从而更好地理解用户的真正检索意图,以便实现用户个性化的信息检索需求。

本文在充分的了解了领域本体在实现信息检索系统智能化的优越性后,以毕业生就业求职信息检索作为系统开发背景,以提高查全率和查准率为主要目标,采用领域本体作为求职招聘信息知识的组织方式,构建了基于领域Ontology的知识检索模型框架,结合模型框架开发了毕业生求职招聘知识检索系统,实验结果表明该系统能有效地提高信息检索的质量和效率。

1 基于领域本体的知识检索模型

知识检索是指根据用户的知识需求表达形式,在知识库中匹配出满足用户需求的知识项及相关知识内容。基于领域本体的知识检索是指以基于Ontology的知识表示语言表示、检索领域知识,并支持直接用自然语言进行检索的知识检索,具有良好的概念层次和表达能力,能根据一定的规则进行推理和检索。经过对本体论的分析研究,构建了基于领域本体的知识检索模型(图1)。

通过模型可以看出基于领域本体的知识检索与传统的检索区别就在于语义知识检索引入了本体知识库。当用户进行查询时系统会调用本体映射函数将用户的查询请求转化为本体规则约束中已定义好的规范化的同义或相近概念,然后将规范化的概念提交给检索引擎,检索引擎通过与知识库中的知识项进行语义匹配、单词扩展以及词间扩展等处理后,最后将查询结果返回,这样就很好地避免了在词汇理解上的歧义性。正是基于领域本体的知识检索系统能够利用推理机对用户的查询信息进行推理(即系统具有理解和处理自然语言的能力),所以系统在用户进行查询时就能够充分保证实际的检索效率,并能满足不同用户的个性化检索需求。

2 基于领域本体的知识检索系统设计与实现的关键技术

2.1 领域本体的构建方法

在知识检索模型中,领域本体是核心组成部分,它定义了领域内共同认可的概念及概念间的关系,提供了对领域知识的共同理解,对于提升信息检索的准确性起着至关重要的作用。Protégé是用Java编写的一个开放源码的高效的Ontology编译器,具有图形化界面且提供了很多插件和接口,可以将构建的本体存储为各种形式的文件并支持本体的数据库持久化。本研究利用Protégé工具构建领域本体,构建步骤如下:

第一,确定本体的领域和范围。在现实社会中多数领域和学科都存在着很大的交叉性,要想使得检索系统能够很好地为领域服务并提升检索效率,就需要明确领域所在的范围。本研究以毕业生就业管理为背景,采用领域专家问答的形式,将领域范围限制在求职简历及企业招聘信息,并结合人力资源等材料,将与该领域相关的知识部分都涵盖进来,以此来扩充领域知识,进而为验证实验系统的可行性提供保障。

第二,定义知识领域中的重要概念和术语。每个行业中都有其专业性的术语和概念,根据所要研究的领域性质,将在该领域内的专业性概念进行收集,本研究的概念收集主要通过各大院校毕业生就业管理部门的文献资料以及大型招聘网站上的数据资料。

第三,建立本体框架。在明晰了将要构建的领域本体的概念间的关系以及概念集合的定义后,就需要对步骤2中的这些概念集合之间的关系和重要性进行一个宏观的构建,进而形成具有领域性的本体框架。本研究的主要概念集合有:毕业生(Graduate)、简历(Resume)、企业(Enterprise)、招聘信息(EmployInformation)等。

第四,设计类,类的属性及其层次关系。根据所要建立的领域本体知识库进行科学性的本体概念类设计,即将具有相似属性的概念集合归为一类,并根据类及其属性来合理的确定其层次间关系,进而为构建丰富的实体以及完善的本体库做准备。

第五,定义属性值和创建实例。属性值即关系的集合,在一个集合里的关系类可以是一个也可以是多个。在完成了领域本体的概念集合和概念的属性集合的建立后,就需要建立概念的实体了,也就是将存储在资源文件文档库中的散乱的文档信息(用HTML,XML描述的无结构、半结构的数据),参照已有的领域本体进行语义标注和抽取,构成一个个的实例。

2.2 本体持久化到Oracle 11g

Oracle 11g 数据库是基于图表数据模型的,可像操作其他对象关系数据类型一样对RDF三元组进行保存、索引及查询,提供了一种开放统一的语义数据分析管理平台,全面支持RDF及OWL。本研究把本体以RDF三元组的形式存储到Oracle 11g 数据库中。持久化(Persistence)即把数据(如内存中的对象)保存到可永久保存的存储设备中,它的主要应用是将内存中的数据存储在关系型的数据库中。持久化是将程序数据在持久状态和瞬时状态间转换的机制。本系统使用Jena API 将本体持久化到Oracle 11g。Jena是Java中的一个工具包,它对外提供了丰富的方法、类、接口,因此可以利用Jena对OWL进行存储和查询。其持久化模型如(图2)。

2.3 文件的查询和推理

在对文件进行查询操作时,本系统实现了显式语义查询和隐式语义查询两种查询方式。对于那些已存在于本体知识库中无需进行推理就可以直接获取的信息,我们就采用了显示语义查询来实现;但对于那些一词多义、同义词等具有歧义或在本体知识库没有明确声明的数据,我们就采用了隐式语义查询方式来实现,它根据先前已有的实例和系统或自己定义的规则进行推理来得到相应的隐含信息,并将结果返回给用户。在本系统中所采用的推理机是Jena的Ontology推理机,查询语言是SPARQL。

2.3.1 显式语义查询

SPARQL是面向数据的,可以直接对RDF模型声明的概念和关系进行查询,因此只需要调用Jena包com.hp.hpl.jena.query.Query中的类和方法,并构建相关的查询语句即可实现查询操作。以按照求职简历中的学历进行查询为例,查询语句如下:

上一篇:主问题:简单语文的又一言说 下一篇:基于Java的汇编语言集成编译系统