搜索引擎发展综述

  搜索引擎发展综述
李锐 lirui@nic.ac.cn
(中科院计算技术研究所 北京 100080)


摘要:本文简述了搜索引擎的起源和发展,介绍了国内外的研究现状,对其分类、性能评测、关键技术等方面做了一定的讨论,在此基础上对其发展趋势作了大胆的预测。
关键词:搜索引擎;Web挖掘;信息检索


Internet自诞生以来不断成长,其内容不断丰富,整个网络逐渐堆积成一个前所未有的超大型信息库。Internet作为一个信息平台在人们的日常生活和工作中发挥着越来越重要的作用,人们越来越多地通过Internet获取信息。在互联网发展初期,网站相对较少,网页数量亦较少,因而信息查找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,以至于迷失在信息的海洋中不知所措,出现了我们所说的"信息丰富,知识贫乏"的奇怪现象。搜索引擎正是为了解决这个"迷航"问题而出现的技术。
搜索引擎(Search Engine简称SE)是一个信息处理系统,它以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的,一般包括信息搜集、信息整理和用户查询三部分。从用户的角度来看,它就是一个帮助人们进行信息检索的工具。


1. 发展回眸

现代意义上的搜索引擎的祖先,是1990年由美国蒙特利尔大学的学生 Alan Emtage等人发明的Archie。Archie是第一个自动索引互联网上匿名FTP网站文件的程序,但它还不是真正的搜索引擎。Archie是一个可搜索的FTP文件名列表,用户必须输入精确的文件名搜索,然后Archie会告诉用户哪一个FTP地址可以下载该文件。
 由于专门用于检索信息的Robot程序像蜘蛛(spider)一样在网络间爬来爬去,因此,搜索引擎的Robot程序被称为spider(Spider FAQ)程序。世界上第一个Spider程序,是MIT Matthew Gray的World wide Web Wanderer,用于追踪互联网发展规模。刚开始它只用来统计互联网上的服务器数量,后来则发展为也能够捕获网址(URL)。
真正意义上的搜索引擎出现于1994年7月。当时Michael Mauldin将John Leavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycos。同年4月,Stanford大学的两名博士生,David Filo和美籍华人杨致远(Jerry Yang)共同创办了超级目录索引Yahoo,并成功地使搜索引擎的概念深入人心,Yahoo也被称为第一代搜索引擎。从此搜索引擎的发展也进入了黄金时代。1998年9月,同样是Stanford大学两位博士生Larry Page和Sergey Brin在风险投资公司的资助下,成功开发了新一代搜索引擎——Google。它具有比Yahoo先前使用的技术更快、更准确搜索到所需信息的特点,被视为第二代搜索引擎的代表。现在Internet 上已有数千个能提供检索服务的站点,这些站点的搜索引擎在收录的范围、内容、检索方法上都各有不同,采用的技术也各具特色。比较著名的有Google,Yahoo,AltaVista,Dogpile,百度等。 
目前,搜索引擎的研究、开发十分活跃,各大搜索引擎公司都在投巨资研制搜索引擎系统,同时也不断地涌现出新的具有鲜明特色的搜索引擎产品,搜索引擎已经成为信息领域的产业之一。它要用到了信息检索、人工智能、数据库、数据挖掘、自然语言理解等领域的理论和技术,具有综合性和挑战性。又由于搜索引擎有大量的用户,由此衍射出许多商机,具有很好的经济价值。根据iResearch艾瑞市场咨询《2003年中国搜索引擎研究报告》的研究数据显示,中国的搜索引擎市场2003年达到了5.2亿元人民币,比2002年的2.3亿一年增长了127%,显示了搜索引擎市场的强劲增长;雅虎表示未来5年全球搜索市场将由今年的30亿美元增长至110亿美元。搜索引擎作为连接互联网的一座桥梁,越来越受到人们的重视,亦引起了世界各国计算机科学界、信息产业界和商界的高度关注,已投入了不少的人力、物力,也取得了不俗的成绩。


2. 分类

搜索引擎依其所用技术原理,主要可以分为以下三类:
2.1. 目录式搜索引擎:以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息摘要,并将信息置于事先确定的分类框架中。信息大多面向网站,提供目录浏览服务和直接检索服务。该类搜索引擎因为加入了人的智能,所以信息准确、导航质量高,缺点是需要人工介入、维护量大、信息量少、信息更新不及时。典型代表是:Yahoo(现已采用Robot技术)、LookSmart、Open Directory等。
2.2. 基于Robot搜索引擎:基于Robot 的搜索引擎多提供对全文的检索,有时也叫做全文搜索引擎(Full Text)。通过Robot程序从互联网上搜集信息而建立索引数据库,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。这类搜索引擎的代表是:Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等;国内代表为:百度(Baidu),"天网"、OpenFind等。
2.3. 元搜索引擎:这类搜索引擎没有自己的数据库,而是将用户的查询请求同时向多个搜索引擎递交,将返回的结果进行去重、排序等处理后,作为自己的结果返回给用户。服务方式为面向网页的全文检索。这类搜索引擎的优点是返回结果的信息量更大、更全,缺点是不能够充分使用所使用搜索引擎的功能,用户需要做更多的筛选。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等(元搜索引擎列表),中文元搜索引擎中具代表性的有搜星搜索引擎。
除上述三大类引擎外,还有以下几种非主流形式:集合式搜索引擎、门户搜索引擎:如AOL Search、MSN Search等、免费链接列表(Free For All Links,简称FFA)等。 


3. 性能指标

搜索引擎是一种互联网信息检索工具,因此对其性能评价可以参考传统型文献检索工具的质量评价标准,结合搜索引擎在信息组织加工及检索服务提供方式等内容进行;又因为它直接跟踪网络信息并面向网络信息用户,对它的评价因该立足于用户的利益立场。通俗地讲,能令大多数网络用户满意的搜索引擎就是一个好的搜索引擎。
通常情况下,我们可以从以下几个方面来衡量一个搜索引擎的性能:
3.1. 召回率(Recall):又称查全率,指搜索引擎提供的检索结果中相关信息文档数与网络信息中存在的相关信息文档数之比, 因检索结果是在对检索需求与搜索引擎的索引数据库中的文档进行匹配后的文档集合, 这一指标也是搜索引擎对网络信息覆盖率的真实反映。
3.2. 精度(Precision):又称查准率,是搜索引擎提供的检索结果与用户信息需求的匹配程度, 也是检索结果中有效信息的文档数与搜索引擎提供的全部文档数之比。
3.3. 检索速度:又称响应时间,检索速度一般而言取决于两个因素, 即与带宽有关的网络速度及搜索引擎本身的速度, 只有在二者均获得可靠的技术支持的情况下, 才能保证理想的检索速度。
  对于一个检索系统来讲,召回率和精度很难做到两全其美:召回率高时,精度低;精度高时,召回率低。对于搜索引擎系统来讲,因为没有一个搜索引擎系统能够覆盖所有的网络资源,所以召回率很难计算。目前的搜索引擎系统都非常关心精度。对于上面的衡量方法,有其不足之处,还有其他方面的因素没能考虑,在文献[7]中以用户为导向运用层次分析法建立一个分析模型,文献[8]中提出了一些较好的衡量方法。影响一个搜索引擎系统的性能有很多因素,最主要的是信息检索模型,包括文档和查询的表示方法、评价文档和用户查询相关性的匹配策略、查询结果的排序方法和用户进行相关度反馈的机制。
另外,我们可以从对搜索引擎的功能要求角度对它进行评价。在笔者看来,一个理想的搜索引擎系统应该具备以下功能要求:
① 涵盖较多的互联网资源,资源更新周期不是很长,对于某些特殊信息可以实时更新,这些是查全率的保障之一。
② 具备尽可能多的可选择功能,如资源类型(网站、网页、新闻、软件、FTP、MP3、Flash、图像、影视等)选择、等待时间控制、返回结果数量控制、结果时段选择、过滤功能选择、结果显示方式选择等。
③ 强大的检索请求处理功能(如支持逻辑匹配检索、短语检索、自然语言检索等)。
④ 详尽全面的检索结果信息描述(如网页名称、URL、文摘、结果与用户检索需求的相关度等)。
⑤ 支持多种语言检索,比如提供中英文搜索等。
⑥ 可对结果进行自动分类,如按照域名、国别、资源类型、区域等进行分类整理。
⑦ 可以针对不同用户提供个性化服务。


4. 原理和关键技术

