03月24, 2019

网页去重-比较文本的相似度

检测重复的内容!

在搜索引擎,版权保护,信息展示等方面都有很好的应用。在搜索引擎上,主要是去掉重复的页面,图片,文件,文档等等.

deduplication level:

#1. full-layout duplicate:内容和格式上毫无差别,

#2. full-content duplicates:内容相同,但是格式不同,

#3. partial-layout duplicates:部分重要的内容相同,并且格式相同,

#4. partial-content duplicates:部分重要的内容相同,但是格式不同.

搜索引擎三大门神: 去主题内容重复,净化(noise reduction),反作弊(antispam) 。

开始行动前思考:

#1. 要解决问题是什么?full-layout?full-content?partial-layout还是partial-content?

答:partial-content deduplication

#2. 提取内容,对比,计算相似度,聚类算法,归类。如何计算相似度?

答:计算内容的编辑距离edit distance(方法很有名,但是复杂度太高),把内容分成一个个的token,然后用集合的jaccard度量(好主意,但是页面内容太多,能不能减少啊?

  1. 计算内容的信息指纹,参考google研究员吴军的数学之美系列

第一步:识别页面的主题内容,网页净化的一部分,以后讨论

第二步:提取页面的特征。将文章切分为重合和或不重合的几个结合,hash out

第三步:用相似度度量来计算集合的相似性,包括用信息指纹,Jaccard集合相似度量,random projection等。

第四步:聚类算法,计算出文档那些文档是相似的,归类。

方法分类:

按照利用的信息,现有方法可以分为以下三类

1.只是利用内容计算相似

2.结合内容和链接关系计算相似

3.结合内容,链接关系以及url文字进行相似计算

一般为内容重复的去重,实际上有些网页是

按照特征提取的粒度现有方法可以分为以下三类

1.按照单词这个级别的粒度进行特征提取.

2.按照SHINGLE这个级别的粒度进行特征提取.SHNGLE是若干个连续出现的单词,级别处于文档和单词之间,比文档粒度小,比单词粒度大.

3.按照整个文档这个级别的粒度进行特征提取

算法-具体见真知

  1. I-Match

  2. Shingling

  3. Locality Sensitive Hashing.(SimHash)

  4. SpotSigs

  5. Combined

本文链接:https://harry.ren/post/web-content-near-duplicate.html

-- EOF --

Comments