JAVA召回算法_推荐系统召回策略之多路召回与Embedding召回

45ab1afe919a913c9ca35d03ffafbfd7.png

图1. 推荐系统整体架构

推荐系统学习笔记系列链接:

1. 多路召回

1.1 概述

所谓的“多路召回策略”就是指采用不同的策略、特征或者简单模型,分别召回一部分候选集,然后再把这些候选集混合在一起后供后续排序模型使用的策略。

然后我们来说说为啥需要用到多路召回策略,我们在设计召回层的时候,“计算速度”与“召回率”这两个指标是相互矛盾的,也就是说在提高计算速度的时候需要尽量简化召回策略,这就会导致召回率不尽人意,同样的,需要提高召回率时就需要复杂的召回策略,这样计算速度肯定会相应的降低。在权衡两者后,目前工业界普遍采用多个简单的召回策略叠加的“多路召回策略”。

在多路召回中,每个策略之间毫不相关,所以一般可以写并发多线程同时进行。例如:新闻类的推荐系统中,我们可以按文章类别、作者、热度等分别进行召回,这样召回出来的结果更贴切实际要求,同时我们可以开辟多个线程分别进行这些召回策略,这样可以更加高效。

95333c80ccc006caedf28fce07a51856.png

图2. 多路召回示意图

1.2. 多说一点

需要注意的是,在选择召回策略时需要充分考虑相关业务的特点,也就是说与业务强相关的。例如,对于新闻的召回来说,可以是“热点新闻”、“新闻类型”、“新闻类容”、“作者召回”等。

如上图2所示,每一路的召回都会拉取前K个候选集,对于每一路的K的大小属于超参数,可以不同。K的大小一般需要通过离线评估加上线上A/B测试的方式确定合理的取值范围。

虽然现在工业界普遍采用多路召回的策略,但是多路召回仍存在一些不可避免的缺陷,比如说,从策略选择到候选集大小参数的调整都需要人工进行,另外不同策略之间的信息也是割裂的,无法综合考虑不同策略对同一个物品的影响。当然,现在针对这些缺陷已经有了较好的解决方法——基于Embedding的召回,本文后面会讲到。

1.3. 融合排序与策略

在每个召回策略后都得到了一些候选集后,那么如何融合这些结果呢…

举个例子:几种召回策略返回的列表(Item-id,权重)分别为:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值