首页> 中国专利> 一种主题知识自增长型聚焦网络爬虫搜索方法

一种主题知识自增长型聚焦网络爬虫搜索方法

摘要

本发明公开了一种主题知识自增长型聚焦网络爬虫搜索方法,该方法步骤如下:(1)从初始的URL中获取网页;(2)对(1)步网页中主题相关度进行评估,结合其相关度数值,从网页内容中抽取知识进行主题知识扩展;(3)从(1)步网页中抽取URL并结合(2)步的网页主题相关度进行URL评估;(4)将(3)步URL及其评估结果存入候选队列,下一轮爬取时,从候选队列中取出相关度最高的URL进行爬取。本发明的技术方案利用网页关键词与主题关键词的共现关系,以及与URL锚文本关键词的共现关系,提出了主题知识的扩展方法,从而基于自增长的主题知识,以较稳定的正确率爬取更多的网页。

著录项

  • 公开/公告号CN103186676A

    专利类型发明专利

  • 公开/公告日2013-07-03

    原文格式PDF

  • 申请/专利权人 湖南农业大学;

    申请/专利号CN201310119282.2

  • 发明设计人 李东晖;廖晓兰;黄九鸣;

    申请日2013-04-08

  • 分类号G06F17/30(20060101);

  • 代理机构北京东正专利代理事务所(普通合伙);

  • 代理人刘瑜冬

  • 地址 410128 湖南省长沙市芙蓉区农大路1号

  • 入库时间 2024-02-19 18:48:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-20

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20160302 终止日期:20170408 申请日:20130408

    专利权的终止

  • 2016-03-02

    授权

    授权

  • 2013-08-21

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130408

    实质审查的生效

  • 2013-07-03

    公开

    公开

说明书

技术领域

本发明属于互联网信息检索和挖掘技术领域,尤其是涉及一种主题知识自增长型聚焦网络爬虫搜索方法。

背景技术

互联网蕴藏了大量的有用信息,Web信息检索、Web挖掘和知识发现等应用是人们从互联网上获取和处理信息的重要手段。网络爬虫是这些应用必需的第一个环节,旨在从互联网上将网页采集到本地,供后续的索引构建、信息抽取或文本挖掘等使用。

然而,如今的互联网信息量巨大,给网络爬虫带来了诸多挑战。由于互联网信息的海量性和动态性,要将全网信息全部采集到本地,需要耗费大量的存储、计算和网络带宽资源。为此,Google、Baidu、Bing等少数全网搜索引擎斥巨资构建大规模的网络爬虫集群。但是,很多厂商没有足够的资源部署大规模集群。并且,大部分应用的针对性强,也无需全网爬取所有网页。这催生了根据主题定向爬取相关网页信息的聚焦网络爬虫。

聚焦网络爬虫(简称聚焦爬虫),又称主题爬虫,是一种面向特定主题,按照一定规则自动爬取(下载)网页信息的网络爬虫。传统网络爬虫的目标是尽可能高速、全面地将网络上的网页爬取到本地存储。其通常的做法是从已获得的网页中,抽取出所有URL链接,并根据这些新的URL链接爬取新网页。相比传统网络爬虫,聚焦爬虫更有针对性,并非漫无目的地爬取网页中包含的所有URL链接。聚焦爬虫的目标是在资源有限的情况下,有效地爬取与主题相关的网页,尽量减少无关网页的爬取以免浪费资源。因此,现有的聚焦爬虫一般根据一定的分析算法对当前网页中的URL进行评估,过滤掉与主题无关的URL,只保留有用的URL供后续的爬取过程使用。为此,实现聚焦爬虫需要解决两个核心问题:爬取目标的描述或定义、URL评估。

爬取目标的描述或定义,指用户对其拟爬取主题的描述,是聚焦爬虫运行的依据。主题的描述是否准确,很大程度上决定了爬取结果的质量。如果主题描述太过宽泛,则聚焦爬虫过程难以收敛,所爬取的网页范围将过大,导致资源浪费且不利于用户对信息的使用。反之,若主题描述得过于片面,则将遗漏很多有用信息。然而,要求用户全面、准确地描述其希望爬取的主题,往往较为困难。

URL评估根据网页结构、内容或URL标题,预测网页中的URL是否与主题相关,从而决定是否将URL加入到后续的爬取过程。如果URL评估不准确,将导致爬取的网页内容偏离主题,并且从偏离主题的网页中提取URL继续进行爬取时,偏差将越来越大。因此,在用户对其拟爬取主题正确描述的情况下,URL评估的准确性,决定了聚焦爬虫的质量。

聚焦网络爬虫的算法设计需要考虑四个主要方面:1)如何描述或定义主题信息。目前主题描述主要采用关键词描述、基于概念或本体的语义描述等方法。这些方法都需要人为提供反映某一主题的关键词、概念、本体或字典。2)如何评估网页的主题相关度。主要是基于文本挖掘技术,对网页内容进行分析。3)如何决定待爬取URL的访问次序。该问题就是URL爬取策略的选择,例如按主题相关度高的URL优先爬取。4)如何提高聚焦网络爬虫的覆盖度。需要透过主题无关的网页,寻找主题相关信息,提供主题资源的覆盖度。

为了更加高效地爬取与主题相关的网络资源,研究者提出了许多主题定制的网页URL的爬取策略和相关度评估算法,使得网络爬虫尽可能多地爬取与主题相关的网页,尽可能少地爬取与主题无关网页,并且确保网页的质量。通过对这些方法进行比较分析,可以分成基于文字内容、网页URL关系和分类器预测等三类主要方法。

基于文字内容的启发策略主要是对网页文本内容、URL字符串、锚文字等文字内容信息进行分析,预测待爬取的网页与主题的相关度。不同的分析方法构成不同的启发式策略和相应的算法。例如Best first search方法,基本思想是对给定的一个待爬取的URL队列,从中挑选最好的URL优先爬取。De Bra等人提出的Fish search方法,该算法的关键是根据代表用户感兴趣主题的种子站点和主题关键词,动态地维护待爬行的URL优先级队列。这类算法旨在引导爬虫向正确的方向爬行,提高相关信息的发现率,但是问题在于难以精确描述用户感兴趣的主题内容。

基于文字内容的算法只是利用网页、URL、锚文字等文字信息,没有考虑到通过超链而形成的Web有向图对主题网络爬虫的影响。基于Web图的启发策略的基本思想来自于文献计量学的引文分析理论。尽管引文分析理论的应用环境与Web并不相同,但到目前为止,网页之间的超URL还是比较有价值的一种信息。最常见的URL分析算法有PageRank和HITS,都是通过对网页间URL度的递归和规范化计算,得到每个网页的重要度评价。这种算法引导网络爬虫爬取到那些具有权威性和价值的网页,但分析的效率极低,算法复杂度较高,并且不能够保证这些网页内容是与主题相关的,相关信息的发现率就会较低。

Charkrabarti等提出基于分类器预测的主题网络爬虫,可以基于分类模型来描述用户感兴趣的主题和预测网页的主题相关度。通过文本分类模型可以从更深的层次来描述用户感兴趣的主题信息,并可以更加准确地计算网页的主题相关性,而不只停留在基于关键词的匹配上。还有很多主题描述方法是基于机器学习的,通常需要提供一些样本网页用于学习和训练。文本分类技术应用于主题信息搜索中有利于提高主题搜索的正确率和准确率。PANT G等人的实验结果表明,使用主题分类器来指导网络爬虫爬行主题相关网页的效果要好得多。

2004年傅向华等人将Web爬行看作执行序列动作的过程,结合改进的快速Q学习和半监督贝叶斯分类器,提出一种新的具有在线增量自学习能力的聚焦爬行方法。该方法在得到主题相关的网页时沿着网页链路逆向反馈,以此获得实时的在线调整,具有较快的学习能力。本文重点研究用户主题知识描述不充分时,如何有效利用网页中文本内容所包含的主题知识指导爬取行为,应用背景与文献的链路结构学习方法不同,且具有更低的计算复杂度。

发明内容

