聚焦爬虫

2024-09-18

聚焦爬虫(精选3篇)

聚焦爬虫 篇1

1 引言

爬虫是一个网页自动搜索程序, 根据既定的抓取目标, 有选择地访问互联网上的网页与相关的链接, 获取所需要的信息, 为搜索引擎重要组成部分。文献[1]指出, 聚焦爬虫与通用爬虫的不同之处在于并不追求大的覆盖面, 而将目标定为抓取与某一特定主题内容相关的网页, 为面向主题的用户查询, 可实现搜索引擎对Deep Web网页数据的发现和索引。聚焦爬虫采用了一定的网页分析算法过滤与主题无关的链接, 保留有用的链接并将其放入等待抓取的URL队列, 然后根据一定的搜索策略从队列中选择下一步要抓取的网页URL, 并重复以上过程直到到达程序的某一条件时停止, 可以有效提高Deep Web数据发现的效率。

一个高性能爬虫需要注重以下几个方面。

1.1 程序执行效率

能抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为、工作有效性、及时性的关键所在。这两个部分的算法又是紧密相关的, 决定了爬虫程序的执行效率。

1.2 分布式爬行

文献[2]指出, 集中式的爬虫已经不能满足目前互联网的规模, 因此支持分布式的爬行, 处理和协调好各结点之间的交互, 也是一个重要环节。

1.3 硬件条件

由于网络环境及硬件资源、IP地址和带宽等因素造成的爬虫协同工作问题也是造成爬虫工作效率低的重要因素。

2 爬行网络环境

网页分析算法和URL搜索策略是聚焦爬虫程序的两个最重要的组成部分, 一定程度上决定了爬虫工作效率的高低。但除此之外, 仍有相当一部分工作时间是停留在爬虫选定了某个URL下载网页并打开时。这部分工作时间往往比程序内部的算法分析时间要更长, 其重要因素在于URL的无序分配导致网页数据通信缺少优化、分布式爬虫无法有效协同工作等问题。

因此, DNS解析也是网络爬虫的瓶颈之一, 因为有些域名请求要经过很多层服务器才能解析到, 或者因解析服务器的忙碌而超时。文献[3]指出, DNS查询占用整个爬行的时间高达70%。解决的方法有两种:一是提供DNS缓存, 二是建立异步DNS查询模块。在实际应用中一般会综合这两种方法。DNS解析子模块可以单独拿出来放在一台Server上做成DNS服务器, 这样可以采用更大的缓存和更多的查询线程。

2.1 DNS缓存服务器

IDC可安装本地DNS缓存服务器, 保存爬虫抓取的解析网页的域名与IP映射。default TTL=3600 (1hour) (缓存服务器保存记录的时间是1h。也就是告诉DNS保存域的解析记录为1h) ;将DNS缓存服务器地址加入到爬虫服务器的/etc/resolv.conf中。

2.2 异步DNS查询

(1) 创建多个DNS查询线程, 每个查询线程调用gethostbyname等同步的API, 主线程与查询线程之间通过MessageQueue连接, MessageQueue基于事件通知机制。该方法缺点是实际的并发受限于查询线程的个数。

(2) 基于非阻塞socket+事件驱动机制, 自行构造和解析DNS报文。这个跟常规的异步网络应用思路一致, 但是需要自行编写DNS协议构造和解析代码。

3 分布式爬行

普通单处理机系统受限于CPU的处理能力、磁盘存储的容量, 不可能具备处理海量信息的能力, 这就要求爬虫支持分布式协同工作。文献[4]指出, 一般说来, 爬虫的分布式爬行可分为内部分布式爬行和外部分布式爬行。

3.1 内部分布式爬行。

所有的爬行进程在同一个本地网络上运行并通过一个高速连接 (如LAN) 进行通信, 从远程Web站点下载网页时都利用相同的本地网络。采用这种方式, 硬件资源扩展方便, 几台PC就能增大磁盘容量, 提高I/0吞吐量, 做成一个小机群, 性价比较高。此时, 瓶颈主要是在网络出口带宽上。

3.2 外部分布式爬行。

当并行爬行的不同爬行进程在通过Internet相连的地理位置较远的不同地区运行时, 则这种爬行为外部分布式爬行。它的优势是网络带宽较富裕, 可以就近爬行周围的Web站点, 速度较快。在这种情况下, 重要的是确定不同地理位置的爬行进程问进行通信的频率和数量。因为进程间的带宽存在限制, 有时甚至是拥塞不堪而导致堵塞。分布式爬行的主要问题是当多个爬行节点并行下载网页时, 不同的节点可能会多次下载同一个网页。为了避免这种交叉, 并同时提高网页下载质量, 并行节点之间应该进行充分的通信, 在网页下载上达成协调, 以便并行、一致、高效率地下载网页。

4 URL分配策略

URL分配模块是爬虫的重要组成部分, 主要考虑两个问题。

(1) 在节点间划分URL的策略, 即如何分配下载任务。

(2) 优化性能, 比如负载均衡、协同工作的开销等。

目前一般有两种分配模式可以参考:

4.1 静态分配模式

各节点按事先规定的URL范围独立下载。若遇到不属于本节点的URL, 有3种处理方法: (1) 放弃; (2) 下载; (3) 传送到URL隶属的节点。静态分配模式的优点是配置比较简单。关键在于如何划分URL范围, 有效利用各个节点的资源。

4.2 动态分配模式

由一个统一的URL管理器统一调度根据各节点的情况动态地分配URL。该模式的优点是能做到负载均衡, 使各个节点下载最大化。缺点也是很明显的, 要有一个专门的URL管理器, 增大了成本和配置难度。URL管理器需要与各节点保持高速实时通信, 存在单点故障。由于要存放所有节点需要的URL集合, 当下载规模增大时, 本身也是一个瓶颈。

5 结语

制约爬虫的外部分布式爬行的客观及硬件因素较多, 且环境复杂, 一般可通过定义URL分配策略及配置异步DNS查询实现高性能内部分布式爬行。基于URL动态分配方式成本高、配置难度大, 使用配置成本低效果明显的静态分配方式实现, 爬行效率更高, 如图1所示。因此, 开发聚焦爬虫程序时根据硬件条件、网络环境、带宽等因素, 合理设计URL分配策略, 配合高效的DNS查询方法可有效提高分布式爬行的性能。

摘要:爬虫作为网页搜索下载程序, 其网络爬行性能决定了搜索引擎的性能和数据质量。本文通过分析聚焦爬虫的特点和网络环境, 总结出三类制约爬行性能的主要问题, 分别是DNS查询及缓存设置、内外部分布式爬行特点和网页URL静态与动态分配策略。结论为聚焦爬虫使用URL静态分配策略结合异步DNS查询及缓存设置, 在内部分布式爬行时可有效提高网络爬行性能。

关键词:爬虫,DNS,URL分配,分布式爬行

参考文献

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

[2]周德懋, 李舟军.高性能网络爬虫:研究综述[J].计算机科学, 2009, 36 (8) .

[3]Heydon A, N~ork M.Mercator:Ascalable, extensible Web crawler[J].WorldWide Web, 1999, 2 (4) :219~229.

[4]Cho Junghoo, Garcia-Molina H.Par-allel crawlers[A]∥Honolu—lu:Proceed-ings of the 1lth International WorldWide Web Con—ference[C].AcM Press, 2002:124~135.

可定制的聚焦网络爬虫 篇2

关键词:信息收集,搜索引擎,网络爬虫

网络爬虫是搜索引擎的一个重要组成部分,它是一个自动提取网页的程序。它从一个或若干初始网页的 URL开始,获得初始网页上的 URL列表;在抓取网页的过程中,不断从当前页面上抽取新的 URL放入待爬行队列,直到满足系统的停止条件。

爬虫的全面性、准确性、新鲜度直接影响搜索引擎的质量。目前搜索引擎大都是以整个网络为目标的,但随着互联网的繁荣、网络信息爆炸式的增长,以整个互联网为搜索目标的通用搜索引擎越来越感到力不从心,其盖全率、新鲜度、准确度面临严峻挑战。而针对特定领域的专业搜索引擎、个性化智能化的搜索引擎只关心某一个领域的文档,它能很好的应对以上问题。对专业搜索引擎的研究已成为下一代搜索引擎的研究热点。

1 聚焦爬虫框架设计

聚焦网络爬虫(又叫主题爬虫)技术是专业搜索引擎的核心技术之一,它的目标是在执行爬行程序时尽可能地收集与特定主题相关的网页,同时最大限度地避免无关网页的下载。这样该爬虫就可以保证针对某一主题的高盖全率和新鲜度。聚焦爬行技术不仅可以应用在搜索引擎上,还可以在很多领域得到应用,如数字图书馆,智能商业信息检索等方面。

文中所设计的可定制聚焦网络爬虫(CFC,Customized Focused Crawler)首先在用户提供初始关键字后,在用户的指导下完成主题定制和主题训练。接着从初始页面出发,分析页面的主题性和提炼页面的连接,多线程地下载网络页面资源。主要关键技术和算法有:用户主题定制和训练、主题相关度计算、URL队列构造等方面。其结构,如图2所示。

2 具体技术实现

2.1 主题定制及训练

用户需求描述在信息检索领域是个传统的话题,对于聚焦爬虫的主题定制,目前有两种基本方法[5]:一种是基于分类的,另一种是基于关键字的。在基于分类的方法中,用户在已经分好类的主题集中选择自己所需的主题。但是,用户需求的表达受到预先定义的主题集的限制,虽然对于搜索引擎,这不失为一种有效的方法,但对于围绕用户兴趣搜集信息的聚焦爬虫是不够的;在基于关键字的方法中,用户兴趣是用一组关键字来表述的。跟上一种方法相比,它有很大的灵活性。然而用户可能不知道如何来准确的表达自己的兴趣,更有可能用户对于自己需要搜集的目标也不是很明确。比如说,一个数码相机的新手,对生产厂家、型号、相机商店等都不熟悉。

为了帮助用户表达自己的需要,并通过若干次试验和分析,文中所设计的聚焦爬虫给用户提供了另一种主题定制的机制,它结合了前两种方法,各取其长:用户用一组网页以及若干主题关键字一起来表达用户兴趣。爬虫根据用户指定的页面主动学习,并抓获关键字供用户参考。这个机制结合了关键词建议、修改查询、以及文档分类等方法。用户可以选择或自己填入关键字。具体算法步骤如下:

(1)用户指定初始关键字;

(2)CFC根据用户关键字从google(www.google.com)上获取网页;

(3)用户从(2)中选取感兴趣的网页;

(4)CFC从用户选取的网页中提取特征关键字(利用TF-IDF算法,Term Frequency Inverse Document Frequency方法,稍后详述),交给用户选择;

(5)用户选择(4)中的关键字,CFC根据新的关键字,重复1~4步,直到用户觉得没有必要继续进行为止。

网页主题特征提取:

每一个网页文本使用一个特征词向量来表示的,即W(w1,w2,w3,…,wn),其中wi表示第i个特征词的权值,n是所有文档中特征词的中数量,wi用以下方法计算[1]

wi=filog(D/hi)i=1D[filog(D/hi)]2(1)

在上式中,D表示训练文档集的文档数,hi表示文档集中包含第i个特征词的文档个数,fi表示在特征词在文档集中出现的次数,从式(1)中可见,某个特征词在一篇文档中出现的频率越高,该特征词的权值wi就越大;而如果它在所有文档中的频率计数越大,那么该特征词就不能很好地把该文档与其他文档区分开来,所以其权值就越小。文中通过为特征词权重设定阀值的方法来降低特征向量的维度。

2.2 主题判断

主题判断即页面主题相关度的计算,目前有很多方法,比如:Native Bays、神经网络、实例映射模型、向量空间模型等。其中向量空间模型计算简洁、效率较高,是目前网络信息发现较好的计算方法。文中采用基于向量空间模型(VSM)的简单向量距离算法[2] 如下:

(1)从用于训练的文档中提炼特征关键字,关键字的集合为特征向量T(t1,t2,t3,…,tn) (在主题训练部分已完成);

(2) 计算各个特征关键字在训练文档中的权重W(w1,w2,w3,…,wn)。文中所采用的方法是计算各个关键字在各文档中权重的算术平均值;

(3)对于当前文档X,根据以下公式计算主题相似度

Sim(X)=cosθ=k=1ΜXk×wk(k=1ΜXk2)(k=1Μ)(2)

其中,Xk为特征向量的第k维关键字在文档中的权重;wk为第k维关键字在训练文档集中的权重。如果相似度小于预定的阀值,则抛弃该页面,反之,则将其保存至数据库。

2.3 隧道穿越机制

往往主题相关的网页由主题不相关的网页链接着,这种模式就构成了“隧道”,“‘隧道穿越’就是穿过一系列主题不相关的网页到达主题相关的目标网页的过程[3]”。“隧道穿越”一直是网络信息搜索的难点之一。文中采用以下算法,实现隧道穿越。

爬虫遇到主题不相关页面时,仍继续提取此页面的链接,沿此页面继续爬行,直到出现主题相关页面或者不相关网页的深度超过预定义的深度阀值。深度阀值是指允许的最大隧道长度,文中取值为3。

计算不相关页面的深度时,如果当前不相关页面的父页面是主题相关的,则其深度为0;如果其父页面也是主题不相关的,则其深度为父页面的深度加1。

2.4 URL队列

爬虫从相关网页中提取链接后,将链接加入URL队列中。URL的排队策略决定网页下载顺序,从而影响聚焦爬虫的性能。在理想状态下,都希望按照目标网页和主题的相关程度来进行排序。难点在于,在网页下载之前,就需要预测到网页的主题相关度。所以必须根据主题训练和爬行过程来“预测”网页的主题相关性。

在爬虫下载页面中,最典型的策略就是BFS(Breadth-First Search,广度优先搜索),因为他更容易寻找到高质量的页面。但这种方法有一个缺点就是爬行过程中产生庞大的URL队列,十分耗费计算机资源。在采用DFS(Depth-First Search,深度优先)方法时队列小很多。但深度优先方法有很多缺点,譬如他需要花费很长时间才能找到高质量的网页;它将爬虫局限在一个或几个网站内,这样做“很不礼貌”;也很容易造成循环下载进入“爬虫陷阱”。鉴于以上情况,文中采用Sydney[4]策略,保证了广度优先的优点,同时大幅度减少了URL队列长度。文中采用非递归的下载算法,主要构造PSV这3个队列,P为主要队列,A为辅助队列,D为已下载队列,R URL队列的一个随机样本,以上队列一并存储URL及其LinkScore值。算法伪代码如下:

说明:

(1)从P中选择一个主题相关度较高的URL的方法:

P队列中的前200个URL中选择主题相关度最高的一个URL赋值给v,如果P队列中URL已不足200个,则取P中最高的。这样使得相关度高的链接获得优先下载权。

(2)URL的LinkScore的计算方法:

LinkScore(u)= URLScore(u)+AnchorScore(u),URLScore(u)来自上下文的主题相关性,AnchorScore(u)是锚文本的主题相关性。他的计算方法参考前面的相似度计算公式。

2.5 更新机制

现有的网络爬虫更新机制主要有两类:批量更新和增量更新。批量更新耗时长、耗费资源;增量更新有更高的时效性,但实现起来难度大。但文献[5]显示,批量更新机制可以达到很高的新鲜度,文中爬虫是针对主题的,它所涉及的资源只占整个网络的一小部分,数据规模与通用爬虫系统相比较要小很多,文中采用批量更新的方法,即爬虫每隔一段时间对整个资源扫描一遍。

3 结束语

随着互联网的发展,面向特定领域的网络信息采集已经成为研究热点。文中设计了一个可行的爬行方案,主要利用了TF-IDF、VSM等算法,具有高效、节省资源、主题定制性的特点。

隧道穿越机制在国内外的研究中涉及较少,文中给出一个简单易行的方案,但不能完全满足网络信息分散性的特点,更好的方案仍在进一步的研究之中。

参考文献

[1]Diligenti M,Coetze M,Lawrence S,et al.Focused Craw-ling Using Context Graphs[C].Cairo:Proc of the26th International Conference on Very Large DataBases,2000:527-534.

[2]Jong Tsay Jyh,Yang Shih Chen,Wu Bo Liang.AutoCrawl-er:An Integrated Systemfor Automatic Topical Crawler[C].In:Proceedings of the Fourth Annual ACIS International Con-ference on Computer and Information Science,1999.

[3]方启明,杨广文,武永卫,等.面向P2P搜索的可定制聚焦网络爬虫[J].华中科技大学学报:自然科学版,2006,35(9):65-68.

[4]Carlos Castillo,Alberto Nelli,Alessandro Panconesi.A Memory-Efficient Strategy for Exploring the Web[C].Proceedings of the2006IEEE/WIC/ACM International Conference on Web Intelligence,2006.

聚焦爬虫 篇3

随着Internet的快速发展,网络资源成为巨大的知识库,搜索引擎已经成为网络用户获取各种信息的一种重要手段。目前如Google、Baidu等大多数是面向所有信息的搜索引擎,可以称之为通用搜索引擎。随着信息多元化的增长,适用于所有用户的通用搜索引擎已经不能满足特定用户更深入的查询需求,他们对信息的需求往往是针对特定领域和面向特定主题的,此时通用搜索引擎的搜索效果难以满足有特定需求的用户。针对这种情况,一个分类精确、数据全面、更新及时的面向主题的搜索引擎——垂直搜索引擎应运而生。

聚焦爬虫是一个自动提取网页的程序,它为垂直搜索引擎从万维网上下载网页,是垂直搜索引擎的重要组成部分。它根据抓取目标有选择地访问网页和相关的链接,并获取所需要的信息。与通用搜索引擎的爬虫不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。本文从基于分类器的聚焦爬虫出发,以提高聚焦爬虫的爬行能力为目的,展开一个基于增量学习的自适应聚焦爬虫的研究,并把该研究应用于农业领域。

1 基于分类器的聚焦爬虫原理

基于分类器的聚焦爬虫是具有代表性的聚焦爬虫的早期研究之一,目前大多数的聚焦抓取都采用了类似的工作流程,其系统结构如图1所示。

根据一个主题目录和用户指定的初始点(如书签)来描述抓取目标,并在用户浏览过程中,将用户标注的感兴趣网页放人相应的主题目录,修改主题样本。系统的两个主要部分是网页分类器(classifier)和网页选择器(distiller)。网页分类器负责学习抓取目标的特点,计算网页的关联度,并过滤网页。选择器负责计算网页的重要程度,发现中心型网页,并由此动态决定网页的访问顺序。

早期的聚焦爬虫不考虑链接主题相关性分析,直接在网页分类器主题相关性分析后把保留下来的正向链接放到链接排序模块等待爬行url优先队列,提供给爬虫继续爬行。一般采用以PageRank[2]和HITS [3]为代表的基于网页链接结构的搜索策略,通过分析网页之间的相互链接关系来确定网页的重要性,进而决定链接访问顺序。该方法考虑了链接结构和网页之间的相互链接关系,但忽略了页面与主题的相关性。大量研究表明,PageRank算法只适合于发现权威网页,不适合发现主题资源;在某些情况下HITS会出现搜索偏离主题的“主题漂移”问题。

2 增量自适应聚焦爬虫设计

在基于分类器聚焦爬虫的基础上,为提高爬虫高效、准确的领域爬行性能,仅考虑链接重要性是不够的。本系统添加一个在线学习链接分类器对链接的主题相关性进行分类,它能通过学习来改进链接主题相关性的判断能力。并在链接排序模块采用TopicalRank考虑页面主题相关性和正向链接主题相关性相结合的url优先排序策略。

增量自适应聚焦爬虫系统由四个主要模块组成:爬行模块、基础网页分类器、在线增量学习自适应链接分类器、链接排序模块。其系统结构设计如图2所示。

图2中u初始时为种子,进入爬行后,是网页主题相关度和网页重要度都大且已经有效爬行了的页面。vu网页指向的正向链接网页,v的网页可是主题相关或不相关。

2.1 爬行模块

从优先待下载的url队列中选择要优先爬行的url并抓取该url所指网页。爬行模块采用开源网络爬虫Heritrix框架来实现,它的出色之处在于可扩展性,通过扩展它的组件来实现自定义的抓取逻辑。爬行模块在抓取中可以获取完整、精确的站点内容包括文本和非文本信息,将内容存储到爬虫数据库。爬行模块采用多线程技术,以提高系统的处理速度。

2.2 基础网页分类器

基础网页分类器通过农业领域知识库来指导训练,这里设计的是一个Naïve Bayes分类器。研究表明Naïve Bayes是较快的一种分类方法,效果也较好,理论上错误率最低。该方法对于文本di,求条件概率P(cj|di),条件概率最大的那个类别作为最终选择类别,计算时引入Term独立性假设。

Beyes公式如下:

p(cj|di)=p(di|cj)×p(cj)p(di)p(di|cj)×p(cj)

其中p(di|cj)=k=1rp(wik|cj)term独立性假设。

p(cj)=cj=Ν(cj)kΝ(ck)

p(w|cj)=wcjcjterm1+Νij+kΝkj

从系统结构图上看新抓取下网页u,分析其正文内容,计算pr(c*|u)的概率,看u的主题相关性是不是大于设定的主题相关性阈值对u分类。内容分析时,分词采用中科院Java版分词工具ictclas4j。如果大于设定的阈值,则记录新页面的正向链接信息,如果小于阈值则放弃新页面正向链接信息。假设Vu所有正向链接的集合V=(v1,v2,…,vn)。基础网页分类器只是通过u的相关性大小来决定V的去留。现实中在一个网页上会有很多不相关的链接,如果只是不加处理地把所有链接都放到爬行对列中,会在下一轮爬行中爬出大量主题不相关的网页,虽然爬虫会对他们进行主题相关性分类处理Pr(c*| vn),并且不相关就不会再爬行这些不相关网页的正向链接,但是对这些网页进行主题相关性分类处理的过程显然会降低爬虫的爬准率。

2.3 在线学习链接分类器

为提高爬虫高效、准确的领域爬行性能,不能只靠u主题相关性来产生待爬行url优先对列。本系统中在基础网页分类器之后,再添加一个网页在线链接分类器。在线学习网页分类器是基于Naïve Bayes 分类模型的分类器,原理如基础分类器的分类模型一致,此处不再复述。本文关注的是其链接分类器提取特征的获取和在线自适应学习的实现。

2.3.1 链接分类器提取特征获取方法

文献[4,5,6,7] 链接分析方法,链接分类器提取的特征主要包括锚文本、链接上下文本、url地址。其中锚文本和url地址信息在网页中的位置处在链接附近有标签标记容易抓取到,考虑提高分析链接主题相关性的准确性,链接上下文的获取相对复杂一些,下面介绍一下链接上下文本的获取方法。

在计算链接主题相关性时,用HTML文档的标签树或者文档对象模型(DOM)结构来获取链接上下文。传统的链接上下文的提取原则是以链接标签为根的子树下的所有文本,作为链接上下文。现采用文献[4]提供的方法:以链接标签的祖先为根的子树中所包含的所有文本,作为链接的上下文。该根结点为聚合节点,即链接及相应上下文都在其子树下,因此当聚合节点为链接节点的父节点时,相关信息足够并且质量高。

