基于本体的主动学习主题爬行的研究与实现

2011-03-12 00:39毛应爽
关键词:爬虫实例本体

任 斌,毛应爽

(长春工程学院软件职业技术学院,长春 130012)

最近几年里,与主题爬行相关的研究越来越受到关注,达到了空前繁荣时期。搜索引擎研究人员,把面向主题的爬行技术定位为新一代搜索引擎的核心。新一代搜索技术最主要的特征是在不下载网页内容的前提下判断网页内容与主题的相关性,并进行智能的指导性爬行,将机器学习和人工智能等智能方法应用其中,使其尽可能收集与某个主题相关的URL信息。因此,针对主题爬行的研究是非常有必要的。

1 基于本体主动学习的主题爬行总体设计

基于本体的主动学习主题爬行将网络爬行技术和本体的基于语义的知识表示和推理技术相结合,旨在提高爬虫的抓取精度,减少不相关的结果,能够更好地实现主题爬行的功能。

为实现上述目的,本文提出了一种基于本体的主动学习主题爬行的基本框架。该基本框架划分为4个主要模块:网络爬行模块、主题相关度计算模块、相关网页处理模块、本体学习模块。该框架最大的特点是引入了2个循环迭代过程,分别是爬虫爬行迭代过程和增量式构建本体的迭代过程。系统基本框架图如图1所示。

图1 基本本体的主动学习主题爬行基本框架图

2 基于旅游主题领域的本体构建

2.1 本体构建方法

本体构建方法的核心思想是减少手工方式参与的程度,规范构建步骤,引入循环迭代方法,可以让本体自主学习,实现自动化或半自动化方式的构建,使本体构建逐步细化、精炼、完善。

具体构建步骤过程如图2所示。

图2 本体构建方法的过程图

2.2 领域本体构建实现

2.2.1 确定核心概念类及结构

确定核心概念类及结构的方法采用自顶向下的方法,从领域中顶级的核心概念类出发,再分别建立相应顶级核心概念类的子类,以此类推逐步细化。旅游领域主要是围绕着餐饮、住宿、交通、游玩、购物和娱乐6大元素展开的,另外与之有关的其他重要概念也要列举出来。如图3所示。

图3 旅游概念类的子类的层级结构图

2.2.2 编码定义概念类

在本体构建工具Protégé中创建概念类及子类,打开 OWL Classes视图,通过在“owl:Thing”右键选择“create subclass”创建核心的概念类。在OWL中,领域顶级的核心概念类被称作Thing,它是所有类的父类。旅游领域本体的顶级核心概念类如图4所示。

图4 旅游领域本体的顶级核心概念类

2.2.3 定义概念类之间的关系

本系统的本体中概念类之间的关系主要关心的是2大类关系:一个是继承关系,另一个是同义关系。继承关系表达概念类之间的继承关系,如同父类与子类之间的关系。同义关系表达2个或2个以上概念类具有相同的语义,在语义检索推理时可以相互替代。

2.2.4 定义概念类属性

在Protégé中,属性定义分为2种:一个是对象属性,另外一个是数据属性。通过设置属性值和属性约束来争抢语义的表达和推理。定义对象属性如图5所示。

图5 对象属性的定义

数据属性表达概念类的特有属性,这里只是列举出常用属性及属性的值类型,如姓名、价格、时间等3个属性,类型分别是string、float和time。数据属性的定义如图6所示。

图6 数据属性的定义

2.2.5 定义概念类的实例

创建实例在“Individual”视图中完成,本文以概念类中“省”和省份的名称为例来介绍定义实例。选中概念类“省”,在“Instance Brower”中点击新建按钮创建实例,为实例定义名称,并添加相应数据属性。例如,在“长白山”实例上,我们定义了多个数据属性,如门票价格、时间和级别。界面如图7和图8所示。

图7 “长白山”实例定义及数据属性

图8 “省”的实例定义

3 系统实验与数据分析

第一组实验从收获率和响应速度两方面比较基于关键字主题爬虫和基于本体学习主题爬虫的差别。通过实验得到2种爬虫各项对比数据,具体内容如表1所示。

表1 不同爬虫各项数据对比表

通过对比以上数据,我们得知,基于关键字的主题爬虫和基于本体学习的主题爬虫在响应速度方面几乎接近,但是明显可以看出,在收获率方面,爬虫二要优于爬虫一。

第二组实验关于本体学习中本体概念提取方法的对比,比较采用统计词频的方法和采用混合方法提取本体概念的准确率。如表2所示。

表2 不同提取概念方法数据对比表

通过对比以上数据,我们发现在花费时间方面几乎接近的前提下,混合方法提取概念的准确率明显高于基于统计词频的方法提取概念的准确率。

4 结语

本系统中还存在一定不足,比如在利用网页中超链接结构判断网页的相关度中,不能很好地解决网页链接的隧道问题,需要进一步完善与改进。

[1]周立柱,林玲.聚焦爬虫技术研究综述[J].计算机应用,2005,25(9):1965-1969.

[2]Neches R,Fikes R E,Gruber T R,etc.Enabling Techenology for Knowledge Sharing[J].AI Magazine,1991,12(3):36-56.

[3]Studer R,Benjamins V R,FenselD.Knowledge Engineering,Principles and Methods[J].Data and Knowledge Engineering,1998,25(1-2):161-197.

[4]冯志勇.本体论工程及其应用[M].北京:清华大学出版社,2007:20-46.

猜你喜欢
爬虫实例本体
利用网络爬虫技术验证房地产灰犀牛之说
基于Python的网络爬虫和反爬虫技术研究
眼睛是“本体”
大数据环境下基于python的网络爬虫技术
基于本体的机械产品工艺知识表示
基于Heritrix的主题爬虫在互联网舆情系统中应用
完形填空Ⅱ
完形填空Ⅰ
专题
Care about the virtue moral education