文本挖掘SimHash算法原理(超简明)

Posted 不断掉坑爬坑的日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文本挖掘SimHash算法原理(超简明)相关的知识,希望对你有一定的参考价值。

写作业时的顺便掉落~

-------------------------------------------------------------------

SimHash算法是Google用来网页去重的方法。分为5个步骤:分词,hash,加权,合并,降维。比如如果处理“小八是一只狗”这句话:

1、分词:小八/是/一只/狗。并给每个特征向量赋权值:小八(3)/是(1)/一只(2)/狗(3)

2、hash:通过hash函数计算各个特征向量hash值(这里仅作算法举例,未进行hash运算):

小八:1000110

是:   1010010

一只:1001011

狗:   1100100

3、加权:1则为权值,0则负权值

小八:3 -3 -3 -3 3 3 -3

是:   1 -1 1 -1 -1 1 -1

一只:2 -2 -2 2 -2 2  2

狗:   3 3 -3 -3 3 -3 -3

4、各个特征值加权结果累加,得到:9 -3 -7 -5 -3 3 -5

5、降维,累加结果大于0则作1,否则作0:1000010 。从而形成simhash签名


以上是关于文本挖掘SimHash算法原理(超简明)的主要内容,如果未能解决你的问题,请参考以下文章

文本挖掘的分词原理

文本挖掘——Rocchio算法

Google用来处理海量文本去重的simhash算法原理及实现

SimHash算法原理与应用(Java版)

SimHash算法原理与应用(Java版)

文本去重SimHash算法