搜索引擎对重复页面算法分析

开发 前端 算法
本文介绍了搜索引擎对重复页面的算法分析,希望对你有帮助,一起来看。

搜索引擎判断复制网页一般都基于这么一个思想:为每个网页计算出一组信息指纹(Fingerprint),若两个网页有一定数量相同的信息指纹,则认为这两个网页的内容重叠性很高,也就是说两个网页是内容复制的。

很多搜索引擎判断内容复制的方法都不太一样,主要是以下两点的不同:

1、计算信息指纹(Fingerprint)的算法;

2、判断信息指纹的相似程度的参数。

在描述具体的算法前,先说清楚两点: 

1、什么是信息指纹?信息指纹就是把网页里面正文信息,提取一定的信息,可以是关键字、词、句子或者段落及其在网页里面的权重等,对它进行加密,如MD5加密,从而形成的一个字符串。信息指纹如同人的指纹,只要内容不相同,信息指纹就不一样。

2、算法提取的信息不是针对整张网页,而是把网站里面共同的部分如导航条、logo、版权等信息(这些称之为网页的“噪音”)过滤掉后剩下的文本。

分段签名算法

这种算法是按照一定的规则把网页切成N段,对每一段进行签名,形成每一段的信息指纹。如果这N个信息指纹里面有M个相同时(m是系统定义的阙值),则认为两者是复制网页。

这种算法对于小规模的判断复制网页是很好的一种算法,但是对于像google这样海量的搜索引擎来说,算法的复杂度相当高。

基于关键词的复制网页算法

像google这类搜索引擎,他在抓取网页的时候都会记下以下网页信息:

1、网页中出现的关键词(中文分词技术)以及每个关键词的权重(关键词密度); 

2、提取meta descrīption或者每个网页的512个字节的有效文字。 

关于第2点,baidu和google有所不同,google是提取你的meta descrīption,如果没有查询关键字相关的512个字节,而百度是直接提取后者。这一点大家使用过的都有所体会。

在以下算法描述中,我们约定几个信息指纹变量:

Pi表示第i个网页; 

该网页权重最高的N个关键词构成集合Ti={t1,t2,...tn},其对应的权重为Wi={w1,w2,...wi}
摘要信息用Des(Pi)表示,前n个关键词拼成的字符串用Con(Ti)表示,对这n个关键词排序后形成的字符串用Sort(Ti)表示。

以上信息指纹都用MD5函数进行加密。

基于关键词的复制网页算法有以下5种: 

1、MD5(Des(Pi))=MD5(Des(Pj)),就是说摘要信息完全一样,i和j两个网页就认为是复制网页; 

2、MD5(Con(Ti))=MD5(Con(Tj)),两个网页前n个关键词及其权重的排序一样,就认为是复制网页; 

3、MD5(Sort(Ti))=MD5(Sort(Tj)),两个网页前n个关键词一样,权重可以不一样,也认为是复制网页。 

4、MD5(Con(Ti))=MD5(Con(Tj))并且Wi-Wj的平方除以Wi和Wj的平方之和小于某个阙值a,则认为两者是复制网页。 

5、MD5(Sort(Ti))=MD5(Sort(Tj))并且Wi-Wj的平方除以Wi和Wj的平方之和小于某个阙值a,则认为两者是复制网页。

关于第4和第5的那个阙值a,主要是因为前一个判断条件下,还是会有很多网页被误伤,搜索引擎开发根据权重的分布比例进行调节,防止误伤。

这个是北大天网搜索引擎的去重算法(可以参考:《搜索引擎--原理、技术与系统》一书),以上5种算法运行的时候,算法的效果取决于N,就是关键词数目的选取。当然啦,选的数量越多,判断就会越精确,但是谁知而来的计算速度也会减慢下来。所以必须考虑一个计算速度和去重准确率的平衡。据天网试验结果,10个左右关键词最恰当。

后记

以上肯定无法覆盖一个大型搜索引擎复制网页的所有方面,他们必定还有一些辅助的信息指纹判断,本文作为一个思路,给做搜索引擎优化的一个思路。

【编辑推荐】

  1. 解析外链导致网站降权原因
  2. 做好seo 需具备的好习惯
  3. 做seo要理论加实践才能做得最好
  4. 分享20个专业的SEO网站分析工具
  5. 分享提高网站流量的十大方法
责任编辑:于铁 来源: SEO学习网
相关推荐

2011-06-20 18:23:06

SEO

2014-08-13 11:04:02

搜索引擎排序算法

2020-03-20 10:14:49

搜索引擎倒排索引

2017-08-07 08:15:31

搜索引擎倒排

2009-02-19 09:41:36

搜索引擎搜狐百度

2010-04-20 11:43:46

2012-09-07 13:22:21

搜索搜狗

2022-10-08 09:13:18

搜索引擎⽹站

2014-08-08 10:48:55

Google搜索引擎

2009-09-22 16:23:52

搜索引擎

2011-11-15 08:40:17

百度

2011-06-03 10:19:53

2009-12-10 15:09:46

PHP搜索引擎类

2023-09-21 15:05:12

ChatGPT搜索引擎

2016-12-26 13:41:19

大数据搜索引擎工作原理

2011-06-02 15:36:48

2010-06-13 16:27:28

搜索引擎

2023-02-08 10:45:23

2009-07-30 10:40:56

搜索引擎优化网站

2023-01-03 15:42:29

机器学习视频搜索
点赞
收藏

51CTO技术栈公众号