当前位置:首页 >> 互联网 >>

主题搜索引擎的研究与设计


主题搜索引擎的研究与设计

摘 要 网上的信息每天都以指数量级的速度爆炸性增长,面对 Internet 中令人眼花缭乱的资源,如 何能够迅速准确地找到所需的信息,已成为众多信息检索人员所面临的一个必须解决的问 题,搜索引擎在这方面起到了举足重轻的作用。 本文主要研究了主题搜索引擎技术, 分析了一般的网络爬虫的工作原理, 并对主题搜索引擎 中所采用的主要算法进行了研究。 在此基础上设计了一个面向主题的搜索引擎系统, 将基于 内容和基于链接相结合,给 Internet 用户提供了一种快速准确地搜索到符合自己需求的信息 的工具。在实验系统中,用户可以根据选择的主题来进行搜索,系统通过相关度分析对搜索 的结果进行排序。另外还分析了研究该课题的意义及课题尚待解决的问题。最后,通过对实 验结果的分析,进一步强调了研究主题搜索引擎系统的意义。 关键词:互联网,搜索引擎,主题搜索

ABSTRACT Information on the Internet grows explosively every day. How to find information accurately and quickly from the Internet has become a problem. Many people who want to retrieve information respect to solve this problem. In this aspect, search engine is a powerful tool. A topic search engine system is proposed and designed in this paper. The theory of the common “spider” is analyzed. The main algorithm about the topic search is researched. On the base of the research, a topic search engine is designed. It combines the content-based method and hyperlink-based method. It aims at helping the user to get Internet information according to their own demands fast and accurately. In the research system, people can search by choosing their topic. Then the system will sort the result after the relativity analyse. In addition, the significance of the research on this system is analyzed, and the unsolved problems are also discussed. Finally, a test stem of Topic Search engine is designed ,and the result of the experiment is given. Keywords:Internet, Search Engine, Topic Search

目 录

1 引言 1.1 课题背景 1.1.1 Internet 的发展历程 Internet 的历史可追溯到 30 多年前,它的前身是 1969 年美国国防部高级研究所计划局 (ARPA)[1],作为军用实验网络而建立,名为 ARPANET,初期只有四台主机,其设计目 的是当网络中的一部分因战争原因遭到破坏时, 其余部分仍能正常运行, 而这些分散的点又 能通过某种形式的通讯网取得联系。 为对这一构思进行验证, 自从六十年代末至七十年代初, 由美国国防部所资助,一个名为 Advanced Research Project s Agency 的公司所承建,通过一 个名为 ARPANET 的网络把美国的几个重要军事及研究所用的计算机主机联接起来, 这就是 Internet 最早的形态。 目前, 几乎所有发达的国家都建设有自己国家级的教育和科研计算机网络, 并且都与 Internet 互连在一起,中国也不例外。由于 Internet 上具有极丰富的资源,它突破了地理位置的限制, 为广大的入网人员提供一个很好的计算机环境, 大大加快了人们之间的信息交流和合作。 可 以说,Internet 拉近了人们彼此之间的距离。 随着计算机和通信事业的飞速发展, 计算机网络由过去的军事和教育专用网络发展成为包罗 万象的国际互联网络 Internet。我们可以通过 Internet 来查找各种资料、做广告、发布信息、 通信、发传真、在线交谈、在线转播和举行会议。Internet 已经成为与我们的生活和工作密 切相关的一部分了。 1.1.2 World Wide Web(WWW) WWW 是 World Wide Web(环球信息网)的缩写,也可以简称为 Web,中文名字为“万维 网” 。它起源于 1989 年 3 月,由欧洲量子物理实验室[2]CERN(the European Laboratory for Particle Physics)所发展出来的主从结构分布式超媒体系统[3]。通过万维网,人们只要通过 使用简单的方法,就可以很迅速方便地取得丰富的信息资料。由于用户在通过 Web 浏览器 访问信息资源的过程中,无需再关心一些技术性的细节,而且界面非常友好,因而 Web 在 Internet 上刚推出就受到了热烈的欢迎,走红全球,并迅速得到了爆炸性的发展。 长期以来,人们只是通过传统的媒体(如电视、报纸、杂志和广播等)获得信息。但随着计 算机网络的发展, 人们想要获取信息, 已不再满足于传统媒体那种单方面传输和获取的方式, 而希望有一种主观的选择性。现在,网络上提供各种类别的数据库系统,如文献期刊、产业 信息、气象信息、论文检索等等。由于计算机网络的发展,信息的获取变得非常及时、迅速 和便捷。 根据中国互联网络信息中心[4](CNNIC)发布《第 19 次中国互联网络发展状况统计报告》 的最新报告显示,截至 2006 年底,我国网民人数达到了 1.37 亿,占中国人口总数的 10.5%。 报告同时显示,我国域名总数显著增加,其中,CN 域名总数超过 180 万,与 05 年同期相 比,增长幅度达到 64.4%。报告还显示,与去年同期相比,中国网民人数增加了 2600 万人, 是历年来网民增长最多的一年,增长率为 23.4%。在中国互联网快速发展的大环境下,社会 对互联网地址的需求和应用大幅提升,我国域名总量达到 4,109,020 个,半年增长 116 万,平均每月净增 20 万个。国家域名 CN 注册量达到 1,803,393 个,比去年同期增加了 706,469 个,增长率达到 64.4%,在全球国家顶级域名的排名上升到第四位。 本次报告新增了对我国网页数、网页字节数等资源的调查内容,结果显示,截至 2006 年底, 全国网页数和网页字节总数分别为 44.7 亿个和 122, 306GB, 与去年同期相比分别增长 86.3% 和 81.7%。另外网站数、IP 地址等也迅速增长,分别达到 84.3 万和 9800 万。从域名、网站 数、IP 地址、网页数等增长情况来看,我国互联网资源得到了全面提升。关于网页的数目 没有具体的统计数据,但根据《科学》杂志上提供的集合估计法,通过中国几个主要搜索引 擎[6]获得的搜索数据,我们可以估计到当前中国拥有的网页数已经超过 5000 万。此次调查

