根据simhash找出集合中相似文档的算法

原创 2013年12月03日 22:17:32

google的simhash算法可以用来衡量原始文档的相似程度。如何判断呢?很简单,就是求2个文档的simhash的距离(即二进制数字中不相同的位的个数)。

本文不想阐述simhash如何产生、如何计算距离,而是要解决从大量文档中找出相似的文档的问题(我们认为距离为1或2时,两文档相似,为0即相等不考虑)。最笨的方法当然是两两比较了,但是当集合中文档数量很大时,两两比较将会很不现实。那该怎么办呢?我的同事ruan给出了一个算法(这个算法也许来自某本书,这里暂且不管)。

算法很简单,当距离小于3时,我们认为文档A和文档B相似,所以我们将所有simhash数值按位均分成3段,即:

A=A1  A2  A3,B=B1  B2  B3,。。。,

如果A和B相似,必然存在某一个段是相等的,也就是说A和B相似,要么A1=B1,要么A2=B2,要么A3=B3,否则A和B不相似。

所以我们按段分组,同一组内的数据再做两两比较,大大减少了比较次数,提高了效率。第一个段分组计算完后再按第二个段、第三个段分组做同样操作。

如果距离小于7时,认为是相似的,就将simhash分成7段,计算方法相同。

文本相识度算法(余弦相似性、简单共有词、编辑距离、SimHash、汉明距离、Jaccard相似性系数、欧几里得距离、曼哈顿距离 )

文本相似度计算在信息检索、数据挖掘、机器翻译、文档复制检测等领域有着广泛的应用。 比如舆论控制,我们假设你开发了一个微博网站,并且已经把世界上骂人的句子都已经收录进了数据库,那么当一个用户发微博...
  • u011630575
  • u011630575
  • 2016年08月09日 19:01
  • 3117

[转]文档去重算法:SimHash和MinHash

simhash与重复信息识别来源:http://grunt1223.iteye.com/blog/964564在工作学习中,我往往感叹数学奇迹般的解决一些貌似不可能完成的任务,并且十分希望将这种喜悦分...
  • heiyeshuwu
  • heiyeshuwu
  • 2015年03月07日 16:47
  • 40315

[转]文本相似性算法:simhash/minhash/余弦算法

文本相似性中文本去重的常规做法,经常运营在数据挖掘等领域,主要有包括适合标题的minhash算法,适合文本内容的 simhash、余弦算法等...
  • heiyeshuwu
  • heiyeshuwu
  • 2016年10月21日 14:54
  • 4706

相似文档查找算法之 simHash 简介及其 java 实现

传统的 hash 算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。产生的两个签名,如果相等,说明原始内容在一定概 率 下是相等的;如果不相等,除了说明原始内容不相等外...
  • sunxuefen2009
  • sunxuefen2009
  • 2013年12月28日 13:12
  • 548

相似文档查找算法之 simHash

转自:介绍一个基于simhash作海量文章排重的库:simhashpy 摘要: 海量文章排重的具体实践方法,主要是介绍在工程当中如何使用。 基于simhash的海量文章排重的实...
  • Together_CZ
  • Together_CZ
  • 2017年04月27日 17:02
  • 949

相似文档查找算法之 simHash 简介及其 java 实现

https://my.oschina.net/leejun2005/blog/150086 传统的 hash 算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。产...
  • white__cat
  • white__cat
  • 2017年01月12日 17:43
  • 790

中文文本相似度匹配算法 simHash 海明距离 IK分词

  • 2017年11月17日 10:11
  • 4.73MB
  • 下载

基于SimHash的相似人脸检索算法研究

  • 2017年05月11日 09:19
  • 5.42MB
  • 下载

simhash算法 文章相似度去重

  • 2017年12月28日 19:52
  • 34KB
  • 下载

Scrapy-redis增量爬取以及Simhash相似文档的去重

最近在实习,第一个任务就是从各大门户网站抓取新闻,爬虫本身不是一个很难的事情,用scrapy框架很容易完成(关于scrapy的具体用法可以参考我之前的一篇博客http://blog.csdn.net/...
  • John_xyz
  • John_xyz
  • 2017年11月11日 18:58
  • 518
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:根据simhash找出集合中相似文档的算法
举报原因:
原因补充:

(最多只允许输入30个字)