摘要: 第一次听说google的simhash算法[1]时,我感到很神奇。传统的hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。传统hash算法产生的两个签名,如果相等,说明原始内容在一定概率下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别极大。从这个意义上来说,要设计一个hash算法,对相似的内容产生的签名也相近,是更为艰难的任务,因为它的签名值除了提供原始内容是否相等的信息外,还能额外提供不相等的原始内容的差异程度的信息。因此当我知道google的simhash算法产生的签名,可以 阅读全文
posted @ 2011-09-15 11:58 muyushiok 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 有1亿个不重复的64位的01字符串,任意给出一个64位的01字符串f,如何快速从中找出与f汉明距离小于3的字符串?大规模网页的近似查重主要翻译自WWW07的Detecting Near-Duplicates for Web CrawlingWWW上存在大量内容近似相同的网页,对搜索引擎而言,去除近似相同的网页可以提高检索效率、降低存储开销。当爬虫在抓取网页时必须很快能在海量文本集中快速找出是否有重复的网页。论文主要2个贡献:1.展示了simhash可以用以海量文本查重2.提出了一个在实际应用中可行的算法。Simhash算法一篇文本提取出内容以后,经过基本的预处理,比如去除停词,词根还原,甚至c 阅读全文
posted @ 2011-09-15 11:55 muyushiok 阅读(434) 评论(0) 推荐(0) 编辑