当前位置: 首页 > news >正文

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

引言

前置博客精排多目标模型

排序03:融合预估分数

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

1.简单的加权和

pclick+w1⋅plike+w2⋅pcollect+...p_{click} + w_1 \cdot p_{like} + w_2 \cdot p_{collect} + ... pclick+w1plike+w2pcollect+...

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

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

  • pclick∗1p_{click} * 1pclick1 表示点击率本身
  • pclick∗plikep_{click} * p_{like}pclickplike 表示曝光后用户点赞的联合概率

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

采用连乘方式,其中wnw_nwnana_nan为超参数,ptimep_{time}ptime是预估的播放时长
(1+w1⋅ptime)a1×(1+w2⋅plike)a2(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. 如果某视频排名第rtimer_{time}rtime,那么他的得分就是 1rtimeα1+β1\frac{1}{r_{time}^{\alpha_1} + \beta_1 }rtimeα1+β11,排名越小,得分越高
  3. 对点击、点赞等指标也进行同样处理
  4. 最终融合公式
    w1rtimea1+β1+w2rclicka2+β2+w3rlikea3+β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. 国内某电商平台的转化路径融合

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

  • 电商转化过程:曝光 ->点击->加入购物车->付款
  • 模型预估:pclick,pcart,ppayp_{click}, p_{cart}, p_{pay}pclick,pcart,ppay
  • 融分公式(超参a1a_1a1-a4a_4a4需调优):
    pclicka1×pcarta2×ppaya3p_{click}^{a_1} \times p_{cart}^{a_2} \times p_{pay}^{a_3} pclicka1×pcarta2×ppaya3
    当该公式指数为1时,直接反映商品预期营收

排序04:视频播放建模

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

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

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

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

播放时长预估

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

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

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

在这里插入图片描述

完播率预估

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

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

    • loss=−(y⋅logp)+(1−y)⋅log(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拟合完播率,这样可以公平对待长短视频
  • 线上预估完播率,然后做调整

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

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

引用

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

http://www.xdnf.cn/news/1323829.html

相关文章:

  • 数据结构(03)——线性表(顺序存储和链式存储)
  • 从哲学(业务)视角看待数据挖掘:从认知到实践的螺旋上升
  • 常见的光源频闪控制方式
  • CSDN转PDF【无水印且免费!!!】
  • 数字时代著作权侵权:一场资本与法律的博弈
  • Gartner发布2025年AI与网络安全成熟度曲线:用AI增强网络安全计划的27项技术与创新
  • C++ const
  • Swift 实战:判断点集是否关于某条直线对称(LeetCode 356)
  • Effective C++ 条款48:认识模板元编程
  • 【前端面试题】JavaScript 核心知识点解析(第一题到第十三题)
  • 【Python语法基础学习笔记】条件表达式和逻辑表达式
  • 03.文件管理和操作命令
  • 网站服务器使用免费SSL证书安全吗?
  • 免费又强大的 PDF 编辑器 ——PDF XChange Editor
  • MacOS 安全机制与“文件已损坏”排查完整指南
  • 【Tech Arch】Spark为何成为大数据引擎之王
  • 算法题打卡力扣第26. 删除有序数组中的重复项(easy))
  • Linux 中断机制深度分析
  • 【轨物交流】轨物科技与华为鲲鹏生态深度合作 光伏清洁机器人解决方案获技术认证!
  • nuScence数据集
  • 特种行业许可证识别技术:通过图像处理、OCR和结构化提取,实现高效、准确的许可证核验与管理
  • Android Cutout(屏幕挖孔)详解
  • Python day48.
  • 【笔记ing】考试脑科学 脑科学中的高效记忆法
  • OCR库pytesseract安装保姆级教程
  • Zephyr下控制ESP32S3的GPIO口
  • 飞算JavaAI家庭记账系统:从收支记录到财务分析的全流程管理方案
  • 上下文切换及线程操作相关内容
  • 微信小程序通过uni.chooseLocation打开地图选择位置,相关设置及可能出现的问题
  • 开放最短路径优先协议