海纳百川 有容乃大(http://www.brtech.com.cn)

海纳百川,有容乃大(http://www.brtech.com.cn)

  :: 首页 :: 博问 :: 闪存 :: :: 联系 :: 订阅 订阅 :: 管理 ::
第三章         Web信息采集的研究现状

目前,Web信息采集技术的发展正如火如荼,在传统的Web信息采集技术的基础上,又出现了许多轻型的各具特色的采集技术。我们根据国内外流行的看法,结合我们在这方面长期积累的实际经验,把Web信息采集的发展方向分为以下几种:基于整个Web的信息采集(Scalable Web Crawling),增量式Web信息采集(Incremental Web Crawling),基于主题的Web信息采集(Focused Web Crawling),基于用户个性化的Web信息采集(Customized Web Crawling),基于Agent的信息采集(Agent Based Web Crawling),迁移的信息采集(Relocatable Web Crawling),基于元搜索的信息采集(Metasearch Web Crawling)。实际系统往往是以上几个采集技术的结合。下面分别予以介绍。

3.1 基于整个Web的信息采集

这种信息采集在国外也常叫做Scalable Web Crawling,是一种较传统的采集思想。主要是指目标为从一些种子URL扩充到整个Web的信息采集。这种信息采集主要是作为门户搜索引擎和大型的Web服务提供商的数据收集部分。对于这类信息采集来说,由于采集的范围和数量都非常巨大,所以对采集速度和存储空间要求很高;由于目标是采集整个Web,所以对采集页面的顺序要求相对较低;由于待刷新的页面太多,尽管并行很多的采集器,但仍需数周乃至数月的时间来刷新一次,而且,随着并行采集器数量的增加,整个系统能力的提高越来越小,稳定性却越来越低。但是,这类信息采集又不能没有,人们不光有个性化需求和具体主题的需求,还有许多广泛主题的需求,而由这类Web信息采集器构建的搜索引擎,恰恰适合搜索广泛的主题。事实上,这类信息采集仍有很强的应用需求,目前在实际应用中占较为主流的地位。下面通过简要分析三个实例Google[Brin&Page 1998][Cho, Molina &Page 1999]Mercator[Heydon&Najork 1999]Internet Archive[Burner 1997]来进一步说明这类信息采集。

Google Crawler是一个分布式的基于整个Web的采集器,主要在美国Stanford大学用C/C++设计。它并没有采用多线程技术,而是采用异步I/O管理事件来实现并行。它有一个专门的URL Server 来为并行的多个采集器维护URL队列。为了保持高速的获取页面,每个采集器一次同时打开大约300个连接。在使用4个采集器时,系统的峰值速度大约是每秒100页,相当于每秒大约600K的数据。由于DNS解析压力很大,Google为每个采集器分配一个DNS Cache,这样不需要在每次采集页面时都做一次DNS解析。Google还使用了许多算法对系统性能进行优化,最著名的就是PageRank算法。在权衡了时空代价后,Google选用了zlib 压缩格式压缩采集到的数据。

康柏系统研究中心研究实现了Mercator Web Crawler。与Google不同,它主要使用Java实现的,在并行机制上,则采用了多线程技术,一般情况下,每个采集器能够启动数百个线程。Mercator也有一个单独的URL处理器,用于收集和合并从采集到的页面中提取出来的URL。它有一个RIS部件,用于去除相同内容的页面,因此有较低的文件重复率8.5%Mercator的另一大特点就是可扩展性,例如扩展一种新的采集协议。设计者声称,在双533MHz CPU2G内存和118G硬盘环境下,Mercato采集速度是每秒112个文件。

Internet Archive 使用异步I/O技术来并行采集整个Web,它的目标就是为整个Web存档。为此,每个采集器被分配64个站点,同时每个站点的所有页面都被分配给同一个采集器。在提取链接时,如果提取出的链接仍属于这个采集器,就将这个链接放入相应的待采集队列里,否则将它存在log文件中,积累一段时间后,再按所属站点传输给相应的采集器。

3.2 增量式Web信息采集:

这种信息采集在国外也常叫做Incremental Web Crawling。传统上,Web采集器根据自己的需要采集足量的信息后停止采集,当一段时间后这些数据过时后,它会重新采集一遍来代替原有的采集信息,这种采集器称作周期性Web采集器(Periodic Web Crawler)。而另外一种方法,对待旧的页面采用增量式更新,也就是说,采集器只需要采集新产生的或者已经发生变化的页面,而对于没有变化的页面不进行采集。理想状况中,已采集到的信息应该和Web中的信息是一致的,然而实际上Web的动态性、异构性和复杂决定了采集到的信息在相当短的时间内就可能过时,那种理想是不实现的,我们能够做的就是尽量逼近这种理想。和周期性信息采集相比,增量式信息采集能极大地减小数据采集量进而极大地减小采集时空开销,因此它成为实际采集系统的首选。前面所说的GoogleMercatorInternet Archive都是增量式信息采集系统。但是,增量式信息采集在减小时空开销的同时,却增加了算法的复杂性和难度,同时又面临新的难题,例如如何根据页面的变化快慢分配系统的采集能力。在最近的一项实验中[Cho et al. 2000],随机选择了270个站点(包括132.com站点,78.edu站点,30.net&.org站点和30.gov站点)并下载了72000个页面,发现超过40%.com页面每天变化,.net.org变化适中,而.edu.gov变化最为缓慢。IBM设计完成的信息采集器WebFountain是一个典型的增量式系统[Edwards et al. 2000]。它采用了一个优化模型来控制采集策略。这个模型没有对Web页面变化的统计行为做任何假设,而是采用了一种适应性的方法,根据先前采集周期里采集到的结果的实际变化率进行调整。作者也提到为更新频率较快的页面提高刷新频率。

3.3 基于主题的Web信息采集:

这种信息采集器在国外叫做Focused Crawler,是指选择性的搜寻那些与预先定义好的主题集相关页面的采集器,对它的研究现在比较热门。它也是本文所要讨论的重点,我们将在以后的章节里详细论述。在这里,先看看国际上流行的此类信息采集系统。

印度理工大学(IIT)IBM研究中心的研究人员开发了一个典型的基于主题的Web信息采集器[Chakrabarti et al. 1999]。它的主题集是用样本文件来描述的。为了达到采集时主题制导的目的,设计者设计了两个文本挖掘的部件来指导采集。一个是分类器(Classifier),用于评价采集文本是否与主题相关。另一个是精炼器(Distiller),用于识别能够在较少的链接内就连接到大量相关页面的超文本节点。采集系统首先保存一个经典的主题分类(例如Yahoo的主题分类),并且为每一个主题分类都保存若干个内容样本,用于详细的刻画这一类主题。用户在使用本采集器搜索与主题相关的页面时,必须在系统的主题分类树中先选择一个主题,用于指导采集。由于要选择和剪枝,采集速度并不太快,在双333MHz PII CPU256M内从 SCSI硬盘下,每个采集器的采集速度为每小时6000页。

Aggarwal则提出了一种针对两个假设的基于主题的Web信息采集方法[Aggarwal et al. 2001]1).Linkage Locality,即被相关于某一主题的页面链接到的页面趋向于拥有同一主题。 2).Sibling Locality,对于某个链接到某主题的页面,它所链接到的其它页面也趋向于拥有这个主题。这样,在采集器接到一个主题采集请求命令后,它就从自己保存的关于这个主题的起点出发,按照两个假设蔓延,并利用指向备选页面中的URL结构以及其他一些meta信息使用统计学习的方法进行修剪,使采集的页面很快接近主题。

