错误博客( cuowu.com )发布于 2019-06-10 16:04:33

信息检索应用-搜索引擎

搜索引擎是信息检索技术在大规模文本集合上的实际应用。网络搜索引擎是一个明显的例子,但如前所述,搜索引擎有许多不同的应用,比如桌面搜索或企业搜索。搜索引擎的出现已经有很多年了,例如MEDLINE系统是在线医学文献搜索系统,从20世纪70年代开始兴起。“搜索引擎”一词原来是指为文本搜索服务的特殊的硬件。从20世纪80年代中期开始,在描述用来比较查询和文档并生成文档排序结果的软件系统时,逐渐更多地使用“搜索引擎”一词,而不是“信息检索系统”。关于搜索引擎的内容比排序算法当然要丰富得多,我们将在下一章讨论这些系统的一般结构。

为了满足不同应用的需求,搜索引擎被设计成各种不同的结构。网络搜索引擎,比如Yahoo,必须能够捕获,或者说爬取(crawl)T级的数据,并对每天收到的全世界数以百万计的查询提供亚秒级的响应时间。企业搜索引擎,比如Autonomy,必须能够处理一个公司内部不同类型的信息源,使用与公司有关的特殊知识作为搜索和相关任务(如数据挖掘(data mining))的一部分。数据挖掘指从数据中自动发现有趣的结构,也包括聚类(clustering)技术。桌面搜索引擎,比如微软的VistaTM搜索必须能够在人们制作和浏览新文档、网页和邮件时快速地合并,同时提供非常直观的界面来搜索这些非常异质的混合信息。

开源(open source)搜索引擎是另外一类重要的搜索系统,与商业搜索引擎有不同的设计目标。这样的系统很多,维基百科关于信息检索的页面有多个链接指向许多开源搜索引擎。三个特别有趣的系统是Lucene、Lemur和本书提供的Galago。Lucene是一个基于Java的流行的搜索引擎,它已经被用于大范围的商业应用中,其中使用的信息检索技术相对简单。Lemur是一个开源的工具包,包含基于Indri C++的搜索引擎,Lemur主要被信息检索研究者用来比较先进的搜索技术。Galago是一个基于Java的搜索引擎,它基于Lemur和Indri项目。本书的习题大量使用Galago。Calago的速度快、有自适应能力而且易于理解,它融合了非常有效的信息检索技术。

搜索引擎设计中的重要问题包括了信息检索中的各种问题:有效的排序算法、评价及用户交互。此外,在搜索引擎的部署过程中遇到的大规模数据的运行环境,还给搜索引擎带来了其他许多难题。这些难题中的首要问题是搜索引擎的性能,评价指标包括响应时间(response time)、查询吞吐量(query throughput)和索引速度(indexing speed)。响应时间是从发出一个查询请求到得到检索结果列表之间的延迟。吞吐量是在一个给定时间内能够处理的查询数量。索引速度是为文本文档编排索引以便用于搜索的速率。为搜索引擎服务的索引设计是本书的重要主题。

另一个重要的性能指标是把新数据合并到索引中的速度。搜索应用往往要处理动态持续变化的信息。覆盖率(coverage)衡量现存信息(比如在一个企业信息环境中)有多少被索引和存储在搜索引擎中。新近性(recency)或时新性(freshness)衡量所存信息的年龄(age)。

搜索引擎可以用在小规模数据集上,比如桌面上的几百封邮件和文档,也可以用于极大规模的数据集,比如整个互联网。对某个应用可能只有很少的一些用户,也可能有成千上万的用户。对搜索引擎来说,可扩充性(scalability)很明显是一个重要问题。面向一个特定应用的设计应该考虑到数据量和用户量的增长。在1.1节,我们介绍了搜索引擎是怎样用于多种应用和多种任务的,为了完成这些任务,搜索引擎必须是可定制的(customizable)或者说是自适应的(adaptable)。这意味着搜索引擎的许多功能,比如排序算法、界面或索引策略,能够为满足新的应用需要而调整和适应。

特殊应用也会影响搜索引擎的设计,最好的例子是网络搜索中的垃圾信息(spam)。垃圾信息一般被视为非所要的邮件,但更一般地可以被定义为,为某种商业利益而制作的文档中误导的、不合适的或不相关的信息。有许多类型的垃圾信息,但搜索引擎必须处理的一种类型是文档中的垃圾词,这些词导致该文档能够在搜索引擎响应一些热门查询时被检索出来。由于垃圾索引(spamdexing)显著地导致搜索引擎排序质量的降低,网络搜索引擎的设计者不得不开发能够识别和删除这些垃圾文档的技术。图1-1总结了搜索引擎设计中涉及的主要问题。

搜索引擎的设计

根据信息检索和搜索引擎关系的讨论,我们现在来考虑计算机科学家和其他人在搜索引擎设计和使用中所扮演的角色。


2020年错误博客亲测项目系列

错误教程( cuowu.com )专注网推培训、SEO培训和网赚培训,微信/电话:13722793092

关注微信公众号:第一时间获得错误博客最新教程,让我们一起成长!

公众号二维码