1产生背景和功能
1993年以前,多数WWW用户采用的查找方法是从一个WWW服务器中的某一个URL开始,沿其中的超链(Hyperlink)连接到其它URL。但由于世界上的WWW服务站点数量非常多,所以由手工进行查找是既费时又费力,需要大量的人力来进行搜集、排序、编成HTML文件并进行维护,该方法速度很慢,并且更新周期长。1994年出现了所谓的Robot或称Spider,它们的功能是自动在Web上按某种策略进行远程数据的搜索与获取,并生成本地索引。由于不需要人的介入,可以自动地在网络中穿梭,速度、覆盖面和及时性大大提高。
Robot自动搜集和索引系统,不需要多余的人力参与。这种系统最大的特点是使用索引策略,由软件程序自动进行数据收集和索引,查找网站和网页的次序,而不是手工收集和索引。也就是说Robot自动在Internet上搜寻WWW、gopher和ftp等站点资源,返回相应数据并对它建立索引,产生一个数据库。Robot是一种计算机的程序,该程序最重要的功能是使用索引策略,用题目、URL、关键词进行索引,也可以是这几项的某种组合检索。
2原理和实现
Robot是一个能够沿着链接漫游Web文档集合的程序。它一般驻留在服务器上,通过给定的一些URL,它能够利用像HTTP这样的标准协议读取相应文档,然后以文档中包括的所有新的(未访问过的)URL作为新的起点,继续进行漫游,直到没有满足条件的新URL为止。因此,用户只要提供一个URL,Robot就能够追溯并发现所有从该URL直接或间接可达的文档,并为之建立索引。基于Robot的搜索引擎一般要定期访问大多数以前搜集的网页,刷新索引,以反映出网页的更新情况,去除一些死链接,网页的部分内容和变化情况将会反映到用户查询的结果中,这是基于Robot的搜索引擎的一个重要特征。
这类搜索引擎的代表是:AltaVista、Northern Light、Excite、Infoseek、Inktomi、FAST、Lycos、Google。国内的代表为:天网、悠游、OpenFind等。它的工作原理通常是:首先是由自动搜索软件Robot访问一个站点,并通过其中的链接阅读该站点的页面(一般到三级页面),然后将获得的站点信息形成一个巨大的网页信息库以备用户查询。当用户通过查询内容提出检索要求时,该软件就会在其数据库中找到相关内容,然后按照既定规则进行排序。各个搜索引擎的排序规则是不尽相同的,特别是站点的内容与查询词的关联程度。那么,搜索引擎又是如何确定一个站点内容的呢?自动搜索软件访问一个站点时,通常会进行以下工作:从网页标题中检索关键词;从网页Meta标签中检索关键词和描述字段;从网页正文,尤其是正文前250个字中计算检索词出现的次数。搜索引擎根据以上结果来决定一个站点的内容与查询词的关联程度。关键词或检索词出现的次数越多,则该网页与检索要求的相关度越高,在搜索引擎中的排名就越靠前。由于Internet的数据量大,在现有的机器和网络条件下,搜索引擎只能对部分Internet上的资料进行采集;加上搜索的索引策略不同,所以相同关键词的搜索在不同的搜索器上可以有截然不同的结果。
如果把整个Internet看作是一个图或一棵树的话,可以发现Robot技术的基本工作原理和人工智能中的搜索树一样,在计算机中可以方便地使用递归方法实现:(1)根据首页进行搜索,相当于搜索树的根;(2)根据首页的第1个链接到下一个页面;(3)重复(1)和(2);(4)到某页已经没有链接,回退上一级页面的下一个链接,如此循环往复。但若要建立全面的索引数据库,必须对WWW系统进行遍历。总之,Robot可以系统地、周期性地访问WWW,从而建立较为全面的索引库,并能保持对库的不断更新。在遍历的过程中,为了提高其效率,可以融入人工智能的方法使其变得智能化,使搜索引擎越来越贴近用户。
3特点和存在问题
由于Robot能够快速地、周期性地浏览Web,获取最新的信息,所以基于Robot的资源发现工具一般都可以建立并维持较大规模的索引数据库。其优点是信息量大、更新及时、毋需人工干预,缺点是返回信息过多,有很多无关信息,用户必须从结果中进行筛选。能自动从互联网上收集网页的数据并充实到本地数据库中,定期检查网页是否更新或链接是否失效,同时需要比较哪些是重复信息,互联网上互相转载的内容相当多,重复信息也很多,识别它们需要经过很多处理,另外变化无穷的动态网页还会对其运行产生影响等等。而传统的数据搜索只是搜索自身数据库的内容,或者用户登记到数据库的信息,信息量太少。例如,Alta Vista的索引数据库包含3100万个Web页,Excite则包含约5000万个Web页,Lycos有近7000万个URL索引,等等。这些工具因为拥有大量的网页信息,因而在实际应用中很受欢迎。
Robot作为一个程序,可以运行在Unix、Solaris、Windows、NT、OS2和MAC等平台上。然而Robot设计是否合理将直接影响它访问Web的效率,影响搜索数据库的质量。另外,在设计Robot时还必须考虑它对网络和被访问站点的影响,因为Robot一般都运行在速度快、带宽高的主机上,如果它快速访问一个速度比较慢的目标站点,就有可能会导致该站点出现阻塞甚至停机。Robot还应遵守一些协议,以便被访问站点的管理员能够确定哪些内容能被访问,哪些不能。
Robot软件是WebRD获取数据的主要工作方式,虽然目前应用较广,但存在的问题也是比较多的。首先,Robot频繁地访问各个Web站点,会给网络和被访问的Web服务器带来较大的负担;其次,Robot不加区分地搜寻所有可达的文档,并为之建立索引,常常使索引数据库变得十分臃肿;第三,信息搜寻算法的选取、设计问题,会直接影响到搜集引擎的工作效率;第四,基于Robot的搜索引擎必须随着Internet的发展不断扩大自己的网页数据库,由此会产生很多技术难题,例如怎样及时地获取新网页和刷新数据库,当数据库增大之后如何保证查询效率不会明显降低。目前要解决这些问题还没有一个切实可行的办法,只能依赖于设计合理的并行处理技术。如果仅仅是从远程获得数据,实现一个Robot并不很难。但由于每个Robot都是与一定的索引和检索技术相联系的,所以它必须要能与其它模块相配合工作。因而在实现时要考虑很多相关技术,如HTTP协议、HTML语言、分词技术、数据的存储、公共网关接口CGI等。其中HTTP、HTML是实现Robot的最基本的关键技术。对它们的研究和实现将大大提高信息发现和检索系统的性能,增加用户查询的命中率,提高网上信息资源的利用率。
参考文献
1 赵丹群.基于Web资源发现工具的技术分析.情报学报,1999(2)
2 车雪松.因特网上的导航技术.黑龙江通信技术, 1999(3)
3 许龙飞.基于Web的数据库技术与应用.现代计算机,2000(2)
4 张开舟等.万维网信息检索系统开发技术.情报学报,2000(2)
(感谢您的纠错,责任编辑:李香 2009-06-15)
来源:中国信息导报