检测重复的内容!
在搜索引擎,版权保护,信息展示等方面都有很好的应用。在搜索引擎上,主要是去掉重复的页面,图片,文件,文档等等.
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度量(好主意,但是页面内容太多,能不能减少啊?
- 计算内容的信息指纹,参考google研究员吴军的数学之美系列
第一步:识别页面的主题内容,网页净化的一部分,以后讨论
第二步:提取页面的特征。将文章切分为重合和或不重合的几个结合,hash out
第三步:用相似度度量来计算集合的相似性,包括用信息指纹,Jaccard集合相似度量,random projection等。
第四步:聚类算法,计算出文档那些文档是相似的,归类。
方法分类:
按照利用的信息,现有方法可以分为以下三类
1.只是利用内容计算相似
2.结合内容和链接关系计算相似
3.结合内容,链接关系以及url文字进行相似计算
一般为内容重复的去重,实际上有些网页是
按照特征提取的粒度现有方法可以分为以下三类
1.按照单词这个级别的粒度进行特征提取.
2.按照SHINGLE这个级别的粒度进行特征提取.SHNGLE是若干个连续出现的单词,级别处于文档和单词之间,比文档粒度小,比单词粒度大.
3.按照整个文档这个级别的粒度进行特征提取
算法-具体见真知
I-Match
Shingling
Locality Sensitive Hashing.(SimHash)
SpotSigs
Combined
Comments