各项数据的大比例增长, 只是中国互联网高速发展的开始, 相信在未来的中国互联网会取得 更大的成绩。 1.1.3 影响 Internet 信息检索的因素 丰富的信息资源为 Internet 信息检索系统提供了庞大的信息源,但由于其收集、加工、存储 的非标准化,给信息检索[7]带来难题。Internet 将世界上大大小小、成千上万的计算机网络 连在一起,成为一个没有统一管理的、分散的但可以相互交流的巨大信息库,这意味着人们 必须掌握各种网络信息检索工具, 才能检索到自己所需要的网络信息资源。 但是由于 Internet 信息组织的特殊性和目前检索工具自身存在的一些问题,给信息检索带来一些问题。在 Internet 这个开放式的信息检索系统中,用户不仅要自己检索信息资源,同时还进行信息资 源的收集、整理、存储工作。因此,Internet 用户的信息获取与检索能力对信息检索有着直 接的影响。 1.2 研究的目的和意义 Internet 自诞生以来不断成长,其内容不断丰富,整个网络逐渐堆积成一个前所未有的超大 型信息库。 Internet 作为一个信息平台在人们的日常生活和工作中发挥着越来越重要的作用, 人们越来越多地通过 Internet 获取信息。在互联网发展初期,网站相对较少,网页数量亦较 少,因而信息查找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资 料简直如同大海捞针, 以至于迷失在信息的海洋中不知所措, 出现了我们所说的 “信息丰富, 知识贫乏”的奇怪现象。搜索引擎正是为了解决这个“迷航”问题而出现的技术。 随着信息多元化的增长, 千篇一律的给所有用户同一个入口显然已经不能满足特定用户更深 入的查询需求。要及时更新以得到互联网上较全面的信息并寻找到相关的信息是不太可能 的,针对这种情况,我们需要一个分类较为细致精确、搜索更贴近主题的面向主题的搜索引 擎[8]。有了面向主题的搜索引擎,用户可以及时并快捷的找到自己所需要的信息,提高了 效率。 1.3 搜索引擎概述 1.3.1 搜索引擎的历史与发展 1989 年,位于瑞士的欧洲量子物理实验室首先开始了 WWW 的研究工作。随后,许多其他 的研究机构、大学和公司也加入 WWW 研究者的行列,并相继开发出各自的 WWW 软件。 这些 WWW 软件的运行平台覆盖了目前主流的计算机硬件和操作系统。 在此过程中, WWW 也不断完善和发展。同时,为了保证不同 WWW 软件之间的互操作性,一系列 WWW 协议 和标准也正在使用和完善之中。 搜索引擎技术伴随着 WWW 的发展经历了大约三代的更新发展: (1) 第一代搜索引擎 出现于 1994 年,这类搜索引擎一般都索引少于一百万个网页,极少重新搜集网页并去刷新 索引,而且其检索速度非常慢。 第二代搜索引擎 大约在 1996 年出现,大多采用分布式方案来提高数据规模、响应速度和用户数量,它们一 般都保持一个大约 50,000,000 网页的索引数据库,每天能够响应 10,000,000 次用户检 索请求。 第三代搜索引擎 自 1998 年到现在,出现了一个搜索引擎空前繁荣的时期,我们统称这一时期的搜索引擎为 第三代搜索引擎。第三代搜索引擎的发展有如下几个特点:第一,索引数据库的规模继续增 大,一般的商业搜索引擎都保持在几千万甚至上亿个网页。第二,除了一般意义上的搜索以 外,开始出现主题搜索和地域搜索。很多小型的垂直门户站点开始使用该技术。第三,由于 搜索返回数据量过大,检索结果相关度评价成为研究的焦点。

