解读:全民K歌直播推荐算法

2021-09-10 15:04:45 浏览数 (1)

1. 业务背景

直播推荐与内容推荐的异同,K歌直播与其他直播(如虎牙)的区别:

2. 推荐系统架构及挑战

推荐系统架构

3 召回模型算法设计

召回模型迭代

3.1 双塔模型(DSSM)

3.2 召回多模态模型实践

对item侧性多模态的embedding:

  • Live Streaming View:我理解就是直播间表格特征,如主播id等
  • Song View:K歌直播业务中,很多直播间会绑定一个Song ID,基于Song ID做embedding。我理解可能是主播在唱的歌 或者 背景音乐吧
  • Multi-media View:这部分就是直播间的内容理解——直播间视频、音频的embedding。我理解线上服务这部分特征应该是异步计算出来的,但是直播间的视频、音频特征具有实时性。如何异步的截取?这是一个问题。此外,我认为相比视频、音频特征,其实对直播间头像图片、房间title的内容理解应该来的会更加直接。毕竟推荐直接展示给user的是直播间的头像图片和房间title,比如某些男性user就偏好某些女性主播直播间头像。

另外还有一个多模态融合的问题。看上图示意,应该是每个模态embedding单独与user embedding进行相似度训练。**这样做的话,每个item就会存在3个embedding。线上服务召回TopK时需要去重。但这种方案就忽略了不同模态之间的权重。**我想到的另外一种方案是,将各模态的embedding concat起来,全连接映射到user embedding 相同维度(即 item embedding),再做相似度训练。但这会出现的问题是:有些直播间可能不存在Song ID,需要做特征缺失处理。

4. 精排模型算法设计

精排模型多维度迭代

4.1.1 特征处理

4.1.2 采样及加权

4.2.1 特征交叉——KFM

这里定义了所谓的KFM,其实可以简单理解将 ϕ视为一个全连接神经网络函数。ϕi,j​就是将j维映射到i维向量的全连接神经网络。这样不同bit维的特征就能进行自由的交叉了。

4.2.2 特征交叉——DeepKFM&Cross|AutoInt

用Cross、AutoInt引入了高阶特征:

4.2.3 特征交叉——DeepBitInt

其实就是从每个field做emb,变成每个bit unit做emb,在实现上反而更加统一方便。

4.3.1 CVR预估——ESMM

4.3.2 CVR预估——GradNorm

参阅:《多任务学习——【ICML 2018】GradNorm》

4.3.3 CVR预估——CGC

参阅:《多任务学习——【RecSys 2020】【腾讯视频】PLE》

0 人点赞