1、本 科 毕 业 论 文聚焦爬虫系统的设计与实现 爬行策略与网络通信模块及数据库设计Design and Implementation of the Focused Crawler 姓 名:学 号: 学 院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月I摘 要万维网信息的爆炸式增长使 Web 已经成为世界上最大的信息库。面对这个海量、异构、半结构化的信息库,Web 用户经常发现要查找到所需要的信息需要耗费大量的时间,造成了“信息过载,知识匮乏”的问题。为了解决这个问题,在 Web 信息检索领域提出了面向主题的聚焦爬虫技术。聚焦爬虫根据用户定义的目标主题,智能化的从 Web 上收
2、集主题相关的网页集合,然后采用机器学习或信息检索的方法对收集到的信息进行智能处理和分析,最后以方便、有效的检索方式满足用户的信息检索需求。它的理论和技术基础主要包括机器学习、信息检索、概率统计理论和 Web 新技术。在很多应用领域,如基于 Web的行业分析、自动构建专题数字图书馆等,主题驱动的聚焦爬虫系统都富有应用前景。本文首先研究了搜索引擎和爬虫的技术原理,工作流程以及典型的聚焦爬虫体系结构,然后重点分析了聚焦爬虫的主题定义和内容分析算法,主题爬行策略,以及存在的主要问题。根据 HITS 算法善于发现主题社区,但是容易发生主题漂移;最佳优先算法由于忽视超链接信息容易陷入局部最佳子空间的问题,
3、提出了新的主题综合爬行策略。该策略基于深度优先算法和内容主题相关性价值计算网页的综合价值并排序。通过利用主题页面层次分布特性,依据父网页的主题对子网页的主题具有指导意义以及父网页的深度,计算网页与主题相关度,发现并抓取主题社区及主题相关网页,避免爬行过程中容易出现的主题漂移问题,提高了爬虫系统的收获率。针对聚焦爬虫对目标主题的定义,采用文本分类方法建立主题特征词库,并提取主题特征用于计算网页的主题相关度。最后设计了基于综合爬行策略的聚焦爬虫的系统原型,改进了现有的聚焦爬虫的体系结构,该系统实现了主题 Web 资源的智能化收集。通过实验测试得到爬虫系统的收获率,验证了综合爬行策略的有效性。关键词
4、:搜索引擎;聚焦爬虫;网络蜘蛛IIIIIAbstractWith the explosive growth of the online information resources, the Web has become the most enormous information repository to date. Confronted with this huge, heterogeneous and semi-structural information repository, Web users often have to spend a lot of time and efforts
5、 to find information needed. This contradiction is generally called “information overload on the Web”. To solve this problem, topic-driven crawling has been proposed in Web information retrieval community in recent years. The system uses an intelligent focused crawler to collect high relevant docume
6、nts online with regard to the predefined target topics, and analysis the information collected through machine learning and information retrieval techniques, which results in an efficient and convenient information retrieval approach for the users. The fundamental theory and technology include machi
7、ne learning, information retrieval, statistics and new web technologies. It can be applied to various applications, including Web-based industry analysis, and automatic digital library etc.The theory and architecture of the search engines and focused crawler were introduced in this thesis, and the t
8、opic defining, web hyperlink analyzing and content analyzing algorithms, and the crawling strategy of the focused crawler were emphatically analyzed.HITS is good at discover topic web community, but it often occurs “topic drift” problem. To avoid getting into the local optimum of the Best First Sear
9、ch, this thesis proposes a new topic crawling strategy. It combines the Depth First Search and content topic relevance to calculate the total rank of the target pages. This new strategy bases on the father pages depth and the assumption that the father pages topic can predict the son pages topic. An
10、d it discovers and fetches the web community and authority pages, and uses the topic relevance decision algorithm base on VSM model to accurately quantizing the relevance of the crawled pages. It increases the harvest rate of the crawler because of avoiding to occur the “topic drift”. IVAccording to
11、 the target topic definition of the focused crawler, it uses text categorization algorithm to build a topic characteristic lexicon, and extracts topic characteristics to compute the relevance of the web.Finally, a focused crawler system prototype base on synthesized crawling strategy is designed. It
12、 improves the architecture of the existing focused crawler. And this system implements the intelligent collection of the topic web resources. The harvest rate of the system got from experiment shows the validity of the synthesized crawling strategy.Keywords: Search Engine; Focused Crawler; Web Spide
13、rV目 录第一章 绪论 .11.1 课题研究背景 .11.2 研究现状与存在问题 .31.3 本文主要工作 .51.4 论文组织结构 .5第二章 搜索引擎技术概述 .72.1 搜索引擎基本要求 .72.2 搜索引擎的分类 .82.3 搜索引擎的体系结构 .92.4 聚焦爬虫概述 .122.5 本章小结 .17第三章 聚焦爬虫关键技术 .193.1 主题描述 .193.2 主题 Web 页面分布特征 .203.3 网页分析算法 .223.4 本章小结 .30第四章 基于综合爬行策略的聚焦爬虫系统的设计 314.1 系统体系结构 .314.2 Crawler 剖析 .324.3 Web 数据库 3
14、64.4 基于深度优先与内容主题相关度分析的综合爬行策略 .374.5 本章小结 .41第五章 基于综合爬行策略的聚焦爬虫系统的实现 435.1 系统开发环境 .435.2 用户界面 .435.3 实验结果与分析 .455.4 性能评价 .465.5 本章小结 .47第六章 总结与展望 .496.1 总结 .496.2 展望 .49参考文献 53致 谢 .51VIVIIContentsChapter One Introduction .11.1 Project Backgroud 11.2 Research Status and Problems.31.3 The Contents of Th
15、is Thesis.51.4 Organizational Structure of This Thesis.5Chapter Two Search Engine Technology Overview.72.1 Basic Demand of Search Engine 72.2 Classification of Search Engine82.3 Search Engine Architecture .92.4 Focused Crawler Overview 122.5 Summary17Chapter Three Key Technologies of Crawler.193.1 T
16、heme Discription.193.2 Distribution Features of Theme Web Page.203.3 Web Page Analysis Algorithm .223.4 Summary30Chapter Four Design of Focused Crawler System Based on Synthetic Clawling Strategy314.1 System Architechture of The Crawler 314.2 Modules of The Crawler.324.3 Web Database364.4 Synthetic
17、Crawling Strategy Based On Depth First and Theme Relativity Analysis 374.5 Summary41Chapter Five Implementation of The Focused Crawler System Based on Synthetic Clawling Strategy435.1 System Running Environment.435.2 User Interface 435.3 Result and Analysis of The Test.455.4 Performance Evaluation.4
18、65.5 Summary47Chapter Six Conclusions and Prospect .496.1 Conclusions 496.2 Prospect49VIIIReferences51Acknowledgements .53第一章 绪论1第一章 绪论1.1 课题研究背景随着 Internet 的迅速发展,网络对我们的影响己经越来越大。而在网上发展最为迅猛的 WWW(World Wide Web)技术,以其直观、方便的使用方式和丰富的表达能力,已逐渐成为 Internet 上最重要的信息发布和传输方式。从 1990 年出现世界上第一个真正意义上的网页 1,至今网页数量一直呈指
19、数增长。我国的万维网也在快速发展中,截止到 2007 年 6 月底,中国大陆地区域名总数已达到918 万个,网站数量达到 131 万个。图 1 中列出了近五年来我国网站数量的增长情况 2。图 1-1:中国网站数量增长情况随着网络信息资源的急剧增长,越来越多的信息涌到人们的面前,搜索引擎就是在这样的背景下出现的,并且已经发挥出不可替代的作用,成为帮助人们从浩瀚的信息海洋中获取自己想要的信息的有效工具和一种举足轻重的网络应用手段。CNNIC 报告显示,44.71%的网民经常使用(每天多次使用)搜索引擎,可见近半数网民高度依赖搜索引擎提供的服务。另外,每天使用一次搜索引擎的用户也占到 17.2%,这
20、意味着每日使用搜索引擎用户数高达 61.91%。由此可见,网民的搜索依赖性呈现增强趋势。聚焦爬虫系统的设计与实现2现今,搜索引擎所解决的问题不论在质量还是数量上都达到了令人惊叹的地步。搜索引擎是为了解决如何在知识海洋中遨游而出现的技术。搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的。搜索引擎提供的导航服务已经成为互联网上非常重要的网络服务,搜索引擎已经成为人们在网络中的“导游” 。搜索引擎技术因而成为计算机工业界和学术界争相研究、开发的对象。作为搜索引擎的基础和核心组件,Web 信息采集正发挥着举足轻重的作用,并且随
21、着应用的深化和技术的发展,它也越来越多的应用于站点结构分析、页面有效性分析、Web 图进化、内容安全检测、用户兴趣挖掘以及个性化信息获取等多种服务和研究中。通用搜索引擎信息采集的目标就是尽可能多地采集信息页面,甚至是整个Web 上的资源。随着 WWW 信息的爆炸性增长,信息采集的速度越来越不能满足实际应用的需要。最近的研究数据表明,即使大型的搜索引擎,它对 Web 的覆盖率也只有 30-40%3。另外,通用搜索引擎还具有其他的局限性 4。(1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。(2) 通用搜索引擎的目标是尽可能大的网络覆盖
22、率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。(3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频/视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。(4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。针对上述情况,另一种形式的搜索引擎悄然出现,它可以在较小的范围内取得比通用搜索引擎更令人满意的结果,以满足某些特定用户的需要,这就是主题式垂直搜索引擎。垂直搜索引擎 5,6,7,8只搜索某一个行业或者某一个主题的信息,因此垂直搜索引擎更具有针对性,也就能满足针对某
23、一个行业或者某一第一章 绪论3个主题的特殊需求。垂直搜索引擎通过对特定行业、主题的领域知识,可以提供根据语义信息的查询,从而满足用户的特殊搜索需求;另外它更加专业,关注范围也比较小,所以返回的结果也更具有针对性,并且只需要索引小部分万维网数据,所以可以只用很少的服务器资源覆盖绝大部分某一特定行业、主题的数据。聚焦爬虫作为垂直搜索引擎的核心组件,根据既定的抓取目标主题,有选择的访问互联网上的网页与相关的链接,搜集所需要的信息。近几年来在面向主题的搜索领域中,聚焦爬虫收到了极大的关注,如 Google,Baidu 等推出的视频搜索、图书搜索、学术搜索等主题搜索服务纷纷采用聚焦爬虫技术。1.2 研究
24、现状与存在问题目前面向主题的网络聚焦爬虫主要有两种技术:一是基于 Web 链接分析的搜索。 90 年代末期,国外信息检索研究者开始以 social network 为模型对互联网进行模拟。一些学者认为网页之间的超链接引用关系同社会网络中的关系有相似之处,特别是与传统的引文索引非常类似。通过对链接进行分析,可以找出网页之间的引用关系,由于引用网页与被引用网页内容一般都比较相关,所以就可以很容易的按照引用关系来进行大量网页的分类。在美国,很多基于这种超链接分析的检索系统原型已经产生。二是基于 Web 内容分析的搜索。这类搜索方式是传统的信息检索技术的延伸。他的主要方式就是在聚焦爬虫内部建立一个针对
25、主题的词库,爬虫根据词库对网上的信息进行检索。目前,有关主题型搜索引擎的研究正在成为一个热点。在 1994 年,出现了最早使用查询来指导爬虫爬行的系统 Fish Search System9。后来相继在 1998 年和 1999 年分别出现了 Shark Search System10和聚焦爬虫(Focused Crawler)11,12。如今,聚焦爬虫又有了新的发展,国外典型的系统有 CORA13、IBM Focused Crawler11、Context Graphs Focused Crawler14等。CORA 是美国卡内基梅隆大学的 A.K.McCallum 和 M.Nigam 等人
26、于 1999 年针对计算机科学设计的一个主体型搜索引擎。它利用机器学习(Machine Learning)技术,在 Web 上搜索与计算机科学相关的论文。利用隐式马尔科夫聚焦爬虫系统的设计与实现4模型来找出题名、作者、摘要和参考文献,利用基于统计模型的文本分类算法将其按照 Yahoo 分类目录进行分类。CORA 对垂直搜索引擎的自动资源搜集具有相当重要的意义。但是,CORA 没有在预测 URL 与主题的相关度上做深入研究,也没有对 Web 网页进行采集分析。IBM Focused Crawler 是 S.Chakrabarti 提出的一种新的 Web 资源爬行系统,即聚焦爬虫(Focused
27、Crawler) 。它对主题的定义既不是采用关键词也不是加权向量,而是一组具有相同主题的网页。尽管称为聚焦爬虫,但它实际上是一套关于特定资源的自动搜集方案,用来搜集 Web 主题资源。该系统采用两个模块:一个是分类器,用来计算抓取文档与主题的相关度,同时也用来指导爬虫优先抓取的相关资源;另一个是选择器,用来确定哪些是中心页面。再后来的改进版本中,作者将分类器分成两个,一个用来指导爬行,一个用来计算抓取文档与主题的相关度。从而使系统有了更好的性能。Context Graphs Focused Crawler 是由 Diligenti 等人研究设计的一种聚焦爬虫。它们提出了一种通过建立上下文图(C
28、ontext Graphs)来学习网页间的引用关系的方法。首先为系统提供一组种子主题页面,然后利用 Google 提供的反向链接服务来寻找到所有指向种子页面的网页。这些网页被称为第一层网页,而所有指向第一层网页的网页被称为第二层网页,依次类推。页面的层数根据用户参数的改变而改变。当每一个种子页面都建立好一个上下文图后,将不同的上下文图的相应各层进行合并,形成一个合并上下文图。同时为每一层设置一个贝叶斯分类器。在爬行过程中,分类器被用来确定所有爬行的页面应该属于哪一层。一旦页面的所属层次被确定,那么该页面所包含的链接就将会被加入到与该层相对应的队列中。然后再从考前的非空队列中提取所有爬行的 UR
29、L。IDGS(Internet Data Gather System)是南京大学张福炎、潘金贵教授等设计的一个数据采集系统。该系统旨在对 Web 上中英文技术资料进行自动搜集。IDGS 根据用户提交的挖掘目标样本,在 Web 上自动寻找用户所需的信息,它采用向量空间模型和基于词频统计的权重评价技术,由特征提取,源站点查询,文档采集,模式匹配等 4 部分组成。该系统的关键技术在于模式匹配模块,其任务是计算实际采集到的网页与用户主题之间的相关度。它的文档采集模块相当于一个爬虫,采用兴趣漫游模型,其基本思想是:如果某网页满足用户主题,第一章 绪论5则继续往下找,否则就终止该方向的查找。该模型类似于
30、Fish Search 算法。但它只是简单的利用父节点的主题相关度来判断是否抓取孩子结点,并且只在用户给出的有限站点基础上爬行,搜索的深度和广度很有限,更多的强调准确度,在一定程度上忽视了覆盖度。1.3 本文主要工作本文结合聚焦爬虫技术的发展趋势,对爬行系统的网页排序算法和搜索策略进行了以下四个方面的研究:一、详细分析了通用搜索引擎的原理、结构、工作流程及特点。二、分析了通用搜索引擎现在面临的问题,提出了研究和开发聚焦爬虫系统的必要性。并详细介绍了聚焦爬虫技术的原理,结构与相关技术,并指出了它们的优缺点。三、详细研究了聚焦爬虫系统广泛采用的超链接分析算法和内容分析算法,并从理论上分析了它们的优
31、缺点。然后详细研究和分析了聚焦爬虫广泛采用的爬行策略及其优缺点。四、引入了基于深度优先算法与内容主题相关度分析算法的综合爬行策略,完成了聚焦爬虫系统的设计与实现。最后实验结果证明该综合爬行策略能获得较高的收获率。1.4 论文组织结构根据以上分析,本文重点将讨论面向主题的聚焦爬虫技术及其应用。论文各章节内容安排如下:第一章 主要介绍课题的研究背景和相关研究内容以及发展现状。第二章 介绍搜索引擎的基本工作原理和结构,以及聚焦爬虫的体系结构。第三章 主要介绍和研究当前网络爬虫主要的网页分析算法,并介绍聚焦爬虫技术主要采用的爬行策略。第四章 对当前聚焦爬虫系统的爬行算法的不足,提出了基于深度优先算法与
32、内容主题相关度分析算法的综合爬行策略,并提出了基于该爬行策略的聚焦爬虫系统模型,详细介绍了该模型的功能。聚焦爬虫系统的设计与实现6第五章 根据第四章的设计,实现了该爬虫系统,并进行试验与百度搜索引擎以及 Depth First 算法进行比较。第六章 对论文主要工作做了总结,同时提出今后需要进一步研究和完善的工作。第二章 搜索引擎技术概述7第二章 搜索引擎技术概述2.1 搜索引擎基本要求搜索引擎接受用户通过浏览器提交的查询关键词,记作 Q。在一个可以接受的时间内返回一个和该用户查询匹配的网页信息列表,记作 L。这个列表的每一条目至少包括三个元素(标题,网址链接,摘要) 。“可以接受的时间” ,也
33、就是响应时间。对于在 Web 上面的软件来说,这个时间不能太长,通常也就在“秒”这个量级。这是衡量搜索引擎可用性的一个基本指标,也是和传统信息检索系统的一个差别。更进一步的,这样的响应时间要求不仅要能满足单个用户查询,而且要能在系统设计负载的情况下满足所有的用户。也就是说,系统应该在额定吞吐率的情况下保证秒级响应时间。“匹配” ,指的是网页中以某种形式包含有 Q 的内容,其中最简单、常见的形式就是 Q 在其中直接出现。不过如果一个搜索引擎就是以百分之百满足这种简单的包含关系为目标,即使实现了也并不就达到了最好的效果。“列表” ,这蕴含着一种“顺序” 。绝大多数情况下,L 是相当长的,例如超过
34、1 万个条目。这不仅是由于 Web 上的信息量大,也由于搜索引擎的查询方式简单。简单,意味着抽象;抽象,意味着有更多的具体事物可能是它的体现。对于一个长长的列表,很少有用户有耐心都审视一遍(不仅是因为长,还因为大多数使用搜索引擎的用户通常都是“找到为止” ,而不是“不全部找到不罢休”,加上这个列表中和一个用户关心的其实只占很少的比例) 。有分析统计表明,用户平均察看返回结果不超过 2 页。现代大规模高质量搜索引擎一般采用三段式的。搜索引擎工作流程如图 2-1所示。图 2-1:搜索引擎工作流程聚焦爬虫系统的设计与实现82.2 搜索引擎的分类按照信息搜集方法和服务提供方式的不同,一般搜索引擎可以分
35、为以下三类:目录式搜索引擎、机器人搜索引擎和元搜索引擎。1. 目录式搜索引擎目录式搜索引擎以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息摘要,并将信息置于事先确定的分类框架中。信息大多面向网站,提供目录浏览服务和直接检索服务。该类搜索引擎因为加入了人的智能,所以信息准确,导航质量高,缺点是需要人工介入,维护量大,信息量少,信息更新不及时。这类搜索引擎的代表是 Yahoo。2. 机器人搜索引擎机器人搜索引擎由一个称为蜘蛛(或爬虫)的机器人程序以某种策略自动地在互联网中发现和搜集信息,由索引器为搜集到的信息建立索引,由检索器根据用户的查询输入检索索引库,并将查询结构返回给用户。
36、服务方式是面向网页的全文检索服务。该类搜索引擎的优点是信息量大,更新及时,不需要人工干预。缺点是返回信息过多,有时候不够准确,用户必须从结果中进行筛选。这类搜索引擎的代表是:Google,Baidu。3. 元搜索引擎元搜索引擎没有自己的数据,而是将用户的查询请求同时向多个通用搜索引擎递交,将返回的结果进行消重,重新排序等处理后,作为自己结果返回给用户。服务方式为面向网页的全文检索服务。这类搜索引擎的优点是返回结果的信息量更大,更全,缺点是不能够充分使用所搜索引擎的功能,用户需要做更多的筛选。这类搜索引擎的代表是 WebCrawler,InfoMarket 。第二章 搜索引擎技术概述92.3 搜
37、索引擎的体系结构图 2-2:搜索引擎体系结构搜索引擎是一个技术含量很高的网络应用系统。它包括网络技术、数据库技术、检索技术、语言处理技术及智能技术等等。各种搜索引擎虽然设计细节有所不同,但基本构造通常可以分为四部分:网络爬虫、索引模块、信息检索和用户接口。图 2-2 给出了搜索引擎体系结构。2.3.1 网络爬虫网络爬虫(Crawler )也称 “网络机器人(Robot) ”, “网络蜘蛛(Spider ) ”,是一个功能很强的 Web 自动抓取程序,它为搜索引擎遍历万维网,抓取网页,是搜索引擎的核心组件,搜索引擎的性能,规模,扩展能力很大程度上依赖于网络爬虫的处理能力。聚焦爬虫系统的设计与实现
38、10图 2-3 为网络爬虫系统结构图,其中下载模块访问并抓取 Web 页面,URL队列按优先级存放待抓取的 URL。URL 数据库存放从抓取网页中抽取的URL。图 2-3:网络爬虫的结构图通用网络爬虫会根据预先设定的一个或若干初始种子 URL 开始,下载模块不断从 URL 队列中获取一个 URL,访问并下载该页面。页面解析器去掉页面上的 HTML 标记得到页面内容,将摘要、URL 等信息保持在 Web 数据库中,同时抽取当前页面上的新的 URL,保存到 URL 队列,直到满足系统的一定停止条件。网络爬虫访问页面的过程是对互联网上信息遍历的过程。通用网络爬虫的工作流程如图 2-4 所示。第二章
39、搜索引擎技术概述11图 2-4:通用网络爬虫工作流程为了保证网络爬虫遍历信息的广度和深度,一般事先设定一些重要的URL,并制定相关的爬行策略,然后对这些链接进行遍历。搜索引擎的爬虫系统一般还要定期重新访问所有 Web 页面,更新 Web 所有数据库,以反映 Web的更新情况,所以网络爬虫的实现常需要常用分布式、并行计算技术,以提高信息发现和更新的速度。2.3.2 索引网络爬虫将遍历得到的页面存放在临时数据库中。为了提高检索的效率,需要建立索引。索引模块将 Web 网页进行词汇流化,即将这个文档内的全部单词分别提取出来,然后依次对每个单词进行索引。这样得到的索引库称之为全文数据库。目前常用的有三
40、种全文索引算法:(1) 倒排文件(inverted files)(2) 后缀数组(suffix arrays)(3) 签名文件(signature files)倒排文件是目前搜索引擎实际使用的全文索引算法。对于倒排文件来说,这个技术是以关键词为基础的搜索技术,它是现在对于大多数应用最佳的选择;后缀数组对于短语查找和其他很少的普通查询比较快,但是构造和维护它们是非常困难的;签名文件流行于 20 世纪 80 年代,但是现在倒排文件已经取代了聚焦爬虫系统的设计与实现12它们。一个倒排文件(或者称为倒排索引)是一个基于单词来索引一个文本集合的机制,其目的是提高查找任务的速度。倒排文件由两个组成部分:词
41、汇表(vocabulary)和位置信息( occurrences) 。词汇表是一个由文本中的不同词汇组成的集合。对于这样的单词,它在文本中出现的位置也被存储下来。位置集合被称作 occurrences;这些位置可以涉及单词或者字符。单词的位置简化了短语和相近的查询。与此同时,字符的位置能够使得直接获得匹配文本的位置更加容易。词汇表要求的存储空间非常小。如果有时索引不能及时更新,网络爬虫带回的新信息就不能被使用搜索引擎的用户查到。2.3.3 信息检索信息检索模块的主要功能就是根据用户提交的查询请求,在数据库中检索相关信息。在文本信息检索中,因为处理的主要对象是词语,所以通常采用匹配方式,并以精确
42、匹配为主。用户端的查询信息首先要进行分析处理,要提取出查询项索引,逻辑表达式或其他查询特征描述。并采取相似性估算算法检索出相关文件,然后对检索的结果网页进行排序,然后将查询结果返回给用户。搜索引擎处理一次用户查询的代价是高昂的,另一方面,很多用户的查询请求也是相同的,或者部分相同,为了加快检索端的响应速度,通常根据最近用户查询信息建立检索缓存。2.3.4 用户接口用户接口是用户直接接触到的部分,所以其作用也至关重要。用户接口的设计既要考虑其功效性,便于用户使用,也要充分体现简洁,美观,以吸引更多的用户。现状很多中文搜索引擎都同时提供分类目录导航和网页检索功能。这样用户既可以通过逐层浏览界面上的
43、分类目录,也可以直接通过输入查询信息来查找所需要的信息。用户接口提供一系列的查询选项以满足不同的查询要求。一般的搜索引擎都支持布尔表达式操作(与、或、非) 、搜索域名范围限制(如只检索 第二章 搜索引擎技术概述13域名的网站) 、查询网页的语种,甚至可以选择文档的类别(如HTML、PDF 、DOC 等) 。合理设置查询选项可以大大的减少搜索结果中的无关内容,提高查询效率。2.4 聚焦爬虫概述2.4.1 主题式垂直搜索引擎概述主题式垂直搜索引擎是针对通用搜索引擎的信息量大、查询不准确、深度不够等提出来的新的搜索引擎服务模式。垂直搜索引擎是以构建某一特定主题或学科领域的 Internet 网络信息
44、资源库为目标,智能地在 Internet 上搜集符合这一特定主题或学科领域需求的 Web 信息资源,能够为包括学科信息门户、专业信息机构、特定行业领域、公司信息中心、行业专家等等在内的信息用户,提供整套的网络信息资源开发方案。其特点就是“专、精、深” ,且具有行业色彩,相比较通用搜索引擎的海量信息无序化,垂直搜索引擎则显得更加专注、具体和深入。下表显示了通用搜索引擎与垂直搜索引擎的区别。表 2-1:通用搜索引擎与垂直搜索引擎的区别通用搜索引擎 垂直搜索引擎服务目的 面向任何用户,提供任何信息的查询面向专业用户,提供专业信息的查询搜索方式 广度优先策略爬行,试图遍历整个 Web采用一定的爬行策略
45、,尽量只抓取主题相关网页硬件与网络要求 对硬件和网络的要求较高对硬件和网络的要求较低定向抓取相关网络资源的聚焦爬虫正是主题式垂直搜索引擎的基础和核心。与传统网络爬虫不同,聚焦爬虫并不追求覆盖率,而将目标定位抓取一部分主题网络资源。聚焦爬虫可以避免访问网络中不相关的网页,从而节省硬件和网聚焦爬虫系统的设计与实现14络资源。近几年来面向主题的搜索领域中,聚焦爬虫收到了极大的关注。2.4.2 聚焦爬虫的特点聚焦爬虫(Focused Crawler) ,又称为主题爬虫 8,12,19,20,21(Topical Crawler) 。虽然在实现原理上与通用网络爬虫基本相同,但不同的是聚焦爬虫的爬行过程是
46、目标主题驱动的、有选择性的爬行。它根据既定的目标主题,有选择性的访问 Web 上的相关页面,搜集所需要的信息。聚焦爬虫并不追求网络资源的覆盖率,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的通话查询准备数据资源,追求网络资源的查准率 11。相比通用网络爬虫,聚焦爬虫需要在以下几个方面需要更进一步的工作:(1) 信息的定制由于面向主题的搜索引擎是为用户提供某一特定主题或学科领域的信息。搜集的信息应该满足用户的要求。信息定制就是让用户定制自己想要查找的内容,通常有给出分类关系,关键词,初始网站和网页范例等形式。(2) 对网页进行主题过滤网络上的 Web 信息是海量的,往往希望搜集的知识
47、其中很少一部分信息,而大量的都是与主题不相关或相关度较低的信息。所以,聚焦爬虫通常对网页进行主题过滤,滤除不相关网页或者相关度较低的网页。(3) 以一定的启发式搜索策略算法控制信息资源的抓取WWW 是一张巨大的信息网,如何引导聚焦爬虫有目的,有控制的抓取与特定领域相关的 Web 页面信息是一个关键问题。问了达到这个目的,聚焦爬虫通常采用某种启发式搜索策略算法,根据用户设置的主题导向词或者主题表示模型,以启发式函数计算每个 URL 的权值,并进行 Web 排序,并选择权值高的 URL 优先访问,并放弃未到达预定阀值的 URL。(4) 寻找和发现高质量网页和关键资源关键资源:是指一个包含许多指向指
48、定主题的超链接的网页。高质量网页:是指内容是知道主题的网页。由于网页信息分布通常呈现不均匀性。通常,指定主题的关键资源总是链向高质量网页。寻找和发现高质量网页和关键资源不仅可以提高聚焦爬虫搜集 Web 页面的效率和质量,还可以为主题表示模型的优第二章 搜索引擎技术概述15化等应用提供支持。2.4.3 聚焦爬虫的工作流程聚焦爬虫需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的 URL 队列。然后,它将根据一定的搜索策略从队列中选择下一个要抓取的网页 URL,并重复上述过程,直到达到系统的停止条件。聚焦爬虫的工作流程如图 2-5 所示。所有被抓取网页将会被系统存储
49、,并进行一定的分析、过滤、然后建立索引,以便用户的查询和检索;这一过程所得到的分析结果可能对以后的抓取过程提供反馈和指导。图 2-5:聚焦爬虫的工作流程聚焦爬虫系统的设计与实现162.4.4 聚焦爬虫系统体系结构下面将分析三种具有代表性的聚焦爬虫系统的体系结构。1. 基于分类器的聚焦爬虫文献 11是具有代表性的聚焦爬虫的早期研究之一,目前大多数的聚焦爬虫都采用了类似的工作流程,其系统结构如图 2-6 所示 4。根据一个主题目录和用户指定的初始种子来描述抓取主题,并在用户浏览过程中,将用户标注的感兴趣网页加入到相应的主题目录,修改主题样本。系统的两个主要部分是网页分类器(Classifier )和网页选择器( Distiller) 。网页分类器负责学习抓取目标的特点,计算网页的相关度,并过滤网页。网页选择器负责计算网页的重要程度,发现中心网页,并由此动态决定网页的访问顺序。图 2-6:基于分类器的聚焦爬虫体系结构2. 基于数据抽取器的聚集爬虫聚焦爬虫从网络上发现主题相关的资源网页,传递给数据抽取器进行数据抽取工作。数据抽取可能是对 Hidden Web 之后的数据库进行探测查询,也可能是通过 wrapper 或网页外观格式信息进行数据抽取。得到的元数据将由数据分析器做分析和标注,才能转