召回的作用?
01 推荐系统的四阶段
四个环节分别是:召回、粗排、精排和重排。召回目的如上所述;有时候因为每个用户召回环节返回的物品数量还是太多,怕排序环节速度跟不上,所以可以在召回和精排之间加入一个粗排环节,通过少量用户和物品特征,
简单模型,来对召回的结果进行个粗略的排序,在保证一定精准的前提下,进一步减少往后传送的物品数量,粗排往往是可选的,可用可不同,跟场景有关。之后,是精排环节,使用你能想到的任何特征,可以上你能承受速
度极限的复杂模型,尽量精准地对物品进行个性化排序。排序完成后,传给重排环节,传统地看,这里往往会上
各种技术及业务策略,比如去已读、去重、打散、多样性保证、固定类型物品插入等等,主要是技术产品策略主
导或者为了改进用户体验的。
所以召回的作用是从物料库中选择几千级别的物料供粗排使用
召回的方法
02 四种召回思路
很多时候,万变不离其宗,常见的召回方法都可以分为四种:
- 直接建模用户与item相关性,如双塔召回,直接建模用户与广告的相关性
- 用户与用户相关性 + 用户与item相关性 => 用户与item相关性,如基于user-based CF
- 用户与item相关性 + item与item相关性 => 用户与item相关性,如item-based CF,其中item之间的相似度,可以用规则计算(如Jaccard),也可以用模型学习(如deepwalk)
- 用户与标签相关性 + 标签与item相关性 => 用户与item相关性
03 基于embedding的召回
基于embedding又有两种思路,一种思路是训练物品的embedding,比较典型的工作是item2vec、deepwalk、node2vec感兴趣的读者可以自行搜索一下,然后这些embedding可以用到item-based CF类型的召回中
另一种是同时训练用户embedding和物品embedding,典型的采用双塔结构训练这两个embedding。
如何快速计算大规模向量的相似度?
- Faiss
- ANN
…
常见问题
04 冷启动下的召回?
基于协同过滤、深度学习的召回,都是基于用户与商品的交互行为,对于新加入的用户和物品,模型中没有这部分数据,需要专门进行冷启动处理,这时候分为两种冷启动:
1、对于新用户的冷启动
使用基于内容的推荐,按用户注册标签推荐、热门物品等内容推荐
2、对于商品的冷启动
使用EE相关算法进行推荐
ali的 EGES加入了商品的属性特征,对冷启动也有一定作用
05 热门商品打压
这个在后续文章会总结,如用规则计算物品相似度中,可以给热门商品降低权重,深度学习的模型中,可以给热门商品负采样
总结
本文主要讲了如下几个问题:
1 召回分类
2 以及召回的难点
参考文献
[1] https://www.zhihu.com/search?type=content&q=%E6%8E%A8%E8%8D%90%E7%B3%BB%E7%BB%9F%20%20%E5%8F%AC%E5%9B%9E
[2] 召回评价指标,2020, https://juejin.cn/post/6844904065638350861
[3] EGES, https://github.com/wzhe06/Reco-papers/blob/master/Embedding/%5BAlibaba%20Embedding%5D%20Billion-scale%20Commodity%20Embedding%20for%20E-commerce%20Recommendation%20in%20Alibaba%20%28Alibaba%202018%29.pdf
[4] Coggle数据科学, https://mp.weixin.qq.com/s?__biz=MzIwNDA5NDYzNA==&mid=2247484256&idx=1&sn=a92fc08b974339e1143c4f07b6591b72&chksm=96c42ea5a1b3a7b39c996f91471d47478fedde1b3c7a3f6538cdcb2d0b95407199381e6b7c80&scene=21#wechat_redirect
转载:https://blog.csdn.net/qq_16761099/article/details/113046400