simhash去重算法实践

自己实践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

             


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值