Web80%的内容是动态产生的,并且呈增长趋势[Steve Lawrence 1998],而这些内容却几乎没有被采集下来。美国Stanford大学的Hidden Web Exposer Project就是要建立一个采集这些动态页面的采集器[Raghavan& Garcia-Molina 2000]。因为很多隐式页面要通过填写表单等人工手段才能获取,所以采集器在采集之前需要人工辅助来事先填好领域信息,然后进行基于主题的采集。尽管主题信息的填写工作较繁琐,但同一主题的信息结构较相似,只要用户填写一次基本上就可以实现自动采集了。

Menczer则评价了三种关于基于主题采集的策略[Menczer et al. 2001]1).Best first Crawler(通过计算链接所在页面与主题的相似度来得到采集优先级)2).PageRank(通过每25页计算一遍PageRank值来得到采集优先级,PageRank值计算方法前面已经说过)3).InfoSpiders(通过链接周围的文字,利用神经网络和遗传算法来得到采集优先级)。经过试验作者发现,Bestfirst最好,InfoSpiders次之,PageRank最差。一向被给予高度评价的PageRank算法之所以表现不佳,作者认为是它选出的高质量页面是基于广泛主题的,而对于特定主题来说页面的质量可能就不高了。

3.4 基于用户个性化的Web信息采集

