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进而得出文本的是否重复
来源:CSDN
作者:当以乐
链接:https://blog.csdn.net/sqh201030412/article/details/55213410