(Search Engine)搜索引擎的工作原理主要分为以下三部分:
1.信息收集模块
信息收集模块包括“蜘蛛控制”和“网络蜘蛛”两部分,“蜘蛛”这个称呼形象的描述出了信息收集模块在网络数据形成的“Web”上进行信息获取的功能。总体 而言,网络蜘蛛从种子网页出发,通过反复下载网页并从文档中寻找未曾见过的URL,达到访问其他网页得以遍历Web的目的。而其工作策略一般则可以分为累 积式抓取(cumulative crawling)和增量式抓取(incremental crawling)两种。 累积式抓取是指从某一个时间点开始,通过遍历的方式抓取系统所能允许存储和处理的所有网页。在理想的软硬件环境下,经过足够的运行时间,累积式抓取的策略 可以保证抓取到相当规模的网页集合。但由于Web数据的动态特性,集合中网页的被抓取时间点是不同的,页面被更新的情况也不同,因此累积式抓取到的网页集 合事实上并无法与真实环境中的网络数据保持一致。
与累积式抓取不同,增量式抓取是指在具有一定量规模的网络页面集合的基础上,采用更新数据的方式选取已有集合中的过时网页进行抓取,以保证所抓取到的数据 与真实网络数据足够接近。进行增量式抓取的前提是,系统已经抓取了足够数量的网络页面,并具有这些页面被抓取的时间信息。 面向实际应用环境的网络蜘蛛设计中,通常既包括累积式抓取,也包括增量式抓取的策略。累积式抓取一般用于数据集合的整体建立或大规模更新阶段;而增量式抓取则主要针对数据集合的日常维护与即时更新。
在确定了抓取策略之后,如何从充分利用网络带宽,合理确定网页数据更新的时间点就成了网络蜘蛛运行策略中的核心问题。
总体而言,在合理利用软硬件资源进行针对网络数据的即时抓取方面,已经形成了相对比较成熟的技术和实用性解决方案,这方面目前所需解决的主要问题,是如 何更好的处理动态网络数据问题(如数量越来越庞大的Web2.0数据等),以及更好的根据网页质量修正抓取策略的问题。
2.查询服务模块
查询服务模块是指网络信息检索系统中,直接与用户查询需求交互的组成部分。从功能上讲,这个模块主要完成两方面的任务:首先是用户交互,即收集用户查询并 用符合用户行为习惯的方式对查询结果进行反馈;其次是信息查询和检索,使用收集到的用户查询在由信息收集模块抓取,并由信息处理模块建立索引的网络数据上 进行检索。这其中涉及到的核心技术包括:检索系统网络服务的建立和维护、面向网络信息的检索模型建立等。
网络信息检索系统严格意义上说也在提供一种网络服务(Web Service),因此它的建立和运行、维护机制符合网络服务系统的一般规律。但由于网络信息检索用户行为习惯存在宏观上的统计特性,系统的网络服务也应 进行优化以更好的适应这种行为习惯。针对搜索引擎日志分析的工作说明,尽管网络信息检索用户所提出的查询数目异常繁杂(根据[Sullivan 2006],Google每天需要处理超过1亿次的用户需求),但搜索需求中的大多数是重复的,重复的比例超过用户所提交查询需求的70%以上乃至更多。 因此在检索系统的网络服务部分加入某种类型的缓存机制就是非常必要的,对检索结果序列或检索结果页面本身的缓存都有助于大大减轻网络数据检索的负担。
面向网络信息的检索模型研究一直是网络信息相关研究的重点,研究的主要方法一般集中在以下两点:改进传统文本信息检索技术以适应网络信息需求;不对 传统检索技术进行改动,而尝试对传统检索结果与网络信息质量评估结果进行融合。前者主要的研究工作包括对网络半结构化文本检索方式的研究和对链接文本检索 方式的研究等;而后一方面主要的研究工作则集中在将网络链接关系分析算法(如PageRank)的结果融合到传统文本检索结果模型的尝试。而这方面最重要 的研究平台之一是TREC的网络信息检索(Web Track)和超大规模文本检索(Terabyte Track)论坛。上述不少研究所基于的实验数据都来自于这两个论坛从2001年以来的积累,我们研究中涉及到的一部分实验结果也是基于这个研究领域比较 公认的平台得出的。
总体而言,面向用户的查询服务技术是网络信息检索技术研究的热点之一,而主要的研究方向,则是基于传统文本信息检索技术,融入网络信息检索的应用需求元 素,借以建立新的检索模型或对原有模型进行改进。当前,这方面研究集中在对用户信息需求的挖掘与发现、改进网络信息检索系统的用户交互方式等方面上。
3.信息处理模块
除去上两个模块之外的部分都可以归入信息处理模块的范畴,将纷繁复杂的网页数据整理成可以被检索系统高效、可靠、方便使用的格式是这一模块 的工作。具体来讲,信息处理包括对传统内容信息的处理和对非内容信息(主要是链接结构信息和文本结构信息等)进行处理两个方面的内容。
对文本内容信息的处理与传统文本信息检索系统的信息处理模块功能类似,最主要的目的是建立以词项(term)为中心的文本倒排索引,以便检索系统中检索功 能模块进行内容相似度计算使用,提高系统检索效率。这方面的主要研究工作集中在对倒排索引结构合理设计上,如是否记录文字位置信息以及记录的形式等。对中 文信息检索系统而言,在这一部分还研究其特殊的预处理过程,即分词并建立词项的过程。由于这方面的研究较多涉及到实际工程层面的实现原理与技术细节,因此 相关研究工作的介绍并不多,仅有部分工程技术报告涉及,如863信息检索评测的相关工作等。
与纯文本数据相比,网络数据不仅包括非结构化的内容信息,也包括一定程度的结构化信息,这些结构化信息在网络信息检索工具评价数据质量、挖掘数据相关性等方面发挥着十分重要的作用。
因此,网络信息检索中对非内容信息的处理是其与传统文本信息检索系统最大的区别所在,而其中应用最广泛的是利用超链接结构分析方法的网络数据质量评价技术。