码迷,mamicode.com
首页 > 其他好文 > 详细

simhash和minhash实现理解

时间:2017-11-30 23:35:09      阅读:411      评论:0      收藏:0      [点我收藏+]

标签:https   arch   htm   网页   去重   词向量   class   ref   sim   

文本相似度算法

minhash

1. 把文档A分词形成分词向量L
2. 使用K个hash函数,然后每个hash将L里面的分词分别进行hash,然后得到K个被hash过的集合
3. 分别得到K个集合中的最小hash,然后组成一个长度为K的hash集合
4. 最后用Jaccard index求出两篇文档的相似度

simhash

1. 把文档A分词形成分词向量L,L中的每一个元素都包涵一个分词C以及一个分词的权重W
2. 对L中的每一个元素的分词C进行hash,得到C1,然后组成一个新的向量L1
3. 初始化一个长度大于C1长度的向量V,所有元素初始化为0
4. 分别判断L1中的每一个元素C1的第i位,如果C1i是1,那么Vi加上w,否则Vi减去w
5. 最后判断V中的每一项,如果第i项大于0,那么第i项变成1,否则变成0
6. 两篇文档a,b分别得到aV,bV
6. 最后求出aV和bV的海明距离,一般距离不大于3的情况下说明两篇文档是相似的

中文文档simhash值计算
simhash算法原理及实现
GoSimhash 是 中文 simhash 去重算法库,Golang版本。
simhash算法的原理
simhash与Google的网页去重

simhash和minhash实现理解

标签:https   arch   htm   网页   去重   词向量   class   ref   sim   

原文地址:http://www.cnblogs.com/bergus/p/simhash-heminhash-shi-xian-li-jie.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!