2.3.2 在线自适应学习

在考虑自适应学习的链接分类器之前,系统用一个训练好的分类模型对链接进行分类。现实中时间的推移,爬虫爬行出来的链接会与最初链接分类模型的特征差别越来越大,系统爬到的网页会越来越少。很多时候不是说这些链接的主题相关性真的是越来越弱,而是因为该链接分类模型已不能最大、全面地体现该领域主题的特征,很可能把属于该领域的链接都过滤。本系统中采用的在线自适应学习链接分类器,能在一定程度上改变这种状况。

在爬虫爬行初期,爬虫数据库中只有少量已爬行的页面和这些页面的正向链接信息,此时的数据相关性比较大,但是数量比较小,在线自适应学习链接分析器没有足够的训练数据。因此,最初系统只是通过基础网页分类器获取正向链接提供给爬行模块去爬行,但这个状态非常的短暂,在线自适应学习链接分析器训练数据很快就能收集到。系统选取爬虫数据库中爬行到的主题相关度高前2000名的页面,和其对应的正向链接信息组成2000个实例作为在线自适应学习链接分类模型的训练数据。在这些链接有主题相关的,也有主题不相关的。链接分类器一旦训练完成,就可以对新产生的链接进行主题相关度分析。而且其自身可以通过爬虫数据库新进的主题相关度高的页面和页面的正向链接信息不断修正,提高其链接主题相关性的判断能力。

2.4 链接排序模块

在文章前部分提到基于网页链接结构的搜索策略:一般采用以PageRank和HITS。通过分析网页之间的相互链接关系来确定网页的重要性,进而决定链接访问顺序。这类方法考虑了链接结构和网页之间的相互链接关系,但忽略了页面与主题的相关性。

现参考一种将网页分类器和网页选择器合并考虑的搜索策略,将网页本身的主题相关程度融合到主题重要性TopicalRank[10]的计算中,网页在主题重要性的计算方法:

ΤopicalRankj(v)=αu.uvΤopicalRankj(u)Ο(u)+βRj(v)

式中Rj(v)表示链接与领域的主题相关程度,这个数值由在线自适应链接分类器计算其链接相似度取得;O(u)表示网页的出度,这在基础网页分类器可以统计获得;αβ分别代表链接结构和链接主题相关性的权重系数,实验表明α为0.5,β为0.5时比较合适。公式中u初始时为种子,进入爬行后,是网页主题相关度和网页重要度都大且已经有效爬行了的页面,uv网页的反向链接网页。

3 实验与结果分析

在农业信息化的时代,大量的农业信息分布在网络上,很多农民朋友的检索技巧不高,加上通用搜索引擎返回的搜索结果数量巨大,且主题相关性差的现实情况,通用搜索引擎往往很不易满足农民朋友想从网络上获得信息以解决现实农业相关问题的要求。建立一个农业领域垂直搜索引擎,让农民朋友快速、简捷、高效地获取分布在网络上的农业信息资源成了迫在眉急的任务。本实验设计定向抓取农业领域相关网页资源的聚焦爬虫,以期为农业领域垂直搜索引擎提供更多领域主题相关的资源。

现基于增量学习的自适应聚焦爬虫的设计思想,设计农业领域聚焦爬虫实验。把领域知识库改称农业领域知识库,用农业领域知识库训练分类器。农业领域聚焦爬虫负责从网络上下载农业领域相关的网页,并且保持与网络上资源变化的同步,它是农业领域垂直搜索引擎的基础。

评价爬虫的指标包括:爬准率和爬全率。爬准率是已爬行主题相关的网页数量/已爬行的网页总数量。爬全率需要爬行网站主题相关网页的条数,这个与爬行器的设置与终止条件以及是否使用穿越tunnel的技术都有关系,比较难以统计。本文主要考虑爬虫的爬准率。

现实中大量实践表明了聚焦爬虫比普通爬虫在领域主题相关性爬行性能优越[8,9],本试验不再进行两者之间的比较。本实验设计比较原始基于网页分类器聚焦爬虫(以下简称基础聚焦爬虫)与本文设计的农业领域聚焦爬虫的爬行性能。初始网站seeds为表1中的四个网站。选用的四个网站在农业领域中有一定的权威性,发布的信息质量高。

考虑分析规模,设定搜索深度为4,线程数10,初始种子为表1中的四个url,聚焦爬虫相关度阈值为0.2。待两爬虫正常运行一段时间后,随机分别抽取两聚焦爬虫同一时间段10分钟内的爬行结果如表2所示。

结果表明:在相同的实验条件下,两聚焦爬虫爬行的网页数量相差不多,但是农业领域聚焦爬虫爬行相关网页数量多,这主要是因为基础聚焦爬虫仅基于链接重要度分析的链接排序模块导致在url优先爬行队列中待爬的url比较多,这时需要分析处理很多主题不相关的网页,所以会出现爬得多但主题相关性反而少,最终使得爬准率也低的情况。

在实际系统应用中爬行规模会设置成搜索深度为20,线程数为80。当还使用表1中的站点作种子站点时,农业领域聚焦爬虫的到达爬行边沿的时间是3天,爬行的网页数量是211217,而基础聚类爬虫爬行的时间是3天,爬行的网页数量是200427。这表明在爬行相同种子站点,农业领域聚焦爬虫的爬行网页数量也是胜出一筹。

综合分析比较可知农业领域聚焦爬虫的主题爬行效果比基础聚焦爬虫好,在爬行农业领域主题相关网页中是有优势的。

4 未来工作

1) 研究聚焦爬虫的重爬策略,目前还只是人工查看爬虫何时到爬行边缘(不再下载或很少量下载),这对最后实现系统自动化是个障碍,所以研究爬虫自动重爬技术是未来的工作。

2) 基于领域本体知识的网页分类器。本文设计的网页分类器是基于Naïve Bayes 的分类器,未来考虑将领域本体概念分析方法放入分类模型中,将网页中的关键词在通过与领域本体对应的词典作规范化转换之后,进行计数和加权,算出与所选领域的相关度,这是分析网页相关度的另一个思路。

3) 本文增量学习的自适应聚焦爬虫的设计应用到农业领域,未来的工作还包括把这一体系结构扩展到如工业、服务业领域,期望通过改变领域知识库、分类器模型等来配置聚焦爬虫的爬行领域,具体实现方法还要进一步研究。

参考文献

[1]Chakrabarti S,Van DEN BERG M,Dom B.Focused crawling:A new approach to topiespeeifie web resource discovery[A].Proceedings of the Eighth International World-Wide Web Conference[C],1999.

[2]Page L,Brin S,Motwani R,Winograd T.The PageRank Citation Rank-ing:Bringing order to the Web[EB/OL].http://www-db.stanford.edu/~backrub/pageranksub.ps,January,1998.

[3]KLE1NBERG J.Authoritative sources in a hyperlinked environment[A]TARjAN RE,et al.ed.Proceedings of the9th ACM-SIAMSympo-sium on Discrete Algorithms[C].New Orleans:ACM Press.1997:668-677.

[4]Jingru Dong,Wanli Zuo,Tao Peng.Focused crawling guided by link context[J].Artificial Intelligence and Apphcations,2006,2(2):365-369.

[5]Lan Nie Brian D,Davison Xiaogumlg Qi.Topical link analysis for web search[C].Washington:SIGIR’06,Seattle,2006.

[6]Mohsen Jamali,nassan Sayyadi,Babak Bagheri Hariri,et al.A method for focused crawling using combination of link structure and content similarity[C].Washington:IEEE Computer Society,2006.

[7]Haveliwala TH.Topical-sensitive pageRank[M].Hawmi:In Proceed-ings ofthe Eleventh International World Wide Web Conference.Honolu-lu,2002.

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

[9]李刚,周立柱,等.领域相关的Web网站抓取方法[J].计算机科学,2007,34(2):137-140.

上一篇:封管时间下一篇:技术报告