2.3 内容处理和索引
蜘蛛对网站进行了爬行和抓取后,接下来的一步就是对抓取的内容进行预处理,也被称为“索引”,主要包括提取文字、中文分词、去除停止词、消除噪声、去除重复、正向索引、倒排索引、链接关系计算和特殊文件处理等几个方面。蜘蛛抓取的原始页面并不能直接用于查询排名处理。搜索引擎数据库中的页面数都在数万亿级别以上,用户输入搜索词后,靠排名程序实时对这么多页面进行相关性分析的计算量太大,不可能在一两秒内返回排名结果。因此抓取来的页面必须经过预处理,为最后的查询排名做好准备。
(1)提取文字。现在的搜索引擎还是以文字内容为基础。蜘蛛抓取到的页面中的HTML代码,除了用户在浏览器上可以看到的可见文字外,还包含了大量的HTML格式标签、JavaScript程序等无法用于排名的内容。搜索引擎预处理首先要做的就是从HTML文件中去除标签、程序,提取出可以用于排名处理的网页页面文字内容。
(2)中文分词。中文分词是中文搜索引擎特有的步骤,中文词与词之间没有任何分隔符,一个句子中的所有字和词都是连在一起的。搜索引擎必须首先分辨哪几个字组成一个词,哪些字本身就是一个词。中文分词方法有两种,一种是基于词典匹配,另一种是基于统计。基于词典匹配的方法是指将待分析的一段汉字与一个事先造好的词典中的词条进行匹配,在待分析汉字串中扫描到词典中已有的词条则匹配成功,或者说切分出一个单词。基于统计的分词方法指的是分析大量文字样本,计算出字与字相邻出现的统计概率,几个字相邻出现得越多,就越可能形成一个单词。基于统计的方法的优势是对新出现的词反应更快速,也有利于消除歧义。在实际使用中,分词系统是混合使用两种方法的。搜索引擎对页面的分词取决于词库的规模、准确性和分词算法的好坏,而不是取决于页面本身如何,所以SEOer对分词所能做的事很少。唯一能做的是在页面上用某种形式提示搜索引擎,某几个字应该被当作一个词处理,尤其是可能产生歧义的时候,如在页面标题、h1标签及黑体中出现关键词。
(3)去除停止词。无论是英文还是中文,页面内容中都会有一些出现频率很高,却对内容没有任何影响的词,如“的”“地”“得”之类的助词,“啊”“哈”“呀之类的感叹词,“从而”“以”“却”之类的副词或介词。这些词被称为停止词,因为它们对页面内容的主要意思没什么影响。英文中的常见停止词有the、a、an、to、of等。搜索引擎在索引页面之前会去掉这些停止词,使索引数据主题更为突出,减少无谓的计算量。
(4)消除噪声。噪声并不是指网页中嘈杂的声音,而是指页面上对页面主题没有贡献的内容,如版权声明文字、导航条、广告等,这些内容对页面主题只能起到分散作用。因此搜索引擎需要识别并消除这些噪声(简称消噪),排名时不使用噪声内容。消噪的基本方法是根据HTML标签对页面进行分块,区分出页头、导航、正文、页脚、广告等区域,在网站上大量重复出现的区块往往属于噪声。对页面进行消噪后,剩下的才是页面的主体内容。
(5)去除重复。同一篇文章经常会重复出现在不同网站及同一个网站的不同网址上,搜索引擎并不喜欢这种重复性的内容。用户搜索时,如果在前两页看到的都是来自不同网站的同一篇文章,虽然内容都是相关的,但用户体验就太差了。搜索引擎希望只返回相同文章中的一篇,所以在进行索引前还需要识别和删除重复内容,这个过程就称为“去重”。了解了搜索引擎的去重算法,SEOer就应该知道简单地增加“的”“地”“得”并调换段落顺序这种所谓的伪原创,并不能逃过搜索引擎的去重算法,因为这样的操作无法改变文章的特征关键词。而且搜索引擎的去重算法很可能不止于页面级别,而是进行到段落级别,混合不同的文章、交叉调换段落顺序也不能使转载和抄袭变成原创。
(6)正向索引。经过文字提取、分词、消噪、去重后,搜索引擎得到的就是独特的、能反映页面主体内容的、以词为单位的内容。接下来搜索引擎索引程序就可以提取关键词,按照分词程序划分好的词,把页面转换为一个关键词组成的集合,同时记录每一个关键词在页面上的出现频率、出现次数、格式(如title标签、黑体、h标签、锚文字等)、位置(如页面第一段等)。这样,每一个页面都可以记录为一串关键词集合,其中每个关键词的词频、格式、位置等权重信息也都记录在案。
(7)倒排索引。正向索引还不能直接用于排名。假设用户搜索关键词“2”,如果只存在正向索引,排名程序需要扫描所有索引库中的文件,找出包含关键词“2”的文件,再进行相关性计算。这样的计算量无法满足实时返回排名结果的要求。因此需要搜索引擎将正向索引数据库重新构造成倒排索引,把文件对应到关键词的映射转换为关键词到文件的映射。
(8)链接关系计算。现在所有的主流搜索引擎排名因素中都包含网页之间的链接流动信息。搜索引擎在抓取页面内容后,必须事前计算出页面上有哪些链接,这些链接指向其他哪些页面,每个页面有哪些导入链接,链接使用了什么锚文字。这些复杂的链接指向关系形成了网站和页面的链接权重。由于页面和链接数量巨大,网上的链接关系又时时处在更新中,因此链接关系及PR的计算要耗费很长的时间。
(9)特殊文件处理。除了HTML文件,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如PDF、DOC、XLS、PPT、TXT文件等。我们在搜索结果中也经常会看到这些文件类型。但目前的搜索引擎还不能处理图片、视频、Flash这类非文字内容,也不能执行脚本和程序。虽然搜索引擎在识别图片及从Flash中提取文字内容方面有些进步,不过距离直接靠读取图片、视频、Flash内容返回结果的目标还很远。对图片、视频内容的排名还往往是依据与之相关的文字内容,详细情况可以参考后面的整合搜索部分。