1.3.2 搜索引擎的分类 按照信息搜集方法和服务提供方式的不同,搜索引擎系统可以分为三大类: (1) 目录式搜索引擎 以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息摘要,并将信息 置于事先确定的分类框架中。信息大多面向网站,提供目录浏览服务和直接检索服务。目录 索引虽然有搜索功能, 但在严格意义上算不上是真正的搜索引擎, 仅仅是按目录分类的网站 链接列表而已。用户完全可以不用进行关键词查询,仅靠分类目录也可找到需要的信息。目 录索引中最具代表性的莫过于大名鼎鼎的 Yahoo 雅虎。其他著名的还有 Open Directory Project(DMOZ) 、Look Smart、About 等。国内的搜狐、新浪、网易搜索也都属于这一类。 (2) 元搜索引擎 这类搜索引擎没有自己的数据, 而是将用户的查询请求同时向多个搜索引擎递交, 将返回的 结果进行重复排除、重新排序等处理后,作为自己的结果返回给用户。服务方式为面向网页 的全文检索。著名的元搜索引擎有 Info Space、Dogpile、Vivisimo 等,元搜索引擎中具代表 性的有“搜星”搜索引擎。在搜索结果排列方面,有的直接按来源引擎排列搜索结果,如 Dogpile,有的则按自定的规则将结果重新排列组合,如 Vivisimo。 (3) 全文搜索引擎 全文搜索引擎是名副其实的搜索引擎, 国外具有代表性的有 Google、 Fast、 AltaVista、 Inktomi、 Teoma、WiseNut 等,国内著名的有百度。它们都是通过从互联网上提取的各个网站的信息 (以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定 的排列顺序将结果返回给用户,因此他们是真正的搜索引擎。 从搜索结果来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序 [9] (Indexer) ,俗称“爬虫”[10](Spider)程序或“机器人” (Robot)程序,以某种策略自动 地在互联网中搜集和发现信息, 由索引器为搜集到的信息建立索引, 由检索器根据用户的查 询输入检索索引库,并将查询结果返回给用户。服务方式是面向网页的全文检索服务。并自 建网页数据库,搜索结果直接从自身的数据库中调用;另一种则是租用其他引擎的数据库, 并按自定的格式排列搜索结果,如 Lycos 引擎。 为方便起见,通常将其统称为搜索引擎。 1.3.3 主题搜索引擎 随着科技的进步, 通用搜索引擎无论是在技术上还是在硬件条件上都有了明显的提高。 但是, 即使最大的搜索引擎目前也仅能覆盖 30%-40%的网络,而更新一次索引数据库,一般需要 几个星期, 甚至几个月。 这主要是因为通用搜索引擎的指导思想是试图迎合每一种可能出现 的查询请求, 虽然这种讲究高覆盖率的搜索引擎有其不可估量的价值, 但却往往导致搜索内 容过于分散。 而且这种基于关键词的搜索通常会在查询时产生很多不相关的网页, 让用户觉 得沮丧。 因此,需要一种小巧、精致的搜索系统,只针对某一类主题、一类网页,例如新闻、娱乐、 体育、音乐、电影、软件等等进行搜索。也就是说只搜索网络的一个子集,是有选择性的在 网络上搜索与事先确定的主题相关的网页,这就是主题的搜索引擎。根据用户的需求主题, 搜索有限的空间网络, 发现、 下载与主题相关的信息, 建立主题资源库, 提供专题信息服务。 基本原则为尽可能多地发现下载与指定主题相关的网页, 尽可能少地下载与指定主题无关的 网页。所以来讲,主题搜索引擎是目前新一代的搜索引擎,是面向主题的搜索引擎。 1.4 主题搜索引擎的国内外现状 1.4.1 国外主题搜索引擎研究现状 在国外, 主题搜索引擎的发展是处于一个高速期, 各个国家都在致力于主题搜索的研究与设 计。 国外在设计主题搜索引擎时所使用的策略主要是采用导向词与权值相结合的方法。 导向

词就是一组关键词, 它们会引导搜索器按照一定的顺序搜索整个网络, 使得搜索引擎可以在 最短的时间内得到最全面的, 与某一个主题相关的信息。 通过设置导向词以及它们所对应的 权值,所有标题、作者、正文或超链接文本中含有该导向词的网页都会被赋予较高的权值, 在搜索的时候会优先考虑。 由于主题搜索运用了人工分类以及特征提取等智能化策略, 因此 它比通用搜索引擎更加有效和准确。 知名的国外主题搜索引擎如 Scirus[11]是专为搜索高度相关的科学信息而设计的搜索引擎, 它可以够精确地找到普通搜索引擎所找不到的免费或者访问受限的科学信息资源。NEC 研 究院的 CiteSeer ,它提供了一种通过引文链接检索文献的方式,可以检索到互联网上 Postscript 和 PDF 文件格式的学术论文。相关的主题搜索还有 Berkeley 的 FocusedProject 和 美国国家科学数字图书馆的(CBP)等等。 1.4.2 国内主题搜索引擎研究现状 在国内,主题搜索引擎的研制还出于起步阶段,尚没有很成熟的系统。各大网站所提供的目 录式搜索(也就是分类的搜索)一般都是采用人工分类的形式。相对而言,比较著名的是由北 大计算机系网络研究室开发的天网[12]主题搜索引擎,它是在原天网搜索引擎基础之上完成 的面向主题的搜索引擎。天网主题搜索引擎能够根据用户的一系列样本网页确定搜索主题, 然后进行特征提取,分析样本网页,提取特征信息。在之后的搜索过程中,根据这些特征信 息,对每一张被搜索的网页都赋予一定的相关度,相关度越高就说明与主题越相似。同时它 还收录了大量教育网内的资源, 使得教育网内的资源也能被广泛利用起来, 特别是它的 FTP 搜索部分,提供了非常丰富的下载资源。 其他诸如赛迪网推出的中文 IT 垂直搜索引擎“IT 罗盘” ,慧聪网站推出的行业搜索都是国 内的佼佼者。 1.5 主要研究内容 通用搜索引擎的缺点主要来源于它们力图覆盖整个网络, 并为所有可能的主题提供查询服务 的目标。面向主题的搜索引擎克服了以上的缺点,拥有更好的查全率和查准率,因为它们将 搜索网页的内容限定在一定的领域里, 有效所建了搜集的范围。 一个面向主题的搜索引擎用 一部分事先选定好的网页作为体现用户兴趣的样本。 为了获得更多相关的网页, 主题搜索引 擎从一个给定的集合出发,对基于内容的网页相关度算法进行分析。 在本文中, 主要研究的就是主题搜索策略, 采用何种搜索策略才能保证搜索过程不偏离主题 是非常重要的。 一个好的主题搜索策略应该保证有搜索结果有较高的准确率, 本文就是对现 有的一些主题搜索策略进行研究,设计一个主题搜索引擎。 1.6 论文结构 这一章, 概述了主题搜索引擎的产生背景以及它在搜索引擎历史上的地位。 第二章将会介绍 本次主题搜索引擎的主题搜索算法及设计思路, 列出了一些现有的算法或设计思路所存在的 问题。第三章为论文的核心部分,着重介绍主题搜索引擎的设计思想、体系结构、主要实现 的功能、实验数据等,将会在其中详细介绍主题搜索引擎的设计与实现,以及系统现状性能 的测试。最后一章将总结展望这次的研究设计。

2 主题搜索策略 2.1 主题搜索策略概述 主题搜索引擎的功能需求与通用搜索引擎并不相同,主要体现在以下几点: 通用搜索引擎是对整个 Internet 的资源进行收集,搜集的网页越多,搜索引擎就越全面,而 面向主题的搜索引擎只需要针对特定行业网站的特定信息进行搜集, 两者在网页搜集量上是 两个不同的数量级。 通用搜索引擎几乎对网页内所有的信息都要进行分析、 检索, 而主题搜索引擎网页抓取的准 确性高, 与用户关心的主题相关度大, 搜索的范围相对缩小, 更有利于快速搜集到相关网页。 在通用搜索引擎中索引的是网页,而主题搜索引擎则只索引网页内与主题相关的信息。 图 2-1 为两者的区别图:

普通搜索引擎

主题搜索引擎

图 2-1 普通搜索引擎和主题搜索引擎的区别 所谓“主题”是指用户所需的信息特征。主题通常由用户指定的若干相关网页(称为样本网 页)决定。通过用户选定的样本网页确定搜索的主题,在此基础上进行特征提取,分析样本 网页,提取特征信息,然后根据所获取的特征信息进行搜集,对每一张被搜集的网页都赋予 一定的相关度,相关度越高就说明与主题越相似。而“主题搜索” ,就是指根据“主题内容” 而不是 “字面内容” 进行搜索, 其原理是采用了信息检索领域内以查准率高著称的 “主题法” [13],对所有被搜索的文献进行人工参与的主题处理,用户利用相关的主题词可以查找到非 常准确的信息。这种检索方式与现在“全文检索”的字面匹配原理完全不同,可以有效地将 “垃圾信息”过滤掉。 2.2 网络爬虫 2.2.1 工作原理 网络爬虫可以被看作是为 Internet 开发的最有用处的工具之一,它能够从数以千计的各不相 同的站点中收集信息。一个典型的网络爬虫的工作方式是通过网页间的链接地址来寻找网 页,通常会从网站的某一张页面开始,读取网页的内容,找到该网页中其他的链接地址,然 后通过这些链接寻找下一张网页, 如此这般一直循环下去, 直到把这个网站上所有的网页都 抓取完为止。 若将整个互联网看作是一个网站, 那么网络爬虫就可以利用这个原理把互联网 上所有的网页都抓取下来。 然而对于搜索引擎来说, 要抓取互联网上所有的网页几乎是不可能的, 从目前公布的数据来

看, 容量最大的搜索引擎也不过是抓取了整个网页数量的百分之四十左右。 这其中有一方面 的原因是抓取技术[14]的瓶颈,因此导致无法遍历所有的网页,至使许多网页无法从其他网 页的链接中被找到。 2.2.2 基本技术 有好几种方法可以构建网络爬虫。第一种,称为常规网络爬虫,只是简单地进行页面寻找, 搜索并获取用户想要的信息,例如,用一个短语作为关键词进行搜索。第二种,称为特殊网 络爬虫,只寻找页面的特定部分,这种网络爬虫在某些特定场合很有用(比如,用户只想获 得某个站点内的新闻标题) 。 常规网络爬虫是两者中相对简单的一种, 不需要预先知道目标页面的情况, 只需要在该页面 中以及在与其链接的页面中,寻找所需的关键词就可以了。同时还可以在功能中进行设定, 忽略同一站点下的链接,从而保证每一个搜索到的结果都来源于不同的站点。与之相对应, 一个特定的网络爬虫通常要预先知道一些目标页面的情况,如表格规划等。例如,如果搜寻 的是某张页面中的新闻标题,则应该事先知道限定此标题的 HTML 标记。如此才可以直接 搜索页面中正确的部分。 在这种情况下, 是否具备搜索该页面所有链接的功能显得不是特别 重要,因为这种网络爬虫很可能在别的页面中无法找到标记,不能进行工作。 2.2.3 存在的问题 就网络爬虫的应用现状而言, 如何正确获取动态网页是目前所面临的一大难题。 所谓动态网 页,是相对于静态网页而言,由程序自动生成的页面。由于开发语言的不断增多,动态网页 的类型也越来越多,如:ASP、JSP、PHP 等,采用这种语言开发网站所带来好处是可以快 速统一地更改网页风格, 也可以减少网页占用服务器的空间, 但却给网络爬虫的抓取工作带 来一些麻烦。此外,还有一些更难处理的,采用脚本语言(如 JavaScript[16])所生成的网 页,如果要妥善处理好这些网页,网络爬虫就需要有自己的脚本解释程序。对于许多数据是 放在数据库中的网站,网络爬虫需要通过对此类网站的数据库进行搜索才能获得相应信息, 这给抓取工作带来很大的困难。 对于这类网站, 如果网站设计者希望数据库的数据能够被搜 索引擎搜索到,就需要主动提供给网络爬虫一种可以遍历整个网站数据库的方法。 2.3 主题爬虫 网络爬虫是一个自动提取网页的程序, 它为搜索引擎从万维网上下载网页, 是搜索引擎的重 要组成。普通爬虫从一个或若干初始网页的 URL 开始,获得初始网页上的 URL,在抓取网 页的过程中,不断从当前页面上抽取新的 URL 放入队列,直到满足系统的一定停止条件。 主题爬虫的工作流程较为复杂, 需要根据一定的网页分析算法过滤与主题无关的链接, 保留 有用的链接并将其放入等待抓取的 URL 队列。然后,它将根据一定的搜索策略从队列中选 择下一步要抓取的网页 URL,并重复上述过程,直到达到系统的某一条件时停止。另外, 所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的 查询和检索; 对于主题爬虫来说, 这一过程所得到的分析结果还可能对以后的抓取过程给出 反馈和指导。 相对于通用网络爬虫,主题爬虫还需要解决三个主要问题: (1)对抓取目标的描述或定义 (2)对网页或数据的分析与过滤 (3)对 URL 的搜索策略。 抓取目标的描述和定义是决定网页分析算法与 URL 搜索策略如何制订的基础。而网页分析 算法和候选 URL 排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所 在。这两个部分的算法又是紧密相关的。 2.4 网页搜索策略 网页的抓取策略[15]可以分为深度优先、广度优先和最佳优先三种。深度优先在很多情况下

会导致爬虫的陷入问题,常见的是广度优先和最佳优先方法。 2.4.1 广度优先搜索 权值 广 度 优 先 搜 索 策 略 导向词 在 完 成 当 前 层 次 的 篮球 10 层次的搜索。 该算法 Basketball 10 简单。 在目前为覆盖 NBA 9 般使用广度优先搜 8 究 将 广 度 优 先 搜 索 火箭队 虫中。 其基本思想是 姚明 8 一 定 链 接 距 离 内 的 三分球 7 性的概率很大。 另外 8 球星 优先搜索与网页过 8 用 广 度 优 先 策 略 抓 乔丹 9 关的网页过滤掉。 这 CBA

策略 是指在抓取过程中, 搜索后, 才进行下一 的设计和实现相对 尽可能多的网页, 一 索方法。 也有很多研 策略应用于聚焦爬 认为与初始 URL 在 网页具有主题相关 一种方法是将广度 滤技术结合使用, 先 取网页, 再将其中无 些方法的缺点在于, 随 着 抓 取 网 页 的 增 教练 多, 大量的无关网页 6 将被下载并过滤, 算 法的效率将变低。 6 球迷 2.4.2 最佳优先搜索 策略 最佳优先搜索策略按照一定的网页分析算法,预测候选 URL 与目标网页的相似度,或与主 题的相关性,并选取评价最好的一个或几个 URL 进行抓取。它只访问经过网页分析算法预 测为“有用”的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略, 因为最佳优先策略是一种局部最优搜索算法。因此需要将最佳优先结合具体的应用进行改 进,以跳出局部最优点。研究表明,这样的闭环调整可以将无关网页数量降低 30%~90%。 2.5 导向词 2.5.1 导向词及权值的配置 导向词就是一组关键词, 它们会引导搜索器按照一定顺序搜索整个网络, 使得搜索引擎可以 在最短的时间里面得到最全面的跟某一个主题相关的信息。 通过设置导向词以及它们对应的 不同权值,所有标题、作者、正文或超连接文本中含有某一导向词的网页都会被赋予较高的 权值,在搜索的时候会优先考虑。搜索器在向主控程序获得 URL 的时候也是按照权值由高 到低的顺序。反之,搜索器在向主控程序提交新的 URL 和它的权值的时候,主控程序会按 照权值预先排序,以便下一次有序的发给搜索器。 权值的设置有两种方法, 第一种是根据管理员的经验手工设置, 第二种是给定一个跟主题有 关的网页集合, 由程序自动提取这些网页里面共同的特征, 在这些网页里面都出现的很多的 关键词,它就被选作导向词。第二种方法称为“特征提取” 。手工设置的好处是实现简单, 同时人的经验一般比较准确,跟实际情况不会出现大的偏差,缺点是导向词可能有缺漏,权 值的量化定义不够精确; 特征提取的优点是权值量化定义精确, 但是它要求选取用来提取特 征的网页集合必须是非常有代表性而且是全面概括的,否则导向词就可能实现很大的偏差。 本文的系统采用了手动设置的方法, 在系统中预先设置了 5 个主题, 并分别为 5 个主题设置 了导向词及其权值。 表 2.1 是一个以“篮球”为主题的例子的导向词及权值的配置:

表 2.1 导向词及权值配置表

2.5.2 根据导向词及权值改变搜索顺序 将导向词及其权值考虑在内,可以得到 URL 优先级计算公式 2-1:

URL ? a1* domain _ weight ? a2 * link _ popularity? a3 * directory_ depth? a4 * ?Oi
(2-1) 2.6 网页评分 在考虑一个网页被另一个网页的引用时候,不是单纯的将被引用网页的 Hit Number 加 1, 而是将引用网页的连接数作为权,同时将该引用网页的重要性也考虑进来(比如 Yahoo 引 用的网页显然比个人网站引用的网页重要,因为 Yahoo 本身很重要) ,就可以得到扩展后的 网页评分。 最早提出网页评分的计算方法是 Google。它们提出了一个“随机冲浪”模型来描述网络用 户对网页的访问行为。模型假设如下: (1) 用户随机的选择一个网页作为上网的起始网页; (2) 看完这个网页后,从该网页内所含的超链接内随机的选择一个页面继续进行浏览; (3) 沿着超链接前进了一定数目的网页后,用户对这个主题感到厌倦,重新随机选择一个网 页进行浏览,并重复(2)和(3)。 按照以上的用户行为模型, 每个网页可能被访问到的次数就是该网页的链接权值。 PageRank 采用公式 2-2 进行计算:

W j ? (1 ? d ) ? d

i ?1,i ? j

?l

N

i, j

Wi ni

(2-2)

其中 Wj 代表第 j 个网页的权值;li j 只取 0、1 值,代表从网页 i 到网页 j 是否存在链接;ni 代表网页 i 有多少个链向其它网页的链接;d 代表“随机冲浪”中沿着链接访问网页的平均 次数。选择合适的数值,递归的使用以上公式,即可得到理想的网页链接权值。该方法能够 大幅度的提高简单检索返回结果的质量,同时能够有效的防止网页编写者对搜索引擎的欺 骗。 因此可以将其广泛的应用在检索器提供给用户的网页排序上, 对于网页评分越高的网页, 就排的越前。 2.7 权威网页和中心网页 2.7.1 权威网页 权威网页是指定主题下的一系列重要的权威的网页。 其重要性和权威性主要体现在以下两方 面:

(1) 从单个网页来看,它的网页内容本身对于这个给定主题来说是重要的; (2) 从这个网页在整个互联网重的地位来看,这个网页是被其他网页承认为权威的,这主要 体现在跟这个主题相关的很多网页都有链接指向这个网页。 所以说, 权威网页对于主题搜索引擎的实现有很重大的意义。 主题搜索引擎一个非常关键的 任务就是从互联网上无数的网页之中最快最准的找出这些可数的权威网页, 并为他们建立索 引。这也是有效区别主题搜索引擎和前三代传统通用搜索引擎的重要特征。 2.7.2 中心网页 中心网页是包含很多指向权威网页的超链接的网页。 最典型中心网页的一个例子是雅虎, 它 的目录结构指向了很多主题的权威网页, 使得它兼任了很多主题的中心网页。 由中心网页出 发,轻而易举的就会到达大量的权威网页。因此,它对于主题搜索引擎的实现也起了很大的 意义。 权威网页和中心网页之间是一种互相促进的关系: 一个好的中心网页必然要有超链接指向多 个权威网页;一个好的权威网页反过来也必然被多个中心网页所链接。图 2-2 为中心网页与 权威网页的关系图:

权威网页 权威网页 权威网页

权威网页

中心网页

权威网页

权威网页

权威网页

图 2-2 中心网页与权威网页的关系 2.8 本章小结 这一章简单地介绍了主题搜索策略主要采用的方法, 并重点分析了网络爬虫的工作原理及相 关技术,其中也提出了一些不足的地方。接着笔者通过比较普通爬虫和主题爬虫,说明了主 题爬虫的特点。并从网页分析算法策略、导向词等搜集策略入手,阐述了主题搜索引擎的关 键设计思想。在这个基础上,本文将在下一章具体介绍本次主题搜索引擎的实现。

….....

3 系统实现 3.1 系统简介 在本文的设计中, 采取了面向主题的搜索策略, 确定了一个主题——即针对种子站点中关键 字的查询, 利用爬虫程序直接从站点数据表中抓取网页。 由于爬虫程序在爬行过程中会遇到 Internet 上的各种数据,所以在创建时需要确保它不仅能够检索数据,而且还要能够理解数 据。考虑到从 Web 站点找到的数据大部分都存储在 HTML 文档中,因此在本系统中所关心 的数据类型为 HTML,采取这种做法缩小了查找的范围,同时也为下一步网页解析工作奠 定了基础。本系统的网络爬虫分为前台、后台两部分。前台提供用户添加网址,作为种子站 点,然后选择主题进行搜索。后台是一个采用多线程技术构造的完整的爬虫程序,能够从种 子站点数据表中读取网页地址,分析网页的代码。 3.2 系统设计思想 本着一切从实际出发的原则,根据拟定的实施方案,分析了整个系统各方面的需求。在本次 的系统实现上,主题搜索引擎的信息采集通过爬虫程序来完成,并使用了多种辅助策略。爬 虫程序的采集器从 www 中采集回来数据经过处理(保留主题范围内的网页, 丢弃范围之外的 网页)。方法是每爬行一个页面后,它就会抽取出页面中的链接,剔除不可能与主题相关的 链接和已爬行的链接, 然后将余下的链接按一定的顺序加入到链接列表中。 排序的规则是预 测被链接的页面与主题的相关程度,相关性高的链接将会排在列表的前面。最后,取出列表 中排列最前的链接,最后用户取回与主题相关的页面。 本系统模型设计基本上可以看作为: (1)从网上抓取网页 (2)建立数据库 (3)主题相关度分析 (4)排序 3.2.1 抓取网页 利用能够从互联网上自动收集网页的爬虫系统程序, 自动访问互联网, 并沿着任何网页中的 所有 URL 爬到其它网页,重复这过程,并把爬过的所有网页收集回来。 3.2.2 建立数据库 由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在 URL、 编码类型、 页面内容包含的关键词、 关键词位置、 生成时间、 大些与其它网页的链接关系等) , 根据一定的相关度算法进行大量复杂计算, 得到每一个网页针对页面内容中及超链中每一个 关键词的相关度(或重要性) ,然后用这些相关信息建立网页数据库。 3.2.3 主题相关度分析 为了保证爬虫获取的网页能够尽量向主题靠拢, 必须对网页进行过滤, 将主题相关度较低的 网页小于设定的阈值剔除, 这样就不会在下一步爬行中处理该页面中的链接。 为一个页面的 主题相关度如果很低, 说明该网页很可能只偶尔出现某些关键词, 而页面的主题可能和指定 主题几乎有什么关系,处理其中的链接意义很小,这是主题爬虫和普通爬虫的根本区别。普 通爬虫是根据设定的搜索深度,对所链接进行处理,结果返回了大量无用的网页,而且进一 步增了工作量。 3.2.4 排序 当用户输入种子站点并选择好主题搜索后, 由搜索系统程序从网页数据库中找到符合该关键 词的所有相关网页。 因为所有相关网页针对该关键词的相关度早已算好, 所以只需按照现成 的相关度数值排序,相关度越高,排名越靠前。最后,由页面生成系统将搜索结果的链接地 址和页面内容摘要等内容组织起来返回给用户。 3.3 系统运行环境

