搜索引擎面面观

搜索引擎面面观 技术系列之一

因特网的迅猛发展、WEB信息的增加,用户要在信息海洋里查找信息,就像大海捞针一样,搜索引擎技术恰好解决了这一难题,它可以为用户提供信息检索服务。目前,搜索引擎技术正成为计算机工业界和学术界争相研究、开发的对象。

搜索引擎(Search Engine)是随着WEB信息的迅速增加,从1995年开始逐渐发展起来的技术。

据发表在《科学》杂志1999年7月的文章《WEB信息的可访问性》估计,全球目前的网页超过8亿,有效数据超过9TB,并且仍以每4个月翻一番的速度增长。例如,Google目前拥有10亿个网址,30亿个网页,3.9 亿张图像,Google支持66种语言接口,16种文件格式,面对如此海量的数据和如此异构的信息,用户要在里面寻找信息,必然会“大海捞针”无功而返。

搜索引擎正是为了解决这个“迷航”问题而出现的技术。搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的。

目前,搜索引擎技术按信息标引的方式可以分为目录式搜索引擎、机器人搜索引擎和混合式搜索引擎;按查询方式可分为浏览式搜索引擎、关键词搜索引擎、全文搜索引擎、智能搜索引擎;按语种又分为单语种搜索引擎、多语种搜索引擎和跨语言搜索引擎等。

目录式搜索引擎

目录式搜索引擎(Directory Search Engine)是最早出现的基于WWW的搜索引擎,以雅虎为代表,我国的搜狐也属于目录式搜索引擎。

目录式搜索引擎由分类专家将网络信息按照主题分成若干个大类,每个大类再分为若干个小类,依次细分,形成了一个可浏览式等级主题索引式搜索引擎,一般的搜索引擎分类体系有五六层,有的甚至十几层。

目录式搜索引擎主要通过人工发现信息,依靠编目员的知识进行甄别和分类。由于目录式搜索引擎的信息分类和信息搜集有人的参与,因此其搜索的准确度是相当高的,但由于人工信息搜集速度较慢,不能及时地对网上信息进行实际监控,其查全率并不是很好,是一种网站级搜索引擎。

机器人搜索引擎

机器人搜索引擎通常有三大模块:信息采集、信息处理、信息查询。信息采集一般指爬行器或网络蜘蛛,是通过一个URL列表进行网页的自动分析与采集。起初的URL并不多,随着信息采集量的增加,也就是分析到网页有新的链接,就会把新的URL添加到URL列表,以便采集。

机器人搜索引擎使用多线程并发搜索技术,主要完成文档访问代理、路径选择引擎和访问控制引擎。基于机器人搜索引擎的Web页搜索模块主要由URL服务器、爬行器、存储器、URL解析器四大功能部件和资源库、锚库、链接库三大数据资源构成,另外还要借助标引器的一个辅助功能。

具体过程是,URL服务器发送要去抓取的URL,爬行器根据URL抓取WEB页并送给存储器,存储器压缩Web页并存入数据资源库,然后由标引器分析每个WEB页的所有链接并把相关的重要信息存储在锚库文件中。URL解析器读锚库文件并解析URL,然后依次转成docID。再把锚库中文本变成顺排索引,送入索引库。具体过程如图1所示。



元搜索引擎

元搜索引擎,也叫集搜索引擎,是指在统一的的用户查询界面与信息反馈的形式下,共享多个搜索引擎的资源库为用户提供信息服务的系统。元搜索引擎是对搜索引擎进行搜索的搜索引擎。

元搜索与一般搜索引擎的最大不同在于它可以没有自己的资源库和机器人,它充当一个中间代理的角色,接受用户的查询请求,将请求翻译成相应搜索引擎的查询语法。在向各个搜索引擎发送查询请求并获得反馈之后,首先进行综合相关度排序,然后将整理抽取之后的查询结果返回给用户。元搜索引擎查全率高、搜索范围更多更大,查准率也并不低。

元搜索引擎包括Web服务器、结果数据库、检索式处理、Web处理接口、结果生成等几个部分,其中用户通过Web服务器访问元搜索引擎,而元搜索引擎则通过Web处理接口访问其它外部的搜索引擎。其系统结构如图2所示。



用户通过WWW服务访问元搜索引擎,向Web服务器提交检索式。当Web服务器收到查询请求时,先访问结果数据库,查看近期是否有相同的检索,如果有则直接返回保存的结果,完成查询;如果没有相同的检索,就分析检索式并转化成与所要查找各搜索引擎相应的检索式格式,然后送至Web处理接口模块。

Web处理接口通过并行的方式同时查询多个搜索引擎,把所有的结果集中到一起。根据各搜索引擎的重要性,以及所得结果的相关度,对结果进行抽取并排序,生成最终结果返回给用户。同时,把结果存到自己的数据库里,以备下次查询参考使用。

跨语言搜索引擎

