搜索引擎技术与发展综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工程技术 Computer CD Software and Applications 2012年第14期
— 24
— 搜索引擎技术与发展综述
孙宏,李戴维,董旭阳,季泽旭
(中国电子科技集团第十五研究所信息技术应用系统部,北京 100083)
摘 要:随着信息技术的飞速发展和互联网的广泛普及,信息检索技术越来越受到重视。阐述了搜索引擎的产生与发展,并对搜索引擎的核心技术、评价指标和工作原理进行了深入研究。介绍了一些著名的搜索引擎。在此基础上,对搜索引擎的发展方向进行了预测。
关键词:信息技术;信息检索;搜索引擎
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 14-0024-03
一、引言 信息技术如今迅速发展,Internet 也得到了广泛的普及,网络上的信息量正在以指数趋势上升。其信息来源分布广泛,种类繁多。如果不能对信息进行有序化管理,用户将很难从如此海量的信息中提取出他们需要的信息。目前,搜索引擎已经成为人们获取信息的主要手段之一。搜索引擎就是在繁琐复杂的互联网信息中通过特定的检索策略,对信息进行搜索与分类,通过分析用户提交的请求,按照用户的要求和习惯进行组织,从而达到用户快速检索特定信息的目的。目前搜索引擎提供的搜索方式主要有整句、主题词、自由词等等,用以适应不同用户的需求。
二、搜索引擎的产生与发展
蒙特利尔大学的Alan Emtage 实现了最初的搜索引擎,称为Archie 引擎,Archie 引擎可以在特定的网络中进行相关的信息检索。由于其工作原理与现代搜索引擎非常接近,我们通常认为他
开创了现代搜索引擎领域。搜索引擎的发展大致经历过了三代:
(1)第一代搜索引擎是1994年Michael Mauldin 将John Leavitt 的“网络爬虫”程序接入到其索引程序中的Lycos 。由于
结构和技术相对不成熟,它的搜索速度比较慢,更新速度也不能满足用户的检索要求。
(2)美国斯坦福大学的David Filo 和美籍华人杨致远合作开发成功了第二代搜索引擎,它创立了一些用户关心的目录,用户可以通过目录进行检索。
(3)Google 的正式推出标志着第三代搜索引擎的诞生。其集成了搜索、分类、多语言支持等功能,同时提供了摘要、排序、快照等功能,另外与强大的硬件系统配合,大大改变了互联网用户检索网络信息的方式。第三代搜索引擎主要结构如图-1所示。
查询接口的作用是用户进行交互,即提取用户的输入,并将检索结果返回。
检索器依据用户的需求,可以方便地索引库中查找相应的文档,按照相关度规则进行重排后返回。
索引器负责对文档建立索引,使文档以便于检索的方式重新组织。
分析器负责对收集器收集的信息进行分析和整理。
信息收集器的主要任务是对互联网上的各种信息进行收集,同时记录信息URL 地址(网络
爬虫完成这项工作)。
图1 搜索引擎结构图
三、搜索引擎的工作原理 搜索引擎不是搜索互联网,它搜索的是预先整理好的索引数据库;同样,搜索引擎也不能理解网页上的内容,它只能匹配网页上的文字。搜索引擎的工作流
程如图-2所示。
图2 搜索引擎的工作流程 搜索引擎的工作流程可主要分为四个步骤:通过网络爬虫(Spider )从互联网上根据相关算法(深度优先、广度优先)抓取网页,抓取网页后对网页中的信息进行加工,加工后将处理后的信息保存到索引数据库中。当用户在索引数据库中搜索查询相
关的信息资源时,搜索结果通过搜索引擎的处理后,对返回结果进行排序,展现给用户。即:
(1)利用网络爬虫从互联网上抓取网页:利网络爬虫,按照某种搜索策略,沿着URL 链接爬到其他网页,重复这些过程,并把所有爬过的网页抓取回来。
(2)建立索引数据库:对爬取到的网页进行分析,提取相关关键信息,得到每一个网页针对页面中文字及链接中每一个关键词的重要性,屏蔽掉不重要的词语后,用信息建立网页索引数据库。
(3)处理用户的查询请求:系统接收到用户要查询的关键字后,调用检索器进行搜索,并将返回的结果进行相关度排序,最后按照优先度降序的方式存储在返回结果集合中。
(4)将查询结果返回给用户:搜索结果以网页的形式将结果集中的返回给用户。方便用户查看。
按照上面的步骤就可以简单的架构一个搜索引擎系统供用户使用。目前有很多开源的搜索引擎产品已经完成了上述相关内容,使用者只需要进行相应的配置就可以使用,大大的简化了搜索引擎的开发。目前,比较流行的开源搜索引擎有Nutch 、Solr 等等。
四、搜索引擎的核心技术
搜索引擎的核心技术包括索引技术和检索技术。 (一)索引技术
顺序查找,即通过线性匹配文本进行查找是一种不使用索引进行检索的例子。它无需对文档中的信息进行预处理。这种检索方式在文本较大时检索速度会变得非常慢,通常情况下不使用这种检索方式。
2012年第14期 Computer CD Software and Applications 工程技术
— 25 —
一种解决方法是对文档进行预处理,在文档间建立一种便于检索的数据结构,把这种数据结构称为索引。常用的索引方式主要有三种:倒排索引、后缀数组索引和签名文件索引。倒排索引的运用最为广泛。
倒排文件的索引机制是一种面向单词的机制,它可以极大地提高检索速度。倒排文件数据结构由词汇和出现情况组成。对于文档中的每个单词,都有一个列表来记录单词在所有文本中出现的位置(位置可以是单词的位置,也可以是字符的位置)。倒排索引技术对关键字的检索非常有效。倒排索引将文本看成单词的序列,所以当使用倒排索引解决如短语查询的复杂查询时,需要花费较高的代价。使用后缀数组结构可以有效地解决这些复杂查询,但它的生成过程比较复杂,所以应用情况不如倒排文件使用的广泛。签名文档的方式目前已经不被使用,故不做相关的介绍。
(二)检索技术
常见的信息检索模型根据查找信息的实现方式不同分为:布尔模型、向量空间模型、概率论模型和神经网络模型等等。其中布尔模型比较广泛,在实验环境中向量空间模型最为流行,下文将主要对布尔模型和向量空间模型进行介绍。
1.布尔模型
在布尔模型中,文档通过来自一个词典的一个关键词条的集合来表示。通过看文档中的词条是否满足查询的条件来进行查询与文档的匹配过程。查询由一些逻辑操作符号(如AND 、OR 和NOT )连接起来的关键词组成的。布尔模型目前被广泛的应用在商用信息获取系统中。它有很多优点,如实现容易、计算代价相对较少、查询语言容易表达等等,但是,它存在三个方面的缺点:
(1)布尔模型操作符的使用方法较难掌握,因此对于搜索引擎的初学者来说很难将一个查询公式化;
(2)查询串中不能说明关键词的相对重要性; (3)很难将文档进行相关性来排序。 2.向量空间模型
在向量空间模型用向量表示信息库中的文本以及用户的查询。文档向量是一个n 元组,其中的每个坐标都通过对应关键词的权重表示。权重越大,则相应关键词对于该文档来说越重要。查询向量与文档向量相似,查询向量中的权重表示对应关键词对于用户来说的重要程度。
向量模型的优点如下:
(1)向量模型可以对查询向量中关键词权重的赋值; (2)向量模型可以对文档进行相关度排序; (3)向量模型比布尔模型的准确度高。 然而,向量模型也有一些缺点:
(1)向量模型中,关键词是被假设为相互独立的,而实际上一个文档中的关键词可能存在一定的联系;
(2)查询中,不能像布尔模型一样使用关键词之间的逻辑关系。
五、搜索引擎的评价指标
目前,互联网上存在很多搜索引擎。所以,若对一个搜索引擎的优劣进行评价十分具有意义。兰卡斯特和费恩于1973年提出了5项评价指标来衡量信息检索系统的性能,它们分别是:查准率、覆盖范围、查全率、用户负担、响应时间和检索结果输出格
式。这些评价指标对于衡量一个搜索引擎的性能具有很大的指导作用。此外还可以从下述几方面进行评价:死链比率、索引数据库更新频率、数据库的规模和内容、用户界面等等。目前,查准率、查全率、死链比率、响应时间、索引库更新频率是评价一个搜索引擎优劣的最通用的5个性能指标是。
(1)查准率:查准率是搜索结果中与关键字有关的信息量与检索结果的全部信息量的比值。实际应用中,查准率不太容易确定。原因是可能用户为了查找某一特定信息或类似信息而输入一个关键词,所以一般情况下只要检索到的关键词的意义与用户输入相近,就认为查准率满足精度要求。
(2)查全率:查全率的定义是搜索引擎查询到的结果中的有关信息数量和搜索引擎数据库中有关信息数量的比值。如果一个搜索引擎的查全率很低,由于用户通过这种搜索引擎查询到的信息量太少,导致其没有太大的使用价值,即用户很难得到真正有用的信息。
(3)死链比率:使用搜索引擎搜索时,永远无法获取的结果我们称之为死链接,搜索引擎没有及时更新索引数据库是造成死链接的主要原因。
(4)响应时间:响应时间指用户输入检索请求到搜索引擎返回检索结果的时间间隔。在用户选择搜索引擎时,首先考虑的是搜索引擎本身的响应速度,如:一个查全率和查准率都很高的搜索引擎,如果其响应速度非常慢,则用户显然不会选择。响应时间在很大程度上也受到外界因素的影响,如网络状况等。因此,在对比不同搜索引擎的响应时间时,必须在相同的时间,相同的软硬件条件及相同的检索请求下进行。
(5)索引库更新频率:索引库更新频率指的是搜索引擎索引数据库更新周期的长短。用户能否及时获得较新的信息直接受到搜索引擎索引数据库更新频率的影响,所以这项指标尤为重要。
六、著名的搜索引擎介绍
搜索引擎自1994年出现发展至今,已取得了长足的进步,信息检索工具、搜索引擎也是层出不穷,下面将简要介绍一些著名的搜索引擎。
(1)Google :Google 是全球最大的机器搜索引擎, Google 每天提供 2 亿次查询服务,占全球搜索引擎查询市场份额的29.2 %,无可争议的世界第一; Google 通过对80多亿网页进行整理,为世界各地的用户提供适需的搜索结果,而且搜索时间通常不到半秒。
(2)Lycos :Lycos 作为全世界最早的搜索引擎之一。每月以 3700 万次的独立访问排名第 5大用户最常访问的网站。调查得知,Lycos 主要搜索结果来自于 Alltheweb 。
(3)AltaVista :AltaVista 是全世界功能最完善,搜索精度较高的全文搜索引擎之一。目前, AltaVista 数据库已存有超过 12 亿个 Web 文件,并且经过升级,其搜索精度已达业界领先水平。不过该搜索引擎已于2003年被Y ahoo 收购。
(4)百度:百度一直是全球最大的中文搜索引擎,一直占据着搜索引擎市场的半壁江山。随着Google 在中国市场的持续挺进和战略调整,以及其他搜索引擎(如雅虎中国、网易有道、新浪爱问、腾讯搜搜、中搜等)的异军突起,百度维持目前的优势压力越来越大。