针对主题描述困难和URL评估误差易被放大这两个问题,本发明提出一种主题知识自增长的聚焦网络爬虫技术(Crawler with knowledge automatically growing,简称KAG-Crawler)。初始时,用户只需给出一个较为简单、严格的主题描述,KAG-Crawler将在爬取过程中,从已获得的网页中抽取出与主题相关的知识,不断扩充用户的主题描述,从而在不偏离主题的前提下逐渐扩大爬取范围。本发明技术方案的KAG-Crawler创新点在于:1)提出了一种便于用户描述的主题表示模型;2)发现了网页中存在的若干判断主题相关性的新方法,并基于提出的主题表示模型,设计了网页和URL的主题相关性估算方法;3)研究网页中主题相关关键词的出现规律,提出了无监督扩展用户主题描述的算法。。

实现上述有益效果的技术方案为,一种主题知识自增长型聚焦网络爬虫搜索方法,该方法步骤如下:(1)从初始的URL中获取网页;(2)对(1)步网页中主题相关度进行评估,结合其相关度数值,从网页内容中抽取知识进行主题知识扩展;(3)从(1)步网页中抽取URL并结合(2)步的网页主题相关度进行URL评估;(4)将(3)步URL及其评估结果存入候选队列,下一轮爬取时,从候选队列中取出相关度最高的URL进行爬取;在上述步骤所用的主题表示模型中,每个主题知识由一个三元组<I, E, C>描述,I是一组与主题直接相关的关键词构成的集合,E是与主题相悖的关键词构成的集合,C为与主题间接相关的关键词构成的特征向量,C中每个关键词的特征值,表示关键词与主题相关的程度。

上述对(2)步网页中主题相关度进行评估是计算网页主题相关度,其定义为:

,其中,d为一个网页,表示x属于d的关键词集合;为一个用户配置的系数,用以调节I集合和C向量在主题相关度计算中的重要程度,取值范围为(0, 1];为网页d的关键词集合的特征向量,每个关键词为一个特征项,其特征值为关键词在d中的TF-IDF值;cos函数为两个特征向量间的角余弦相似度计算公式。

上述步骤(3)进行URL评估是计算URL主题相关度,其定义为:

,其中,u为一个URL,为u所在的网页,为u的锚文本,为u的锚文本的特征向量,为u所在网页的正文的特征向量。

上述主题知识扩展的方法具体是:每爬取一个网页,对网页正文中所包含的每个关键词,计算关键词主题相关度;将关键词及其相关度添加到C向量中或更新C向量中已有的权重;同时,将C向量中权重大于阈值的词,移到集合I中;设加入集合I的相关度阈值为,上述主题知识扩展步骤为:

(1)每爬取到一个网页,执行以下所有步骤;

(2)d←当前网页;D←截至目前已爬取到得网页集合;

(3)W←d正文中包含的名词的集合;

(4)对于W中每个词x,执行下述步骤(5)-(7);

(5)若x为C的特征项,s←x在C中的权重,否则s←0;

(6);

(7)若,在I集合中加入x,否则将加入或更新到C向量中;

上述函数表示关键词的主题相关度,其定义为: 

,其中,x为一个名词,表示x的DF值,D表示当前已爬取的网页集合,为D集合的大小,的定义为: 

,其中,d为一个网页,为d正文中同时包含x和I集合关键词的句子构成的集合,其定义为;S(d)表示d正文中的句子集合;和表示x在u的锚文本和d正文中的TF值;为网页d中所有URL构成的集合。

本发明的技术方案利用网页关键词与主题关键词的共现关系,以及与URL锚文本关键词的共现关系,提出了主题知识的扩展方法,从而基于自增长的主题知识,以较稳定的正确率爬取更多的网页。

附图说明

图1是传统聚焦网络爬虫算法流程图;

图2是本发明技术方案的KAG-Crawler算法流程图;

图3是主题词的共现关联性质示意图;

图4是URL中包含的主题词示意图;

图5是TS-Crawler正确率与爬取网页数量的关系图;

图6是KAG-Crawler正确率与爬取网页数量的关系。

具体实施方式

