您好,欢迎来到九壹网。
搜索
您的当前位置:首页基于遗传算法的主题爬虫

基于遗传算法的主题爬虫

来源:九壹网
计算机技术与发展 第22卷 基于遗传算法的主题爬虫 张海亮,袁道华 (四川大学计算机学院,四川成都610065) 摘要:针对目前主题网络爬虫搜索策略难以在全局范围内找到最优解,通过对遗传算法的分析与研究,文中设计了一个 基于遗传算法的主题爬虫方案。引入了结合文本内容的PageRank算法;采用向量空间模型算法计算网页主题相关度;采 取网页链接结构与主题相关度来评判网页的重要性;依据网页重要性选择爬行中的遗传因子;设置适应度函数筛选与主 题相关的网页。与普通的主题爬虫比较,该策略能够获取大量主题相关度高的网页信息,能够提高获取的网页的重要性, 能够满足用户对所需主题网页的检索需求,并在一定程度上解决了上述问题。 关键词:遗传算法;爬虫;主题爬虫;主题相关度;网页重要性 中图分类号:TP301.6 文献标识码:A 文章编号:1673-629X(2012)08一O048—05 Focused Crawling Based on Genetic Algorithms ZHANG Hai—liang,YUAN Dao-hua (College of Computer Science,Sichuan University,Chengdu 610065,China) Abstract:Optimized solution can't be found in the global scope based on the present searching strategy of focused crawler.A fcusoed crawler method based on genetic algorihm its proposed through the analysis and study of genetic algorithm.This method introduces te bPageRank algorihm combitned、vitIl text contents,computes the page topic similarity with vector space model algorihm,atnd judges the importance ofweb page accordingtoweblink structure andtopic siilmarity。Atthe salYletime-the geneticfactors are selcteed on basis ofthe importance ofweb page.The system sets fitness function to select pages relevant with topic.Compared to focused crawler.the topic crawler based on genetic algorihmst could obtain the web pages which have strong correlation with subjects-and improve he itmpor- tance of access web pages。and satisfy user’S demand for searching topic webs they’re interested in.So in a ce ̄.ain extent,the above problems are solved. Key words:genetic algorithm;crawler;fcusod ecrawler;topic similarity;web importance 0 引 言 随着互联息的剧增,用户越来越依赖搜索引 擎,而传统的通用搜索引擎查询的数据是海量无序的 1主题爬虫 自动地发现并下载网页称为爬取,下载网页的程 序称为网络爬虫…(Crawler或Spider程序),是搜索 引擎的重要组成部分。 主题网络爬虫 .3 的工作流程主要有三个步骤: 第一,从请求队列中取出URL地址,分析URL与 主题的相关性,如果该URL与主题相关且以前没有遇 且查询的深度不够,而用户最大的体验就是查询不到 自己想要的信息。为了克服通用搜索引擎不能快速、 准确地查找有用的信息,并满足用户的需求体验,于是 主题搜索引擎应运而生。 主题搜素引擎是信息技术在大规模文本集合上检 索与主题相关信息的实际应用。主题爬虫对于主题搜 索引擎发现和抓取文档具有首要的责任,主题爬虫设 计的优秀与否决定着主题搜索引擎的好坏。主题网络 爬虫采用分类技术来访问的网页是关于同一个主 题的。 到过,则将其放人待抓取的URL队列中。 第二,按照某种排序算法对上述URL队列进行排 序,使重要的页面置于队列前端,并重复上述过程,直 到满足系统设计的停止条件。 第三,存储与主题相关网页,进行一定的分析、过 滤,并建立索引,并对后续的抓取过程进行反馈和指 导。 收稿日期:2011-12—24;修回日期:2012—03-27 爬虫开始的时候,需要给爬虫输送一个URL列 表,在实际应用中该列表是一个特定话题的多个权威 作者简介:张海亮(1987一),男,四川成都人,硕士,研究方向为分布 式并行处理与网络计算;袁道华,教授,硕士生导师,研究方向为分 布式并行处理与网络计算。 页面的集合,于是这个列表中的URL地址便是爬虫的 起始位置,爬虫从这些URL出发,不断地发现新的 第8期 张海亮等:基于遗传算法的主题爬虫 ・49・ URL,然后再根据预先设计搜索策略爬行这些新的 URL,最后得到与主题相关的网页。一般的爬虫都自 己建立DNS缓冲,目的是加快URL解析成IP地址的 速度 引。爬虫的运行过程如图1所示。 5)扩展性强:能够与其他技术混合使用在主题爬 虫的设计中,如组合优化、机器学习和自适应控制。 3基于遗传算法的搜索策略 3.1设计思想 由于因特网上的信息是按照主题相关来分类,相 关或重要的网页相互链接,所以基于网页链接结构评 价的搜索策略 以此为基础来分析,但易出现“主题 漂移”问题;基于内容评价的搜索策略 采用向量模 图1 主题爬虫运行过程 2遗传算法的基本思想 遗传算法 GA(Genetic Algorithms)是一种模拟 自然界生物进化过程的计算模型,用于解决最优化的 搜索算法。GA克服了传统算法的一些缺点,对一些 复杂的、难于数学建模的问题有着明显的优势。它体 现了适者生存、优胜劣汰的进化原则,通过复制、交叉、 变异等操作不断产生新的个体,并逐步淘汰适应度函 数值低的个体,使群体不断进化,同时以全局并行搜索 技术来搜索优化群体中最优个体,以求得到满足要求 的解。 主要步骤如下: ①处理用户提交的URL集,抽取关键词; ②选中输入集的所有链接,并获相应的www表 示,结果集作为第一代; ③对第一代所有元素计算其适应度; ④不断复制、交叉、变异操作,并从上代进入到下 一代 引。 其中,选择、交叉和变异三个主要遗传算子构成了 遗传算法的遗传操作。 在主题爬虫中应用遗传算法可以在如下方面提高 搜索的性能 : 1)内在启发式随机搜索:指导主题爬虫的搜索方 向; 2)内在隐并行性:不容易陷入局部最优; 3)更好的全局寻优能力:提高主题爬虫的全局搜 索能力; 4)渐进式优化:利用选择、交叉和变异等操作,通 过不断遗传,选择最优集; 型算法,却忽略了网页之间的链接关系。因此通过对 以上两种策略的分析,再结合遗传算法的特性,决定采 用如下策略:基于从优质个体链接出去的URL可能是 优质个体和链接目标是优质个体的URL也可能是优 质个体的原则,选出与主题相关度高的个体(URL)作 为初始的种子集;交叉操作对父代个体进行基因变换, 产生新的个体,再从中选择优异个体;通过变异操作, 扩大搜索范围(URL集)。 3.2 系统结构 通过对普通主题的研究分析,基于遗传算法的主 题爬虫搜索策略在以下几方面对传统的设计进行了扩 展:在海量网页的处理过程中加入选择操作,通过对结 合文本内容的PageRank算法计算得到的网页重要性 值排序来选择与主题相关的网页,在一定程度上解决 了信息检索中出现的主题漂移问题;在每代种子挑选 过程中增加变异和交叉操作,增加相关度较低的页面 被爬行的机会并扩大相关网页的爬行范围,形成一个 能反映主题特征的种子集合,其实现流程如图2所示。 3.3主题的选择 用户在使用搜索引擎时是通过相关主题来检索他 们想要的信息,从这个角度主题可以描述成某一事物 或某一信息的若干特征的集合。实际中,主题概念的 范围可大可小,主题范围可以非常抽象,但此时它的含 义非常模糊;它的范围也可以非常具体,而此时它的意 义却非常明确。主题选择是面向主题的Web信息提 取的基础 。主题的确立可以采用手工设置关键词集 的方法,该方法易于实现,依赖于专家的经验u。。。 3.4初始种子集合的确立 初始种子集合的确立有三种常用的方法,第一是 人工指定;第二是自动生成;第三是前两种方式的混合 模式。由于爬虫是从初始种子集合中的URL开始,并 解析这些链接,根据网页的重要性来选择进入URL的 顺序,所以初始种子集合的选择将直接影响主题页面 的采集以及采集工作的效率。另外,由于主题爬虫只 搜索跟主题相关的URL,搜索的范围局限于万维网中 很小的一部分,所以更加要求初始种子集合是主题相 关的。鉴于上述理由,文中采用混合模式,利用元搜索 ・5O・ 计算机技术与发展 第22卷 引擎获取,在领域专家的指导下并结合人的经验共同 CO8< .13> 一一进行筛选,选出与主题相关的URL作为初始种子集 合 。 初始化种子集合s,相关度阈值ro。重要 性阈值P0,交叉概率Pc,变异概率Pm ! I口I I 2 I ((口l,口2,…,口 ),( l J, 2 2,…, )) l(nl,02,…,n )I I( l 1,X2l 2,…, 加 )I l +X2W +…+XnW: 获取种群S中未访问的URL,并放 入待处理列表sl中 (1) I飘o J’I’1日 !Lw ’ rI,千rT】j 的相关度,与ro比较,删除相关 阈值r0是一个常量,当COS< , >≥ro时,该页 分析S1中的网页的链接信息,计 算网页的重要性,与P0比较,删 除重要性小于P0的网页链接 接作为s2 根据交叉概率执行交叉操作得到 否 S3 根据交叉概率执行交叉操作得到 S4 刷居适应度函数判断新产生S中每 个URL的适应性,选取适应性大 于适应度阈值的uRL组成新的种 否为! 退出 图2基于遗传算法的主题爬虫流程 3.5主题相关度 计算主题相关度 采用向量空间模型算法。向 量模型不判断文档与查询是否相关,而是根据文档与 查询的相似度对文档进行排序。 选取文档中的词为向量空间的一个向量,由这些 词作为向量的维数表示文档。文档和关键词都被假设 是一个rt维向量空间的一部分,其中n是关键词的个 数,每一维分量的大小为每个关键词的权值 ,主题用 向量则表示为: =(al,Ct2,…,口 ),a =tlJ , =1,2,…, no 采用绝对词频对页面进行统计分析,在实际计算 中,让频率出现最高的关键词作为基准,设其频率 = 1,通过频率之比,计算出其他关键词的相对频率 i, 则该页面对应向量的每一维分量为 i。 页面主题用向量则表示为: 卢=( I埘l,X2 2,…,XnW ),i=1,2,…,n 用两个向量夹角的余弦表示页面的主题相关度: 面和主题相关。 3.6网页重要性 能否把与用户检索需求相关的高质量文档放在排 序结果最靠前的位置,是衡量搜索引擎性能的关键技 术之一,因此网页的排序显得尤为重要。考虑到网页 与主题的相关性以及网页之间的链接性,可以综合考 虑主题相关度和链接分析两个关键因素。 其中链接分析采用结合文本内容的PageRank算 法。PageRank “ 的基本思想是试图为所有网页赋予 一个量化的价值度,每个网页被量化的价值通过一种 递归的方式来定义,由所有链接到该网页的价值程度 决定。具体地,基于网页之间的链接信息,设F 是页 面i的链出页面集, 是页面_『的链人页面集。则在任 意时间点,爬虫位于页面_『的概率P(.『)见式(2): P(.『)=(1一卢)+卢 (2) 其中,0< <1,通常取值为0.85。该算法认为 一个网页被多次引用,则它可能是很重要的;一个网页 虽然没有被多次引用,但是被重要的网页引用,则它也 可能是很重要的,这就是权威(Authoritative)网页,对 每个网页计算它的权威值,就可以对网页进行排序,从 而找到最重要的权威网页¨引。 为了能够将页面的权威性与主题相关性结合起 来,在网页间传递PR时考虑页面的主题相关性,相关 度大的链出页面的PR就相对大一些 。改进后的 PageRank见式(3): P (_『)=(1一卢)P (_『)+ ∑P (f)P ( --+j)(3) 其中,t为待搜索的主题,P(i)可由(2)式计算出 来,P (i一_『)是当爬虫位于网页i时选择链出页面 的 概率。 (J.)表示爬虫不选择出链而是直接跳转到页 面_『的概率,它们都和主题相关度有关。设 为所有 网页的集合,R (k)为页面k关于主题t的相关性: P (f 盟: (4) ” ER (J})∑cos( , ) 一 ㈩ 第8期 张海亮等:基于遗传算法的主题爬虫 ・51. 其中,COS<口, >由式(1)可得。由式(4)与式 (5)可得,结合了主题的PageRank按照链出页面的主 题相关度来传递PageRank值。这样,同一页面的链出 页面集里和主题相关性大的就能获得此页面的父页面 较多的PageRank值。 3.7适应度评价函数 个体适应度计算公式为:Fit(1ink )= +r』I后。 其中Fit(1ink )代表第i个URL的主题相关度。 代表 link 对应父网页的主题相关度。r 反映了链接提示信 息的主题相关度。k是因子,取100。 3.8遗传操作 3.8.1选择操作 在每一代种群中,对个体的适应度值进行排序,选 择适应度值高的个体遗传到下一代群体中,淘汰适应 度值低的个体。具体实现方法为: ①淘汰已搜索过的URL; ②删除重复的URL,并合并链接提示信息; ③计算链接对应URL的适应度值; ④根据适应度值,对个体的适应度值进行排序,选 取适应度值大于适应度阈值的个体,构成新集合S,然 后进行下一轮的遗传操作 。 3.8.2交叉操作 交叉操作把两个适应度值高的个体上的基因重 组,产生两个新的个体,新的个体将进入新一轮的遗传 操作。 第一,分析集合5l中所有URL对应的网页,解析 每个网页所包含的链接及链接提示信息,并计算每个 网页的重要性; 第二,依照网页的重要性进行降序排序; 第三,若设交叉概率为P ,则选出前m×Pc个URL 进行交叉操作,交叉结果集为.s3。 3.8.3变异操作 变异操作通过个体基因突变的方式,产生新的个 体,从而增加相关度较低的页面被爬行的机会,扩大相 关网页的爬行范围,能够防止局部最优化。假设种子 集合有m个URL 由选择操作可知当前网页的重要 性。按照重要性进行降序排序。设变异概率为P ,选出 前m×P 个URL进行变异,得到集合记为|s4。令S= .s2+s3+s4,则将.s集合中对应的URL作为下一代种 子。其中,交叉概率P 与变异概率P 之和为1。 4实验设计与数据分析 软硬件环境:Windows XP系统,CPU:Pentium E6500,内存2G,硬盘容量为500GB,系统用Myeclipse 开发,语言为Java。 实验参数:线程数=10,起始种子=5,ro=0.0002, 变异概率P =0.1,交叉概率Pc=0.9,t'o=2,适应度 阈值取ro=0.0002。 以“奥运”和“世博”为主题,从百度及Google上分 别搜索获取的5个跟主题相关的URL作为初始URL 集合。图3是以“奥运”为主题的基于两种算法的爬 虫爬行网页的相关性的对比图,图4是以“世博”为主 题的基于两种算法的爬虫爬行网页的相关性的对比 图,均设定搜索深度为2(设为较小值,防止搜索规模 过大)。 图3与图4表明,基于遗传算法的主题爬虫策略 与普通的爬出策略相比,爬取网页的主题相关性高;随 着爬行网页的增多,基于遗传算法的主题爬虫策略,爬 取网页的主题相关性趋于稳定,而普通的主题爬虫策 略,爬取网页的主题相关性呈下降趋势。原因在于:在 计算网页的重要性时,基于遗传算法的主题爬虫策略 综合考虑了主题相关度和链接分析两个关键因素。 图3主题为“奥运”的爬行到网页相关性对比图 鬣 晕 檗 靼 霪 图4主题为“世博”的爬行到网页相关性对比图 表1是基于两种搜索策略在不同爬行深度的情况 下对所抓取的网页的相关性进行的比较,从表1可以 看出,在爬行深度不同而其他条件相同的情况下,随着 ・52・ 计算机技术与发展 第22卷 深度的增加,与主题相关的网页数占总网页数的比例 参考文献: 有所下降,其原因在于:搜索的路径越深,一方面抓取 [1]Shokouhi M,Chubak P,Raeesy Z.Enhancing Focused Craw— 到的网页的适应度越低,另一方面适应度低的网页的 ling with Geneitc Algorihtms[c]//International Conference 数量却越多。从表1还可以得出另一个结论,即基于 on Ifnormation Technology:Coding and Computing(ITCCO5) 一遗传算法的主题爬虫爬行到与主题相关的网页占总网 Volume II.[S.1.].[s.n.],2005:503-508. [2]刘金红,陆余良.主题网络爬虫研究综述[J].计算机应用 页数比例下降的幅度比普通主题爬虫爬行到与主题相 研究,2007,24(i0):26-29. 关的网页占总网页数比例下降的幅度小。原因在于: [3]刘汉兴,刘财兴.主题爬虫的搜索策略研究[J].计算机工 通过设置变异算子,增加相关度较低的页面被爬行的 程与设计,2008,29(12):3160-3162. 机会,并扩大爬行与主题相关的网页的范围;在计算网 [4]袁津生,李群,蔡岳.搜索引擎原理与实践[M].北京: 页重要性时引进结合文本内容的PageRank算法,考虑 北京邮电大学出版社,2008. 了网页与网页之间的链接关系。 [5] 赵大明,鱼滨.基于遗传算法的专业搜素引擎[J].计算 袁I不同爬行深度下两种爬虫 机工程,2009,35(21):192—194. 抓取网页的相关性的比较 [6]丁永生.计算智能一理论、技术与应用[M].北京:科学出版 社,2004. 爬行的 基于不同算 爬行到与主题相关的 [7]刘国靖,康丽,罗长寿.基于遗传算法的主题爬虫策略 深度 法的爬虫 网页占总网页数比例 [J].计算机应用,2007,27(12):172-174. 普通主题爬虫 40.16% [8]刘林,汪涛,樊孝忠.主题爬虫的解决方案[J].华南理 Depth:2 工大学学报(自然科学版),2004,32(S1):137—140. 基于GA主题爬虫 67.63% [9]王峰松.新一代智能搜索引擎一网典[J].网络世界,1999, 13(2):12-21. 普通主题爬虫 36.88% [10]方加沛,黄战.基于单类别文档分类的主题爬虫[J].计 Depth:3 算机工程与应用,2010,46(16):63—66. 基于-GA主题爬虫 65.32% [11]关慧芬,师军,马继红.基于遗传算法的主题爬行技术研 究[J].计算机与数字工程,2008,36(io):50—53. 实验中还发现,网络的状况会影响到爬虫的爬行 [12]袁浩,黄烟波.网页标题分析对主题爬虫的改进[J].计 速度与结果。网络状况较好的情况,不但爬行速度快, 算机技术与发展,2009,19(6):22—24. 而且爬行的网页的相关度高于同等情况下网络状况较 [13]Arasu A,Novak J,Tomkins A,et a1.PageRank Computation 差时爬取的网页的相关度。 and the Structure of the Web:Experiments and Algorithms [R].[s.1.]:IBM Almaden Research Center,2001. 5结束语 . [14]冯振明.Google核 L,-PageRank算法探讨[J].计算机技术 与发展,2006,16(7):82—84. 分析结果表明:基于遗传算法的爬行策略能够有 [15]Richardson M,Domingos P.The Intelligent Surfer:Probabilis. 效地加快抓取网页的速度、扩大搜索范围以及提高搜 itc Combination of Link and Content Ifnormation in PageRank 索精度。但是对于如何便捷、有效地定义有实际意义 [C]//Advances in Neural Ifnormation Processing System.[s. 的主题,如何在搜集网页信息时准确、快速地判定页面 1.]:[s.n.],2002:673—680. 与主题是否相关以及如何提高系统搜索的完全度等, [16]曹道友,程家兴.基于改进的选择算子和交叉算子的遗传 将是下一步要做的工作。 算法[J].计算机技术与发展,2010,2o(2):44—47. (上接第47页) Distributed Systems,2005,16(11):1078-1091. [10]张震,王晓明.对等网中Chord资源查找算法研究[J]. [6] 王新生,梁平,张云超,等.结构化P2P路由协议的改进 计算机工程与应用,2006,42(11):147—152. [J].计算机工程,2010,36(10):105—107. [11]刘晓峰,吴亚娟,钟乐海.chord路由表结构的改进与优化 [7] 林雅榕,候整风.对哈希算法SHA一1的分析和改进[J].计 [J].计算机工程,2007,33(21):102—104. 算机技术与发展,2006,16(3):142—126. [12]Karger D,Lehman E,Leighton T,et a1.Consistent Hashing and [8] 徐乾.对等网中chord协议及算法的研究改进[D].哈尔 Random Trees:Distirbuted Caching Protocols for Relieving Hot 滨:哈尔滨工业大学,2007. Spots on the World Wide Web[C]//Proceedings of the 29th [9] 张浩,金海,聂江武,等.Dual—chord:一种更加有效的 Annual ACM Symposium on Theory of Computing[C].[S. 分布式哈希表[J].微型计算机系统,2006,27(8):1450— 1.]:[S.n.],1997. 1454. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务