当前位置:文档之家› 基于本体的语义检索系统的研究与应用

基于本体的语义检索系统的研究与应用

http://www.paper.edu.cn

- 1 - 基于本体的语义检索系统的研究与应用

董涛,孟祥武

北京邮电大学计算机科学与技术学院,北京(100876)

E-mail:tdong2005@yahoo.com.cn

摘 要:基于本体查询的语义检索是建立在Semantic Web基础之上的一种检索技术。与传

统搜索引擎技术相比,它极大地提高了系统的查全率和查准率。文章首先介绍了语义网和本

体的基本概念,然后通过实际举例的概念层次图详尽地阐述了本体中概念及其关系的具体意

义。最后利用本体构建工具Protege并结合本体的相关标准共同构建本体,通过Jena API实

现了基于OWL本体文件的语义查询系统。

关键词:本体,语义网,OWL,Jena,Protege

0. 引言

随着Internet的迅猛发展,互联网上的信息正在随指数的速度在迅速增长,出现了信息

爆炸的问题。在如此浩瀚的信息海洋中,检索到有价值的信息成为当前计算机检索系统必须

解决的问题。因此,信息检索技术成为当前热门的研究课题。

目前,最主要的信息检索技术有两种。一种是基于目录的检索技术,它将相关主题的页

面组织起来,形成一棵目录树。因此,检索的过程,就是遍历一棵目录树的过程。另一种是

基于关键字匹配的检索技术,也是最常见的检索技术[1]。

以上两种信息检索技术在查全率和查准率方面还存在着很多欠缺之处。例如:当用户查

询番茄时,搜索引擎只会将包含有“番茄”一词的页面提供给用户,而不会把包含有“西红柿”

一词的页面也返回给用户。因此,这就存在着查全率的问题。与此同时,搜索引擎会把包含

有“番茄花园”的页面返回给用户,但这并不是用户想得到的,因此,这在查准率方面就出现

了问题。

为了解决查全率和查准率的问题,就需要提高信息检索技术的精度和覆盖率。如何使搜

索引擎更加智能化,使它能够充分理解用户的意图,是信息检索技术需要迫切解决的问题。

近年来,语义网的提出为增强搜索引擎的智能化提供了良好的解决方案。它将网络中的各种

资源结构化,使得计算机能够识别、处理。

计算机首先将检索词本体化,检索引擎通过解析、推理,然后将相关资源从本体库中提

取出来,最后返回给用户。这种智能的检索技术能够提高用户的满意度,减少不相关的结果,

得到更多相关的结果。

本文从构建本体及其本体库的角度出发,结合实际的应用,阐述如何建立语义检索系统

进行信息检索。

1. 语义网与本体的概述

1.1 语义网

在2000年11月的XML2000会议上,Tim Berners-Lee首次提出了语义Web的概念。他

将语义Web定义为:语义Web是一个网,它包含了文档或文档的一部分,描述了事物间的

明显关系,且包含语义信息,以利于机器的自动处理。他于2000年提出了语义Web的体系

结构[2],如下图所示:

http://www.paper.edu.cn

- 2 - 图1 语义Web的体系结构

语义 Web 并不是要取代现有的Web,而是扩展。扩展的方式是对现有信息进行形式化

的描述,目的是机器可理解,以便计算机更好地提供信息服务。简单的说,语义Web 就是

要给Web 加上注释,为了让计算机能够理解,这种注释必须用一种形式化的语言进行描述,

并且支持推理。为了多个系统之间能够交流,这种注释还应该遵循统一明确的词汇表。

从整体看,语义网的核心层为XML、RDF、Ontology。XML+RDF+Ontology构成了计

算机相互理解的基础。在本体层之上进一步要做一些逻辑推理的工作,接下来就是保证信息

是可信赖的,这就构成了一个多层次的语义网。上层将下层的语言机制作为本层的支撑语言,

通过分析器,从合法有效的下层描述中抽取出本层所能理解的模型,实现了更多的语义处理

功能。

从目前的情况来看,语义Web下面三层的研究已经开展较长时间,研究成果相对较多,

并推出了一系列的标准,可以说打下了比较坚实的基础。本体层和逻辑层,正在引起更多的

关注。作为语义Web中从语法处理向语义处理的转折,这两层起着至关重要的作用,相关

研究正处在探索之中,已有很多有意义的尝试和应用,却还没有成熟的技术和标准,因此成

为相关领域的研究热点。顶部的两层还没有可靠论证,只是基于逻辑系统的一个构想[9]。

1.2 本体

Ontology的概念起源于哲学领域,即“对世界上客观存在物的系统地描述”。后来,本体

被引入人工智能领域。1998年Studer等人提出:“Ontology是共享概念模型的明确的形式化

规范说明。”这一定义已被多数人所认同[6]。

(1)概念模型:指通过抽象出客观世界中的一些现象的相关概念而得到概念模型,即概

念系统所蕴涵的语义结构,是对某一事实结构的一组非正式的约束规则,可以理解和表达为

一组概念(包括类、属性和过程)、定义和关系。

(2) 明确:指所使用的概念的类型以及对这些概念使用上的约束都有了明确的定义。

(3) 形式化:指本体论是计算机可读的(即能被计算机处理),而不是完全用自然语言表

达本体是计算机可读的。

(4) 共享:指本体论的目标是捕获相关领域的知识,提供对该领域知识的共同理解,确

定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇和词汇间相互关系

的明确定义。

2. 基于本体的语义检索

传统搜索引擎大多都是利用基于关键字匹配的方法进行主题查询,搜索引擎

会在索引库中匹配所有包含查询关键字的页面,然后将这些匹配的页面返回给用户。

对http://www.paper.edu.cn

- 3 - 于宽主题的查询,匹配的文档数量将会很大,在这些大量的匹配页面中,有相当大一部分页

面并不是用户所期望的,同时这些不相关的页面加大了用户查找有用信息的难度。基于本体

的查询能够很好地解决目前出现的问题[10]。

首先,介绍基于本体的语义检索的基本思想:

1.在相关领域专家的帮助下,建立相关领域的本体

2.将从Internet搜集到的信息结合领域知识的相关主题进行分类,并参照已建立的本体,

将信息按规定格式存入数据库中

3.查询转换器将用户的查询请求进行充分得理解和推理并转换成规定的格式,在本体的

帮助下,从数据库中检索到匹配的数据集合

4.检索的结果经过处理后返回给用户

2.1 对系统查全率的改进

根据本体进行相关主题分类时,会将异名同义词归为一类,这样可以大大提

高搜索的查全率。例如可以将微型计算机、电脑、微机、计算机、电子计算机等异名词

汇归为一类,当用户输入关键字“电脑”时,会将包括“微机”、“微型计算机”等相关主题的页

面一起返回给用户,从而改善了关键字查询时出现的查全率低下的问题。

本体所表示的知识大致可以分为概念(或者类)、关系、函数、公理、实例五个部分。

这些内容基本包括了本体知识的语法语义的交互性。

概念可以是抽象的也可以是具体的,可以是基本的也可以是复合的,可以是真实的也可

以是假设的[7]。概念可以是任何事物的表示,因此它可以是一项任务,一个功能,一个动

作,一个策略或者一个推论过程等等,概念也叫作类、对象或者范畴。概念具有层次结构,

不同的层次表明其抽象的程度不同,层次越高,概况性越强,包含的下位概念可能越多。上

位概念由一组下位概念组成 ,上位概念常常是下位概念的抽象、概括或整体表示,下位概念

往往是上位概念属性、特征或说明,是对上位概念的补充和细化 , 它描述自己的独有属性 ,

同时继承上位概念的属性。从这个意义上来看 ,概念语义网络首先是一个分类树[3]。我们简

单以计算机领域的知识表示构建本体,从概念层面上对相关知识进行分类表示。如下图所示:

计算机

计算机软件 计算机公司

网络产品

公司系统软件

word MSN windows Cisco 应用软件

软件产品

公司

Linux Microsoft 软件 电脑

图2 概念的知识分类表示程序 http://www.paper.edu.cn

- 4 - 概念间的交互作用通过关系来表示,通过关系可以对概念的外延进行有限的扩展。从语

义上讲,基本的关系共有以下4种:

表1 本体中的关系

关系名 关系描述

part-of

表达概念之间部分与整体的关系。

kind-of

表达概念之间的继承关系,类似于面向对象中的父类与子

类之间的关系。

instance-of

表达概念的实例与概念之间的关系,类似于面向对象中的

对象和类之间的关系。

attribute-of

表达某个概念是另一个概念的属性。如“产品”是公司的一

个属性。

从表1中概念间的分类图中可以很好得发现如上四种关系。

我们把计算机概念可以看作是一个整体的概念,计算机概念节点下的所有子节点都是相

对整体概念而言的部分概念,所有的部分概念组成了整体的概念,根节点下的所有子孙节点

与根节点都是part-of关系。

1)计算机软件概念与应用软件概念间的关系属于kind-of关系。应用软件概念继承了计

算机软件概念中的所有属性,因此它们间的关系符合继承关系。

2)我们磁盘中保存的doc文档可以看作是word软件概念的实例。Doc文档和word间

的关系属于instance-of关系。

3)上表中的Windows概念属于一种产品概念,它属于Microsoft公司概念的一个属性,

Windows概念与Microsoft概念属于attribute-of关系。

4)在基于本体查询的检索系统中,通过概念之间在内涵和外延上的关系,能够实现语

义蕴含扩展检索、语义外延扩展检索以及语义相关扩展检索。我们通过举例来说明以上三种

扩展检索。

1. 当用户输入“计算机”搜索词时,不但可以搜索出包含“计算机”关键字的页面,而且能够

搜索出“计算机软件”以及“计算机公司”。这种检索属于语义蕴含扩展检索。

2. 当用户输入“软件产品公司”时,除了搜出“软件产品公司”以外还可以搜索到包含“计算机

公司”的页面,这种检索属于语义外延扩展检索。

3. 当用户输入“Microsoft”时,不但搜出包含“Microsoft”的页面外,还可查询到包含Windows

的页面,这种检索属于语义相关扩展检索。

从以上分析可以得知,基于本体查询的检索系统,通过概念间的语义扩展,

很好地解决了目前大部分搜索引擎遇到的查全率低下的问题。

2.2 对系统查准率的改进

我们发现,利用传统搜索引擎进行主题查询时,对于给定的主题,基于关键字匹配的查

询结果常常出现与用户的意愿不相符合的现象,这给用户查询相关信息带来诸多不便。例如

用户想了解天山雪山的情况,拿国内比较流行的搜索引擎百度来说,当用户输入“天山”搜索

词时,会查询到许多匹配“天山”关键字的页面,例如:“新疆天山毛纺织股份有限公司”、“天

山网”、“天山股份”、“天山区人民检察院”等,而这些搜索结果都不是用户想要的。

对于特定用户查询出现的查准率低下的问题,通过基于本体的语义检索系统

相关主题