跨语言综合搜索引擎是在一般的搜索引擎基础上加了两个功能:不同语言提问之间的翻译和不同搜索引擎检索结果的集成。跨语言搜索引擎有两种情况,一种是架构在单一搜索引擎的基础上,另一种是架构在多搜索引擎的基础上。

目前研究最多的是跨语言文本检索和跨语言语音检索。跨语言检索主要涉及信息检索和机器翻译两个领域的知识,但又不是这两种技术的简单融合。跨语言检索系统的检索功能,可以利用现有的检索系统来实现,也可以重新构造新的检索系统或检索功能模块来实现。

跨语言搜索引擎的工作过程如下:用户向系统提交检索词,形成一个源语言的搜索式,系统对搜索式进行语言识别,识别出语种后,就对进行提问式的词法分析和结构分析,然后把这个分析过的搜索式翻译成各种语言的搜索式,最后把这一系列的搜索式提交给系统进行检索就可以了。

检索结果是含有多个语种的页面。如果使用多搜索引擎,转换成不同语言搜索式时还需要注意各种搜索引擎搜索式表达方法的不同。例如,新浪网搜索中文信息的结果比较好,那么就把提问词是中文的搜索式转换成新浪网的搜索式;雅虎对英文信息的搜索结果比较好,那么就向雅虎提交提问词是英文的搜索式。

关于多语种搜索有这样几种情况:检索词为不同语种,检索结果也不同,这种情况是不经过翻译的,对搜索引擎来讲是不区分的。比如在Google里输入“知识发现 knowledge”,选择所有语种,那么只要网页里既有“知识发现”又有“knowledge”就可以检索出来,不管该页面是中文的,还是英文或者是日文的,搜索引擎并不识别检索词的语种,这不是真正的跨语言搜索引擎。第二种情况是,检索词为同一语种,检索结果为不同语种。

本期我们介绍了常用的搜索引擎技术,下期,我们将介绍搜索引擎技术的发展和趋势,内容主要包括:智能搜索引擎、基于智能代理的信息过滤、并行信息检索技术、分布式搜索引擎等。

搜索引擎技术发展观系列之二

随着“眼球经济”席卷互联网,成千上万的资金迅速流向最能吸引眼球的搜索引擎市场。有大量调查显示搜索引擎市场正处在高速发展时期,成为未来几年最具发展潜力的产业之一。

当你登录某一个网站,在互联网上搜索某一类内容,希望得到最新、最全面的信息,你需要等待多长时间?

几年前,人们希望十几秒,最多30秒钟就能得到结果,而现在的期望值是1~2秒,也就是说,伴随鼠标的“咔哒”一声,显示屏的页面已经变,排在最前面的十几、二十条信息的标题已经出现在你的面前。

目前,搜索引擎技术成为仅次于门户的互联网第二大核心技术,要用到信息检索、人工智能、计算机网络、分布式处理、数据库、数据挖掘、数字图书馆、自然语言处理等多领域的理论和技术,所以具有综合性和挑战性。伴随互联网的普及和网上信息的爆炸式增长,它越来越引起人们的重视。

上期我们介绍了传统的几种搜索引擎技术,那么未来搜索引擎技术将如何发展?随着人工智能技术的进一步成熟和信息服务的多样化,搜索引擎向着智能化、个性化方向发展。

检索结果深加工

用户在使用搜索引擎进行信息搜索时,有时并不十分关注返回结果的多少,而是看检索结果是符合自己的需求。对于一次普通查询,传统的搜索引擎动辄几十万、几百万篇文档,这样的搜索结果是没有多大意义的。

解决检索结果过多过杂的问题,目前有多种方法。一是通过各种方法获得用户没有在检索式表达出来的真正目的,包括智能代理跟踪用户检索行为,分析用户操作模型,使用相关反馈机制,确定文档和用户需求的相关性,提高检索的精度。二是用文本分类技术,将结果分类,使用可视化技术显示分类结构,用户只浏览自己感兴趣的类别。三是进行站点聚类或内容聚类,减少信息的总量,从而有利于从大量返回结果中找到用户所需要的信息。

提供个性化服务

为了实现个性化服务,需要获取用户兴趣信息。获取用户的兴趣信息,有两种方法。在训练阶段,用信息论的观点对关键词分类并表示其特征程度(关键词按贡献率分为积极特征词、消极特征词和零特征词),然后定义标题的特征程度,并对各类特征词进行统计。

在测试阶段,应用兴趣描述文件(通常以XML文件格式存储),动态获取用户的兴趣从而把用户感兴趣的页面提供给用户。这种方法避免了用户描述兴趣的困难。用户很难描述兴趣,但可以判断一篇文章是否符合需要。

另一种方法是可以根据用户的书签文件以及每次检索输入的关键词、用户的反映来动态更新用户的兴趣。通过分析用户行为的意图,获取用户感兴趣的相关信息及感兴趣的感性程度。另外,用户输入的关键词也作为积极特征词来动态更新用户兴趣文件。

基于智能搜索

