预处理简单介绍

网络营销评论83

在一些东莞seo材料中,“预处理”也被简称为“索引”,因为索引是预处理最主要的步骤。

搜索引擎蜘蛛抓取的原始页面,并不能直接用于查询排名处理。搜索引擎数据库中的页面数都在数万亿级别以上,用户输入搜索词后,靠排名程序实时对这么多页面分析相关性,计算量太大,不可能在一两秒内返回排名结果。因此抓取来的页面必须经过预处理,为最后的查询排名做好准备。

预处理简单介绍-图片1

和爬行抓取一样,预处理也是在后台提前完成的,用户搜索时感觉不到这个过程。

1.提取文字

现在的搜索引擎还是以文字内容为基础。蜘蛛抓取到的页面中的HTML代码,除了用户在浏览器上可以看到的可见文字外,还包含了大量的HTML格式标签、JavaScript程序等无法用于排名的内容。搜索引擎预处理首先要做的就是从HTML文件中去除标签、程序,提取出可以用于排名处理的网页面文字内容。

比如下面这段HTML代码:

<div class="posttitle’‘>

<a

href="http://www. chinamyhosting.com/东莞seoblog/2 010104 /Ol/fools - day/"

rel= "boo krna rk" title=" Pe rmanent Link to今天愚人节哈”>今天愚人节哈<a><h2>

除去HTML代码后,剩下的用于排名的文字只是这一行:

l今天愚人节哈

除了可见文字,搜索引擎也会提取出一些特殊的包含文字信息的代码,如Meta标签中的文字、图片替代文字、Flash文件的替代文字、链接锚文字等。

2.中文分词

分词是中文搜索引擎特有的步骤。搜索引擎存储和处理页面及用户搜索都是以词为基础的。英文等语言单词与单词之间有空格分隔,搜索引擎索引程序可以直接把句子划分为单词的集合。而中文词与词之间没有任何分隔符,一个句子中的所有字和词都是连在一起的。搜索引擎必须首先分辨哪几个字组成一个词,哪些字本身就是一个词。比如“减肥方”将被分词为“减肥”和“方法”两个词。

中文分词方法基本上有两种,一种是基于词典匹配,另一种是基于统计。

基于词典匹配的方法是指,将待分析的一段汉字与一个事先造好的词典中的词条进行匹配,在待分析汉字串中扫描到词典中已有的词条则匹配成功,或者说切分出一个单词。

按照扫描方向,基于词典的匹配法可以分为正向匹配和逆向匹配。按照匹配长度优先级的不同,又可以分为最大匹配和最小匹配。将扫描方向和长度优先混合,又可以产生正向最大匹配、逆向最大匹配等不同方法。

词典匹配方法计算简单,其准确度在很大程度上取决于词典的完整性和更新情况。

基于统计的分词方法指的是分析大量文字样本,计算出字与字相邻出现的统计概率,几个字相邻出现越多,就越可能形成一个单词。基于统计的方法的优势是对新出现的词反应更快速,也有利于消除歧义。

基于词典匹配和基于统计的分词方法各有优劣,实际使用中的分词系统都是混合使用两种方法的,快速高效,又能识别生词、新词,消除歧义。

中文分词的准确性往往影响搜索引擎排名的相关性。比如在百度搜索“搜索引擎优化”,如图2-22所示,从快照中可以看到,百度把“东莞搜索引擎优化”这六个字当成一个词。

预处理简单介绍-图片2

而在Google搜索同样的词,如图2-23所示,快照显示Google将其分切为“搜索”、“引擎”和“优化”三个词。显然百度切分得更为合理,东莞搜索引擎优化是一个完整的概念。

预处理简单介绍-图片3

再举一个更明显的例子。在Google搜索“点石互动”四个字,如图2-24所示,快照显示Google将其切分为“点”,“石”及“互动”三个词。“点石互动”这个中文东莞seo领域最知名的品牌,显然并没有进入Google的词典中。

预处理简单介绍-图片4

在百度搜索“点石互动”时会发现,百度将“点石互动”当做一个词。甚至在百度搜“点石大会报名”,可以发现百度把“点石大会”都当成一个词,如图所示。

预处理简单介绍-图片5

这种分词上的不同很可能是一些关键词排名在不同搜索引擎有不同表现的原因之一。比如百度更喜欢将搜索词完整匹配地出现在页面上,也就是说搜索“点石互动”时,这四个字连续完整出现更容易在百度获得好的排名。Google就与此不同,不太要求完整匹配。

一些页面出现“点石”和“互动”两个词,但不必完整匹配地出现,“点石”出现在前面,“互动”出现在页面的其他地方,这样的页面在Google搜索“点石互动”时,也可以获得不错的排名。

搜索引擎对页面的分词取决于词库的规模、准确性和分词算法的好坏,而不是取决于页面本身如何,所以东莞seo人员对分词所能做的很少。唯一能做的是在页面上用某种形式提示搜索引擎,某几个字应该被当做一个词处理,尤其是可能产生歧义的时候,比如在页面标题、hl标签及黑体中出现关键词。如果页面是关于“和服”的内容,那么可以把“和”这两个字特意标为黑体。如果页面是关于“化妆和服装”,可以把“服装”两个字标为黑体。这样,搜索引擎对页面进行分析时就知道标为黑体的应该是一个词。

