Simhash算法介绍和应用内容

Simhash算法介绍和应用内容Simhash算法概述simhash的生成算法相似指纹查找算法压缩算法很长时间没有更新文章了,自从工作以后,人就变得有些松散了。一个是没有明确的目标了,经常是被工作推着走;一个是刚进入工作,确实没有适应这种节奏。现在发现不可以了,从今天开始,恢复写文章,督促自己,总结自己的学习内容。第一篇就从刚进入工作后的第一个任务开始……Simhash算法概述Simhash算法最早出现在2002年。但是真正出名是在2007年的Google的《Detecting Near-dupli
摘要由CSDN通过智能技术生成

很长时间没有更新文章了,自从工作以后,人就变得有些松散了。一个是没有明确的目标了,经常是被工作推着走;一个是刚进入工作,确实没有适应这种节奏。现在发现不可以了,从今天开始,恢复写文章,督促自己,总结自己的学习内容。
第一篇就从刚进入工作后的第一个任务开始……

Simhash算法概述

Simhash算法最早出现在2002年。但是真正出名是在2007年的Google的《Detecting Near-duplicates for web crawling》论文中,实现了一种亿万级别的网页去重算法,从此名声四起,至今,很多的搜索中依然使用这种算法进行网页的去重。
Simhash和一般的hash不同,它有两个重要的特征:

  • 一个文档的指纹是所有属性的某种hash;
  • 相似文档的hash应该是相似的;

其中第二条至关重要,因为对一般的hash,对于两个相似的语句,会有很大的hash值差别,这就造成对相似语句的去重效果不好,而simhash对相似的语句,只会有部分位数的不同,如一个64位的hash值只会有几位的变化,这种hash也被称作是局部敏感hash。

  • 证明了simhash算法对网页进行相似性判定的实用性;
  • 实现了快速检测一个给出的f-bit的指纹和已经存在的f-bit指纹集中是否存在最大差别的k个bit-position的算法;
  • 对重复检索的算法和技术进行了一些结果的总结研究

当然论文中的一些正确性的证明对实际的应用没有太大的作用,今天的重点是对simhash算法的实现方式和其实际应用中的一些关键点的说明。论文中有两个重点内容,一个是simhash算法的生成算法,一个是simhash的相似指纹的查找算法。

simhash的生成算法

Simhash生成算法的主要分为四步:

  1. 得到网页的分词的二进制和权重:众所周知网页是由很多的分词组成的,在不同的分词方法中,每一个分词都对应着一个权重,最常见的权重就是TF-IDF方法得到的权重,而通过不同的方式,可以得到一个分词的hash,具体方法可以根据不同的方法获得;
  2. 将权重和二进制“相乘”(不完全是相乘,下面会讲),得到每一个分词的“权重hash”(瞎编的词,不要纠结,懂就行);
  3. 将得到的所有分词“权重hash”相加;
  4. 使用一个类似于符号函数降维的方法得到网页的simhash;

如下所示:
1,得到不同分词的hash和权重(怎么得到文章分词,并且得到分词的hash和权重方法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值