下面结合附图对本发明做进一步说明。如图1所示,传统聚焦爬虫根据初始的URL获取到目标网页,对网页进行评估,若与主题相关则将网页加入到结果集;同时,从获取到的网页中抽取出新的URL,加入候选队列,从候选队列中选取一个URL继续爬取过程。与传统聚焦爬虫相比,本发明的KAG-Crawler更注重主题知识的应用,并且在爬取过程中不断扩展主题知识。为量化评估网页、URL和关键词与主题相关的程度,技术方案中首先引入“主题相关度”的概念。一个网页或URL的主题相关度越高,表示它的内容更可能与用户期望的主题相关。如图2为本发明技术方案的KAG-Crawler算法流程图,KAG-Crawler算法对获取到的网页,其步骤为:(1)从初始的URL中获取网页;(2)对(1)步网页中主题相关度进行评估,结合其相关度数值,从网页内容中抽取知识进行主题知识扩展;(3)从(1)步网页中抽取URL并结合(2)步的网页主题相关度进行URL评估;(4)将(3)步URL及其评估结果存入候选队列,下一轮爬取时,从候选队列中取出相关度最高的URL进行爬取。实现KAG-Crawler算法的第一步获取网页可采用已有的Http客户端(如HttpClient);URL抽取步骤使用正则表达式即可准确高效地实现,网页正文和标题的抽取也有大量成熟的技术,本发明技术方案对此现有技术不再赘述。在上述步骤进行时,都需要用户需描述其希望爬取的主题。本发明所称描述主题的方法,为主题表示模型,称运用主题表示模型描述的主题为主题知识。聚焦爬虫中主题的粒度往往较大,更适合用领域本体库来描述。传统聚焦爬虫,通常采用文本挖掘中的话题表示模型,即与话题紧密相关的文档集合的特征向量模型,通过文本相似度计算来发现新的相关网页,进行话题相关网页的在线爬取。然而,一个话题的文档分布特别离散,相互间的URL关联也较少,传统聚焦爬虫这种在线话题爬取的方式,会导致收敛过快,将错失大量有用信息。此外,用户往往难以精确地描述一个话题,一旦给定的样本文档不合理,随着特征的扩展,主题将产生严重偏移。事实上,用户希望爬取的主题粒度往往较大,例如钢铁企业希望获取所有与钢铁材料相关的信息;又如生物信息研究人员希望获取所有与生物信息学有关的各类延伸信息。因此,描述用户欲爬取主题的最佳方式,是能全面表达用户关注领域特征的领域本体库。然而,现有的领域本体库模型难以直接应用于聚焦爬虫。首先,大部分现有的领域本体库格式不一且过于复杂。其次,很多领域还未构建完整的本体库,用户不可能在爬取前预先构建出完整的领域本体库。因此,KAG-Crawler的主题表示模型,定义为一种简化的本体库模型,该模型更便于用户描述主题,且有利于主题知识的扩充。

在KAG主题表示模型中, KAG-Crawler中的一个主题知识由一个三元组<I, E, C>描述,I是一组与主题直接相关的关键词构成的集合,E是与主题相悖的关键词构成的集合,C为与主题间接相关的关键词构成的特征向量。其中,C中每个关键词的特征值,表示关键词与主题相关的程度。例如,一篇文档若属于一个领域,往往会提及该领域的某些关键词。例如,“JAVA编程”领域相关的文档,至少要包含关键词“JAVA”。KAG主题表示模型中的I集合,就是指能充分代表领域特征的关键词集合。为限定爬取范围,KAG-Crawler假设一篇文档若与主题相关,文档中至少要包含I集合中的一个关键词。E集合用于过滤与主题不相关的文档。一篇与主题相关的文档,不得包含E集合中的任何关键词。例如,描述“JAVA编程”这一主题的知识,E集合中应包含“旅游”、“JAVA岛”,如此可过滤掉那些谈论“JAVA岛旅游”的文档。C向量使得KAG-Crawler能够对网页、URL和网页中的关键词进行主题相关程度的量化计算,从而在爬取过程中根据量化计算结果进行主题知识的扩展,并且将输出的网页和URL按主题相关程度排序。初始化时,用户只需给定少量有代表性的关键词和权重来构建C向量,KAG-Crawler的主题知识扩展算法将不断扩充完善C向量。由上述分析可知,使用KAG主题表示模型,用户只需在初始时设定若干关键词,描述主题较为容易。