3.去停止词

无论是英文还是中文,页面内容中都会有一些出现频率很高,却对内容没有任何影响的词,如“的”、“地”、“得”之类的助词,“啊”、“哈”、“呀”之类的感叹词,“从而”、“以”、“却”之类的副词或介词。这些词被称为停止词,因为它们对页面的主要意思没什么影响。英文中的常见停止词有theaantoof等。

搜索引擎在索引页面之前会去掉这些停止词,使索引数据主题更为突出,减少无谓的计算量。

4.消除噪声

绝大部分页面上还有一部分内容对页面主题也没有什么贡献,比如版权声明文字、导航条、广告等。以常见的博客导航为例,几乎每个博客页面上都会出现文章分类、历史存档等导航内容,但是这些页面本身与“分类”、“历史”这些词都没有任何关系。用户搜索“历史”、“分类”这些关键词时仅仅因为页面上有这些词出现而返回博客帖子是毫无意义的,完全不相关。所以这些区块都属于噪声,对页面主题只能起到分散作用。

搜索引擎需要识别并消除这些噪声,排名时不使用噪声内容。消噪的基本方法是根据HTMI,标签对页面分块,区分出页头、导航、正文、页脚、广告等区域,在网站上大量重复出现的区块往往属于噪声。对页面进行消噪后,剩下的才是页面主体内容。

5.去重

搜索引擎还需要对页面进行去重处理。

同一篇文章经常会重复出现在不同网站及同一个网站的不同网址上,搜索引擎并不喜欢这种重复性的内容。用户搜索时,如果在前两页看到的都是来自不同网站的同一篇文章,用户体验就太差了,虽然都是内容相关的。搜索引擎希望只返回相同文章中的一篇,所以在进行索引前还需要识别和删除重复内容,这个过程就称为“去重”。

去重的基本方法是对页面特征关键词计算指纹,也就是说从页面主体内容中选取最有代表性的一部分关键词(经常是出现频率最高的关键词),然后计算这些关键词的数字指纹。这里的关键词选取是在分词、去停止词、消噪之后。实验表明,通常选取10个特征关键词就可以达到比较高的计算准确性,再选取更多词对去重准确性提高的贡献也就不大了。

典型的指纹计算方法如MD5算法(信息摘要算法第五版)。这类指纹算法的特点是,输入(特征关键词)有任何微小的变化,都会导致计算出的指纹有很大差距。

了解了搜索引擎的去重算法,东莞seo人员就应该知道简单地增加“的”、“地”、“得”、调换段落顺序这种所谓伪原创,并不能逃过搜索引擎的去重算法,因为这样的操作无法改变文章的特征关键词。而且搜索引擎的去重算法很可能不止于页面级别,而是进行到段落级别,混合不同文章、交叉调换段落顺序也不能使转载和抄袭变成原创。

6.正向索引

正向索引也可以简称为索引。

经过文字提取、分词、消噪、去重后,搜索引擎得到的就是独特的、能反映页面主体内容的、以词为单位的内容。接下来搜索引擎索引程序就可以提取关键词,按照分词程序划分好的词,把页面转换为一个关键词组成的集合,同时记录每一个关键词在页面上的出现频率、出现次数、格式(如出现在标题标签、黑体、H标签、锚文字等)、位置(如页面第一段文字等)。这样,每一个页面都可以记录为一串关键词集合,其中每个关键词的词频、格式、位置等权重信息也都记录在案。

搜索引擎索引程序将页面及关键词形成词表结构存储进索引库。简化的索引词表形式如表所示。

预处理简单介绍-图片6

每个文件都对应一个文件ID,文件内容被表示为一串关键词的集合。实际上在搜索引擎索引库中,关键词也已经转换为关键词ID。这样的数据结构就称为正向索引。

7.倒排索引

正向索引还不能直接用于排名。假设用户搜索关键词2,如果只存在正向索引,排名程序需要扫描所有索引库中的文件,找出包含关键词2的文件,再进行相关性计算。这样的计算量无法满足实时返回排名结果的要求。

所以搜索引擎会将正向索引数据库重新构造为倒排索引,把文件对应到关键词的映射转换为关键词到文件的映射,如表所示。

在倒排索引中关键词是主键,每个关键词都对应着一系列文件,这些文件中都出现了这个关键词。这样当用户搜索某个关键词时,排序程序在倒排索引中定位到这个关键词,就可以马上找出所有包含这个关键词的文件。

预处理简单介绍-图片7预处理简单介绍-图片8

 
网络营销

最新企业招聘员工的原则,赶紧收藏

在一家初创企业中,我们经常会说这样一句话:“招聘看的是态度,工作能力是可以培训的。”但是培训真的可以让一个员工脱胎换骨吗?工作经验的主要性是否真的被过分夸大了?如果为你的初创企业选择正确的人才?又要如...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: