因特网的迅猛发展、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”就可以检索出来,不管该页面是中文的,还是英文或者是日文的,搜索引擎并不识别检索词的语种,这不是真正的跨语言搜索引擎。第二种情况是,检索词为同一语种,检索结果为不同语种。