当今搜索引擎的主流是基于Robot的网页搜索系统,本文主要叙述这方面的技术。搜索引擎的原理,可以看作三步:从互联网上抓取网页 → 建立索引数据库 → 在索引数据库中搜索排序。
① 从互联网上发现、搜集有用网页信息
利用高性能的Spider程序去自动地在互联网中搜索信息。一个典型的"网洛蜘蛛"工作的方式,是查看一个页面,并从中找到相关信息,然后它再从该页面的所有URL中出发,爬行到相关页面,重复这过程,直到把爬过的所有网页都收集回来。搜索引擎的Spider一般要定期重新访问所有网页,更新网页索引数据库,以反映出网页文字的更新情况。
② 将收集到的信息进行分类整理,建立索引数据库
由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的所有关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面文字中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。
③ 用户检索过程
当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好,所以只需按照现成的相关度数值排序,相关度越高,排名越靠前。最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
上面简述了搜索引擎的工作原理,从这里不难看出搜索引擎的基本构成:搜索器、索引器、检索器和用户接口等。下面介绍几种与之相关的关键技术:
① Robot技术,网络机器人Robot(通常也称为网络蜘蛛Spider、爬行者Crawler等)可以用在针对互联网的数据统计、数据搜索、链接维护等方面。搜索引擎中的网络机器人主要完成两个功能,即分析、获取互联网的链接和读取各链接所对应的网页内容。Robot 从一个事先制定好的URLs列表出发, 在访问了一个网页后,会对它进行分析,提取出新的URLs ,将之加入到访问列表中,如此递归地访问Web。Robot 设计是否合理将直接影响它访问Web 的效率,影响搜索数据库的质量。Robot的实现常用分布式、并行计算技术,以提高信息发现和更新的速度。
② 索引技术,Robot采集回来的文档信息要被用来建立索引数据库。索引的建立方法对搜索引擎来说具有很大的影响,好的索引能提高搜索引擎系统运行的效率以及检索结果的质量。可以说索引技术是搜索引擎中的核心技术, 是搜索技术高低的集中体现。其中很重要的是文本分析技术,这是索引器的主要支撑技术。文本分析所研究的内容包括提取索引项、自动摘要、自动分类器、文本聚类等。文本分析所依据的主要是文本中所包含的词汇、超文本标记和超链接。
 ③ 信息检索和排序技术,搜索的最终目的是获取需要的信息,在大量的信息中进行查找是很讨厌的一件事情,很难做到令人满意。即使是在现实生活中,面对一大堆自己辛辛苦苦找来的资料时,你往往会发现并不是所有的资料都有用。目前搜索引擎所实现的只是通常意义上的相关信息搜索。常用的相关信息查找方法有相似性函数法、归类(组)法等。在这一研究领域有两种比较有影响的方法,就是Page Rank方法和Authority and Hub方法。这两种方法都是利用页面中的链接来对文档的重要性进行判断。
④ 用户接口设计,用户接口的作用是输入用户查询、显示查询结果、提供用户相关性反馈机制。主要的目的是方便用户使用搜索引擎,高效率、多方式地从搜索引擎中得到有效、及时的信息。用户接口的设计和实现使用人机交互的理论和方法,以充分适应人类的思维习惯。一般搜索引擎都提供基本检索和高级检索两个接口。基本检索接口只提供用户输入关键字的文本框,有的可以在这里输入一些复杂的查询表达式,不过这个只适用于那些搜索专家;高级检索接口可以让用户对查询进行限制,如逻辑运算(与、或、非)、相近关系(相邻、NEAR)、域名范围(如.edu、.com)、出现位置(如标题、内容)、信息时间、长度等等。


5. 发展趋势

经过了多年的发展之后,现在的搜索引擎功能越来越强大,提供的服务也越来越全面据。研究者统计, 目前互联网上的搜索引擎已达数千种, 仅中文搜索引擎就达上百种,可谓是百花争艳。然而随着WWW信息的急剧增加,目前的搜索引擎存在界面不够友好、响应时间长、死链接过多、结果中重复信息及不相关信息过多等问题,难以满足人们的各种信息需求,搜索引擎将向智能化、个性化、精确化、专业化、交叉语言检索、多媒体检索等适应不同用户需求的方向发展。
5.1. 智能化的搜索引擎:它是未来搜索引擎的发展方向,被称作是"第三代搜索引擎",在这方面中国搜索走在了前面,已经推出了此类搜索引擎供用户试用。搜索引擎的智能化体现在两方面:一是对搜索请求的理解,二是对网页内容的分析。它利用智能代理技术对用户的查询计划、意图、兴趣方向进行推理,自动进行信息搜集过滤,自动地将用户感兴趣的、对用户有用的信息提交给用户。这其中也包含了对服务多项化、个性化,结果精确化,交叉语言检索等方面的功能。
5.2. 重视查询结果的精度,提高检索的有效性:解决查询结果过多的现象目前有以下几种方法:a) 构建基于内容的搜索引擎。基于内容的搜索不是根据字形,而是试图理解用户的请求,同时根据文档的内容选出符合用户要求的文档。即通过各种方法获得用户没有在查询语句中表达出来的真正用途,实现自然语言的智能查询功能。当前比较成熟的解决方案是依靠语义网络、汉语分词、句法分析、处理同义词等中文信息处理技术最大程度地了解用户需求。b) 将用户提问转化为系统已知的问题,然后对已知问题进行解答,以求降低对自然语言理解技术的依赖性。c) 用正文分类技术将结果分类,使用可视化技术显示分类结构,用户可以只浏览自己感兴趣的类别。d) 进行站点类聚或内容类聚,减少信息的总量。e)让用户对返回结果进行选择,进行二次查询是一种非常有效的手段。
5.3. 实现交叉语言的检索:搜索引擎对多种语言的数据库进行交叉语言信息检索,返回能够回答用户问题的所有语言的文档。若配上机器翻译,就可使返回结果以用户熟悉的语言显示。虽然该技术目前还处于初步研究阶段,其难点在于语言之间在表达方式和语义对应上的不确定性,但其确是发展方向。
5.4. 提供对自然语言检索的支持:为了提高搜索引擎对用户检索提问的理解,就必须有一个好的检索提问语言,为了克服关键词检索和目录查询的缺点,现在已经出现了自然语言智能答询。如Google有专用于回答问题的Google Answer,微软有AnswerBot等。用户可以输入简单的疑问句,比如"how can kill virus of computer?"。搜索引擎在对提问进行结构和内容的分析之后,或直接给出提问的答案,或引导用户从几个可选择的问题中进行再选择。自然语言的优势在于,一是使网络交流更加人性化,二是使查询变得更加方便、直接、有效。就以上面的例子来讲,如果用关键词查询,多半人会用"virus"这个词来检索,结果中必然会包括各类病毒的介绍、病毒是怎样产生的等等许多无效信息,而用"how can kill virus of computer?",搜索引擎会将怎样杀病毒的信息提供给用户,提高了检索效率。
5.5. 多媒体搜索引擎:网络资源丰富多彩,具有很多类型的信息,用户需要的信息也不完全是网页的形式,从用户的角度来看,必然要求搜索引擎能够覆盖更多的网络资源。现在有很多搜索引擎已经提供了网页、新闻、图片、音乐等资源搜索,当然范围还可以更广,再如可以搜索新闻组、软件、FTP、Flash、论文等等。
5.6. 专业化搜索引擎:是为了专门收录某一行业、某一学科、某一主题和某一地区的信息而建立,非常实用,如有商务查询、企业查询、人名查询、电子邮件地址查询和招聘信息查询等等。这种专业化的搜索引擎是将来的方向之一。
5.7. 桌面型搜索引擎:这类引擎实际上是一个软件,下载安装后放在电脑桌面上,用户不用频繁打开浏览器,而是直接通过只要通过它就能完全实现搜索过程,更甚者它可以同时搜索本地、局域网和互联网上的信息。它完全越过传统的搜索模式,越过浏览器,真正实现让搜索无处不在。搜索引擎脱离浏览器是一个发展趋势,Google、Yahoo等都有计划地推出属于自己的桌面型搜索软件,而微软同样打算把搜索设计到桌面上。国内有中国搜索推出的"网络猪"软件可用。
 此外还有一些其它值得注意的技术发展,如元搜索引擎,移动代理和XML技术,语音检索技术等。随着技术的不断发展进步,搜索引擎将会成为一个人们网际遨游的好帮手。


6. 参考文献

[1] 李晓明,刘建国  搜索引擎技术及趋势
[2] 搜索引擎直通车  搜索引擎发展史 http://www.se-express.com/about/about.htm
[3] 博客中国  前生今世——搜索引擎发展史http://www.blogchina.com/new/source/130.html
[4] 庄毅,黎浩宏 引擎技术现状及发展动向 计算机时代 2002年第8期
[5] 王红梅,朱洪秀,王凌 对中文搜索引擎未来发展的探讨 东北电力学院学报2001年12月第21卷第4期
[6] 张晓刚,李明树 智能搜索引擎技术的研究与发展 计算机工程与应用 2001年第24期
[7] 马彪,李恒 搜索引擎的性能评价 新世纪图书馆 2003年第6期
[8] 凤元杰,刘正春,王坚毅 搜索引擎主要性能评价指标体系研究 情报学报 2004年2月第23卷第1期
[9] 凌美秀 关于搜索引擎当前存在的主要问题及其发展趋势的探讨 高校图书馆工作 2001年第5期第21卷
[10] 蔡瑞平,钟哲释 搜索引擎的检索功能特征及技巧  图书与情报2003年4月
[11] 彭洪汇,林作铨 Internet上的搜索引擎和元搜索引擎 计算机科学2002 Vol. 29 No. 9
[12] 李远明 试析搜索引擎技术及其未来发展趋势 情报检索 2002 No.7
[13] 卢世光,丁方忠 搜索引擎使用技术回顾和发展趋势探讨 广东通信技术 2002 Vol.19 No.5

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值