搜索引擎的智能化方向发展是毫无疑问的。智能搜索引擎(Smart Hunter) 是根据目前搜索引擎的发展趋势,除提供传统的全网快速检索、相关度排序等功能外,还提供用户角色登记、用户兴趣自动识别、内容的语义理解、智能化信息过滤和推送等功能,为用户提供一个真正个性化、智能化的网络信息搜集工具(见图示)。



智能搜索引擎利用神经网络、决策树、关联规则、范例推理、模糊聚类、粗糙集、隐马尔科夫模型等技术实现分布式并行检索,以数据挖掘与知识发现为主要手段,加上自然语言理解技术,对检索结果进行进一步的分析,滤掉与用户需求不相关或弱相关的信息,从而提高系统性能和检索的精度与效果。

1.自然语言检索
智能搜索引擎基于自然语言的检索形式,是建立在大规模的知识库基础上,用一个强有力的推理机,根据用户所提供的以自然语言表达的检索要求进行分析,然后形成检索策略进行搜索。用户只需把自己的要求输入计算机,就可以得到检索结果,使用户可以从繁琐的检索规则中解脱出来。

自然语言查询从用户接口上分为两种:
一种是输入自然语言的句子,把它切分并抽出多对组词,构成一个有限状态机,然后去数据库进行匹配,对每一次检索出的记录进行频率累加,经过几次检索后,按照命中频率进行排序,把最终的检索结果返回给用户。这只是对查询请求进行了自然语言分析。
另外一种是对目标文档也进行自然语言分析,这不仅涉及到分词技术、词法分析、语法分析、语义分析,还涉及到篇章结构的分析,就是要理解文章的意思,技术难度较大,目前还基本没有成功的模型。

2.移动代理技术。
移动代理(Mobile Agent)技术是一种新型分布式计算技术,是指在网络上具有移动能力的、能够自主运行的、按照用户的要求完成指定任务的程序。

移动代理技术是新一代分布式计算技术,移动代理与传统分布式计算技术完全不同。在移动代理模式下,客户机向服务器提交的不再是一些简单的请求,而是包含代码和数据的移动对象。移动对象代表用户,按照“程序靠近数据”的原则,在服务器间自主的移动,完成数据处理的任务。

基于移动代理的模式之上的应用程序可以大大节省网络带宽,有效克服网络延时带来的种种问题,可以智能化地自主异步执行。它克服了搜索引擎传统的“数据靠近程序”的运行模式,大大降低了网络的数据流量,节省了网络资源。

3.并行检索。
并行信息检索是由多个可同时工作的处理部件或处理器构成的计算机系统进行信息检索。信息检索系统可以利用的并行策略有任务并行、数据并行和它们的混合方式。并行信息检索把信息搜索过程建立在神经网络之上。

如果不用神经网络,那就主要利用现有的信息检索算法对数据和计算进行分割。

数据分割有逻辑文档分割与物理文档分割两种形式。逻辑文档分割需要对倒排文件进行扩展,让每个并行进程能够直接访问一部分索引,这些索引对应于处理器所要处理的那部分文档子集;物理文档分割把文档分割为离散的、自包含的文档子集,每个子集对应一个并行处理器,每个子集有自己的倒排档文件。

4.分布式检索。
分布式搜索引擎把信息通过网络物理的分布存储和维护,把更大范围的分布、异构文档集联合起来,形成一个逻辑整体,为用户提供分布的信息检索。

分布文档集除了大量的文本以外,还包括其它类型的数据:图形、图像、视频、音频等多媒体数据。分布信息检索的目标就是按照一致的信息描述,标识和检索分布文档集。分布信息搜集工具引导用户进入分布式的信息空间,选择合适的文档集,并进行检索。

搜索引擎涉及人工智能、计算机网络、分布式处理、并行计算、数据挖掘、知识发现、自然语言处理等多项技术,富有综合性和挑战性。随着这些技术的进一步发展,不断提高性能,更好满足用户需求的搜索引擎也必将出现。

大看台

搜索引擎使用技巧

◆ 使用逻辑词辅助查找
常用逻辑词有:AND(和)、OR(或)、NOT(否,有些是AND NOT)及NEAR(两个单词的靠近程度)。

◆ 使用双引号进行精确查找
如果查找的是一个词组或多个汉字,最好的办法就是将它们用双引号括起来。

◆ 使用加减号限定查找
在搜索词前冠以加号“+”限定搜索结果中必须包含的词汇,用减号“-”限定搜索结果不能包含的词汇。

◆ 区分字母大小写
许多搜索引擎都区分字母的大小写,应该正确使用它们的大小写字母形式。

◆ 限制查询范围
范围限制的能力越强,则越能准确地找到需要的信息。

◆ 尽量少用空格
在输入汉字作关键词的时候,不要在汉字后追加不必要的空格,因为空格将被认作特殊操作符,其作用与AND一样。

◆ 从页面上部或底部寻找作者姓名、组织机构名称或公司名称

你可能感兴趣的:(搜索引擎,网络,分布式计算,文档,自然语言处理,语言)