不同的用户对一个搜索引擎提交同一个检索词,他们期望的返回结果是不同的,然而搜索引擎却只能返回相同的检索结果,这显然不能完全满足用户的需要。为此,采集系统的设计者把目光投向了基于用户个性化的Web信息采集(Customized Web Crawling)。这是一种轻量级的采集系统,它的目标就是通过用户兴趣制导或与用户交互等灵话手段来采集信息。系统根据实际需要可以直接把采集结果提供给用户,也可以先存储起来等到以后再提供。这种个性化信息一般有两个来源,第一个是用户手工在系统提供的个性化设置页面里设置,这里主要考虑的问题是如何全面灵活简单的提供这种设置,使得用户的各种喜好都能够表达。第二个是系统自动获取,通过跟踪用户的浏览习惯和兴趣等。SPHINX是一个Java工具包组成的环境交互式信息采集器[Miller&Bharat 1998]。它是一个典型的此类采集系统,用户的个性化设置嵌在工作台里,并针对指定的站点进行个性化采集。[Kamba 1995]中介绍了一种新闻的个性化采集,这是个性化和主题采集应用结合的一个实例。

3.5 基于Agent的信息采集

随着智能Agent技术的发展,Agent与信息采集相结合的技术也逐渐热门起来,这种采集技术叫做Agent Based Crawling。智能Agent系统是指一种处于一定环境下包装的计算机系统,为了实现设计目的,它能够在该环境下灵活地自主地活动。它除了具有自治性(Agent运行时不直接由人或其它东西控制,它对自己的行为和内部状态有一定的控制权)、社会能力(多个Agent体之间信息交换和协作)、反应能力(对环境的感知和影响)和自发行为(Agent的行为是自主的),还具有一般人类所有的知识、信念、意图和承诺等心智状态,这使得智能Agent系统具有人类的社会智能。它的这些特点使得它在面临诸如基于主题和用户个性化的采集时,更加方便灵活和适应力强。比如说在基于用户个性化的采集中,它能像人一样感知用户的兴趣变化,自主地灵活地智能地调整采集策略。

美国的爱荷华大学进行的ARACHNID研究项目就是这方面的典型代表。它主要通过模拟一个生态系统的发展和演变来设计Web信息采集器InfoSpiders[Menzcer 1999][Menczer&Belew 1998]。系统的目标是从用户的角度在网上搜索最有效的页面。它的采集原理基本如下:以一个用户的书签作为采集起点,通过分析这些起点周围的小区域和链接关系来发现新的要采集的页面。它通过对采集到的页面是否真的跟采集前的相关性预期相符,来增加和减少能量,当能量很高时,还可以生出新的子树,而当能量过低时,它就死亡。它的一大好处是杜绝了过期页面。但缺点也较明显。因为它是临时到网上去搜索,而不是在已完成的索引上直接匹配,所以尽管搜索精确度甚至更好,速度却比较慢。因此,它的定位是作为门户搜索引擎的有效补充。

美国麻省理工学院的一个系统Letizia是利用Agent来辅助用户浏览Web页面的辅助工具[Lieberman 1995]。当用户通过一个浏览器浏览页面时,Agent就自动跟踪了用户的浏览行为,用启发式方法来估计用户的兴趣,并根据用户当前位置,从网上采集满足当前感兴趣的页面推荐给用户。用户可以遵从这些推荐,也可以按着自己的方式浏览,而同时Agent则不停地根据新的变化采集和推荐,推荐的内容紧跟当前用户的浏览页面。

美国Stanford大学研究了一种基于学习Agent的主题信息采集系统[Balabanovic&Shoham 1995]。它使用向量空间模型VSMTF*IDF来给发现的文本评分排序,并使用机器学习策略和用户反馈来修改启发式搜索。

3.6 迁移的信息采集

