面向主题搜索的网络爬虫信息采集策略研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向主题搜索的网络爬虫信息采集策略研究摘要:主题网络爬虫作为主题搜索引擎的信息抓取部分,负责对与用户感兴趣的某一主题相关的网页进行抓取。在深入分析主题页面在Web上的分布特征和主题相关性判别算法的基础上,本文提出了一个面向主题搜索的网络爬虫模型,它很好地克服了通用搜索引擎准率偏低、信息内容相对陈旧、信息分布范围不均衡等不足。
关键字:搜索引擎;主题爬虫;信息采集
1 引言
随着互联网规模的不断扩大,网络信息成爆炸式增长,网络已经成为最大的非结构化数据库。由于网络的分布式性,网络上的信息大多都是无组织的,很难对它进行结构化管理。如何高效提取和利用这些信息成为网络信息检索技术方面的一个巨大挑战。传统通用搜索引擎百度、Yahoo和好搜等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南,然而,通用搜索引擎在为网络用户提供便利之时,也暴露出种种不足,如:查准率偏低、信息内容相对陈旧、信息分布范围不均衡等。为了解决上述问题,主题搜索网络爬虫应运而生。
主题搜索亦称垂直搜索,是专为查询某一主题信息而设计的查询工具,它通过提供个性化信息搜索服务,把搜索应用限制在特定的主题或特定领域上,具体搜索过程中只访问与主题有关的页面,无须遍历整个Web系统,这既提高了服务质量,也节约了计算及网络资源。网络爬虫又叫网络蜘蛛,是一种能够自动采集Web页面内容的程序,它可从Web上下载页面,为搜索引擎构建知识库,网络爬虫是搜索引擎的重要组成部分。与通用网络爬虫相比,本文所描述的主题网络爬虫能够更快、更多地采集预先定义好的与主题相关的页面,另外,它还可实现按主题分块采集,并将采集结果整合到一起,以提高整个Web的采集覆盖率和页面利用率。
2 主题网络爬虫
在主题搜索引擎中,主题网络爬虫是引擎的最核心内容,主要用来负责对与用户感兴趣的某一主题相关的网页进行抓取。主题爬虫遍历信息的过程就是按照预先给出的主题,根据一定的页面算法过滤与主题无关的链接,并在URL队列中加入与主题相关的链接,之后预测待抓取的URL与当前网页的主题相关度,进而选择下一步将要抓取的网页URL,并重复上述过程,直至满足系统的停止条件时停止。所有网络爬虫抓取的页面都会被系统存储,并由系统对其进行过滤、分析,以建立索引,主题爬虫基本目标就是尽可能多地爬行、下载与主题相关的网页,尽可能少地下载无关网页。相对于通用网络爬虫,主题网络爬虫需要解决好四个方面的问题:(1) 主题如何描述或定义;(2) URL遍历次序如何确定;(3) 网页数据如何分析与过滤;(4)主题网络爬虫的覆盖度如何提高。
3 主题网络爬虫搜索策略算法研究
3.1 系统模型
主题网络爬虫在传统网络爬虫的基础上进行功能扩充,进行面向主题的网页信息提取。为实现面向主题的信息自动采集,主题爬虫处理过程一般包含四部分:主题确立、网页采集、页面分析和过滤、主题相关性计算(链接过滤),主题网络爬虫系统模型如图1所示:
图1 主题网络爬虫系统模型
主题爬虫从待搜索URL 队列开始,利用网页采集模块对相应的网页进行访问并尝试下载。所下载的网页由解析模块按照HTML 语法进行解析,并提取网页特征信息及超链接地址。对于上一步所提取的信息,还需依据一定的策略进行页面重复性判断,并消除重复页面。过滤模块根据提取的网页特征信息和主题概念关系对页面主题相关度进行评价,筛选出符合要求的页面,并将其存入网页文本库。对于符合主题要求URL 链接,过滤模块根据链接相关度算法进行过滤,并经过URL 消重后加入到待搜索URL 队列中,供主题网络爬虫迭代爬行。主题相关度分析模块是系统的核心模块,它将获取的网页进行内容分析,提取页面内容进行网页主题相关度计算,若高于网页阈值则保存该网页,否则抛弃;对保存下来的网页进行链接分析,提取页面中链接计算链接所指页面的预测相关度。
3.2 主题确立
确立主题是面向主题的 Web 信息提取的基础,所谓主题就是指用户所要采集信息所具有的特征。主题概念的范围可大可小,它可以是一个概念,一个词语,一个短语, 甚至是一个段落或一篇文章。主题通常由用户指定若干样本网页作为训练集,经中文分词处理后进行特征提取来确定。通过对给定的样本页面进行分析,自动提取特征词并根据其在页面中出现的次数计算权值,最后对各样本特征词进行归纳并确定一组能够代表主题的特征词。特征词的权值采用由Salton 总结的TF2IDF 公式来计算,具体公式如下:
式中,tik 表示特征词Tk 在文档Di 中的出现次数,N 表示文档数据库中全部文档的总数,nk 表示文档数据库中含有特征词Tk 的文档数。
网页文本库 索引页库 Web 待搜索URL 队列 网页采集器 主题相关性分析 页面分析和过滤 链接过滤器
由此确定的主题实质上是一个能够代表主题相关文档的基准文档向量:特征词的个数就是向量的维数,每一维分量的大小就是每个特征词的权值。
3.3 页面分析与过滤
在本系统中,主题网络爬虫所要处理的多是 HTML页面。因此,在页面分析与过滤过程中,要着重做好HTML语法分析工作,以提取出网页链接、正文、链接相关标签属性数据及其它相关内容,并对网页进行主题相关性判别,从而筛除主题无关页面,提高主题网络爬虫的主题提取的准确性。
HTML语法分析主要基于HTML协议进行,整个过程可分解为两层操作:SGML 标记文法层和 HT ML 标记层。SGML 文法层将页面分解成正文、标记、转义字符、注释等不同语法成分,而HTML 标记层主要用于维护当前解析正文的各种状态。通过对页面进行 HTML 语法分析,可采集标题、正文、链接、链接标签属性数据及其它相关内容,继而便于系统判断页面主题相关性以及裁剪URL 主题相关性。
3.4 网页主题相关度判断算法
在一个页面中,如果主题相关度很低,说明该网页很可能只是偶尔出现某些特征词,而页面的主题和指定主题几乎没有什么关系,处理其中的链接意义很小,这是主题爬虫和普通爬虫的根本区别。为了保证主题蜘蛛采集的网页能够尽量向主题靠拢,必须依据设定的阈值对网页进行过滤,将主题相关度较低的页面删除,以免主题爬虫在下一步爬行中处理该链接,进而提高采集网页的准确率。本文采用计算复杂度较小的向量空间模型算法对网页进行实时过滤:
将一组确定的特征词看作是主题,由特征词的个数n确定向量空间的维数,每个特征词的权值Wi作为每一维分量的大小,则主题用向量表示为:
α=(α1,α2,……αn) i=1,2,3,…..n αi=W i
对爬虫所采集的页面进行分析,并经过中文分词处理等构造一个特征词集合。统计特征词出现的频率,并求出频率之比,以出现频率最高的特征词作为基准,其频率用X i=1表示。通过频率比,求出其他特征词的频率X i,则该页面对应向量的每一维分量为X i W i,页面主题用向量表示为:β= ( X1W1, X2W2,….X n W n) i = 1 ,2 ,….. n
用两个向量夹角的余弦表示页面的主题相关度:
Cos<α,β>=(α,β)/(|α| |β|)
对于指定的网页相关度阈值r ,当满足cos <α,β>≥r,就可以认为该页面和主题是比较相关的,应该保存到网页库中;否则,即是不相关的,将此网页删除。至于r的具体取值,则需要根据经验和实际要求来确定。如果把r设小一点,则可获得较多的页面,否则,获得的页面则会少一些。
4 结束语
主题蜘蛛是主题搜索引擎的重要组成部分,决定了一个搜索引擎能为用户提供资源索引的数量和“新鲜程度”。通过本文的研究,充分说明一个设计主题爬虫的可行性,以主题爬虫为基础可以开发主题搜索引擎,结合到具体应用,主题爬虫可以在受限领域内进行面向主题的信息采集。
参考文献: