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

推荐系统王树森(三)粗排精排

排序01:多目标模型_哔哩哔哩_bilibili

github-PPT

在下列链路中 聚焦于粗排、精排部分。前面介绍精排,粗排和精排相近,为了效率提高进行简化。

目录

0. 排序模型的特征

1. 多目标排序模型(特征拟合四大指标)

2. Multi-gate Mixture-of-Experts (MMoE)多门控专家混合模型

3. 融合预估分数(如何加权融合)

4. 视频播放建模(时长和完播率)

5. 粗排模型——三塔模型


0. 排序模型的特征

输入特征包含:之前提到的用户、物品特征,还有统计特征和场景特征。

1. 笔记统计特征 (Item-level Aggregates)

  • 最近 30 天(或 7天、1天、1小时)的曝光数、点击数、点赞数、收藏数。

  • 按照用户属性分桶,比如性别、年龄。

  • 作者特征:发文数量、粉丝数、消费指标(历史曝光/点击/点赞/收藏等)。

2. 用户统计特征 (User-level Aggregates)

  • 用户最近 30 天(或 7天、1天、1小时)的曝光数、点击数、点赞数、收藏数。

  • 笔记类型分桶:这些统计特征能刻画用户兴趣偏好和活跃度。

    • 图文 vs 视频(例如图文点击率、视频点击率)。

    • 类目(如美妆、科技、美食等分类点击率)。

3. 场景特征 (Context Features)

  • 用户地理位置:GeoHash(经纬度编码)、城市。

  • 时间特征:当前时刻(分段并 embedding),是否周末、是否节假日。

  • 设备特征:手机品牌、型号、操作系统。

离散特征 (Categorical Features)

  • 常见:用户ID、笔记ID、作者ID、类别、关键词、城市、手机品牌等。

  • 处理方式:Embedding,把离散ID映射到低维向量空间,捕捉语义和相似性。

连续特征 (Continuous Features)

  • 分桶 (Bucketing):把连续值离散化,再转成 one-hot/embedding,例如年龄、笔记字数、视频长度。

  • 数值变换:对数/平滑,比如:

    • 曝光数、点击数、点赞数 → log⁡(1+x),避免长尾。

    • 点击率、点赞率等比例特征,可以做平滑(防止样本少时波动过大)。

1. 多目标排序模型(特征拟合四大指标)

排序根据预估笔记的一些指标(点击率  点赞率  收藏率 转发率)多目标神经网络拟合

再对这些指标加权融合成“分数”

系统需要记录笔记的:曝光次数 点击次数 点赞次数 收藏次数 转发次数

训练的时候 这四个指标 就是预测用户是否点击,是否点赞,是二分类,用交叉熵损失

困难:类别不平衡,曝光中点击的很少;点击中收藏的很少,正样本远少于负样本。

采用负样本降采样 平衡类别并提高训练效率。

但是负样本比例减少会导致预测的点击率虚高,需要校准。 点击率=正/总

2. Multi-gate Mixture-of-Experts (MMoE)多门控专家混合模型

MOE Mixture of Experts,专家混合模型:准备一组“专家模型”(experts),每个专家只擅长一部分任务或数据模式。 然后通过一个“门控网络”(gating network),动态决定输入应该交给哪些专家来处理,并加权融合输出。

特征输入到 几个结构相似不共享参数的神经网络(被称为专家)再分别输出几个向量。

也用softmax 额外训练加权权重。 为不同的指标训练不同的权重。

我们期望的是综合多个专家的结果 但可能会出现极化现象(softmax的一个专家权重接近1)

可以在训练时,对 softmax的输出使用 dropout  每个数值被 mask 的概率是 10% 每个专家被丢弃的概率是 10%,这样会强迫每个任务根据多个专家做预测。

如果用 dropout,假如发生极化,某个 softmax 输出的某个元素接近 1,如果这个被 mask,预测的结果肯定错的离谱。为了让预测尽量精准,神经网络会尽量避免极化的发生。

3. 融合预估分数(如何加权融合)

 权重既有乘积又有指数

 排名靠前得分高

  转化过程的参数指数乘积 (超参数都取1则为实际收益)

4. 视频播放建模(时长和完播率)

视频也有笔记的四个特征,但是视频更重要的观看时长和完播率(比点赞收藏等特征甚至更有说服力)

技巧:训练时长的时候映射为 y=t/1+t

好处1. 对于大的t  把“无限的时长”转成“有界的概率标签”     2.短时长的时候就接近于t

  p接近y 的时候 即exp(x) 接近 t

使用交叉熵 因为试用于 0~1之间概率型的变量

对于完播率:二元交叉熵 用p拟合y

但因为长视频完播率低吃亏 所以需要修正;

f函数是一个 这个时长的视频平均完播率的映射函数;比值相当于在这个时长下 相对平均数的水平。

视频越长 需要除以越小的f函数

5. 粗排模型——三塔模型

相对于精排,粗排因为需要处理更多的数据 可以以准确率为代价换取更高效的速率。

精排 将用户特征 物品特征进行融合,n篇候选笔记就需要n次推理。

召回的时候 双塔模型 物体表征b离线计算存储 询问时只用调用户表征a。 后期融合

召回速度快但效果不太好,精排效果好但低效。

三塔模型 用户塔(用户+场景)每次只需要一次推理;

物品塔可以记入缓存重复运用(粗排有筛选 精排无筛选 所以精排可以缓存);

交叉塔统计特性 以及user-item交互特性 每次都需要推理,次数多 所以要求网络简单 快速运算。

http://www.dtcms.com/a/352384.html

相关文章:

  • STM32的Sg90舵机
  • Python入门教程之字符串类型
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(20):文法+单词第7回2
  • iPhone 17 Pro 全新配色确定,首款折叠屏 iPhone 将配备 Touch ID 及四颗镜头
  • 【测试需求分析】-需求类型的初步分析(二)
  • 【NuGet】引用nuget包后构建项目简单解析
  • day41-动静分离
  • 数字时代下的智能信息传播引擎
  • 仿真干货|解析Abaqus AMD的兼容与并行效率问题
  • 基于硅基流动API构建智能聊天应用的完整指南
  • 使用QML的Rectangle组件的边框属性
  • `stat` 系统调用详解
  • 学习碎片02
  • Firefox Relay 体验
  • Redis支持事务吗?了解Redis的持久化机制吗?
  • 面试八股文之——Java集合
  • 115、【OS】【Nuttx】【周边】效果呈现方案解析:重定向命令
  • Python编程快速上手—让繁琐工作自动化
  • 论文阅读-CompletionFormer
  • (我与爬虫的较量)码上爬第5题
  • JDK 8 → JDK 17 升级说明书(面向 Spring Boot / Spring Cloud / Spring )
  • Filter过滤器入门
  • android 事件处理源码
  • 当 AI 走进日常:除了聊天机器人,这些 “隐形应用” 正在改变我们的生活
  • 报告:2025机器人技术产业化研究|附130+份报告PDF、数据仪表盘汇总下载
  • 直播到AI助教:在线教育系统源码如何重塑知识付费平台生态?
  • 算法练习——26.删除有序数组中的重复项(golang)
  • 电影感氛围人像风光摄影后期Lr调色教程,手机滤镜PS+Lightroom预设下载!
  • 抖音多账号管理平台哪家比较好?
  • 力扣 30 天 JavaScript 挑战 第40天 (第十一题)对纯函数和记忆函数有了更深理解