这种信息采集器也叫Relocatable Web Crawler。在采集时,它并不像其他采集器在本地向Web站点服务器发页面请求,而是将自己上载到它所要采集的服务器中,在当地进行采集,并将采集结果压缩后,回传到本地。这样做的一个明显优点是大量的节省了Web资源,大量的剪裁工作将在被采集对象的服务器上完成。但明显的一个不利是采集器可能并不被被采集对象所信任,因为这样被采集站点会由于给访问者权限太大而易遭到病毒攻击。解决的办法是建立一种信任机制,采集器由权威的信任机构评估并授权。还有另一种方法,采集器先迁移到离被采集站点很近的地方实施采集,这种方法是迁移到被采集站点方法和不迁移方法的折衷。SPHINX 信息采集器就是这种思路的尝试[Miller&Bharat 1998]

3.7 基于元搜索的信息采集:

元搜索引擎(Metasearch)的研究一直是搜索引擎研究的一个热点。它是这样一种搜索引擎系统,对用户提交的查询请求通过多个领域或门户搜索引擎搜索,并将结果整合后以统一的界面提交个用户。一般元搜索引擎并不保存Web页面的索引文件,但对于一些复杂的元搜索引擎,它要保存为它服务的每个搜索引擎的信息特征,以便能够在用户查询到来后做出好的搜索引擎选择。作为搜索引擎先头部队的信息采集器,在元搜索引擎中有相当的退化,但仍为Web采集的一个方向,叫做基于元搜索的信息采集(MetaCrawler)

美国Binghamton大学的研究者围绕一个元搜索引擎技术的难点:数据库选择问题进行了研究[Zonghuan Wu  2001],并提出了一个解决上述问题的新方法。因为要借用其它搜索引擎的索引数据,所以叫做数据库选择。他们的方法是:就每个有代表性的问题对大量的领域搜索引擎排序,这有点像建立索引时的倒排表。当一个检索词来了后,通过相似度比较选择一个最接近的代表性问题,进而确定了要选用的搜索引擎。

美国华盛顿大学在Metasearch方面的研究在[Selberg&Etzioni 1997]有详细的说明。作者认为,大多数搜索引擎对于同一个查询要求返回的结果很不相同,质量也参差不齐。试验发现,使用单独一个搜索引擎错过大约77%的相关页面[Selberg&Etzioni 1995]。所以,他们力图在提高查全率的同时,也力争利用单个搜索引擎在某一领域的优势提高平均查准率。

3.8 小结

随着人们对Web服务的种类和质量要求越来越强烈,各种各样的信息采集系统也应运而生,并朝前不断发展。最初,人们希望能够设计出既大而全又质量好的信息采集系统(即基于整个Web的信息采集),这显然是一个非常困难的问题,因为两方面都要求必然造成两方面都不能做得很好。人们经过不断的努力和探索,从最初的Web Worm到现在的Google,从基于词的语义信息理解到Web链接结构信息挖掘,发展到了今天已经取得了令人瞩目的进步,优秀的基于整个Web的采集器以及相关的搜索引擎,已经在很多方面为人们利用Web信息提供了大量帮助。然而,随着人们对Web服务的种类和质量要求越来越高,基于整个Web的信息采集也越来越显得力不从心,一方面它们不得不为越来越庞大的数据提高采集速度、增加存储空间、优化采集算法,而一方面又越来越不能满足用户对个性化数据的需求,人们需要寻找新的出路。目前采用的基于词的语义信息理解显然不能准确把握整个文章的语义,而要上升到对句子甚至段落信息的理解却还有待于自然语言理解的大发展,现在这一方面困难重重;基于已有结构信息的挖掘(例如GooglePagerank算法)也已基本达到饱和,很难有新的算法达到较大突破;而对于纷乱的Web制定新的标准,减少不确定性以提高性能,这一方面的发展也不能寄予过高的期望;随着Web服务逐渐向基于主题以及用户个性化的方向迈进、Agent的技术发展、迁移式思想的出现,单纯的为了检索的信息采集技术必将向着基于主题以及个性化主动信息采集服务方向全方位拓展。因此,有必要开展基于主题的Web信息采集技术的研究。

posted on 2006-03-26 02:49  阿昆  阅读(1151)  评论(0编辑  收藏  举报