服务器处理是对蜘蛛抓取的网页进行处理,是提高搜索准确度和用户体验的重要环节,和爬行抓取相同,都是搜索引擎后台处理的一部分。
搜索引擎蜘蛛抓取的网页数据,是不能直接参与排名的。因为数据过于庞大,如果直接利用检索器检索的话,大量相应网页的排名计算量非常大,根本不能在一两秒内提供给用户答案。所以搜索引擎会对抓取的网页进行预处理,得出关键词的索引,相对于对网页上各个关键词进行一个预排名,用户检索时就能更快地获得搜索结果。
服务器处理网页的工作通常包括网页结构化、分词、去噪去重、索引、超链分析、数据整合等。
(1) 网页结构化:提取网页有用信息,去除HTML代码及脚步,剩下的文字信息就是服务器需要分析处理的数据。
搜索引擎蜘蛛抓取到的网页,是整个网页所有的信息都包含在其中,导航、分类列表、友情链接,甚至广告都会被抓取到搜索引擎,这样的内容并不能直接用来进行预报名处理。所以搜索引擎会去除网页的HTML代码,剩下的文字内容,如正文文字、Meta标签文字、锚文本、图片、视频、注释等,都可以进行排名的处理,这样对排名的干扰也就更小。如下代码:
<div class=”headlinetop”>
<a href=” http://www.chinaz.com/news/2013/0312/295377.shtml” target=”_blank”>
<h3>苹果全球十四大最著名零售店</h3>
<p>腾讯科技讯(云松)北京时间3月12日消息,据国外媒体报道,近日,全球著名杂志《福布斯》发布了苹果公司在…</p>
</a></div>
以上代码,经过服务器网页结构化后,去除代码后就剩下:“苹果全球十四大最著名零售店腾讯科技讯(云松)北京时间3月12日消息,据国外媒体报道,近日,全球著名杂志《福布斯》发布了苹果公司在…”
(2) 分词:通常在中文搜索引擎中使用,由于中文和英文语系的意义表达不同,中文的意思表达一般是词汇,有的字为一个词汇,也可以多个字组成一个词汇,而且中文词汇之间是没有间隔做区分的。因此在中文搜索引擎中,就需要根据词典或者日常使用习惯对语句按词汇进行划分,以建立以词汇为索引的信息数据库。
例如,上面的网页“苹果全球十四大最著名零售店”,搜索引擎调用词典分词为“苹果”、“全球”、“十四”、“大”、“最”、“著名”、“零售店”,然后根据一定的条件,建立由这些词为索引的网页数据,再进行一系列的排名程序。但在实际应用中,不光以词典为依据,还会加入日常搜索的统计数据和该网页自身词汇组成来分词。
因为中文词汇非常多,所以搜索引擎在判断网页词汇的时间,就需要借用词典进行分词,而搜索引擎分词的准确性,取决于词典的准确性和完整性。主要搜索引擎都会建立独立的词典,这个词典不是一成不变的,会不断加入新词汇,也会讲常用的词汇进行靠前排列,在调用时也就更快捷。调用的过程就是将抓取到的网页文字逐一按词到词典中去匹配,也就相当于我们查词典的过程。
需要注意的是,服务器分词的时间,用正向和逆向两种顺序扫描网页中的文字,以词典中含有的长短词对网页文字进行多次分词。例如“中国地图”在按词典分词时,服务器正向扫描分为“中国”、“地图”,这是最短的词汇,如果按照最大匹配可以分为“中国地图”,然后建立与词对应索引项。如图2.22和图2.23所示为“中国地图”百度分词的两种结果。
图2.22 “中国地图”百度分词结果
图2.23 “中国地图”百度分词结果
依据统计数据的分词,是对词典分词的一种补充和优化。由于词典对新词的匹配度很低,搜索引擎不能很好地对新关键词的网页进行分词并建立索引,这就大大降低了搜索引擎搜索新关键词的能力。因此作为对词典分词的补充,搜索引擎能根据所有网页中相邻的字出现在一起的频率来判断,频率很高的话说明这几个字组成词,并加入到词汇统计数据库,分词时调用并进行匹配。例如搜索“鞋子理论是什么”,由于习近平主题提出的“鞋子理论”近日受到广泛的关注,网页中“鞋子理论”四个字出现在一起的频率非常高,因此在统计数据库中就形成了一个词条,用以网页分词的匹配。如图2.24所示为“鞋子理论是什么”百度分词结果。
图2.24 “鞋子理论是什么”百度分词结果
值得注意的是,每种搜索引擎分词的结果并不完全相同,满足用户需求的能力也有所不同,这主要取决于搜索引擎的词典的丰富程度与准确度。因此网页在不同搜索引擎的分词结果并不完全相同,这也是影响搜索结果的一个因素。而SEOer在针对分词上所能做的就是,尽量使常用搜索词组合在一起。这样在搜索引擎分词时,就可以将常用词化为同一个词建立索引,也就能获得更高的匹配度。
(3)降噪去重:去除影响网页主要信息的无意义以及重复的内容。由于网页信息中,通常含有较多的重复内容,如广告、头部和底部信息等,以及文字内容中的无意义的符号、字词等,这极大地浪费了搜索引擎资源,所以服务器会去除网页中这些无意义的内容。
在以文字为主的网页中,很多无意义的文字,如“的”、“了”、“啊”、“of”、“a”、“the”等,这些字占了大量的篇幅,但是几乎没有人会搜索这些字词。搜索引擎为了降低无意义内容的干扰,会去除这些内容,就是这些内容不会作为网页关键词建立索引。
由于互联网资源庞大,网站之间相互转载内容,就会产生很多重复内容;在相同网站中,相同的模块,让很多网页中含有相同的内容,有的甚至占据了大量的篇幅。所以搜索引擎在爬行网页后,会检测是否是重复网页,如果是通常不会收录;而相同网站中,也有较多网页含有重复的内容,如相同的列表、广告、版权说明等。搜索引擎对于这些网页的做法就是筛选,将抓取的内容与数据库中的内容进行对比,如果相似度太高会不予收录,或去除相同的部分进行收录。
但是由于互联网中的网页数量十分庞大,搜索引擎并不能对每个网页进行全面的检测,另外很多内容是允许转载的,因此用户仍能搜索到很多相同的结果。但是对网页的降噪是必需的流程,不仅可以减少资源浪费,而且可以提高排名的准确性。
(4)索引:搜索引擎以网页中词语为关键词,建立的便于查询的有序文件条目存储于搜索引擎的索引库中,索引通常分为正排索引和倒排索引两种。
正排索引是搜索引擎将抓取的网页,经过分词、去噪等操作后,以网页文件为单位,对网页文件中关键词的映射。简单地说就是,正排索引是将网页文件中的各个关键词信息存为一个项,包括关键词的次数、频率、加粗加黑、出现的位置等信息,并按照重要程度对关键词进行有序排列。如图2.25所示为搜索引擎索引库正排索引的简化表,其中每个网页的所有关键词都进行了排序,更重要的关键词被排在更靠前的位置。需要注意的是,网页文件和关键词都有各自的编号,在检索时速度更快,这与倒排索引中是相同的。
倒排索引是搜索引擎以关键词为单位,对不同网页文件的映射。也就是搜索引擎以关键词为条目名,内容是含有相同关键词的网页文件排序,用户常见的关键词搜索就是调用倒排索引。因为正排索引并不能直接获得搜索结果排名,所以倒排索引是对正排索引的补充,也是用户搜索调用的关键索引。当用户搜索某个具体关键词时,如“SEO”,搜索引擎调用以“SEO”为条目名的索引项,然后将其中按相关度排列的网页文件经过处理的结果,返回给查询用户。如图2.26所示为搜索引擎索引库倒排索引的简化表,从表中可以看到,每个关键词对应了很多含有这个关键词的网页,这些网页都是经过排序的,这将极大提高搜索引擎的查询速度。
图2.25 搜索引擎索引库正排索引简化表
(网页中关键词的重要程度排序)
网页1 网页2 网页3 网页4 网页5 网页6 ……
关键词1 关键词1 关键词3 关键词2 关键词4 关键词9 ……
关键词2 关键词3 关键词4 关键词5 关键词5 关键词13 ……
关键词3 关键词4 关键词7 关键词9 关键词8 关键词17 ……
关键词4 关键词6 关键词9 关键词13 关键词11 关键词21 ……
关键词5 关键词7 关键词10 关键词21 关键词12 关键词33 ……
…… …… …… …… …… …… ……
图2.26 搜索引擎索引库倒排索引简化表
(含该关键词的网页按重要程度排序)
关键词1 关键词1 关键词3 关键词2 关键词4 关键词9 ……
网页1 网页1 网页3 网页2 网页4 网页9 ……
网页2 网页3 网页4 网页5 网页5 网页13 ……
网页3 网页4 网页7 网页9 网页8 网页17 ……
网页4 网页6 网页9 网页13 网页11 网页21 ……
网页5 网页7 网页10 网页21 网页12 网页33 ……
…… …… …… …… …… …… ……
搜索引擎索引库是整个搜索过程的基础,没有索引搜索引擎很难找到相应的内容。倒排索引则更好地降低了关键词搜索网页的难度,使搜索引擎返回结果的速度太太提升。
(5)超链分析:搜索引擎通过对网页链接的分析,得出网页相关度的计算。就像卖东西一样,所有卖东西的都会夸自己的东西好,网页也是一样,如果只通过网页自身表现情况来判断网页排名,肯定不能十分准确。因此搜索引擎希望通过网页以外的标准来衡量网页,而网页以外的标准中,最利于搜索引擎掌握的就是超链接,每个网页的外部超链接数量、质量,以及网页导出链接情况,都反映网页的质量和关键词的相关度。这样的链接分析技术在所有的搜索引擎中都存在,其中最为知名的超链分析就是谷歌的PR技术,国内的百度李彦宏提出的超链分析技术,其他搜索引擎也都有自己的超链分析技术,只是在具体侧重方向有些许差别。
具体的超链分析技术是十分复杂的,但是最主要的原则有导入链接数量、导入链接网页质量、导入链接锚文本等。例如网页A有导入链接40个,其中以“SEO”为锚文本的链接30个;而网页B有导入链接30个,以“SEO”为锚文本的链接20个,一般情况下,网页A在关键词“SEO”的排名结果中更理想。
由于超链分析的计算量非常庞大、计算时间很长,所以在建立倒排索引时,超链分析已经完成,并对索引结果的排名产生影响,这样也可以提高搜索引擎返回结果的速度。
(6)数据整合:搜索引擎经过处理网页文件,将各种格式的文件数据进行整理,然后进行分类存储。由于网络文件的类型有很多种,如HTML、PPT、Word、Txt、Jpg、Bmp、Swf、Mp3等格式,其中文字格式的网页文件,能很好地被搜索引擎识别处理。但其他富媒体格式的文件,如视频、音乐、图片等往往只能通过其说明性文字进行处理,然后整合各种类型的数据,存于搜索引擎的数据库中。
不同的数据格式被分别存储,但是在建立索引及排序时,往往又会联系到与数据相关的内容,以判断其相关性和重要性,然后形成最终的一个有利于搜索排名的数据库。