simHash介绍及python实现
文章目录 1、simHash简介 2、simHash具体流程 3、Python实现simHash 1、simHash简介 simHash 算法是GoogleMoses Charikear于2007年发布的一篇论文 《Detecting Near-duplicates for web crawling》 中提出的, 专门用来解决亿万级别的网页去重任务。 simHash 是局部敏感哈希 (locality sensitve hash) 的一种,其主要思想是 降维 ,将高维的特征向量映射成低维的特征向量,再通过比较两个特征向量的 汉明距离(Hamming Distance) 来确定文章之间的相似性。 什么是 局部敏感 呢?假设A,B具有一定的相似性,在hash之后,仍能保持这种相似性,就称之为局部敏感hash 汉明距离 : Hamming Distance ,又称汉明距离,在信息论中,等长的两个字符串之间的汉明距离就是两个字符串对应位置的不同字符的个数。即将一个字符串变换成另外一个字符串所需要替换的字符个数,可使用异或操作。 例如: 1011与1001之间的汉明距离是1。 2、simHash具体流程 simHash算法总共分为5个流程: 分词、has、加权、合并、降维。 分词 对待处理文档进行中文分词,得到有效的特征及其权重。可以使用 TF-IDF 方法获取一篇文章权重最高的前 topK