Web搜索引擎技术综述

类别:网站制作 点击:0 评论:0 推荐:

摘要

随着网络与通信技术的迅速发展,web信息爆炸性的增长,已经成为一个巨大的海量信息空间。如何快速、准确、方便的从如此庞大的信息库中获取自己需要的信息,是互联网用户面临的一个重要问题。Web搜索引擎能为用户提供一种查找所需资源的服务,已经成为互联网上仅次于电子邮件的第二大服务。本文首先介绍了搜索引擎的原理和实现技术。然后讨论了搜索引擎技术发展最新前沿技术。最后,结合笔者在这方面的研究,给出了搜索引擎近期的发展方向。

关键词

Web,搜索引擎,网络技术

一.  导论

随着网络技术的应用与发展,互连网已经成为信息的重要来源地。到1999年底,已经至少有1,600万台主机接入互连网,互联网上网页总数已达到10多亿页,并且以每月近千万的数目递增[1]。搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的[2],互联网用户使用网络获取信息过程中,搜索引擎也成为必不可少的工具。调查表明,当前的所有互连网应用中,网络信息搜索是仅次于电子邮件的第二大应用,而这些搜索绝大多数是专门的,高度复杂的搜索引擎实现的。

按照信息搜集方法和服务提供方式的不同,搜索引擎系统可以分为三大类:目录式搜索引擎,以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息摘要,并将信息置于事先确定的分类框架中,由于web信息的海量性和人工处理能力、经济代价的限制,这类搜索引擎信息的即时性和全面性难以保证它的优秀代表是Yahoo[3]等;机器人搜索引擎,由一个称为蜘蛛(Spider)的机器人程序以某种策略自动地在互联网中搜集和发现信息,由索引器为搜集到的信息建立索引,由检索器根据用户的查询输入检索索引库,并将查询结果返回给用户,这类搜索引擎实现较为复杂,但能很好的实现信息的全面获取和即时更新,它的优秀代表是google[4]等,后文如非特别说明,都指这类搜索引擎;元搜索引擎,这类搜索引擎没有自己的数据,而是将用户的查询请求同时向多个搜索引擎递交,将返回的结果进行重复排除、重新排序等处理后,作为自己的结果返回给用户,这类搜索引擎兼集多个搜索引擎的信息,并且加入新的排序和信息过滤,可以很好的提高用户满意度,它的优秀代表是vivisino[5]等。

本文组织如下:第二部分介绍了web搜索引擎的原理和实现技术;第三部分介绍了web搜索引擎的最新发展动态和前沿技术;第四部分给出了基本展望。最后给出了结论。

二.  web搜索引擎的原理、实现和评价指标

web搜索引擎的原理通常为:首先是用蜘蛛(Spider)进行全网搜索,自动抓取网页;然后将抓取的网页进行索引,同时也会记录与检索有关的属性,中文搜索引擎中还需要首先对中文进行分词;最后,接受用户查询请求,检索索引文件并按照各种参数进行复杂的计算,产生结果并返回给用户。

基于上面的原理,下面将简要介绍Web搜索引擎实现。

1.         利用网络蜘蛛获取网络资源。

这是一种半自动化的资源(由于此时尚未对资源进行分析和理解,不能成为信息而仅是资源)获取方式。所谓半自动化,是指搜索器需要人工指定起始网络资源url(Uniform Resource Locator),然后获取该url所指向的网络资源,并分析该资源所指向的其他资源并获取。其基本流程图如下:

图1,基本搜索器流程图

网络蜘蛛访问资源的过程,是对互联网上信息遍历的过程。在实际的蜘蛛程序中,为了保证信息收集的全面性,及时性,还有多个蜘蛛程序的分工和合作问题,往往有复杂的控制机制。如google的在利用蜘蛛程序获取网络资源时,是由一个认为管理程序负责任务的分配和结果的处理,多个分布式的蜘蛛程序从管理程序活动任务,然后将获取的资源作为结果返回,并从新获得任务[6]。

2.         利用索引器从搜索器获取的资源中抽取信息,并建立利于检索的索引表:

当用网络蜘蛛获取资源后后,需要对这些进行加工过滤,去掉网控制代码及无用信息,提取出有用的信息,并把信息用一定的模型表示,使查询结果更为准确。其中信息的表示模型一般有布尔模型,向量模型,概率模型和神经网络模型等[7]。Web上的信息一般表现为网页,对每个网页,须生成一个摘要,此摘要将显示在查询结果的页面中,告诉查询用户各网页的内容概要。模型化的信息将存放在临时数据库中,由于web数据的数据量极为庞大,为了提高检索效率,须按照一定规则建立索引。不同搜索引擎在建立索引时会考虑不同的选项,如是否建立全文索引,是否过滤无用词汇,是否使用meta信息等。索引的建立包括:分析过程,处理文档中可能的错误;文档索引,完成分析的文档被编码进存储桶,有些搜索引擎还会使用并行索引;排序,将存储桶按照一定的规则排序,生产全文存储桶。最终形成的索引一般按照倒排文件的格式存放。

3.         检索及用户交互:

前面两部分属于搜索引擎的后台支持。本部分在前面信息索引库的基础上,接受用户查询请求,并到索引库检索相关内容,返回给用户。这部分的主要内容包括:用户查询(query)理解,即最大可能贴近的理解用户通过查询串想要表达的查询目的,并将用户查询转换化为后台检索使用的信息模型;根据用户查询的检索模型,在索引库中检索出结果集;结果排序:通过特定的排序算法,对检索结果集进行排序。现在用的的排序因素一般有查询相关度,google发明的pagerank计术,baidu的竞价技术等。由于web数据的海量性和用户初始查询的模糊性,检索结果集一般很大,而用户一边不会有足够的耐性逐个查看所有的结果,所以怎样设计结果集的排序算法,把用户感兴趣的结果排在前面就十分重要。

搜索引擎的评价指标有响应时间、查全率、查准率和用户满意度等。其中响应时间是从用户提交查询请求到搜索引擎给出查询结果的时间间隔,响应时间必须在用户可以接受的范围之内。查全率是指查询结果集信息的完备性。查准率是指查询结果集中符合用户要求的数目与结果总数之比。用户满意度是一个难以量化的概念,除了搜索引擎本身的服务质量外,它还和用户群体,网络环境有关系。在搜索引擎可以控制的范围内,其核心是搜索结果的排序,即前文提到的如何把最合适的结果排到前面。

三.  web搜索引擎的最新动态

当前,搜索引擎技术已经趋于成数,用户满意度也保持在一个可以接受的水平。在信息搜集技术,索引建立技术,检索技术和结果集排序技术方面,最近几年,除了google创造性的提出pagerank技术,并把他用于结果排序外,基本没有什么突破性的进展。而搜索引擎的研究与信息集成逐渐融合,在这方面的研究主要集中在两个方面:查询扩展(query expansion)和结果集的动态分类。

1.  查询扩展:

由于用户使用搜索引擎查找信息时,往往不能用搜索引擎提供的标准准确的表述想要查找的东西,从而在基于用户查询请求到索引库检索前,需要进行查询扩展(query expansion)。查询扩展包括两个步骤:用新的关键词扩展初始查询串;对扩展后查询串里的关键词从新进行权重分配。查询扩展的方法分为三类:基于用户注册兴趣的方式;基于用户对结果集操作反馈信息的方式[7];基于搜索结果文档集全局信息的方式[8]。这些方法分别通过不同的途径扩展用户初始查询,以期提高查询结果的用户贴近度。用户兴趣注册的方式最准确和易于实现,但用户须先注册,而用户是否认可和信任这种方式还未知;用户反馈信息挖掘的方式中,用户不需任何额外的操作,但搜索引擎的工作量会更大,挖掘的准确度也难以控制,而挖掘本身也涉及用户隐私许可问题;基于搜索结果文档集全局信息的方式中,目前已经有很好的实现,但由于不是针对特定的用户进行,而搜索引擎最需要的是实现个性化的搜索,所以对搜索结果的用户贴近度没有直接的帮助。

2.  搜身结果的动态分类:

由于结果集通常十分庞大,因而如何组织结果集展现形式,方便用户快速的找到需要的信息就成为一个十分关键的问题。虽然通过改进页面排序算法,可以尽量使“重要”的页面出现在返回结果的前面,但由于用户职业,兴趣,年龄等各方面的差异,很难让所有的用户都接受服务商给出的重要性顺序。另外,统计显示,用户一般不会在结果集中向后翻超过五页。所以将查询结果以一定的类别层次组织,让用户能方便的选择查看类别,可以很好的缩小结果集,从而使用户能更快的查找信息。

目前这方面研究的主要要内容包括,怎样确定类别层次?怎样确定文章所属的类别?现有的解决方式大致可以分为两种:(a)根据经验或一定的计算模型,事先确定出静态的类别层次,让后通过网页内容的语义分析确定其所属类别。它面临的主要问题是:由于互连网用户地域,职业,宗教的,教育程度的不可预知性,很难确定出让所有用户的接受的分类层次体系;由于类别层次是静态的,所以对文章的归类可避免会出现限制,使某些网页没有合适的类别可放;另外,目前基于自然语言理解的语义分析技术准确度不高,系统消耗过大,由于网页数量的海量性质,所以每个网页都需要很高的处理消耗是不能接受的。(b)对查询结果集进行动态(on-the-fly)聚类,即在检索结果集和结果集展现之间增加一步,先对结果集安一定的相似度计算算法进行动态聚类,然后将结果集安聚类的结果进行组织,用户可以选择动态生产的聚类类别以缩小结果集,从而快速的找到需要的信息。这种方式简便灵活,且易于实现。但动态生成的类别不能很好的构成体系,层次关系更是难以体现,所以怎样设计聚类算法,直接关系聚类结果的好坏。

四.  web搜索引擎的发展趋势浅谈

以当前信息技术发展的速度,任何人要预测技术的发展趋势,都只会贻笑大方。具体到web搜索引擎技术,笔者只能根据当前的研究成果和研究方向,就近期的可能发展,给出个人的见解。

当前搜索引擎服务提高的挑战主要来之两方面,一个是用户初始查询请求描述的不准却性,用户往往难以清楚的表达其信息需求。所以,当前以及今后一段时间内,对如何根据用户模糊的查询请求,较为准确、全面的理解用户的实际信息需求的研究,将是搜索引擎技术研究的一个重要方面。目前这方面的研究主要集中于查询结果文档的信息挖掘,这方面的努力已经取得很多的成果。另一方面,挖掘用户的个性化信息,将是一个能产生突破性成果的方法:根据用户的背景信息,如知识水平,专业方向,职业和兴趣等,将极大的促进用户初始查询理解的准确性和全面性。另外,对用户网络使用的日志分析,也能提供准确的用户网络行为,从而为用户信息需求分析提供重要依据。综上所述,对个性化搜索引擎的实现的研究,将成为近段时间研究的重点和突破点。

搜索引擎服务质量提高的另一个挑战是,查询结果集过于庞大,用户往往不会看到位于结果集后部的信息。这方面目前已经基本确定的解决方案是,根据分类体系组织结果集,通过类别选择缩小结果范围。它的实现难点是分类体系的确定和最终页面归属类别的确定。目前的研究,主要是基于搜索引擎提供方对搜集到的信息的理解,限于当前自然语言理解准确度较低,开销较大,这方面的研究难以有更大的突破。而另外的选择是,让信息发布者自己提供信息的类别,用统一的规范描述信息的类别信息和语义信息。搜索引擎只需获取这些信息即可,无疑,这种方式得出的类别和语义信息都是最准确得。例如,当前一般网站都建有导航栏,网站内容安导航栏所指得类别层次组织,从而可以把导航信息作为类别层次,各导航项只想得最终页面归属于该类别下。笔者目前研究的重点就是如何提取网站栏目信息,如何把网站按栏目划分范围,从而把栏目和范围对应,把该范围内的所有内容规类到对应栏目项所指的类别。将来,如果能让所有信息发布者规范的描述类别和语义信息,这方面的研究必将发上飞跃。

从上面的论述,不难看出,今后一段时间,搜索引擎技术的研究将主要集中在如何提供个性化服务[9],如何提供基于信息发布者提供的信息类别及语义理解两方面。

五.  结论

本文介绍了web搜索引擎的原理和实现技术,讨论当前web搜索引擎研究的最新动态,并论述了近期web搜索引擎发展的方向。

参考文献:

[1]   《world wide web search technoligies》Shi Nansi,Idea Group Publish

[2]   《搜索引擎技术及趋势》李晓明,刘建国。2003.6

[3]  http://www.yahoo.com。

[4]   http://www.google.com。

[5]   http://www.vivisino.com。

[6] 《搜索引擎与信息获取技术》p107。徐宝文,张卫风;清华大学出版社。

[6]   http://www.searchenginewatch.com。

[7]   Conceptual retrieval based on feature clustering of documents。Youjin Chang,Ikkyu Cho。

[8]   Modern information retrieval, p117。Addison Wesley。1999

[9]   Microsoft Unveils its New Search Engine -At Last, Chris Sherman,2004.11

本文地址:http://com.8s8s.com/it/it31157.htm