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

想前面的提到的算法都是基于这个文档的,对于大型的搜索引擎来说,在性能上有些差距,所以有些优化,针对是网页的关键词,或者网页的meta描述部分。所以,必须有以下的技术做支撑:

1、网页中出现的关键词(中文分词技术)以及每个关键词的权重(关键词密度); 
2、提取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个左右关键词最恰当。

资源: 
SCAM (Stanford Copy Analysis Mechanism)=.http://infolab.stanford.edu/~shiva/SCAM/scamInfo.html