KAG-Crawler算法的评估网页步骤,对网页的主题相关度进行计算。计算网页的主题相关度时,先从网页中抽取出正文,过滤调无关的HTML标签和广告、导航等内容。由于能表达领域特征的词,通常为名词。因此,KAG-Crawler分析网页正文或URL锚文本时,只抽取名词作为特征项。此外,一些常见的停用词可根据事先配置好的停用词库进行过滤,计算相关度时只考虑网页正文中的非停用名词(又称为网页的关键词)。

为减少无关内容的爬取,设定与主题相关的网页,其关键词集合至少要包含一个主题知识I集合中的关键词,且不包含E集合中的任何关键词。不符合上述条件的网页,其相关度为0。对符合上述条件的网页,引入网页内容与C向量的相似度,结合网页正文中包含I集合的关键词数,作为网页的主题相关度。网页主题相关度定义为:

,其中,d为一个网页,表示x属于d的关键词集合;为一个用户配置的系数,用以调节I集合和C向量在主题相关度计算中的重要程度,取值范围为(0, 1];为网页d的关键词集合的特征向量,每个关键词为一个特征项,其特征值为关键词在d中的TF-IDF值;cos函数为两个特征向量间的角余弦相似度计算公式。

URL锚文本的主题相关度不等同于URL的主题相关度。由于URL包含的信息比较少,在主题知识不完善时,URL锚文本中一些主题相关的关键词尚未被扩展到主题知识中,URL锚文本的主题相关度值很低。换言之,若采用计算网页主题相关度的公式来计算URL锚文本的主题相关度,所得的相关度大部分为0。因此,用锚文本的主题相关度作为URL的主题相关度,用以过滤和排序URL,将遗漏掉大量有用的URL。

为此,发明技术方案在网页主题相关度的基础上,为URL主题相关度的计算引入其它辅助信息。观察大量网页中的URL可知,大部分与网页主题相关的URL,其锚文本往往包含网页正文中的关键词。而一些广告和网站导航URL,其锚文本往往与网页正文无关。因此,如果一个网页是主题相关的,那么该网页中的URL,锚文本与网页正文的内容相似度越高,越有可能也与主题相关。因此,引入URL锚文本与网页的内容相似度来计算URL的主题相关度,以弥补主题知识不完善和锚文本信息量小的不足。

URL主题相关度为URL的锚文本本身的主题相关度,加上锚文本与网页正文的相关度,最后用网页的主题相关度加以惩罚。其定义为:

,其中,u为一个URL,为u所在的网页,为u的锚文本,为u的锚文本的特征向量,为u所在网页的正文的特征向量。

网页正文中包含了大量与主题有关的知识。例如,一个介绍生物信息学的网页,会经常提到遗传信息学、基因排列、蛋白质组学等与生物信息学这个主题密切相关的专有名词。特别是一些百科类和问答类的网页,其内容紧紧围绕主题,包含了大量主题关键词的同义词和主题下属子类别的关键词。例如百度百科关于“网络爬虫”这个主题的解释,包含了其同义词“网络蜘蛛”,还包含了其子类别“聚焦爬虫”。充分利用网页正文中包含的主题相关关键词,不断扩展主题知识,能较好地解决用户主题知识描述不充分的问题。通过对大量网页的观察,我们发现网页中的关键词是否与主题有关,与其在正文中的位置和在URL锚文本中的出现情况存在内在的联系。人们在描述一个概念时,往往喜欢用其近义词,或其子类别来加以阐述。例如,百度百科的“生物信息学”词条,“生物信息学”这个词就与“基因组学”多次共同出现,如图3所示,将上述潜在主题关键词与已知主题关键词的共现规律,概括为如下性质:

已知关键词x、k,网页正文d,设,x与k在d中的同一个句子中共同出现的次数越多,x越有可能与主题相关。

此外,网页编辑们为了向读者推荐更多的扩展阅读,经常会将与网页主题相关的URL放置在网页上。而URL的锚文本通常为目标网页的标题,很好地概括了目标网页的主题。因此,若URL锚文本中的某个关键词在当前网页的正文中经常出现,则表明该URL的主题与当前网页的主题相近。并且,这个同时出现在正文和URL中的关键词,也是能表征主题的一个优质关键词。例如,百度百科的“生物信息学”词条,就包含了一组“相关词条”的URL。如图4所示,这些URL的锚文本所含的名词,都在网页正文中出现过,且都与“生物信息学”这个主题密切相关。将上述“扩展阅读”URL的规律,概括为如下特性:

