您的位置:首页 > 其它

文档排重之SimHash

2017-02-15 18:08 190 查看
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进而得出文本的是否重复
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息