一、Simhash算法概述

Simhash算法是由Google的Charikar提出的一种局部敏感哈希(locality sensitive hashing)算法,它可以对文本进行指纹生成,并且可以快速的计算文本之间的相似度,被广泛用于文本去重、排重等应用中。

二、Simhash算法原理

Simhash算法的原理是把文本中的每个词,通过特定的hash函数转换为一个固定长度的签名(signature),然后将所有的签名进行累加,最后将累加的结果转换为一个固定长度的数字,这个数字就是文本的指纹,也就是Simhash值。

三、Simhash算法应用

Simhash算法可以用来计算文本之间的相似度,它的原理是:如果两个文本的Simhash值的海明距离(Hamming distance)比较小,那么这两个文本就相似,反之,如果海明距离比较大,那么这两个文本就不相似。因此,通过Simhash算法可以快速的计算出文本之间的相似度,从而达到文本去重的目的。