硬件环境 处理器:InterPentium166MX 或更高 内存:128MB 硬盘空间:4GB 软件环境 操作系统:Windows9X/2000/XP 数据库:Microsoft SQL Server2000 数据库 编译环境:Visual C++ 6.0 运行环境:Visual C++ 6.0 3.4 系统组成 主题爬虫的设计是以普通爬虫为基础的, 实际上它是对一个普通爬虫进行功能上的扩充。 在 对网页的整个处理过程中需要增加模块:主题确立模块、优化初始种子模块、主题相关度分 析模块、排序模块。主题确立模块用于确立爬虫面向的主题;主题相关度分析模块用来进行 网页主题相关度的计算; 初始种子模块用于生成面向特定主题的较好的种子站点, 使爬行模 块能够顺利展开爬行工作; 主题相关度分析模块是主题爬虫的核心模块, 它决定页面的取舍; 排序模块是对页面的最终处理,给与主题相关页面的价值一个较为全面的评价排序。图 3-1 为整个体统的结构图。

初始种子站点 设置

爬行模块

INTERNET

相关度分析模块

数据库

主题设置

排序模块

用户接口

图 3-1 系统结构图 3.4.1 爬行模块 网络爬虫从种子站点出发,自动访问互联网,并沿着网页中的所有 URL 爬到其他网页,将 网页送入网页数据库, 通过一个循环控制程序控制网络爬虫反复循环, 直到把所有的网页抓 取完成。抓取页面的算法如下: (1)分析页面 URL,抽出目标站点地址和端口号,若无端口号设为 HTTP 默认端口。