已知主题相关的网页d,u为d中的一个URL,为d的关键词集合,为u的锚文本,x为一个关键词,若,则x在中出现的次数越多,x越有可能与主题相关。

基于上述特性,引入关键词的TF-IDF值定义关键词主题相关度,进而根据该量化的相关度判定是否将主题词扩展到主题知识中。为区分关键词的重要性,在计算关键词与主题的相关度时,用TF-IDF为各关键词赋以一个权重。如此,可以去掉大部分无意义的关键词,其具体定义为:

函数表示关键词的主题相关度,其定义为: 

,其中,x为一个名词,表示x的DF值,D表示当前已爬取的网页集合,为D集合的大小,的定义为: 

,其中,d为一个网页,为d正文中同时包含x和I集合关键词的句子构成的集合,其定义为;S(d)表示d正文中的句子集合;和表示x在u的锚文本和d正文中的TF值;为网页d中所有URL构成的集合。由此确定主题知识扩展步骤为:

(1)每爬取到一个网页,执行以下所有步骤;

(2)d←当前网页;D←截至目前已爬取到得网页集合;

(3)W←d正文中包含的名词的集合;

(4)对于W中每个词x,执行下述步骤(5)-(7);

(5)若x为C的特征项,s←x在C中的权重,否则s←0;

(6);

(7)若,在I集合中加入x,否则将加入或更新到C向量中;

该算法为一个在线算法,其复杂度与网页数量成线性关系。的计算复杂度与集合I和网页中的URL数成线性关系。每个网页的名词数量、URL数量一般不会太大,且随着时间推移,不会无限增长。但集合I随着知识的不断扩展,将逐渐增大。但只要控制好阈值,集合I的大小也可控制在有限范围内。事实上,如果集合I过大,还有可能导致爬取的主题严重偏移,因此该值需在具体任务中调整,以达到最佳效果。

为测试本发明技术方案的方法效率,下面通过实验测试结果来比对说明。为检验KAG-Crawler的性能,本文与基于文本相似度的传统聚焦爬虫(简称TS-Crawler)进行对比实验。TS-Crawler采用向量空间模型描述要爬取的主题,计算URL的锚文本与主题向量的文本相似度,按相似度大小对URL进行排序,下一轮取相似度最高的URL进行爬取。首先介绍实验环境和数据集,然后介绍实验结果并进行分析。

实验设置

本实验在云蛛网络爬虫云平台(YZ-Crawler)上实现了KAG-Crawler和TS-Crawler,以若干主题为例进行对比实验。云蛛网络爬虫云平台为小型爬虫应用提供了良好的开发和测试环境,实现了网络资源和计算资源的虚拟化及智能调度。本文使用6台普通PC和4条4M带宽的ADSL组成一个小规模云平台,在该平台上测试KAG-Crawler和TS-Crawler的性能。

为测试本发明算法的普遍有效性,测试主题选择3个跨度比较大的领域:生物信息学、JAVA编程、钢铁材料。按照KAG-Crawler的主题模型,3个测试主题初始的主题知识设置如表1所示。此外,还假设用户不知如何准确设定C向量中的关键词权重,将C向量中的关键词权重都初始化为0.1。

表 KAG-Crawler测试主题初始输入

主题IEC生物信息学生物信息学、计算生物学、Bioinformatics 生物学、计算机、信息学、遗传、基因、化学、蛋白质、细胞JAVA编程Java、爪哇编程、爪哇语言旅游、爪哇岛、爪哇国计算机编程、异常、算法、函数、过程、对象、溢出、堆栈、类、继承、回调钢铁材料钢铁、钢材、steel  钢筋、钢板、钢厂、炼钢、材料

TS-Crawler的主题知识采用中心向量模型,从样本文档中训练而得。为每个测试主题选择20个最相关的样本文档,主要为各领域的百度百科网页、维基百科网页,以及具有代表性的新闻、学术文章。

初始化时,实验为TS-Crawler和KAG-Crawler配置相同的初始URL,每个主题20个。各URL指向的网页内容均与其主题紧密相关。

性能评价方面,主要考察所爬取网页的数量和质量两个指标。其中,质量指标用爬取正确率表示,即真正主题相关的网页数除以总网页数。检测网页是否真的与主题相关时,采用人工标注的方式:由三个人分别独立对网页进行主题相关性判定,当且仅当两个以上的人认为某网页与主题相关时,才认为该网页真正与主题相关。此外,由于爬取的网页数量较大,本文每次评估爬取质量时,从已爬取的网页集合中随机抽样100个网页进行标注,以这100个网页的正确率代替全集合的正确率。

实验结果与分析

实验分别测试并对比分析TS-Crawler和KAG-Crawler两个聚焦爬虫在各种参数条件下的运行情况。

TS-Crawler只对相似度高于阈值的URL进行爬取,设该文本相似度阈值变量为。测试进行4次,取值分别为0.2、0.4、0.6和0.8,测试结果如表2所示。表2给出了TS-Crawler在的各种取值条件下,3个测试主题最终爬取到的网页平均数量和平均正确率。可见,的取值越低,爬取停止时获得的网页数量越大,但正确率也越低。反之,取值越高,最终正确率越高,但获得的网页数量较少。

表2 TS-Crawler性能

 爬取网页数1388777103445579正确率18%27%44%82%

图5给出了各种取值条件下,TS-Crawler关于3个测试主题的平均正确率随着爬取网页的平均数量增长的变化情况。横轴表示爬取的网页数量,纵轴表示抽样检查的正确率。可见,随着网页数量的增长,即URL跳转次数的增加,正确率急剧下降,且越小,下降得越快。这说明,TS-Crawler对噪音的容忍度很差,对URL锚文本主题相似度计算的误差,被逐步放大。

KAG-Crawler需配置的参数包括用以调节I集合和C向量重要性的系数,以及用以判断是否将关键词从C向量移到I集合的相关度阈值。实际应用中,和这两个参数可根据具体主题,经过若干次试验进行调节,以达到最佳性能。参数的试验调节,可依据贪心法的原则进行:先固定为最严格的值1.0;初始时取1.0,针对具体主题进行小规模测试,评估得一个初始的正确率;尔后不断调小的值进行测试,直到正确率出现严重下降;确定的取值后,采用类似方法调节的取值。本文的实验采用上述方法对3个测试主题的参数分别进行调整,调整时每次减少的步长为0.1。各测试主题最终确定的参数取值和性能指标如表3所示。

表3 KAG-Crawler性能

 生物信息学JAVA编程钢铁材料0.20.60.50.31.00.4爬取网页数12.8万81.1万42万正确率60%92%73%

3个主题的最终参数取值与其初始输入的主题知识和主题本身内在的特点有关。“JAVA编程”主题的值取0.6,是因为该主题的I集合中所包含的词具有很强的区分能力:包含有“JAVA”或“爪哇”的网页绝大部分是在讨论JAVA编程。换言之,讨论JAVA编程的网页一般都包含有“JAVA”或“爪哇”,因此值取1.0,不再扩展I集合的词。“钢铁材料”主题的值稍低于“JAVA编程”主题,是因为其初始设定的I集合中少了一些具有较强鉴别力的同义词,导致其I集合的区分能力比稍弱。“生物信息学”的两个参数取值最低,是由于该主题包含了大量的子领域,例如前文所述的“基因组学”等。而其I集合中只包含了少量的领域关键词,为此我们降低的取值,使得爬虫系统更积极地扩展子领域的关键词到I集合中,以爬取到更多网页。

表3所示的最终爬取数量和质量,表明KAG-Crawler比TS-Crawler能够更全面、准确地爬取到主题相关的网页。3个主题最终爬取的网页数量之所以有较大差异,是因为互联网上这几个主题相关的网页数总量本身就存在较大差距。

为检验KAG-Crawler的稳定性,我们采用表3所示的参数,考察三个测试主题正确率随着网页数量增加的变化情况。如图6所示,随着爬取的网页数量增加,正确率伴随着小幅波动,基本保持稳定。这表明KAG-Crawler能够较好地控制误差不被急剧放大,且能爬取到数量比TS-Crawler高一个数量级的网页。

综上所述,KAG-Crawler的正确率、爬取数量、稳定性明显优于TS-Crawler。

以上所述,为本发明的一般实施案例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号