TianChi新闻推荐02:多路召回
作者:互联网
Task03 天池新闻推荐入门赛之【多路召回】
http://datawhale.club/t/topic/198
faiss
faiss工具包一般使用在推荐系统中的向量召回部分。
- 在做向量召回的时候要么是u2u,u2i或者i2i,这里的u和i指的是user和item.
- 在实际的场景中user和item的数量都是海量的,最容易想到的基于向量相似度的召回就是使用两层循环遍历user列表或者item列表计算两个向量的相似度,
- 但是这样做在面对海量数据是不切实际的,faiss就是用来加速计算某个查询向量最相似的topk个索引向量。
faiss使用了PCA和PQ(Product quantization乘积量化)两种技术进行向量压缩和编码,当然还使用了其他的技术进行优化,但是PCA和PQ是其中最核心部分。
冷启动
冷启动问题可以分成三类:文章冷启动,用户冷启动,系统冷启动
- 文章冷启动:对于一个平台系统新加入的文章,该文章没有任何的交互记录,如何推荐给用户的问题。(对于我们场景可以认为是,日志数据中没有出现过的文章都可以认为是冷启动的文章)
- 用户冷启动:对于一个平台系统新来的用户,该用户还没有文章的交互信息,如何给该用户进行推荐。(对于我们场景就是,测试集中的用户是否在测试集对应的log数据中出现过,如果没有出现过,那么可以认为该用户是冷启动用户。但是有时候并没有这么严格,我们也可以自己设定某些指标来判别哪些用户是冷启动用户,比如通过使用时长,点击率,留存率等等)
- 系统冷启动:就是对于一个平台刚上线,还没有任何的相关历史数据,此时就是系统冷启动,其实也就是前面两种的一个综合。
多路召回合并
多路召回合并就是将前面所有的召回策略得到的用户文章列表合并起来,下面是对前面所有召回结果的汇总
- 基于itemcf计算的item之间的相似度sim进行的召回
- 基于embedding搜索得到的item之间的相似度进行的召回
- YoutubeDNN召回
- YoutubeDNN得到的user之间的相似度进行的召回
- 基于冷启动策略的召回
注意:
在做召回评估的时候就会发现有些召回的效果不错有些召回的效果很差,所以对每一路召回的结果,我们可以认为的定义一些权重,来做最终的相似度融合
标签:02,多路,item,用户,TianChi,冷启动,文章,召回,向量 来源: https://blog.csdn.net/IOT_victor/article/details/110404404