欢迎来到天天文库
浏览记录
ID:23852814
大小:433.50 KB
页数:11页
时间:2018-11-11
《信息检索课程结业报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、信息检索课程结业报告张军卫姓名:10S003103学号:语音处理所学专业:搜索引擎中主题爬虫研究与实现报告题目:2010年11月9日提交日期:10搜索引擎中主题爬虫研究与实现1引言像蒸汽机和电的发明一样,互联网的出现和蓬勃发展对人类生活的影响是革命性的,因为它彻底改变了人们获取信息的方式,人们越来越多地通过网络来获取信息,同时它也改变了我们的生活方式。为了使人们能快速、准确地从互联网上获取信息,搜索引擎诞生了,从分类目录检索到全文检索,搜索引擎给人们带来了巨大的便利。它是真正的互联网门户,全球各大著名搜索引擎
2、网站的访问量都居前列。当今,互联网上的数据量呈现出指数级的增长趋势,并且网页不定期地发生变化,这给搜索引擎带来了巨大挑战。最大的搜索引擎也只能覆盖互联网上的部分网页,而且并不能保证建索引的网页和现实网页都是同步的,因此优先采集“重要”网页和制定有效的更新策略成了搜索引擎中的信息采集模块——网络爬虫(webcrawler)必须考虑的问题。研究人员在如何评价网页重要度上作了大量研究,这些对网页重要度的评价算法主要基于对网络链接结构的分析,比如著名的PageRank技术。另外,搜索引擎也不能完全满足人们获取个性化主
3、题信息的需求。搜索引擎很难回答诸如“我的竞争对手当当书店网站昨天都有什么新书上架?”这样的问题。为了解决这些问题,就需要一个能在客户端运行的信息采集程序,该程序能满足用户对信息的个性化需求,因此出现了一种称为主题爬虫(topiccrawler)的技术。主题爬虫技术在互联网信息检索上是搜索引擎的有力补充,它能完成一些搜索引擎不能完成的信息获取需要。同时主题爬虫技术也会应用在搜索引擎上,比如在类目里面的搜索和特定丰题信息的优先更新等。主题爬虫技术主要研究的是怎样采取一个好的策略(沿着一条好的“路径”)采集相关度高
4、的网页,同时又能有效地避免不相关的网页,这当中主要用到了数据挖掘、机器学习等理论。它往往结合文本分类、文本聚类、web挖掘等技术,但还远未成熟。在主题爬虫技术方面,fishsearch算法是最早提出的一个经典算法,该算法体现了主题爬虫技术的基本思想,之后IBMHaifaResearchLibratory提出了一个Shark-search算法对其进行了重大改进,引入了文本相似度理论和链接文本分析技术。此后研究者在主题爬虫算法的研究上大量使用了机器学习(主要有增强学习、遗传算法等)和数据挖掘理论(主要是web挖掘
5、技术,包括文本分类、聚类还有web架构挖掘等技术)。本系统主要是在一般爬虫技术的基础上,加入了一个基于重要度的主题爬虫算法,使爬虫可以爬取比较重要的网页。在本文中详细介绍了该算法的执行过程以及提出该算法的原理。最后通过与一般爬虫提取的网页进行比较,表明加入该算法后网页的重要度得到很大的提高,在文章的最后分析了该系统存在的不足,并提出通过引入相关度来改进系统。2系统设计2.1系统结构介绍该爬虫系统主要10可以分为三大模块,分别为主程序运行模块、数据存储模块和用户交互模块,其中主程序运行模块又分为线程分配子模块和
6、网页内容下载及分析处理子模块,数据存储模块又分为线程数据共享区、hash存储表和队列存储三个子模块。具体结构如图2-1所示。图2-1系统体系结构图2.2模块功能介绍a.用户交互模块该模块主要完成系统与用户的交互,用户可以通过系统界面对话框来对系统的各项运行参数如起始URL、文件存放目录、以及线程的运行数量等进行运行前设置。在运行过程中用户可以随时暂停和终止程序的运行,系统则把爬取的网页情况在界面上进行显示,供用户操作参考。b.主程序运行模块该模块是系统运行的主线。首先启动主线程,然后在主线程中逐个建立各个子线
7、程,子线程通过调用网页内容下载及分析处理模块完成主要的爬取任务。其中网页内容下载及分析处理模块主要负责完成对应URL网页的内容下载、分析、内容处理等工作,同时也包含与数据存储模块中线程数据共享区的交互。c.数据存储模块该模块主要完成URL信息及线程信息的存储功能。其中线程共享区子模块直接与线程进行交互,提供线程所需要的数据,并保证各个子线程互斥的访问共享数据。队列存储模块是用链表实现的一个简单的队列,实现URL的信息的实际存储。hash存储模块存储URL的部分信息,用hash算法比较快速的判定某个URL是否已
8、被爬取过。2.3重要度算法设计与原理10采集主题相关的网页,因为时间的限制或需要对重要网页进行更新,而且大范畴主题的网页量也会非常之大,因此我们往往也只能采集一部分主题相关的网页。这时,我们希望采集的是最“重要”的主题相关网页。通过分析Hits算法和Shark-search算法得出结合网页链出链接数和对该网页URL的结构分析来计算重要度能够较好的表示一个URL的重要度。本系统计算重要度公式如下:网页
此文档下载收益归作者所有