文档排重之SimHash

陌路散爱 提交于 2019-12-06 14:05:24
1.将文本分词表示成基于词的特征向量,使用TF*IDF 作为每个特征项的权重.地名,专有名词等,名词性的词汇往往有更高的词义权重.

2.将特征项按照词权重排序

3.选取前n个特征项,然后重新按照字符排序,如果不排序,关键词就找不到对应的关系.

4.初始化长度为64位的数组,该数组的每个元素都是0

5.对特征列表循环做如下处理:
   5.1 取每个特征的64位的hash值
   5.2 如果这个hash值的第i位是1,则将数组的第i个数加上该特征的权重,反之,如果hash值的第i位是0,则将数组的第i个数减去该特征的权重

6.完成所有的特征值的处理,数组中的某些数为正,某些数为负.SimHash 值的每一位与数组中的每个数对应,将正数对应的位设为1,负数对应的位设为0,就得到了64位的0/1值的位数组,即最后的SimHash


使用海明距离来比较SimHash进而得出文本的是否重复
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!