服务热线:0574-87781701 |
|
春节这几天,看了一些搜索引擎基本原理的书,下面把了解到关于复制网页的算法写下来。 关键词:搜索引擎,复制网页,算法,信息指纹,Fingerprint,关键词 搜索引擎判断复制网页一般都基于这么一个思想:为每个网页计算出一组信息指纹(Fingerprint),若两个网页有一定数量相同的信息指纹,则认为这两个网页的内容重叠性很高,也就是说两个网页是内容复制的。 很多搜索引擎判断内容复制的方法都不太一样,主要是以下两点的不同: 1、计算信息指纹(Fingerprint)的算法; 在描述具体的算法前,先说清楚两点: 分段签名算法 这种算法是按照一定的规则把网页切成N段,对每一段进行签名,形成每一段的信息指纹。如果这N个信息指纹里面有M个相同时(m是系统定义的阙值),则认为两者是复制网页。 这种算法对于小规模的判断复制网页是很好的一种算法,但是对于像google这样海量的搜索引擎来说,算法的复杂度相当高。 基于关键词的复制网页算法 像google这类搜索引擎,他在抓取网页的时候都会记下以下网页信息: 1、网页中出现的关键词(中文分词技术)以及每个关键词的权重(关键词密度); 在以下算法描述中,我们约定几个信息指纹变量: Pi表示第i个网页; 以上信息指纹都用MD5函数进行加密。 基于关键词的复制网页算法有以下5种: 关于第4和第5的那个阙值a,主要是因为前一个判断条件下,还是会有很多网页被误伤,搜索引擎开发根据权重的分布比例进行调节,防止误伤。 这个是北大天网搜索引擎的去重算法(可以参考:《搜索引擎--原理、技术与系统》一书),以上5种算法运行的时候,算法的效果取决于N,就是关键词数目的选取。当然啦,选的数量越多,判断就会越精确,但是谁知而来的计算速度也会减慢下来。所以必须考虑一个计算速度和去重准确率的平衡。据天网试验结果,10个左右关键词最恰当。 后记 |