多路召回的融合排序

背景:

  • 一般会使用多个召回策略,互相弥补不足之处,效果也更好。
  • 每个策略之间毫不相关,一般可以编写并发多线程同时进行

问题:怎样将多个召回列表融合成一个有序的列表?

  1. 召回策略
    实时召回-U2I2I(Online):几秒钟之内根据你的行为更新推荐列表,U2I即根据用户对Item的实时行为列表,然后对Item进行拓展推荐即2I
    基于内容-U2Tag2I(Outline):离线算好用户偏好的tag,然后根据tag算相似度,推荐你可能感兴趣的Item。
    矩阵分解-U2I(Outline):协同过滤的一种
    聚类推荐-U2U2I(Outline):根据用户的行为对用户进行聚类。
  2. 粗排
  3. 精排(非必要)
    精排是非常耗时的,如果在召回步骤中找回了数千条或是数万条,进行精排的耗时较大,成本较高。可以通过粗排进行截断来降低精排的成本。

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

召回策略xA:0.9B:0.8C:0.7
召回策略yB:0.6

c:0.5 

D:0.4
召回策略zC:0.3D:0.2E:0.1

补充知识:CTR(点击率)的计算方法:
        展现日志-带召回源:X,Y,Z,X,Z,Y
        点击日志-带召回源:点击X
        每种找回的点击数/展现数=CTR

解决方法:

  1. 按照顺序展示:比如策略x—>策略y—>策略z,则直接展示A、B、C、D、E(里面包含去重)
  2. 平均法:分母为召回策略个数,分子为权重加和,C为(0.7+0.5+0.3)/3,B为(0.6+0.8)/3
  3. 加权平均:比如为三种策略自己指定权重分别为:0.5,0.3,0.2,那么B的权重为(0.5*0.8+0.3*0.6+0.2*0)/(0.5+0.3+0.2)
  4. 动态加权法:计算X/Y/Z三种召回策略的CTR,作为每天更新的动态加权
  5. 机器学习权重法:逻辑回归LR分类模型预先离线算好各种召回权重,然后做加权召回。

上面的各种方法从上到下效果依次变好,但是成本依次变大。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值