(2)若建立网络连接失败,说明该站点不可达,中止抓取该页面并将其抛弃;否则继续下一 步骤获取指定页面。 (3)由页面 URL 组装 HTTP 请求头,若该站点需要用户标识和口令则将其填入请求头中,发 送请求到目标站点。 若超过一定时间未收到应答消息则中止抓取该页面并将其抛弃; 否则继 续下一步骤分析应答消息。 (4)若状态码为其它值,说明页面连接失败,中止抓取该页面并将其抛弃。 (5)从应答头中提取出日期、长度、页面类型等页面信息。若设置了页面抓取限制,进行必 要的判断和过滤,抛弃不符合要求的页面。 对抓取到的页面需要分析其中的链接,并对链接中的 URL 进行必要的转换。首先判别页面 类型,显然只有类型为“text/html”的页面才有必要分析链接。页面的类型可由应答头分析 得出,有些 WWW 站点返回的应答信息格式不完整,此时须通过分析页面 URL 中的文件扩 展名来判别页面类型。遇到带有链接的标记如<A>、<AREA>、<FRAME>等,就从标记结 构的属性中找出目标 URL,并从成对的该标记之间抽取出正文作为该链接的说明文字(扩展 元数据)。这两个数据就代表了该链接。对一个页面中的链接提取工作流程如下: (1)从页面文件队列中取出一个页面文件,如果应答头中未说明文件类型,根据 URL 中的文 件扩展名补充完整。如果页面文件队列为空,跳转到 7)。 (2)判断页面是否为 text/html/htm/shtml 文件, 如果不是, 抛弃此文件, 转入(1), 否则转入(3)。 (3) 从 文 件 头 按 顺 序 读 取 文 件 , 遇 到 如 下 标 记 <a href=……> <area href=……> <base href=……> <frame src=……> <img src=……> <body background=……> 等, 记录 URL 连接。 如果遇到文件结束符,则跳转到(7) (4)将提取出来的 URL 链接按照预先定义的统一的格式补充完整。(页面链接中给出的 URL 可以是多种格式的, 可能是完整的、 包括协议、 站点和路径的, 也可能是省略了部分内容的, 或者是一个相对路径) (5) 记 录 下 <a href=……> <area href=……> <base href=……> <frame src=……> <img src=……> <body background=……> <applet code=……>等后面对此链接的说明信息。 (6)存储此 URL 及其扩展元数据,跳转到(2)。 (7)页面 URL 提取完毕。 3.4.2 选择主题 选择主题是主题爬虫工作的基础, 为了有效地进行采集, 系统所要解决的一个重要问题就是 主题选择。 针对随便的主题词可能较大地影响采集效果, 考虑到系统主题过多而导向词及其 权值不精确的关系,系统提只供给用户五个默认主题以供选择。 3.4.3 初始站点的选择 一般爬虫程序是从一个种子 URL 集出发,通过 Web 协议向 Web 上所需的页面扩展的。基 于主题的 Web 信息采集也不例外,也有一个起始采集的种子 URL 集。但是,它的采集起点 选择却必须十分慎重,因为这将影响着采集的效率,尤其是刚开始采集的准确率。 根据主题在 Web 上的特性, 一般采集系统需要选择质量较高的主题 URL 作为初始种子 URL 集。 为此, 本文采用的主题搜索引擎添加了搜索排名前 10 的 URL 作为系统默认的种子 URL。 用户在设置主题采集时可以在这 10 个 URL 中进行选择, 也可以将自己知道的好的主题 URL 输入进来,以提高采集的效果。 3.4.4 主题相关度分析模块 为了进一步提高采集页面的准确率, 需要对已采集的页面进行主题相关性评价, 也就是页面 过滤。 通过对评价结果较低的页面(小于设定的阈值)剔除, 来提高所采集主题页面的准确率。 本文采取的方法就是基于关键词的向量空间模型算法。算法如下: (1)预处理:在采集之前,先将描述主题的多个页面进行关键词的提取和加权,学习到属于

该主题的特征向量及向量的权重。 (2)对页面的正文进行分词,除去停用词,留下关键词。并按照关键词在文章中出现的频率, 对关键词加权。 (3)将此页面的标题分词,并将得到的关键词与文章中的关键词合并,并加重权于这个关键 词上。 (4)根据主题中的特征向量对页面中的关键词进行修剪和扩充。 (5)计算出页面与主题的相似度其中 D1 为主题,D2 为待比较的页面。 公式 3-1 为计 算相关度的公式:

Sim( D1 , D2 ) ? cos? ?

?w
k ?1 N k ?1

N

1k

* w2 k
N 2

(? w1k )(? w2 k )
2 k ?1

(3-1)

(6)根据 Sim(D1,D2)值的大小和阈值 d 进行比较,如果 Sim(D1,D2)大于等于 d,则页面与 主题相关,保留到主题页面库中;否则不相关,删除此页。 3.4.5 排序模块 排序模块的作用是对网页的重要程度进行排序, 把价值高的网页排到前面, 以便它们更容易 地被选择到。 影响网页排序的因素很多, 通过主题相关度的计算已经能够得到一个比较合理 的排序,但是为了得到一个更加合理的排序,必须辅助考虑其他因素。 在对网页进行排序时, 可以综合考虑主题相关度和链接分析两个关键因素, 链接分析主要模 仿 PageRank[17]算法, 因为 Google 的成功实践证明 PageRank 算法的结果还是比较令人满意 的。具体的算法实现中,应该对主题相关度和 PageRank 赋予不同的权重。 3.5 主题爬虫的实现 3.5.1 URL 的队列维护 为了能方便的处理链接和主题相关度的计算, 需要使用 6 个队列, 每个队列保存同一处理状 态的 URL; (1)等待队列 Hot:URL 等待被爬虫程序处理,新发现的 URL 也被加入到这个队列。Hot 为 待爬行的相关度较高的 URL 队列。 (2)等待队列 Normal: URL 等待被爬虫程序处理, 新发现的 URL 也被加入到这个队列。 Normal 为待爬行的普通 URL 队列。 (3)处理队列:每一时刻,同一个 URL 只能出现在一个队列中,在这个过程中,当有 URL 被加入到等待队列中时, 爬虫程序就开始运行, 只要等待队列中有一张网页或者程序正在处 理某张网页,爬虫便会继续它的工作,直到等待队列为空,并且当前没有任何网页在被处理 时,工作才会停止。 (4)错误队列:如果在下载网页时链接发生错误,它的 URL 将被加入到错误队列,一旦移入 错误队列,爬虫不会对它作进一步处理。 (5)丢弃队列:如果下载网页没有发生错误,且经过主题相关度的计算小于阈值,则放入该 队列,一旦移入抛弃队列,爬虫不会对它作进一步处理。 (6)完成队列:如果下载网页没有发生错误,如果下载网页没有发生错误,且经过主题相关 度的计算大于等于阈值,就要把从中发现的 URL 放入等待队列,处理完毕把它加入到完成 队列,到达这一队列将等待排序模块的处理。 同一时间一个 URL 只能在一个队列中,这也叫做 URL 的状态,图 3-2 说明了这些状态的关 系以及网页如何从一个状态转换到另一个状态。 3.5.2 主题爬行策略的实现方案

主题爬行策略是在 Shark 启发式搜索算法的基础上,将三重过滤技术(页面链接级、页面链 接上下文级、页面级)与之结合来计算链接预测的相关度,采用 PageRank 算法计算该 URL 的权威值,评价相关网页的重要度,其基本思想为:首先采用修改了的 Shark 启法式搜索算 法预测子节点的相关度,并根据相关度值将待爬行的 URL 队列分为 Hot 和 Normal 2 种。 然后使用 PageRank 算法计算 Hot 和 Normal 队列中 URL 节点的权威值,并按照相关度和 权威值的综合值来决定爬行优先级,即先爬行与主题相关的、质量高的 URL;先爬行 Hot 队列,只有当 Hot 队列为空时才爬行 Normal 队列。 具体步骤: (1)初始种子站点进入 Hot 队列,为初始种子站点计算相关度。 (2)从 Hot 队列取相关度最高的 URL, 若 Hot 队列为空, 则从 Normal 队列中取相关度最高的 URL,放入处理队列。 (3)抽取子链,若子链在完成队列或 Hot 队列或 Normal 队列或丢弃队列,则继续取下一个子 链。若子链接出错,则进入错误队列。否则计算相关度 relativity,判断子链进入哪个队列。 具体判断方法:若子链满足以下条件之一 锚文字中出现某个关键词 子链的 URL 中出现某个关键词。 子页面的 title 中出现关键词。 子页面中某关键词出现次数超过 10 次。 则子链直接进入 Hot 队列。否则,若相关度 relativity>阀值 a,则进入 Hot 队列;若相关度 relativity 介于阀值 a 和 b 之间,则进入 Normal 队列,否则进入丢弃队列。 (4)将此 URL 放入完成队列,返回步骤(2),直至爬行结束。 图 3-2 为 URL 的状态转换图。

发现 URL

等待队列 主题相关度计算

处理队列

错误队列

抛弃队列

完成队列

完成 URL

图 3-2 URL 状态转换图 3.6 数据库结构设计 本系统采用的是 MS SQL Server 2000 数据库引擎,数据库由以下 7 个表构成: 关键词表:记录关键词、主题和权值,由 Keyword、Topic 和 Weight 三个字段构成;相关数 据如表 3.1 所示。 表 3.1 关键词表(tblKeyWord) 序号 1 2 3 字段名 Keyword Topic Weight 说明 关键词 主题 权值 类型 char char int √ 默认值 允许空 主键 √

等待队列 Hot 表:记录序号、相关度高于等于阀值的 URL 和相关度,由 ID、WaitHotURL、 Relativity 三个字段构成;相关数据如表 3.2 所示。 表 3.2 等待队列 Hot 表(tblHotWaitQueue) 序号 1 字段名 ID 说明 序号 类型 Int 默认值 IDENTITY 允许空 主键 √

2 3

WaitHotURL Relativity

相关度高于 等于阀值的 URL 相关度

varchar(256) float

√ √

等待队列 Normal 表:记录序号、相关度低于阀值的 URL 和相关度,由 ID、WaitNorURL、 Relativity 三个字段构成;相关数据如表 3.3 所示。 表 3.3 等待队列 Normal 表(tblNormalWaitQueue) 序号 1 2 3 字段名 ID WaitNorURL Relativity 说明 序号 相关度低于 阀值的 URL 相关度 类型 Int varchar(256) float 默认值 IDENTITY √ √ 允许空 主键 √

