搜索技术简介(二)
(接上一页)
三、主要技术
一个搜索引擎由搜索器、索引器、检索器和用户接口等四个部分组成。
1. 搜索器
搜索器的功能是在互联网中漫游,发现和搜集信息。它常常是一个计算机程序,日夜不停地运行。它要尽可能多、尽可能快地搜集各种类型的新信息,同时因为互联网上的信息更新很快,所以还要定期更新已经搜集过的旧信息,以避免死连接和无效连接。目前有两种搜集信息的策略:
● 从一个起始 URL 集合开始,顺着这些 URL 中的超链( Hyperlink ),以宽度优先、深度优先或启发式方式循环地在互联网中发现信息。这些起始 URL 可以是任意的 URL ,但常常是一些非常流行、包含很多链接的站点(如 Yahoo !)。
● 将 Web 空间按照域名、 IP 地址或国家域名划分,每个搜索器负责一个子空间的穷尽搜索。
搜索器搜集的信息类型多种多样,包括 HTML 、 XML 、 Newsgroup 文章、 FTP 文件、字处理文档、多媒体信息。
搜索器的实现常常用分布式、并行计算技术,以提高信息发现和更新的速度。商业搜索引擎的信息发现可以达到每天几百万网页。
2. 索引器
索引器的功能是理解搜索器所搜索的信息,从中抽取出索引项,用于表示文档以及生成文档库的索引表。
索引项有客观索引项和内容索引项两种:客观项与文档的语意内容无关,如作者名、 URL 、更新时间、编码、长度、链接流行度( Link Popularity )等等;内容索引项是用来反映文档内容的,如关键词及其权重、短语、单字等等。内容索引项可以分为单索引项和多索引项(或称短语索引项)两种。单索引项对于英文来讲是英语单词,比较容易提取,因为单词之间有天然的分隔符(空格);对于中文等连续书写的语言,必须进行词语的切分。
在搜索引擎中,一般要给单索引项赋与一个权值,以表示该索引项对文档的区分度,同时用来计算查询结果的相关度。使用的方法一般有统计法、信息论法和概率法。短语索引项的提取方法有统计法、概率法和语言学法。
索引表一般使用某种形式的倒排表( Inversion List ),即由索引项查找相应的文档。索引表也可能要记录索引项在文档中出现的位置,以便检索器计算索引项之间的相邻或接近关系( proximity )。
索引器可以使用集中式索引算法或分布式索引算法。当数据量很大时,必须实现即时索引( Instant Indexing ),否则不能够跟上信息量急剧增加的速度。索引算法对索引器的性能(如大规模峰值查询时的响应速度)有很大的影响。一个搜索引擎的有效性在很大程度上取决于索引的质量
3. 检索器
检索器的功能是根据用户的查询在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并实现某种用户相关性反馈机制。
检索器常用的信息检索模型有集合理论模型、代数模型、概率模型和混合模型四种。
4. 用户接口
用户接口的作用是输入用户查询、显示查询结果、提供用户相关性反馈机制。主要的目的是方便用户使用搜索引擎,高效率、多方式地从搜索引擎中得到有效、及时的信息。用户接口的设计和实现使用人机交互的理论和方法,以充分适应人类的思维习惯。
用户输入接口可以分为简单接口和复杂接口两种。
简单接口只提供用户输入查询串的文本框;复杂接口可以让用户对查询进行限制,如逻辑运算(与、或、非; 、 - )、相近关系(相邻、 NEAR )、域名范围(如 .edu 、 .com )、出现位置(如标题、内容)、信息时间、长度等等。目前一些公司和机构正在考虑制定查询选项的标准。 (未完待续)
下一页:搜索技术简介(三)
|