RecSys:排序中的融分公式与视频播放建模

发布于:2025-08-19 ⋅ 阅读:(12) ⋅ 点赞:(0)

引言

前置博客精排多目标模型

排序03:融合预估分数

在推荐系统中,如何将多个预估指标(如点击率、点赞率等)融合为一个综合分数是关键问题。以下是几种常见的融合方法:

1.简单的加权和

p c l i c k + w 1 ⋅ p l i k e + w 2 ⋅ p c o l l e c t + . . . p_{click} + w_1 \cdot p_{like} + w_2 \cdot p_{collect} + ... pclick+w1plike+w2pcollect+...

2. 点击率乘以加权和(具有实际意义)

点赞、收藏、转发等用户交互行为本质上都是在 点击行为发生之后才进行的,所以点击率*点赞率等指标实际上某个用户行为发生的概率
p c l i c k ∗ ( 1 + w 1 ⋅ p l i k e + w 2 ⋅ p c o l l e c t + . . . . ) p_{click} * (1 + w_1 \cdot p_{like} + w_2 \cdot p_{collect} + ....) pclick(1+w1plike+w2pcollect+....)

  • p c l i c k ∗ 1 p_{click} * 1 pclick1 表示点击率本身
  • p c l i c k ∗ p l i k e p_{click} * p_{like} pclickplike 表示曝光后用户点赞的联合概率

3.海外某短视频平台的连乘融合

采用连乘方式,其中 w n w_n wn a n a_n an为超参数, p t i m e p_{time} ptime是预估的播放时长
( 1 + w 1 ⋅ p t i m e ) a 1 × ( 1 + w 2 ⋅ p l i k e ) a 2 (1 + w_1 \cdot p_{time})^{a_1} \times (1 + w_2 \cdot p_{like})^{a_2} (1+w1ptime)a1×(1+w2plike)a2

4. 国内某短视频App的排名融合

独特之处在于先排序再融合:

  1. 先根据目标精排得分对候选视频进行排序,比如对预估时长进行排序
  2. 如果某视频排名第 r t i m e r_{time} rtime,那么他的得分就是 1 r t i m e α 1 + β 1 \frac{1}{r_{time}^{\alpha_1} + \beta_1 } rtimeα1+β11,排名越小,得分越高
  3. 对点击、点赞等指标也进行同样处理
  4. 最终融合公式
    w 1 r t i m e a 1 + β 1 + w 2 r c l i c k a 2 + β 2 + w 3 r l i k e a 3 + β 3 + . . . \frac{w_1}{r_{time}^{a_1} + \beta_1} + \frac{w_2}{r_{click}^{a_2} + \beta_2} + \frac{w_3}{r_{like}^{a_3} + \beta_3} + ... rtimea1+β1w1+rclicka2+β2w2+rlikea3+β3w3+...

5. 国内某电商平台的转化路径融合

电商场景考虑完整转换路径:

  • 电商转化过程:曝光 ->点击->加入购物车->付款
  • 模型预估: p c l i c k , p c a r t , p p a y p_{click}, p_{cart}, p_{pay} pclick,pcart,ppay
  • 融分公式(超参 a 1 a_1 a1- a 4 a_4 a4需调优):
    p c l i c k a 1 × p c a r t a 2 × p p a y a 3 p_{click}^{a_1} \times p_{cart}^{a_2} \times p_{pay}^{a_3} pclicka1×pcarta2×ppaya3
    当该公式指数为1时,直接反映商品预期营收

排序04:视频播放建模

  • 图文笔记排序的主要依据:

    点击、点赞、收藏、转发、评论 …

    • 用户的点击和交互反映出用户对图文笔记的兴趣
  • 视频排序依据 还有播放时长和完播率

    • 用户把视频视频播放完,自然而然也能说明用户喜欢该视频
  • 直接用回归拟合播放时长效果不好,建议用Youtube的时长建模【1】

播放时长预估

  • Sigmoid的公式是 p = 1 1 + e − z = e z 1 + e z p = \frac{1}{1 + e^{-z}} = \frac{e^z}{1 + e^z} p=1+ez1=1+ezez
  • 拟合目标; y = t 1 + t y = \frac{t}{ 1 + t} y=1+tt,我们可以看到两者的形式非常像,如果 p = y p = y p=y,那么 e z e^z ez就等于t播放时长的预估,那么在模型预估的时候我们直接输出exp(z)即可
  1. 训练阶段

    • 目标变量: y = t 1 + t y = \frac{t}{1 + t} y=1+tt(t为实际播放时长)
    • 模型输出z经sigmoid转换: p = e x p ( z ) 1 + e x p ( z ) p = \frac{exp(z)}{1 + exp(z)} p=1+exp(z)exp(z)
    • 损失函数(交叉熵):
      − ( t 1 + t ⋅ l o g p + 1 1 + t l o g ( 1 − p ) ) -(\frac{t}{1+t} \cdot logp + \frac{1}{1+t}log(1-p)) (1+ttlogp+1+t1log(1p))
    • 实际中可简化去掉1+t项
  2. 推理阶段

    • 直接输出 e x p ( z ) exp(z) exp(z)作为时长预估
    • e x p ( z ) exp(z) exp(z)纳入融合公式

在这里插入图片描述

完播率预估

回归方法
  • 例:视频长度10分钟,实际播放4分钟,则实际播放率为y=0.4。

  • 让预估播放率 p拟合y:

    • l o s s = − ( y ⋅ l o g p ) + ( 1 − y ) ⋅ l o g ( 1 − p ) loss = -(y\cdot logp)+(1-y)\cdot log(1-p) loss=(ylogp)+(1y)log(1p)
  • 线上预估完播率,模型输出p=0.73,意思是预计播放73%,反应中用户的兴趣

二元分类方法
  • 定义完播指标,比完播80%

  • 例如:视频长度10分钟,播放>8分钟作为正样本,播放<8分钟作为负样本

  • 做二元分类训练模型:播放>80% VS 播放<80%

  • 线上预估完播率,模型输出p=0.73,意思是

p(播放 > 80%) = 0.73
  • 预估的播放量会跟点击率等指标一起,作为排序的依据
实际应用
  • 实际中不能直接把完播率用于融分公式中
  • 直觉上,15s的视频完播率会很高,但是15分钟的完播率就会很低了
  • 如果直接使用完播率,会有利于短视频推荐而不利于长视频推荐

在这里插入图片描述
解决方法

  • 用函数f拟合完播率,这样可以公平对待长短视频
  • 线上预估完播率,然后做调整

p f i n i s h = 预估完播率 f (视频长度 ) p_{finish} = \frac{预估完播率}{f(视频长度)} pfinish=f(视频长度)预估完播率

  • p f i n i s h p_finish pfinish作为融分公式的一项,能够反应用户对视频的兴趣,视频时长越长,函数值f越小
  • 与点击率,点赞率等视频一起决定视频的排序

引用

【1】Paul Covington, Jay Adams, & Emte Sargin. Deep Neural Networks for YouTube Recommendations. In RecSys, 2016.
【2】王树森 推荐系统


网站公告

今日签到

点亮在社区的每一天
去签到