推荐算法之去重策略

匿名 (未验证) 提交于 2019-12-02 23:51:01

一、背景

推荐系统中,有一个刚需就是去重,去重主要涉及两块:

1)内容源去重,即有些抓取的文章基本是讲的一件事。

2)给用户推荐的内容去重,即不能重复推荐。

对于第一种去重,可以采用Google公布的去重算法Simhash,该算法适合海量数据去重。对于常规的文本相似度计算,需要分词,组合成一个向量,不适合海里文本。

第二种去重可以采用BloomFilter算法,该算法与Bitmap位图算法有相似之处。

二、Simhash去重算法

simhash的核心思想是为每一篇文本生成一个整数表示的指纹,然后用这个指纹去进行去重或者相似度检测。对于一些主要内容不变,有一些不太重要的词句不同的文本,simhash仍然能够得到相似或者相同的指纹。

1、首先,对原始内容分词,得到每个词的权重

2、对每个词hash成一个整数,并且把这个整数对应的二进制中的0变成-1,1还是1。

3、每个词hash后的二进制向量乘以权重,形成新的加权向量。

4、把每个词的加权向量相加,得到最终的加权向量,这个向量中元素有正有负。

5、把最终的这个向量正值设置为1,负值设置为0,形成了一个二进制序列,也就最终变成了一个整数。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!