|
搜索引擎技术正成为计算机工业界和学术界争相研究、开发的对象。 搜索引擎(Search Engine)是随着WEB信息的迅速增加,从1995年开始逐渐发展起来的技术。 搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务. 搜索引擎系统可以分为三大类: 目录式搜索引擎; 机器人搜索引擎; 元搜索引擎. 我们可以用衡量传统信息检索系统的性能参数-召回率(Recall)和精度(Pricision)衡量一个搜索引擎的性能。 召回率是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统(搜索引擎)的查全率; 精度是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统(搜索引擎)的查准率。 影响一个搜索引擎系统性能有很多因素,最主要的是信息检索模型,包括文档和查询的表示方法、评价文档和用户查询相关性的匹配策略、查询结果的排序方法和用户进行相关度反馈的机制. 一个搜索引擎由搜索器、索引器、检索器和用户接口等四个部分组成。 搜索器的功能是在互联网中漫游,发现和搜集信息。它常常是一个计算机程序,日夜不停地运行。 搜索器两种搜集信息的策略:
从一个起始URL集合开始,顺着这些URL中的超链(Hyperlink),以宽度优先、深度优先或启发式方式循环地在互联网中发现信息。起始URL常常是一些非常流行、包含很多链接的站点(如Yahoo!)。 将Web空间按照域名、IP地址或国家域名划分,每个搜索器负责一个子空间的穷尽搜索。 搜索器搜集的信息类型包括HTML、XML、Newsgroup文章、FTP文件、字处理文档、多媒体信息。 搜索器的实现常常用分布式、并行计算技术;商业搜索引擎的信息发现可以达到每天几百万网页。 索引器的功能是理解搜索器所搜索的信息,从中抽取出索引项,用于表示文档以及生成文档库的索引表。 索引项有客观索引项和内容索引项两种. 客观项与文档的语意内容无关,如作者名、URL、更新时间、编码、长度、链接流行度(Link Popularity)等等. 内容索引项是用来反映文档内容的,如关键词及其权重、短语、单字等等。 内容索引项可以分为单索引项和多索引项(或称短语索引项)两种。 在搜索引擎中,一般要给单索引项赋与一个权值,以表示该索引项对文档的区分度,同时用来计算查询结果的相关度。 搜索引擎
给单索引项赋与权值使用的方法一般有统计法、信息论法和概率法。 给短语索引项赋与权值使用的方法的有统计法、概率法和语言学法。 索引表一般使用某种形式的倒排表(Inversion List),即由索引项查找相应的文档。索引表也可能要记录索引项在文档中出现的位置,以便检索器计算索引项之间的相邻或接近关系(proximity)。 索引器使用集中式索引算法或分布式索引算法。 索引算法对索引器的性能(如大规模峰值查询时的响应速度)有很大的影响。一个搜索引擎的有效性在很大程度上取决于索引的质量. 检索器的功能是根据用户的查询在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并实现某种用户相关性反馈机制。 检索器常用四种信息检索模型:集合理论模型、代数模型、概率模型和混合模型。 用户接口的作用是输入用户查询、显示查询结果、提供用户相关性反馈机制。 用户接口的设计和实现使用人机交互的理论和方法,以充分适应人类的思维习惯。 用户接口可以让用户对查询进行限制,如逻辑运算(与、或、非; 、-)、相近关系(相邻、NEAR)、域名范围(如.edu、.com)、出现位置(如标题、内容)、信息时间、长度等等。目前一些公司和机构正在考虑制定查询选项的标准。 搜索引擎的各个组成部分,除了用户接口之外,都可以进行分布:搜索器可以在多台机器上相互合作、相互分工进行信息发现,以提高信息发现和更新速度;索引器可以将索引分布在不同的机器上,以减小索引对机器的要求;检索器可以在不同的机器上进行文档的并行检索,以提高检索的速度和性能。
|