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

【王树森推荐系统】物品冷启05:流量调控

冷启动的优化点

  • 优化推荐全链路(包括召回和排序),每一个环节都优化对新笔记做优化,让新笔记有足够多的机会走完链路,被曝光。还要让新笔记的推荐做的尽量准,不要让用户方案
  • 流量调控(流量怎么在新物品,老物品中分配),工业界的做法是让流量在新笔记中倾斜,增加新笔记的曝光机会

扶持新笔记的目的

  • 目的 1:促进发布,增大内容池
    • 新笔记获得的曝光越多,作者创作的积极性就越高
    • 反映在发布渗透率,人均发布量
  • 目的 2:挖掘优质笔记
    • 做探索,让每篇新笔记都能获得足够曝光
    • 挖掘的能力反映在高热笔记占比。如果一篇新笔记是高质量笔记,但是如果它没有获得足够的曝光,那么优质笔记也会被埋没。所以我们要保证每篇笔记在探索阶段都得到足够的曝光

工业界的做法

  • 假设推荐系统只分发年龄 < 30 天的笔记,超过 30 天的笔记通常不会出现在推荐的结果里,只能通过搜素和其他渠道曝光
  • 假设采用自然分发(新老笔记公平竞争),新笔记(年龄 <24 小时)的曝光占比为 1/30
  • 扶持新笔记,让新笔记的曝光占比远大于 1/30。新笔记流量远远大于自然分发的流量

流量调控技术的发展

  1. 在推荐结果里强插新笔记
  2. 对新笔记的排序分数做提权(boost)。排序的时候对新笔记加上或者乘以一个系数,这样会让新笔记更占优势,获得更多曝光机会。这是一个投入产出比很划算的策略,实现也不难
  3. 通过提权,对新笔记做保量。比如尽量保证让每篇新笔记都能在前 24 小时获得至少 100 次曝光。保量的手段也是提权,但是提权的策略更复杂更精细
  4. 差异化保量。在笔记刚刚发布的时候,根据内容质量,根据保量的目标是多少次曝光,内容质量高的,保量目标定的高,给更多的流量倾斜

新笔记提权(boost)

推荐系统的链路

  • 粗排会让物品从几千个到几百个
  • 重排+抽样让物品从几百个到几十个
  • 如果不做干涉,让新笔记和老笔记做公平竞争,那么新笔记的曝光是很有限的
  • 这里要干涉粗排和重排,这两个环节是漏斗,过滤掉大量笔记。干涉的方法就是大量对新笔记进行提权,让新笔记比老笔记更有优势,更有机会通过漏斗

在这里插入图片描述

  • 优点:容易实现,投入产出比好
  • 缺点:
    • 曝光量对提权系数很敏感
    • 很难精确控制曝光量,容易过度曝光和不充分曝光

新笔记保量

  • 保量:不论笔记质量搞递,都保证 24 小时获得 100 次曝光
  • 在原有提权系数的基础上,乘以额外的提权系数,比如:
    在这里插入图片描述

动态提权保量

  • 用下面的四个值计算提权系数:
    • 目标时间:比如 24 小时
    • 目标曝光:比如 100 次
    • 发布时间:比如笔记已经发布 12 小时。预期应该获得 50 次曝光,如果只获得了比如 20 次曝光,就应该让提权系数变大,有更多的机会被曝光
    • 已有曝光:比如笔记已经获得 20 次曝光
  • 类似下列函数计算提权系数:
    在这里插入图片描述

保量的难点

  • 保量成功率远低于 100%
    • 很多笔记在24 小时达不到 100 次曝光
    • 召回,排序存在不足
    • 提权系数调的不好
  • 线上环境变化导致保量失败
    • 线上环境变化:新增召回通道,升级排序模型,改变重排打散规则等等
    • 线上环境变化后需要调整提权系数
  • 思考题
    • 给所有笔记一个很大的提权系数(比如 4 倍),直到达成 100 次曝光为止
    • 这样的保量成功率很高
    • 为什么不用这种方法?答:效果不好
  • 给新笔记分数 boost 越多,对新笔记越有利?
    • 好处:分数提升越多,曝光次数越多
    • 坏处:把笔记推荐给不太合适的受众
      • 点击率,点赞率等指标降低
      • 长期会受推荐系统的打压,难以成长为热门笔记

差异化保量

  • 保量:无论新笔记质量高低,都做扶持,在前 24 小时给 100 次曝光
  • 差异化保量:不同笔记有不同的保量目标,普通笔记保 100 次曝光,内容优质笔记保 100 到 500 次曝光
  • 基础保量:24 小时 100 次曝光
  • 内容质量:用模型评价内容质量高低,基于额外保量目标,上限是 200 次曝光
  • 作者质量:根据据作者历史上的笔记质量,基于额外保量目标,上限是 200 次曝光
  • 一篇笔记最少有 100 次保量,最多有 500 次保量

总结

在这里插入图片描述

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

相关文章:

  • ether.js—6—contractFactory以部署ERC20代币标准为例子
  • 设备树知识点
  • OneCode3.0 MCPServer:注解驱动的AI原生服务架构与实践
  • Python量化交易一体化解决方案
  • GStreamer 详解
  • JavaScript学习第九章-第三部分(内建对象)
  • 注解(Annotation)
  • 数据分类分级和重要数据标准解读
  • iOS —— 网易云仿写
  • 微信小程序——配置路径别名和省略后缀
  • iOS App 安全加固全流程:静态 + 动态混淆对抗逆向攻击实录
  • iOS如何查看电池容量?理解系统限制与开发者级能耗调试方法
  • 纯C++11实现!零依赖贝叶斯情感分析系统,掌握机器学习系统工程化的秘密!
  • Android Studio C++/JNI/Kotlin 示例 三
  • 基于51单片机的贪吃蛇游戏Protues仿真设计
  • 图算法在前端的复杂交互
  • 网络编程(套接字)
  • AI数据分析仪设计原理图:RapidIO信号接入 平板AI数据分析仪
  • RPC vs RESTful架构选择背后的技术博弈
  • 从数据洞察到设计创新:UI前端如何利用数字孪生提升产品交互体验?
  • 数字孪生技术引领UI前端设计新潮流:智能交互界面的个性化定制
  • 【Linux网络编程】应用层自定义协议与序列化
  • React强大且灵活hooks库——ahooks入门实践之DOM类hook(dom)详解
  • Reactor 模式详解
  • 订单初版—6.生单链路实现的重构文档
  • Vue3 学习教程,从入门到精通,Vue 3 表单控件绑定详解与案例(7)
  • 设计模式--适配器模式
  • PHP password_get_info() 函数
  • 第一章 uniapp实现兼容多端的树状族谱关系图,创建可缩放移动区域
  • 商城系统的架构与功能模块