原文:北京网站优化,转载请注明来源!
网页的预处理包括对搜集来的网页文档进行过滤、分词、转换等。搜索引擎蜘蛛搜集来的网页包括各种格式,这些文件收集来后,需要把这些文件中的文本信息提取出来,建立索引。准确提取这些网页的信息,一方面对搜索引擎的搜索准确性有重要作用,另一方面对于机器人正确跟踪其他链接有一定作用。
HTML文档与普通的文档不一样,HTML有自己的语法,通过不同的命令符来表示不同的字体、颜色、位置等版式,提取文本信息时需要把这些标示符都过滤掉。在识别这些信息的时候,需要同步记录许多版式信息,例如字体大小、是否是标题、是否加粗、是否是页面的关键词等,这些信息有利于搜索引擎判断这些单词在网页中的重要程度。
同时,对于HTML网页来说,除了标题和正文意外,会有许多广告链接以及公关频道的链接,这些链接和文本正文一点关系也没有,在提取网页内容的时候,也需要过滤这些无用的链接。比如某个网站有个“版权声明”频道,因为导航条在网页内每个页面都有,若不过滤掉导航条链接,在搜索“版权声明”的时候,则网站内每个网页都会被搜索到,这样会带来大量垃圾信息。过滤这些无效链接需要统计大量的网页结构规律,抽取一些共性,统一过滤。
在对文档进行处理时,还需要提取链接信息。通过为每篇网页形成一个独立于查询词的重要性指标,为网页评级(例如Google PR)提供依据。统计计算相关度时,就将此依据和查询过程中形成的相关性指标结合形成一个最终的排序。这也是目前搜索引擎给出查询结果排名的主要方法。
此外,在提取摘要时,用户往往希望摘要中出现他希望出现的文字,这对查询用户的成功转化很有帮助,搜索引擎会给摘要中于用户查询词匹配的关键词进行标亮,提醒用户。这是目前大多数搜索引擎采用的方式。为了保证查询的效率,需要在分词的时候记住每个关键词在文档中出现的位置。
为了建立索引,大部分搜索引擎系统从全文中提取特征项作为索引项,而有些系统仅从文档的某些部分提取,例如TITLE、META等元素中提取。提取的索引项是用来描述Web文档的,因此会直接关系到索引的结果。索引项的类型有多种,基于单词的,基于N-gram的索引等。相对于英文而言,中文文档的分词是个难点,应为中文的最小结构是字,不同的切分会带来完全不同的意思。这对中文搜索引擎是一个考验。
搜索引擎一般都保存网页搜集过程中得到的网页全文,并在返回结果列表中提供“网页快照”或“历史网页”链接,这是由于搜索引擎索引的网页不一定是当前因特网上最新的网页,因此存在已经消失的可能性。为了保证用户能够继续访问相应信息,搜索引擎一般都提供网页快照功能。
对于网页内容的提取,一直是Robot中重要的技术,整个系统一般采用插件的形式,通过一个插件管理服务程序,遇到不同格式的网页采用不同的插件处理。这种方式的好处在于扩充性好,以后每发现一种新的类型,就可以把其处理方式做成一个插件补充到插件管理服务程序之中。