您的位置:首页 > 其它

simhash去重算法实践

2017-12-20 20:52 162 查看
自己实践simhash算法的几点经验:

1 数据已处理,正则表达式去除各种转义符号

2 将文本中的数字和字母等去除

3 分词后去除停顿词

步骤,

1 文本预处理

代码步骤

1 jieba分词    获取features

2 hash函数计算hash值

3 计算海明距离AxoB(两个二进制串中不同位的个数)

将第一篇features建立index

objs = [(str(0), Simhash(features))]index = SimhashIndex(objs, k=hamming_distance)
其他篇
s1 = Simhash(features)relation_list = index_s.get_near_dups(s1)if len(relation_list) == 0:	index.add(str(actual_count), s1)其中actual_count只是index中s1的词典键

百度的去重算法

百度的去重算法最简单,就是直接找出此文章的最长的n句话,做一遍hash签名。n一般取3。 工程实现巨简单,据说准确率和召回率都能到达80%以上。
更详细可以查看:http://blog.csdn.net/heiyeshuwu/article/details/44117473


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: