搜索引擎在对WWW站点资源和其他站点资源进行标引和检索的过程中一般包括搜索软件、索引软件和检索软件。简单地说,搜索软件按照一定规律和方式对网络上WWW站点进行搜索,并将搜索到的WWW页面信息存入搜索引擎的临时数据库;索引软件对WWW页面信息进行整理,以形成规范的页面索引,并建立相应的索引数据库;检索软件用一定方式检索索引数据库以获得符合用户需要的WWW站点或页面。
1.搜索软件
搜索引擎采用的是自动跟踪搜索软件,被称为“机器人”(Robot)、“蜘蛛”(Spider)、“Web爬行者”(Web Crawler)、“漫游者”(Web Wanderer)、“蠕虫”(Wom)等不同名称。
搜索软件是一种计算机程序,自动浏览Web上的超文本结构。该程序最重要的功能是使用索引策略,也就是查找网站和网页的次序。它一般以一个URL清单为基础,利用标准协议(如HTTP)依次请求相应的网页,并将其交给网页标引模块进行自动标引,并通过从网页中自动抽取能表达网页主题意义的词作为标引词来构建网页标引记录。由于网络上的数据量大,在现有的机器和网络条件下,搜索引擎只能对部分网络上的数据进行搜索。
搜索软件必须尽可能多地收集包括WWW超文本的所有文本、题名、摘要、关键词和URL等信息,同时还要定期更新已有信息,避免死链接和无效链接。
Robot是一种计算机的程序,可以自动地在网络中穿梭,该程序最重要的功能是使用索引策略,也就是查找网站和网页的次序。索引策略可以是题目、URL、关键词,也可以是以上几项的某种组合。由于Internet数据量大,在现有的机器和网络条件下,搜索引擎只能对部分Internet上的资料进行采集,加上搜索的索引策略不同,对相同关键词的搜索在不同的搜索器上可以有截然不同的结果。如果把整个Internet称为一幅图或一棵树的话,可以发现Robot技术的基本工作原理和人工智能中的搜索树一样,这在计算机中可以方便地使用递归方法实现,具体如下:
(1)根据首页进行搜索,相当于搜索树的根。
(2)根据首页的第一个链接到下一个页面。
(3)重复(1)和(2)。
(4)到某页已经没有链接,回退上一级页面的下一个链接,如此循环往复。
但若要建立全面的索引数据库,必须对WWW系统进行遍历。我们可以进行这样假设:将WWW作为一个有向图处理,将页面视为图中的节点,页面中的超链视为图中的有向边。因此可以使用有向图遍历算法(深度优先或广度优先算法或启发式方式)对其进行遍历。WWW是个典型的C/S结构系统,所以可在一台主机上完成WWW遍历。
遍历一般采用以下3种方法:
(1)定一个种子URL,Robot从种子URL开始对WWW遍历。
(2)定一组不同类别、被访问频率高的URL,Robot从这些URL开始遍历。
(3)据域名或IP地址将WWW空间划分为多个子空间,运行多个Robot程序并行地在不同的子空间中进行遍历。
在实际使用中,一般是将这三种方法组合起来使用。按照上述遍历算法,Robot可以系统地、周期性地访问WWW,从而建立较为全面的索引库,并能保持对库的不断更新。
在遍历算法中,一般用到了两种方式,深度优先和广度优先两种基本的搜索策略。Robot以URL列表存取的方式决定搜索策略:
(1)先进先出,则形成广度优先搜索。当起始列表包含有大量的Web服务器地址时,广度优先搜索将产生一个很好的初始结果,但很难深入服务器中去。
(2)先进后出,则形成深度优先搜索。这样能产生较好的文档分布,更容易发现文档的结构,即找到最大数目的交叉引用。
在实际使用中,一般是将这三种方法组合起来使用。按照上述遍历算法,Robot可以系统地、周期性地访问WWW,从而建立较为全面的索引库,并能保持对库的不断更新。在遍历的过程中,为了提高其效率,可以融入人工智能的方法使其变得智能化,以下为可行的方法:
(1)搜索引擎基本信息的采集。考虑网络中海量的数据,首先选取一些网络的主要节点,使搜索引擎存放某些监控程序到站点中,和站点之间建立一种通信联系,使搜索引擎不必每次更新时都要一个个页面地进行比较,而是智能地知道自上次访问后哪些页面已更新,直接采集新的页面。
(2)搜索引擎数据库的建立。考虑数据库中数据的有用性,可以根据用户的访问频度,建立站点的用户访问频度表格,Robot查找链接和页面时,要查看该表格,从用户访问频度高的站点开始查找,对上升速度和下降速度特别快的还要特别处理。搜索引擎的数据库内容是用户经常访问并乐意访问的,使搜索引擎越来越贴近用户。(www.xing528.com)
这里很多人有一个误区,以为搜索软件会不断按照网页上的超链接自己延伸过去,其实不然。每个搜索软件都是按照人工指定的规则抓取一定页面,一般而言这个是按照URL来的。超出部分的链接会提交给检索索引数据库,让下一批搜索软件去查找。否则一个搜索软件按照所有链接抓过去,那得抓遍全互联网。
在搜索软件系统里面,真正起指挥作用的是人工管理系统制定的规则和检索索引数据库。它可以决定什么样的网站抓得勤一点,或者干脆不抓。同时要判断这个网页几项要素:
(1)这个网页的核心内容是什么,也就是这个网页的“关键词”是什么。
(2)这个网页的重要性权重如何,也就是说在同样“关键词”的网页比较,谁更符合这个“关键词”。
在第一个要素里面,需要通过对网页上的内容进行分析,而这里的“关键词”不是我们日常理解的词语,它是由语义分析学习系统按照一定规律制定的“最小语境含义表达单位(语境根)”,它可以是一个字,一个词,甚至一个短语,就是说它是表示某个含义的最小单位。通过根据“最小语境含义表达单位(语境根)”和网页文字进行比较,判断出这个网页的“关键词”。
这里有两点是很关键的,因为“最小语境含义表达单位(语境根)”和网页文字,是按照一定层次来进行比较的,所以首先会比较网页代码头部里面的关键词,其次是网页标题,然后会是比较明显的标记的文字。这也是为什么网站优化(SEO)说标题和某些“关键健词”突出显示很重要的缘故。
还有一个是网页文字相关性,其实也就是“相关词”。举例来说,一个“关键词”是“计算机”的页面上,同时出现内存、硬盘等相关内容的页面,肯定比一个同时只出现“萝卜”“白菜”的页面更符合这个“关键词”。
2.索引软件
索引软件主要是理解Robot所搜索的网页信息,利用数据库管理系统来组织所采集标引的网页信息,并从中抽取索引项,形成索引数据库。数据库中的一条记录基本上对应于一个网页,一般包括关键词、网页摘要、网页URL等信息。由于各个搜索引擎的标引原则和方式不同,所以它们的索引记录内容不一定相同,即使是同一网页的记录内容也不尽完全相同。搜索引擎的有效性在很大程度上取决于索引的质量,而索引的质量由索引技术和索引策略来决定。
索引可以分为客观索引项和内容索引项两种:
(1)客观索引项与文档的语意内容无关,如作者名、URL、更新时间、编码、长度、链接流行度(Link Popularity)等。内容索引项是用来反映文档内容的,如关键词及其权重、短语、单字等。
(2)内容索引项可以分为单索引项和多索引项(又称短语索引项)两种。单索引项对于英文来讲是英语单词,比较容易提取,因为单词之间有天然的分隔符(空格),但对于中文等连续书写的语言,必须进行词语的切分。在搜索引擎中,一般要给单索引项赋予一个权值,以表示该索引项对文档的区分索引项的提取方法有统计法、概率法和语言学法。索引表一般使用某种形式的倒排表同时用来计算查询结果的相关度。使用的方法一般有统计法、信息论法和概率法。短语索引即由索引项查找相应的文档。索引表要记录索引项在文档中出现的位置,以便检索器计算索引项之间的相邻或接近关系。
索引软件是搜索引擎非常重要的部件,索引软件的策略很大程度地影响了搜索引擎的效率与准确性。根据索引库的建立方式把搜索引擎分为目录式搜索引擎和自动搜索引擎。前者依靠人工和专家在网上浏览搜索页面收集信息,形成摘要和人工进行索引,建立自身的索引数据库;后者通过搜索软件程序定期在网上爬行,根据网页链接进行搜索,然后利用索引软件对收集的信息进行自动标引,建立较为庞大的索引数据库,覆盖面相对较大,并按照一定策略进行更新。
索引技术可以使用集中式索引算法或分布式索引算法。当数据量很大时,必须实现即时索引(Instant Indexing),否则不能跟上信息量剧增的速度。索引算法对索引技术的性能(如大规模峰值查询时的响应速度)有很大的影响。一个搜索引擎的有效性在很大程度上取决于索引的质量,而索引的质量是由索引技术和索引策略来决定的,而现行的索引技术随着数据量的增大,其耗费的资源指数速度飞速增长,极大地影响到搜索数据库的容量和检索。基于这个情况可以考虑用提高索引智能化的方式来提高索引的质量。按建立索引的策略来看,应确定是全文关键字提取还是内容提取,因为根据不同的查询目标会有不同的提取目标和提取范围,最终将会大大影响数据提取的速度和效果,这是索引技术所要考虑的首要问题。按内容提取可以采用分类技术,把页面的主题或内容分类,进入不同的数据库中,在输入关键词查询时,要求第n个关键词必须是内容类别的词,这样第n个关键词就可以使搜索引擎知道到哪个内容类别的数据库中查找,再匹配后面的关键词,这样可以大大减少系统匹配的时间。这项技术要求在相关词库的基础上,还要统计使用频度,再加上一定的算法方可实现。当然上述两者应有机地结合才可提高整个系统的性能。
3.检索软件
检索软件是一个Web应用程序,负责提供用户使用搜索引擎的接口,接受用户检索要求,对用户输入的关键词进行语言分析,并分解成多个词或词组,将检索要求转换成计算机可执行的规范化检索式。然后利用检索式检索索引数据库,对检索词的相关性进行匹配,计算网页搜索请求的关联度,从而找到与检索词相关度逼近的网页,按照相关度的高低进行排序输出结果,并实现某种用户相关性反馈机制。
检索软件主要包括四个部分:
(1)检索界面:接受用户检索要求,往往分为一般检索界面和高级检索界面。
(2)检索策略:将用户输入的检索要求转换成计算机可执行的规范化检索式。
(3)检索执行:利用检索式检索索引数据库,并保证检索的速度和准确性。
(4)检索结果组织:对检索记录的整理组织。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。