丢弃队列表:记录序号、丢弃的 URL 和相关度,由 ID、DiscardURL、Relativity 三个字段 构成;相关数据如表 3.4 所示。 表 3.4 丢弃队列表(tblDiscardQueue) 序号 1 2 3 字段名 ID DiscardURL Relativity 说明 序号 丢弃的 URL 相关度 类型 Int varchar(256) float 默认值 IDENTITY √ √ 允许空 主键 √

错误队列表:记录序号、错误的 URL 和相关度,由 ID、ErrorURL、Relativity 三个字段构 成;相关数据如表 3.5 所示。 表 3.5 错误队列表(tblErrorQueue) 序号 1 2 3 字段名 ID ErrorURL Relativity 说明 序号 错误的 URL 相关度 类型 Int varchar(256) Float 默认值 IDENTITY √ √ 允许空 主键 √

处理队列表:记录序号和处理中的 URL,由 ID、ProcessURL 两个字段构成;相关数据如表 3.5 所示。 表 3.6 处理队列表(tblProcessingQueue) 序号 1 2 字段名 ID ProcessURL 说明 序号 处理中的 URL 类型 Int varchar(256) 默认值 IDENTITY √ 允许空 主键 √

完成队列表: 记录序号、 完成的 URL、 由 ID、 CompleteURL、 Relativity、 Title、 LModifyTime、 FtReachTime、LtReachTime 七个字段构成;相关数据如表 3.5 所示。 表 3.7 完成队列(tblCompleteQueue) 序号 1 字段名 ID 说明 序号 类型 Int 默认值 IDENTITY 允许 空 主键 √

2 3 4 5 6 7

CompleteURL Relativity Title LModifyTime FtReachTime LtReachTime

完成的 URL 相关度 标题 上次修改时 间 初次访问时 间 末次访问时 间

varchar(256) float varchar(256) datedame datetime datetime √ √ √

3.7 实验结果分析 系统运行后,在左边的设置中,可以对搜索的主题进行选择,然后在添加种子站点文本框内 输入种子站点, 输入后的站点将会出现在下面的列表框内。 完成设置任务后便按搜索按钮可 以进行搜索。搜索出来的结果将会在右面的 List Control 内显示,并会显示已搜索的记录条 数,对于已搜索出来的结果可以选择上下页按钮进行查看。图 3-3 为搜索主题为“篮球”的 搜索运行界面。

图 3-3 系统运行界面 本次实验用主题爬虫和普通爬虫分别进行页面的收集, 结果表明主题爬虫耗时虽然比普通爬 虫长,但差距比预计的要小的多,分析原因可知,尽管主题爬虫要进行比较耗时的主题相关 度计算,然而它也带来了正面效应,使爬行的工作量减少了,页面一旦进入抛弃队列将不再 被处理, 而普通爬虫只会没有选择的对所有页面进行处理, 实验结果显示随着搜索深度的增 加主题爬虫的耗时还可能小于普通爬虫。 由此可见, 用主题爬虫进行面向受限领域信息的收 集是切实可行的。另外,主题爬虫的精度和耗时可以通过阈值进行调节,阈值设的越大精度 就越高,耗时就越小,因为随着阈值的增大,要求主题相关度增大,需要处理的页面就减少 了。 部分实验数据如表 3.8 所示:

实验条件:搜索深度=2(设的较小,为了防止搜索规模过大) 起始种子=10 都是经过人工选择的较好的种子 机器配置:CPU P4 2.4,内存 512M。 表 3.8 实验结果 主题爬虫 提取文档 提取失败 拒绝文档 发现文档 收集数据总数 总搜索时间 实际爬行时间 2530 625 7 3162 854411236Byte 0.856s 0.523s 普通爬虫 提取文档 提取失败 拒绝文档 发现文档 收集数据总数 总搜索时间 实际爬行时间 6241 1523 21 7784 174865210Byte 0.664s 0.238s

3.8 本章小结 通过本章对系统实现的叙述, 充分说明了一个主题爬虫设计方案的可行性, 以主题爬虫为基 础可以开发主题搜索引擎, 结合到具体应用, 主题爬虫可以在受限领域内进行面向主题的信 息采集。由此可见,主题搜索引擎虽然小巧(对硬件要求低,耗时少) ,但是由于它使用了 多种主题搜索策略,使得它在一个特定的主题下比通用搜索引擎要准确贴切,这样,用户就 能更快的找到需要的信息。

4 结论 4.1 总结 本次毕业设计中,所定义的是面向主题的搜索引擎。就总体而言,构造了一个可以从自定义 的 Web 站点下载所有 HTML 文件的多线程网络爬虫程序,所谓多线程是指一个程序在同一 时刻运行超过一个任务的能力, 采用多线程技术可以提高爬虫的运行效率。 一个网络爬虫需 要同时下载多张网页, 想要完成此任务, 爬虫程序必须向服务器发出请求然后接收这些网页。 程序等待响应的过程就是程序执行的一个瓶颈, 因为尽管程序已经请求了网页, 却必须要等 待请求经过 Internet 向 Web 服务器传输。这种情况下,多线程技术将这数个网页的等待时间 结合在一起,而不是一个接一个的执行。当爬虫程序使用线程时,可以在计算遍历算法和其 他辅助运算时同步访问网站,这样更有利于爬虫的后台操作。通过在多个作业之间的切换, 可以使程序充分利用 CPU 的占有率和网卡资源。 相对于面向主题这一策略, 目前本系统的功能仅限于对种子站点所给定主题的相关信息进行 查询,因此具有很大的局限性。系统设计过程中,本文在种子站点模块中加入了添加删除这 一功能,以便可以对更多的更有权威的站点进行选择,满足多方面的查询需求。 由于搜索引擎是一个范围很大, 实践性很强的研究领域, 所以有很多信息和知识如果没有了 解过,就无法事先预知。随着 Web 服务朝个性化方向的迈进、Agent 技术的发展、迁移式思 想的出现,单纯的为了检索的 Web 信息采集技术必将向着基于主题以及个性化主动信息采 集服务方向全方位拓展。 4.2 展望 主题搜索引擎已成为一个新的研究、开发领域。因为它要用到信息检索、人工智能、搜索策 略、计算机网络、分布式处理、数据库、数据挖掘、数字图书馆、自然语言处理等多领域的 理论和技术, 所以具有综合性和挑战性。 又由于搜索引擎有大量的用户, 有很好的经济价值, 所以引起了世界各国计算机科学界和信息产业界的高度关注,目前的研究、开发十分活跃, 并出现了很多值得注意的动向。根据 CNNIC 发布的《中国互联网络发展状况统计报告 (2007/1)》 ,搜索引擎是互联网上第二大服务(仅次于电子邮件) ,在网络服务中的比例中占 有相当大的一部分, 足以说明搜索引擎的重要性及普及性, 而面向主题的搜索引擎技术有着 广阔发展前景, 尤其是中文领域内, 还没有很突出的成果, 是今后主题搜索所要面临的挑战。 由于此次毕业设计在人力、 物力以及时间上的有限性, 因此所完成的系统仅限于使用本地数 据库,并且只由一台计算机进行运作,显然如果只在一台电脑上完成所有的工作,效率是低 下的。 考虑到系统将来的实用性, 在未来的发展方向上应采用多台 PC 机同时进行网络爬行, 并利用并行处理算法将其中繁重的计算任务分配到各台不同的 PC 机上,这样能够充分利用 局域网带宽、Internet 网带宽、各台 PC 机 CPU 的利用率和内存的利用率,缩短运行时间。 在具体实施策略上,可以根据地域、主题、IP 地址及其它的划分标准将全网分成若干个自 治区域,并在每个自治区域内设立一个检索服务器,所有参与爬行的 PC 主机同属一个自治 区域网段,并通过一台 MSSQL Server 2000 数据库服务器共享数据,原始下载的网页分别存 放在各台 PC 主机的本地目录上。 在此基础上,也应该相应的对网络爬虫进行改进。由于在局域网的环境下,CPU 的速度、 主存的大小、硬盘的速度、网卡的速度、局域网的速度、网站的响应速度,这些因素都会影 响爬虫线程的性能,并且任何一个环节的延迟,都将影响到爬虫对整个网页的抓取和分析。 比如,爬虫算法受 CPU 速度的影响,而在爬虫进行运算的时候,网卡的带宽可能正好处在 空闲时期, 这样在爬虫还没有得到下一个目标页面时, 网络处于等待状态, 浪费了网络资源。 再比如, 网站的响应时间一般为几百毫秒, 但是目前局域网内的有效带宽一般都可以达到几 十兆, 这样就出现了局域网内网速和目标站点网速两者间的不对称, 由于目标站点的网速受 到限制,再快的局域网网速也无用武之地。

另外 Internet 也是一个快速发展的领域,新的开发工具,新的网站模型都有可能在不远的将 来出现,因此一个好的主题搜索引擎必须不断地更新和提高,在今后的研究中,将会不断的 学习研究并改进系统的性能,以达到最佳的性能。 相信在不久的将来,主题搜索引擎技术将达到一个新的高度!

参考文献 [1] 潘常春.计算机主题搜索引擎研究[J].计算机仿真,2005,21(4):69-76 [2] 汪 涛,樊孝忠.主题爬虫的设计与实现[J].计算机应用,2004,24:270-272 [3] 胡卓颖, 徐 可, 万中英. 专题型网页搜集系统的设计与实现[J].计算机与现代化, 2004, 100(10):2-14 [4] CNNIC . 第 19 次 中 国 互 联 网 络 发 展 状 况 统 计 报 告 [EB/OL].http://www.cnnic.net.cn/html/Dir/2007/01/22/4395.htm, 2007.1 [5] 吴安清,张颖江,涂军.主题搜索 ROBOT 综合爬行策略的研究[J].武汉理工大学学报, 2006,28(2):74-76 [6] 宋聚平,王永成,尹中航.面向主题的网页搜索系统 [J]. 上海交通大学学报, 2003 , 37(3)401-403 [7] 夏诏杰,梁春燕,郭力.化学主题网络爬虫的设计和实现[J].中国科学院过程工程所多相 实验,2006,25(5):201-204 [8] 赵仲孟,何世丽,袁薇.主题搜索引擎中专业网页索引集构造算法的研究[J].微电子学与 计算机,2005,22(1):6-9 [9] 潘春华.面向主题的 Web 信息收集系统的设计与实现[J].小型微型计算机系统,2003, 24(12):2150-2154 [10] 陈红英.中文搜索引擎技术揭密[J].维普资讯,计算机工程与设计,2005,3:47-51 [11] Tadhg.O'Meara . hmedPatel . Atopic-specificWeb robot model based on restles bandits [J].IEEE Internet Computing,vol.05,no.2,Mar/Apr,2001:34-43 [12] 罗昶.第四代搜索引擎——主题搜索引擎的设计与实现[D].北京大学九七级学士毕业 论文.计算机科学技术系计算机软件专业,2001 [13] 汤晓松,胡桂武,张欣.浅谈面向主题的搜索引擎[J].保险职业学院学报,2005,2: 45-48 [14] 刘红雨.中文搜索引擎技术揭密:系统架构[J].农机化研究,2005,1:55-58. [15] 王津涛, 兰皓. 面向主题元搜索引擎的设计与实现[J]. 计算机工程, 2005, 31(7): 168-169 [16] JonM.Kleinberg . Authoritative Sourcesina Hyperlinked Environment[J] . IEEE Internet Computing,vol.14,no.6,novemeber/december,2002:82-87 [17] Michael.Herseovici , MichalJacov , Yoelle.SMaarek . I'heShark — Search Algorithm--An Application Tailored WebSite Mapping[J].Computer Network sand ISDN Systems,1998,30: 317~326

致谢 本次毕业设计是在导师闫俊英老师的精心指导下完成的。 论文从选题到完成的整个过程都倾 注了导师很多的心血,同时也给予了我最大的理解和支持。每一次与老师的交流,都会点拨 我,让我对自己所要完成的工作产生更深刻的认识。闫老师认真的治学态度、严谨周全的思 维都给我留下了深刻印象。在论文完成之际,本人还要感谢导师平时对我的关心。特向闫老 师表示深深的敬意和感谢! 同时, 我还要向学校各级领导老师致以深深的谢意。 他们在百忙之中也时常抽空对我进行指 导。正是他们在毕业设计和论文撰写的过程中,提供孜孜不倦的指导和帮助,才得以有这篇 论文的完成。我向他们表示衷心的感谢! 最后, 我要深深感谢我的父母和曾经帮助过我的同学, 是他们在精神与物质上给予我巨大而 无私的支持,让我顺利完成大学学业!


赞助商链接
相关文章:
基于教育主题的垂直搜索引擎研究与分析
基于教育主题的垂直搜索引擎研究与分析 - 摘要 由于通用搜索引擎具有搜索信息量大、查询不准确、深度不够等缺点,本文 在通用搜索引擎技术的基础上, 依据专业领域搜索...
以搜索引擎为主题的研究作业
以搜索引擎为主题的研究作业以搜索引擎为主题的研究作业隐藏>> 以搜索引擎为主题的研究作业一、作业内容通过因特网了解搜索引擎的发展史、原理、评价及其使用技巧等,...
技能训练6-1 垂直主题搜索引擎使用文献和图片搜索
技能训练6-1 垂直主题搜索引擎使用文献和图片搜索_企业管理_经管营销_专业资料。技能训练 6 基本信息检索 技能训练 6-1 垂直主题搜索引擎使用—文献和图片搜索四大...
信息检索考题及答案
I) II) III) IV) 主题较复杂、研究范围较大、...142、通过搜索引擎在中国教育网内检索信息检索的幻灯...A、规范、简洁、美观的界面设计 B、稳定、可靠、...
主题二信息获取
主题二信息获取_其它课程_高中教育_教育专区。主题二...看网站界面设计是否美观,界面设计好的网站数据也比较...B D 搜索引擎索引数据库中的数据 我们所要查找的全部...
信息检索题目(含答案)
中国标准化研究院网站 49.会议文献包括: (B、C) ...主题指南 C.搜索引擎 判断题(每题 1 分,共 45 ...外观设计专利 D..特有专利 题解: 48.中国标准...
信息检索作业
自拟一道与本专业有关的检索课题进行检索 (注意: 主题重复, 试卷退回重做或做...价值结构研究[D] (硕士).湖南:湖南师范大学,2010 (2) 2 等搜索引擎检索该...
2012年信息管理概论网上作业1答案
( 7、主题树方式是一种可供检索的等级式主题目录。( 正确 9、按搜索引擎的...24、结构化程序设计理论认为, 任何一个程序都可以用三种基 本逻辑结构来编制, ...
必修模拟练习答案
通过亲自探究事物本身获取信息 D、通过上互联网采集...A、元搜索引擎 B、全文搜索 C、分类搜索 D、目录...A、确定主题→收集与选择素材→设计版面→制作作品→...
第四次作业A
能代表该信息主题概念的若干词作为主 题标识,称为:() A.主题分析 B.抽词标...下列的搜索引擎工具哪项属于目录式搜索引擎。 A.ALTAVISTA B.Yahoo C.Google ...
更多相关标签: