著录项信息
专利名称 | 一种主题网络爬虫系统的构建方法 |
申请号 | CN201110007710.3 | 申请日期 | 2011-01-14 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2011-05-25 | 公开/公告号 | CN102073730A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 哈尔滨工程大学 | 申请人地址 | 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 哈尔滨工程大学 | 当前权利人 | 哈尔滨工程大学 |
发明人 | 宁慧;吴昊;谈亚洲;吴悦;吕志龙 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明提供的是一种主题网络爬虫系统的构建方法。(1)定义主题初始描述向量,设定相关度初始阀值、初始化URL队列;(2)从初始URL队列中依次获取URL进行爬取;(3)对URL进行文本分析;(4)对URL进行链接分析;(5)计算URL与主题的相关度;(6)将相关度大于相关度阈值的URL加入有序的URL队列,URL依照与主题向量的相关度高低排序,依次爬取,直至队列为空,对于每个爬到的网页,提取其中的子URL,返回到步骤(3);(7)使用遗传算法进行遗传算法最优化;(8)Rocchio反馈模块对主题向量更新,并动态调整相关度阈值,继续爬取网页。本发明不需要事先准备大量的训练文本,速度快,适合处理海量的在线网页数据。
1.一种主题网络爬虫系统的构建方法,其特征是:
(1)定义主题初始描述向量,设定相关度初始阀值,设定初始化URL队列;
(2)爬虫从初始URL队列中依次获取URL进行爬取;
(3)对URL进行文本分析;
(4)对URL进行链接分析;
(5)结合文本分析与链接分析的结果计算URL与主题的相关度;
(6)将相关度大于相关度阈值的URL加入有序的URL队列,URL依照与主题向量的相关度高低排序,相关度高的排在前面,相关度低的排在后面,主题爬虫先爬取队列中相关度高的网页,然后爬取相关度低的网页,依次爬取,直至队列为空,对于每个爬到的网页,提取其中的子URL,返回到步骤(3);
(7)使用遗传算法对队列中相关度最高的前N篇进行遗传算法最优化,选出最优特征;
(8)将遗传算法返回的最优特征送入Rocchio反馈模块对主题向量更新,并动态调整相关度阈值,继续爬取网页;
运用遗传算法和Rocchio算法对用户主题模板进行自适应更新的方法为:
1)按照编码策略对伪相关反馈文档进行浮点数编码;
2)定义适应度函数Fitness;
3)确定交叉概率Pc和变异概率Pm遗传参数;
4)初始化生成群体P;
5)计算群体中每个个体适应度值Fitness,并得到群体适应度均值AVG;
6)按照遗传策略,运用选择、扩展、交叉和变异算子作用于群体,形成下一代群体;
7)判断新一代群体适应度均值newAVG是否小于AVG,或者已完成预定迭代次数,不满足则返回6),或者修改遗传策略再返回6),若满足条件则结束;
8)将适应度函数值最好的结果指定为遗传算法的结果,作为送入Rocchio反馈模块的正例质心。
一种主题网络爬虫系统的构建方法\n技术领域\n[0001] 本发明涉及的是一种网络数据采集系统中爬虫部分的构建方法,主要涉及主题网络爬虫系统的构建方法。\n背景技术\n[0002] 随着信息时代的来临和网络的迅速发展,网络上的信息量呈几何级数增长。面对网络上海量的信息,用户通常利用搜索引擎来定位自己需要的网络数据。目前主流的搜索引擎基本都是综合性搜索引擎。因为综合搜索引擎的爬虫并不针对特定内容进行专门爬取,所以用户使用综合搜索引擎检索出来的结果往往有很多与需求不相关或者相关度很小,用户需要浏览很多网页的内容才能获取到有用的信息。网络爬虫作为搜索引擎的一个核心部分,它的搜索技术很大程度上影响了搜索引擎的性能。普通爬虫会从URL集开始爬取,遇到网页就保存下来,然后再从网页中获取新的URL进行爬取,在网络上不断的获取到新的网页。因为普通爬虫在爬取的过程中相对缺乏标准,往往容易导致数据量过大、数据冗余的问题,造成搜索引擎给用户返回的最终结果与用户需求相关度偏低的问题。与普通的网络爬虫不同,主题爬虫可以根据已经设定的主题来爬取网页,为爬虫在爬行的过程提供一个标准,符合标准的网页就爬取,不符合的就不爬取。因为主题爬虫能够根据用户设定主题爬取,所以它能够为搜索引擎提供与用户需求的主题相关度更高的数据。按照本专利的方法,用户只需要使用自然语言来描述自己的主题,主题爬虫就可以通过自己的分析理解用户的需求,然后在网络上爬取与用户需求相关的网页作为搜索引擎的网页库。因为网页库中的网页与用户的需求更接近,所以最终给用户返回的网页内容也会与用户的需求更加接近。主题爬虫可以解决综合搜索引擎带来的返回结果与用户需求相关度低的问题,能够根据用户设定的主题获取到与用户需求相关度更高的网页。\n发明内容\n[0003] 本发明的目的是提出一种新颖、高效、准确的主题网络爬虫系统的构建方法。\n[0004] 本发明的目的是这样实现的:\n[0005] (1)定义主题初始描述向量,设定相关度初始阀值,设定初始化URL队列;\n[0006] (2)爬虫从初始URL队列中依次获取URL进行爬取;\n[0007] (3)对URL进行文本分析;\n[0008] (4)对URL进行链接分析;\n[0009] (5)结合文本分析与链接分析的结果计算URL与主题的相关度;\n[0010] (6)将相关度大于相关度阈值的URL加入有序的URL队列,URL依照与主题向量的相关度高低排序,相关度高的排在前面,相关度低的排在后面,主题爬虫先爬取队列中相关度高的网页,然后爬取相关度低的网页,依次爬取,直至队列为空,对于每个爬到的网页,提取其中的子URL,返回到步骤(3);\n[0011] (7)使用遗传算法对队列中相关度最高的前N篇进行遗传算法最优化,选出最优特征;\n[0012] (8)将遗传算法返回的最优特征送入Rocchio反馈模块对主题向量更新,并动态调整相关度阈值,继续爬取网页。\n[0013] 在上述的步骤(7)和(8)中,运用遗传算法和Rocchio算法对用户主题模板进行自适应更新,它们的步骤包括:\n[0014] 1)按照编码策略对伪相关反馈文档进行浮点数编码;\n[0015] 2)定义适应度函数Fitness;\n[0016] 3)确定交叉概率Pc和变异概率Pm等遗传参数;\n[0017] 4)初始化生成群体P;\n[0018] 5)计算群体中每个个体适应度值Fitness,并得到群体适应度均值AVG;\n[0019] 6)按照遗传策略,运用选择、扩展、交叉和变异算子作用于群体,形成下一代群体;\n[0020] 7)判断新一代群体适应度均值newAVG是否小于AVG,或者已完成预定迭代次数,不满足则返回6),或者修改遗传策略再返回6),若满足条件则结束;\n[0021] 8)将适应度函数值最好的结果指定为遗传算法的结果,作为送入Rocchio反馈模块的正例质心。\n[0022] 目前主题爬虫中主题描述是静态的,不能充分反映主题内容的动态变化。因为主题描述是不变化的,所以爬虫获取到的网页只是局部最优的数据。本发明采用遗传基因算法和Rocchio算法更新主题向量,使主题向量为全局最优解。同时,针对网页中的链接多以链接块的形式存在,本发明采用链接块代替块内单个链接来解决锚文本文字量少、表达信息不完全的问题。采用向量空间模型结合夹角余弦的计算方法来计算锚文本与主题向量的相似度,并考虑子链接与父网页的链接关系。因为主题向量已经实时更新,为全局最优解,再结合网络中数据的链接块的特性,网络爬虫能够在爬取网页前充分分析该网页内容与主题的相关度,从而爬取相关度高的网页。\n[0023] 本发明的有益效果主要体现在:本发明的方法摆脱了传统主题爬虫的相关度计算方法中容易陷入局部最优解的问题,由于主题的动态调整,使整个算法能够取得全局最优解。所以,与传统的主题爬虫URL相关性分析方法相比,本发明可以爬取更多符合主题的URL。而且,由于动态调整主题描述,因此不需要事先准备大量的训练文本,速度快,适合处理海量的在线网页数据。\n附图说明\n[0024] 图1是系统的组成结构图;\n[0025] 图2是系统的工作流程图。\n具体实施方式\n[0026] 下面结合附图举例对本发明作更详细的描述:\n[0027] 如图1所示,本发明方法所构建的网络爬虫主要包括构造初始化向量、动态调整主题向量模块和通过链接块和父子继承关系计算相关度模块组成。其中动态调整主题向量模块包括使用遗传算法选出新特征和运用反馈更新主题向量子模块。\n[0028] 本发明的工作流程如图2所示,下面介绍它的具体实施方式:\n[0029] 步骤(1):针对所要爬取的主题,定义基于关键词的主题初始描述向量,所有分量权重设为1;设定相关度阈值,设定初始URL队列。\n[0030] 步骤(2):爬虫从初始URL队列中获取URL进行爬取,依次获取URL。\n[0031] 步骤(3):对选取的URL进行文本分析。针对URL锚文本信息量少而网页正文周围链接多以成块形式出现的特点,用该URL所在的链接块中的所有URL对应的锚文本组成扩充锚文本向量,计算出该向量与主题向量的相关度anchor_score,以此相关度作为该链接块中所有链接与主题的相关度。\n[0032] 扩充锚文本向量中分量的权重采用TFIDF公式计算:\n[0033] \n[0034] 其中词语频率(Term Frequency,TF)为该词语在此文档中出现的频率;词语倒排文档频率(Inverse Document Frequency,IDF)为该词语在文档集合中分布情况的量化,常用的计算方法是log(N/nk+0.01),其中N为文档集合中的文档数目,nk为出现过该词语的文档数目;分母为归一化因子(Normalization Factor),用于对各分量进行标准化。\n[0035] 由于扩充锚文本由向量空间模型表示,因此扩充锚文本向量与主题描述向量采用向量空间夹角公式进行相似度计算:\n[0036] \n[0037] 步骤(4):对选取的URL进行链接分析。根据该URL的父URL的相关度计算出该URL的继承相关度inherited_score(child_node):\n[0038] if(current_node相关)\n[0039] inherited_score(child_node)=a*sim_score://a是预先定义的衰减因子[0040] else\n[0041] inherited_score(child_node)=a*inherited_score(current_node);\n[0042] 步骤(5):计算该URL与主题向量的相关度:\n[0043] sim=c*inherited_score(child_node)+(1-c)*anchor_score//c是预先定义的常数。\n[0044] 步骤(6):将相关度大于相关度阈值的URL加入有序的URL队列,URL队列按照相关度从高到低排序。主题爬虫按URL相关度由高到低的顺序爬取URL队列中的URL。对于每个爬到的网页,提取其中的子URL,返回给(3)。\n[0045] 步骤(7):把爬取过的相关度高的网页作为伪相关反馈,使用遗传算法模块选择最优特征。\n[0046] 其中,步骤(7)包括如下几个小步骤:\n[0047] 1.编码:权重用浮点数进行编码。用户模板关键词向量:C=<c1(w1),c2(w2),...cn(wn)>,按关键词平均权重降序来构造向量,这样权重高的关键词大部分置于向量前部,在交叉操作中不易被破坏,有利于算法快速收敛。\n[0048] 2.选择:系统采用轮盘法来选择。\n[0049] 3.交叉:本文采用单点交叉,由系统随机在关键词权重向量中选取一个交叉点,该点之后的数据全部交换。\n[0050] 4.变异:首先采用随机算法来选择要发生变异的个体,以及个体中的位置,然后在[0,1]区间随机生成一个数来替换个体中发生变异的位置。\n[0051] 5.适应度函数设定:采用主题向量与多个与主题相关度大于阈值的扩充锚文本向量的相关度的平均值作为适应度函数:\n[0052] \n[0053] 在适应度函数中,P为用户模板,Di为伪相关反馈中的第i篇文档,n为伪相关反馈的文档数。两个文本P和D之间的内容相关程度的度量被称为相似度Sim(P,D)。对于文本P(Wi1,Wi2...Win)和文本D(Wj1,Wj2...Wjn),可以借助向量之间的某种距离来表示它们之间的相似度,常用向量之间的内积来计算sim(P,D),它等于:\n[0054] \n[0055] 6.将适应度函数值最好的结果指定为遗传算法的结果,作为送入Rocchio反馈模块的正例质心,并送入Rocchio反馈模块。\n[0056] 步骤(8):Rocchio反馈模块将遗传算法选取的最优特征返回给主题向量,并对其进行更新,同时更新相关阀值。
法律信息
- 2019-01-01
未缴年费专利权终止
IPC(主分类): G06F 17/30
专利号: ZL 201110007710.3
申请日: 2011.01.14
授权公告日: 2012.09.26
- 2012-09-26
- 2011-07-06
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201110007710.3
申请日: 2011.01.14
- 2011-05-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |