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

【王树森推荐系统】推荐系统涨指标的方法04:多样性

涨指标的方法有哪些?

  • 改进召回模型,添加新的召回模型
  • 改进粗排和精排模型
  • 提升召回,粗排,精排的多样性
  • 特殊对待新用户吗,低活用户等特殊人群
  • 利用关注,转发,评论这三种交互行为

排序的多样性

精排多样性

  • 精排阶段,结合兴趣分数和多样性分数对物品 iii 排序
    • sis_isi:兴趣分数,即融合点击率等多个预估指标
    • did_idi:多样性分数,即物品 iii 与已经选中的物品的差异
    • si+dis_i+d_isi+di 对物品做排序,这个排序几乎决定了最终用户看到的结果
  • 常用 MRR,DPP 等方法计算多样性分数,精排使用滑动窗口,粗排不使用滑动窗口
    • 精排决定最终的曝光,曝光页面上邻近的物品相似度应该小,所以计算精排多样性要使用滑动窗口,保证同一个滑动窗口内的物品要有足够的差异
    • 粗排要考虑整体的多样性,而非一个滑动窗口中的多样性
  • 除了多样性分数,精排还使用打散策略增加多样性
    • 类目:当前选中物品 iii,之后 555 个位置不允许跟 iii 的二级类目相同
    • 多模态:事先计算物品多模态内容向量表征,讲全库物品聚为 100010001000 类;在精排阶段,如果当前选中物品 iii,之后 10 个位置不允许跟 iii 同属一个聚类。道理是同一类物品的图片和文字应该相似,需要打散

粗排多样性

  • 粗排给 500050005000 个物品打分,选出 500500500 个物品送入精排
  • 提升粗排和精排多样性都可以提升推荐系统的核心指标
  • 根据 sis_isi 对 5000 个物品排序,分数最高的 200 个物品送入精排。之类暂且不考虑多样性分数,将用户最感兴趣的物品送入精排
  • 对于剩余的 4800 个物品,对每个物品 iii 计算兴趣分数 sis_isi 和多样性分数 did_idi
  • 根据 si+dis_i+d_isi+di 对剩余 4800 个物品排序,分数最高的 300 个物品送入精排。这 300 个既是用户感兴趣的,也保证了差异

召回的多样性

双塔模型:添加噪声

  • 双塔模型是最重要的召回模型
  • 用户塔将用户特征作为输入,输出用户的向量表征;然后做 ANN 检索,召回向量相似度高的物品
  • 线上做召回时(在计算出用户向量后,做 ANN 检索之前),往用户向量中添加随机噪声
  • 用户的兴趣越窄(比如用户最近交互的 nnn 个物品只覆盖少数几个类目),则添加的噪声越强
  • 添加噪声使得召回的物品更多样,可以提升推荐系统核心指标。按道理来说添加噪声会使得召回不准,但是很神奇的是可以涨指标

双塔模型:抽样用户行为序列

  • 用户最近交互的 nnn 个物品(用户行为序列)是用户塔的输入
  • 保留最近的 rrr 个物品 (r<<n)(r<<n)(r<<n)
  • 从剩余的 n−rn-rnr 个物品中随机抽样 ttt 个物品 (t<<n)(t<<n)(t<<n),可以是均匀抽样,也可以用非均匀抽样让类目平衡
  • 将得到的 r+tr+tr+t 个物品作为用户行为序列,而不是用全部 nnn 个物品
    • 推荐系统的用户每天可能会刷好几十次,每次都会做召回和排序。每次做召回的时候都会对用户随机行为序列做抽样,这样会让双塔召回的结果有随机性,哪怕同时做两次召回,召回的结果也会有较大差异,即多样性提升
  • 抽样用户行为为什么能涨指标?
    • 一方面:注入随机性,召回结果更多样化
    • 另一方面,nnn 可以非常大,可以利用到用户很久之前的兴趣

U2I2I:抽样用户行为序列

  • U2I2I(user → item → item) 中的第一个 item 是指用户最近交互的 nnn 个物品之一,在 U2I2I 中叫做种子物品
  • nnn 个物品覆盖的类目数教少,且类目不平衡
    • 系统总共有 200 个类目,某用户的 nnn 个物品只能覆盖 15 个类目
    • 足球类目的物品有 0.4n0.4n0.4n 个,电视剧类目的物品有 0.2n0.2n0.2n 个,其余类目的物品数均少于 0.05n0.05n0.05n 个。如果只用 nnn 个种子物品,那么大部分肯定都会召回到足球和电视剧,多样性很差
  • 做非均匀随机抽样,从 nnn 个物品中选出 ttt 个,让类目平衡(想法和效果与用户行为序列抽样类似)
  • 用抽样得到的 ttt 个物品(代替原本的 nnn 个物品)作为 U2I2I 的种子物品
  • 一方面,使类目更平衡,多样性更好。另一个方面,nnn 可以更大,覆盖的类目更多

探索流量

  • 每个用户曝光的物品中有 2%2\%2% 是非个性化的,用作兴趣探索
  • 维护一个精选内容池,其中物品均为交互率指标高的优质物品(内容池可以分人群,比如 30 到 40 岁男性内容池)
    • 既然没有了个性化,就要提高物品质量来吸引用户。用高质量弥补多样性
  • 从精选内容池中随机抽样几个物品,跳过排序,直接插入最终排序结果。
    • 这些物品没有经过用户的交互,大概率会被淘汰掉,所以直接插入
  • 兴趣探索在短期内负向影响核心指标,但长期会产生正向指标
    • 做非个性化的推荐用户大概率不感兴趣,点击偏低,用户不看,2%2\%2% 的流量大部分会被浪费掉。
    • 兴趣探索长期是有利的,可以发掘更多兴趣点更好提升用户留存

总结

在这里插入图片描述

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

相关文章:

  • sql练习二
  • 模型自信度提升:增强输出技巧
  • 《Spring Boot 插件化架构实战:从 SPI 到热插拔的三级跳》
  • 6. 装饰器模式
  • 教育科技内容平台的破局之路:从组织困境到 UGC 生态的构建
  • 我是怎么设计一个订单号生成策略的(库存系统)
  • 带root权限_新魔百和cm311-5_gk6323不分代工通刷优盘强刷及线刷
  • Openlayers 面试题及答案180道(141-160)
  • JavaScript 中的继承
  • MySQL——约束类型
  • 【RK3576】【Android14】分区划分
  • Java行为型模式---中介者模式
  • HOT100——排序篇Leetcode215. 数组中的第K个最大元素
  • 深度解析 rag-vector-agent-semantic-kernel:基于 Semantic Kernel 的 Agentic RAG 实践
  • 变频器实习Day10
  • JS原型相关知识
  • EINO框架解读:字节跳动开源的大模型应用开发框架
  • 【jquery详细讲解】
  • Vue Swiper组件
  • Vue组件化开发小案例
  • 在开发板tmp目录下传输文件很快的原因和注意事项:重启开发板会清空tmp文件夹,记得复制文件到其他地方命令如下(cp 文件所在路径 文件要复制到的路径—)
  • GitLab 社区版 10.8.4 安装、汉化与使用教程
  • GPU集群如何规划
  • 子串算法题
  • Web攻防-身份验证篇JWT令牌空密钥未签名密钥爆破JWKJWUKID算法替换CVE报告复盘
  • 在Vscode中使用Kimi K2模型:实践指南,三分钟生成个小游戏
  • TypeScript 中的「类」:从语法到实战的完整指南
  • 论C/C++的条件编译#if、#ifdef、#ifndef、#undef
  • Promise入门
  • 三级知识点汇总(详解)【c++】——2