中文搜索引擎指南网
标题:
:[搜索引擎技术普及 - 1] 搜索引擎系统的组成
[打印本页]
作者:
sowang
时间:
2007-4-8 22:35
标题:
:[搜索引擎技术普及 - 1] 搜索引擎系统的组成
内容出自:搜狗实验室
上个世纪最后二十年以来Internet的发展和普及为人们提供了一个全新的信息存储、加工、传递和使用的载体,Web信息迅速成为了社会成员获取知识和信息的主要渠道之一,于是将传统的信息检索技术与网络应用实际相结合的Web信息检索应运而生。Web信息检索技术的发展,已经为人们访问网络信息资源提供了巨大的便利如拥有最大规模网页索引量的Google系统(
http://www.google.com/
),IBM公司的Clever计划(
http://www.almaden.ibm.com/cs/k53/clever.html
)等都是其中检索效果和性能比较突出的代表。
随着网络普及程度的提高,网络搜索引擎在我国互联网用户的网络使用中也起到了举足轻重的作用,2005年7月公布的中国互联网络发展状况统计报告[CNNIC 2005]指出,当前中国搜索引擎用户已占互联网用户的95.2%,绝对用户数超过9500万人。包括搜索引擎在内的网络信息检索工具已经成为网络用户获取信息的主要手段,84.5%的用户指出搜索引擎是他们得知新网站的主要途径,而58.2%的用户认为搜索引擎是他们最主要的获取网络信息的途径。
中文互联网搜索市场日趋激烈的竞争也从另一个侧面反映了搜索引擎的用户吸引力和市场价值。2004年之前百度(
http://www.baidu.com/
)基本涵盖了中文互联网全部的搜索流量,但从2005年开始,传统意义上的四大中文门户网站(新浪、搜狐、网易、腾讯)均陆续推出了自己的搜索引擎服务,而Google,Yahoo!,MSN Search等跨国品牌也日渐重视中文搜索,分别推出自己全新的中文搜索服务。网络搜索引擎技术和市场发展的巨大需求使我们的相关研究能够较迅速的转化为实际应用产品,但同时也对研究成果的可靠性和可行性提出了更高的要求。
一个典型的网络信息检索系统的系统架构由信息收集、信息处理和查询服务三个模块组成。
从具体运行方式上说,系统根据站点/网页的URL信息和网页之间的链接关系,利用网络蜘蛛在互联网上收集数据;收集的数据分别通过链接信息分析器和文本信息分析器处理,保存在链接数据库和文本索引数据库中,同时,网页质量评估器依据网页的链接关系和页面结构特征对页面质量进行评估,并将评估的结果保存在索引数据库中;查询服务器负责与用户的交互,它根据用户的检索需求,从索引数据库中读取对应的索引,并综合考虑查询相关性与页面质量评估结果之间的关系,给出查询结果列表反馈给用户。
下面将逐一介绍网络信息检索系统各组成模块的主要运行方式:
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.信息处理模块
图1-1中,除去上两个模块之外的部分都可以归入信息处理模块的范畴,将纷繁复杂的网页数据整理成可以被检索系统高效、可靠、方便使用的格式是这一模块的工作。具体来讲,信息处理包括对传统内容信息的处理和对非内容信息(主要是链接结构信息和文本结构信息等)进行处理两个方面的内容。
对文本内容信息的处理与传统文本信息检索系统的信息处理模块功能类似,最主要的目的是建立以词项(term)为中心的文本倒排索引,以便检索系统中检索功能模块进行内容相似度计算使用,提高系统检索效率。这方面的主要研究工作集中在对倒排索引结构合理设计上,如是否记录文字位置信息以及记录的形式等。对中文信息检索系统而言,在这一部分还研究其特殊的预处理过程,即分词并建立词项的过程。由于这方面的研究较多涉及到实际工程层面的实现原理与技术细节,因此相关研究工作的介绍并不多,仅有部分工程技术报告涉及,如863信息检索评测的相关工作等。
与纯文本数据相比,网络数据不仅包括非结构化的内容信息,也包括一定程度的结构化信息,这些结构化信息在网络信息检索工具评价数据质量、挖掘数据相关性等方面发挥着十分重要的作用。
因此,网络信息检索中对非内容信息的处理是其与传统文本信息检索系统最大的区别所在,而其中应用最广泛的是利用超链接结构分析方法的网络数据质量评价技术,因此在下次的介绍中将对这方面技术的主要发展情况进行讨论。
欢迎光临 中文搜索引擎指南网 (http://sowang.com/bbs/)
Powered by Discuz! X3.2