Involution Hell
AI 知识库Recommender systems

王树森推荐系统学习笔记_涨指标

涨指标的方法

涨指标的方法

推荐系统的评价指标

  • 日活用户数(DAUDAU)和留存是最核心的指标。

  • 目前工业界最常用 LT7LT7LT30LT30 衡量留存。

    • 某用户今天(t0t_0)登录 APP,未来 7 天(t0t6t_0 \sim t_6)中有 4 天登录 APP,那么该用户今天(t0t_0)的 LT7LT7 等于 4。
    • 显然有 1LT771 \leq LT7 \leq 71LT30301 \leq LT30 \leq 30
    • LTLT 增长通常意味着用户体验提升。(除非 LTLT 增长且 DAUDAU 下降。)
    • 假设 APP 禁止低活用户登录,则 DAUDAU 下降,LTLT 增长。
  • 其他核心指标:用户使用时长、总阅读数(即总点击数)、总曝光数。这些指标的重要性低于 DAUDAU 和留存。

    • 时长增长,LTLT 通常会增长。
    • 时长增长,阅读数、曝光数可能会下降。
  • 非核心指标:点击率、交互率、等等。

  • 对于 UGC 平台,发布量和发布渗透率也是核心指标。

涨指标的方法有哪些?

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

涨指标的方法:召回

召回模型 & 召回通道

  • 推荐系统有几十条召回通道,它们的召回总量是固定的。总量越大,指标越好,粗排计算量越大。
  • 双塔模型(two-towertwo\text{-}tower)和 item-to-itemitem\text{-}to\text{-}itemI2II2I)是最重要的两类召回模型,占据召回的大部分配额。
  • 有很多小众的模型,占据的配额很少。在召回总量不变的前提下,添加某些召回模型可以提升核心指标。
  • 有很多内容池,比如 30 天物品、1 天物品、6 小时物品、新用户优质内容池、分人群内容池。
  • 同一个模型可以用于多个内容池,得到多条召回通道。

改进双塔模型

方向1:优化正样本、负样本。

  • 简单正样本:有点击的(用户,物品)二元组。
  • 简单负样本:随机组合的(用户,物品)二元组。
  • 困难负样本:排序靠后的(用户,物品)二元组。

方向2:改进神经网络结构。

  • Baseline:用户塔、物品塔分别是全连接网络,各输出一个向量,分别作为用户、物品的表征。
  • 改进:用户塔、物品塔分别用 DCNDCN 代替全连接网络。
  • 改进:在用户塔中使用用户行为序列(last-nlast\text{-}n)。
  • 改进:使用多向量模型代替单向量模型。(标准的双塔模型也叫单向量模型。)

方向3:改进模型的训练方法。

  • Baseline:做二分类,让模型学会区分正样本和负样本。
  • 改进:结合二分类、batchbatch 内负采样。(对于 batchbatch 内负采样,需要做纠偏。)
  • 改进:使用自监督学习方法,让冷门物品的 embeddingembedding 学得更好。

Item-to-Item (I2I)

  • I2II2I 是一大类模型,基于相似物品做召回。

  • 最常见的用法是 U2I2IU2I2Iuseritemitemuser \rightarrow item \rightarrow item)。

    • 用户 uu 喜欢物品 i1i_1(用户历史上交互过的物品)。
    • 寻找 i1i_1 的相似物品 i2i_2(即 I2II2I)。
    • i2i_2 推荐给 uu
  • 如何计算物品相似度?

  • 方法1:ItemCF 及其变体。

    • 一些用户同时喜欢物品 i1i_1i2i_2,则认为 i1i_1i2i_2 相似。
    • ItemCFItemCFOnline ItemCFOnline\ ItemCFSwingSwingOnline SwingOnline\ Swing 都是基于相同的思想。
    • 线上同时使用上述 4 种 I2II2I 模型,各分配一定配额。
  • 方法2:基于物品向量表征,计算向量相似度。(双塔模型、图神经网络均可计算物品向量表征。)

小众的召回模型

类似 I2I 的模型

  • U2U2Iuseruseritemuser \rightarrow user \rightarrow item):已知用户 u1u_1u2u_2 相似,且 u2u_2 喜欢物品 ii,那么给用户 u1u_1 推荐物品 ii
  • U2A2Iuserauthoritemuser \rightarrow author \rightarrow item):已知用户 uu 喜欢作者 aa,且 aa 发布物品 ii,那么给用户 uu 推荐物品 ii
  • U2A2A2Iuserauthorauthoritemuser \rightarrow author \rightarrow author \rightarrow item):已知用户 uu 喜欢作者 a1a_1,且 a1a_1a2a_2 相似,a2a_2 发布物品 ii,那么给用户 uu 推荐物品 ii

总结:改进召回模型

  • 双塔模型:优化正负样本、改进神经网络结构、改进训练的方法。
  • I2I 模型:同时使用 ItemCFItemCF 及其变体,使用物品向量表征计算物品相似度。
  • 添加小众的召回模型,比如 PDNPDNDeep RetrievalDeep\ RetrievalSINESINEM2GRLM2GRL 等模型。
  • 在召回总量不变的前提下,调整各召回通道的配额。(可以让各用户群体用不同的配额。)

涨指标的方法:排序模型

排序模型

  1. 精排模型的改进
  2. 粗排模型的改进
  3. 用户行为序列建模
  4. 在线学习
  5. 老汤模型

精排模型的改进

精排模型:基座

  • 基座的输入包括离散特征和连续特征,输出一个向量,作为多目标预估的输入。
  • 改进 1:基座加宽加深,计算量更大,预测更准确。
  • 改进 2:做自动的特征交叉,比如 bilinearbilinear [1] 和 LHUCLHUC [2]。
  • 改进 3:特征工程,比如添加统计特征、多模态内容特征。

精排模型:多目标预估

  • 基于基座输出的向量,同时预估点击率等多个目标。

  • 改进 1:增加新的预估目标,并把预估结果加入融合公式。

    • 最标准的目标包括点击率、点赞率、收藏率、转发率、评论率、关注率、完播率……
    • 寻找更多目标,比如进入评论区、给他人写的评论点赞……
    • 把新的预估目标加入融合公式。
  • 改进 2MMoEMMoEPLEPLE 等结构可能有效,但往往无效。

  • 改进 3:纠正 position biasposition\ bias 可能有效,也可能无效。

粗排模型的改进

粗排模型

  • 粗排的打分量比精排大 10 倍,因此粗排模型必须够快。
  • 简单模型:多向量双塔模型,同时预估点击率等多个目标。
  • 复杂模型:三塔模型效果好,但工程实现难度较大。

粗精排一致性建模

  • 蒸馏精排训练粗排,让粗排与精排更一致。

  • 方法1:pointwise 蒸馏。

    • yy 是用户真实行为,设 pp 是精排的预估。
    • y+p2\frac{y + p}{2} 作为粗排拟合的目标。
      • 对于点击率目标,用户有点击(y=1y=1),精排预估 p=0.6p=0.6
      • y+p2=0.8\frac{y + p}{2} = 0.8 作为粗排拟合的点击率目标。
  • 方法2:pairwise 或 listwise 蒸馏。

    • 给定 kk 个候选物品,按照精排预估做排序。
    • 做 learning to rank (LTRLTR),让粗排拟合物品的序(而非值)。
      • 对于物品 iijj,精排预估点击率为 pi>pjp_i > p_j
      • LTRLTR 鼓励粗排预估点击率满足 qi>qjq_i > q_j,否则有惩罚。
      • LTRLTR 通常使用 pairwise logistic loss。
  • 优点:粗精排一致性建模可以提升核心指标。

  • 缺点:如果精排出 bug,精排预估值 pp 有偏,会污染粗排训练数据。

用户行为序列建模

  • 最简单的方法是对物品向量取平均,作为一种用户特征。
  • DINDIN 使用注意力机制,对物品向量做加权平均。
  • 工业界目前沿着 SIMSIM 的方向发展。先用类别等属性筛选物品,然后用 DINDIN 对物品向量做加权平均。

用户行为序列建模

  • 改进1:增加序列长度,让预测更准确,但是会增加计算成本和推理时间。

  • 改进2:筛选的方法,比如用类别、物品向量表征聚类。

    • 离线用多模态神经网络提取物品内容特征,将物品表征为向量。
    • 离线将物品向量聚类为 1000 类,每个物品有一个聚类序号。
    • 线上排序时,用户行为序列中有 n=1,000,000n = 1,000,000 个物品。某候选物品的聚类序号是 70,对 nn 个物品做筛选,只保留聚类序号为 70 的物品。nn 个物品中只有数千个被保留下来。
    • 同时有好几种筛选方法,取筛选结果的并集。
  • 改进3:对用户行为序列中的物品,使用 ID 以外的一些特征。

  • 概括:沿着 SIMSIM 的方向发展,让原始的序列尽量长,然后做筛选降低序列长度,最后将筛选结果输入 DINDIN

在线学习

在线学习的资源消耗

  • 既需要在凌晨做全量更新,也需要全天不断做增量更新。

  • 设在线学习需要 10,000 CPU coreCPU\ core 的算力增量更新一个精排模型。推荐系统一共需要多少额外的算力给在线学习?

  • 为了做 ABAB 测试,线上同时运行多个不同的模型。

  • 如果线上有 mm 个模型,则需要 mm 套在线学习的机器。

  • 线上有 mm 个模型,其中 1 个是 holdoutholdout,1 个是推全的模型,m2m-2 个测试的新模型。

  • 每套在线学习的机器成本都很大,因此 mm 数量很小,制约模型开发迭代的效率。

  • 在线学习对指标的提升巨大,但是会制约模型开发迭代的效率。

老汤模型

  • 用每天新产生的数据对模型做 1 epochepoch 的训练。
  • 久而久之,老模型训练得非常好,很难被超过。
  • 对模型做改进,重新训练,很难追上老模型……
  • 问题 1:如何快速判断新模型结构是否优于老模型?(不需要追上线上的老模型,只需要判断新老模型谁的结构更优。)
    • 对于新、老模型结构,都随机初始化模型全连接层。
    • EmbeddingEmbedding 层可以是随机初始化,也可以是复用老模型训练好的参数。
    • nn 天的数据训练新老模型。(从旧到新,训练 1 epochepoch
    • 如果新模型显著优于老模型,新模型很可能更优。
    • 只是比较新老模型结构谁更好,而非真正追平老模型。
  • 问题 2:如何更快追平、超过线上的老模型?(只有几十天的数据,新模型就能追上训练上百天的老模型。)
    • 已经得出初步结论,认为新模型很可能优于老模型。用几十天的数据训练新模型,早日追平老模型。
    • 方法 1:尽可能多地复用老模型训练好的 embeddingembedding 层,避免随机初始化 embeddingembedding 层。(EmbeddingEmbedding 层是对用户、物品特征的“记忆”,比全连接层学得慢。)
    • 方法 2:用老模型做 teacherteacher,蒸馏新模型。(用户真实行为是 yy,老模型的预测是 pp,用 y+p2\frac{y + p}{2} 作为训练新模型的目标。)

总结:改进排序模型

  • 精排模型:改进模型基座(加宽加深、特征交叉、特征工程),改进多目标预估(增加新目标、MMoEMMoEposition biasposition\ bias)。
  • 粗排模型:三塔模型(取代多向量双塔模型),粗精排一致性建模。
  • 用户行为序列建模:沿着 SIMSIM 的方向迭代升级,加长序列长度,改进筛选物品的方法。
  • 在线学习:对指标提升大,但是会降低模型迭代升级效率。
  • 老汤模型 制约模型迭代升级效率,需要特殊技巧。

涨指标的方法:提升多样性

排序的多样性

精排多样性

  • 精排阶段,结合兴趣分数和多样性分数对物品 ii 排序。

    • sis_i:兴趣分数,即融合点击率等多个预估目标。
    • did_i:多样性分数,即物品 ii 与已选中的物品的差异。
    • si+dis_i + d_i 对物品做排序。
  • 常用 MMRDPP 等方法计算多样性分数,精排使用滑动窗口,粗排不使用滑动窗口。

    • 精排决定最终的曝光,曝光页面上邻近的物品相似度应该小。所以计算精排多样性要使用滑动窗口。
    • 粗排要考虑整体的多样性,而非一个滑动窗口中的多样性。
  • 除了多样性分数,精排还使用打散策略增加多样性。

    • 类目:当前选中物品 ii,之后 5 个位置不允许跟 ii 的二级类目相同。
    • 多模态:事先计算物品多模态内容向量表征,将全库物品聚为 1000 类;在精排阶段,如果当前选中物品 ii,之后 10 个位置不允许跟 ii 同属一个聚类。

粗排多样性

  • 粗排给 5000 个物品打分,选出 500 个物品送入精排。
  • 提升粗排和精排多样性都可以提升推荐系统核心指标。
  • 根据 sis_i 对 5000 个物品排序,分数最高的 200 个物品送入精排。
  • 对于剩余的 4800 个物品,对每个物品 ii 计算兴趣分数 sis_i 和多样性分数 did_i
  • 根据 si+dis_i + d_i 对剩余 4800 个物品排序,分数最高的 300 个物品送入精排。

召回的多样性

双塔模型:添加噪声

  • 用户塔将用户特征作为输入,输出用户的向量表征;然后做 ANNANN 检索,召回向量相似度高的物品。
  • 线上做召回时(在计算出用户向量之后,在做 ANNANN 检索之前),往用户向量中添加随机噪声。
  • 用户的兴趣越窄(比如用户最近交互的 nn 个物品只覆盖少数几个类目),则添加的噪声越强。
  • 添加噪声使得召回的物品更多样,可以提升推荐系统核心指标。

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

  • 用户最近交互的 nn 个物品(用户行为序列)是用户塔的输入。
  • 保留最近的 rr 个物品(rnr \ll n)。
  • 从剩余的 nrn - r 个物品中随机抽样 tt 个物品(tnt \ll n)。(可以是均匀抽样,也可以用非均匀抽样让类目平衡。)
  • 将得到的 r+tr + t 个物品作为用户行为序列,而不是用全部 nn 个物品。
  • 抽样用户行为序列为什么能涨指标?
    • 一方面,注入随机性,召回结果更多样化。
    • 另一方面,nn 可以非常大,可以利用到用户很久之前的兴趣。

U2I2I:抽样用户行为序列

  • U2I2IU2I2Iuseritemitemuser \to item \to item)中的第一个 itemitem 是指用户最近交互的 nn 个物品之一,在 U2I2IU2I2I 中叫作种子物品

  • nn 个物品覆盖的类目数较少,且类目不平衡。

    • 系统共有 200 个类目,某用户的 nn 个物品只覆盖 15 个类目。
    • 足球类目的物品有 0.4n0.4n 个,电视剧类目的物品有 0.2n0.2n 个,其余类目的物品数均少于 0.05n0.05n 个。
  • 做非均匀随机抽样,从 nn 个物品中选出 tt 个,让类目平衡。(想法和效果与双塔中的用户行为序列抽样相似。)

  • 用抽样得到的 tt 个物品(代替原本的 nn 个物品)作为 U2I2IU2I2I 的种子物品。

  • 一方面,类目更平衡,多样性更好。另一方面,nn 可以更大,覆盖的类目更多。

探索流量

  • 每个用户曝光的物品中有 2% 是非个性化的,用作兴趣探索。
  • 维护一个精选内容池,其中物品均为交互率指标高的优质物品。(内容池可以分人群,比如 30~40 岁男性内容池。)
  • 从精选内容池中随机抽样几个物品,跳过排序,直接插入最终排序结果。
  • 兴趣探索在短期内负向影响核心指标,但长期会产生正向影响。

总结:提升多样性

  • 精排:结合兴趣分数和多样性分数做排序;做规则打散。
  • 粗排:只用兴趣分数选出部分物品;结合兴趣分数和多样性分数选出部分物品。
  • 召回:往双塔模型的用户向量添加噪声;对用户行为序列做非均匀随机抽样(对双塔和 U2I2I 都适用)。
  • 兴趣探索:保留少部分的流量给非个性化推荐。

涨指标的方法:特殊对待特殊人群

为什么要特殊对待特殊人群

  1. 新用户、低活用户的行为很少,个性化推荐不准确。
  2. 新用户、低活用户容易流失,要想办法促使他们留存。
  3. 特殊用户的行为(比如点击率、交互率)不同于主流用户,基于全体用户行为训练出的模型在特殊用户人群上有偏。

涨指标的方法

  1. 构造特殊内容池,用于特殊用户人群的召回。
  2. 使用特殊排序策略,保护特殊用户。
  3. 使用特殊的排序模型,消除模型预估的偏差。

构造特殊的内容池

特殊内容池

  • 为什么需要特殊内容池?
  • 新用户、低活用户的行为很少,个性化召回不准确。(既然个性化不好,那么就保证内容质量好。)
  • 针对特定人群的特点构造特殊内容池,提升用户满意度。例如,对于喜欢留下评论的中年女性,构造促进评论内容池,满足这些用户的互动需求。

如何构造特殊内容池

  • 方法 1:根据物品获得的交互次数、交互率选择优质物品。
    • 圈定人群:只考虑特定人群,例如 18~25 岁二线城市男性。
    • 构造内容池:用该人群对物品的交互次数、交互率给物品打分,选出分数最高的物品进入内容池。
    • 内容池有弱个性化的效果。
    • 内容池定期更新,加入新物品,排除交互率低和失去时效性的老物品。
    • 该内容池只对该人群生效。
  • 方法 2:做因果推断,判断物品对人群留存率的贡献,根据贡献值选物品。

特殊内容池的召回

  • 通常使用双塔模型从特殊内容池中做召回。

    • 双塔模型是个性化的。
    • 对于新用户,双塔模型的个性化做不准。
    • 靠高质量内容、弱个性化做弥补。
  • 额外的训练代价?

    • 对于正常用户,不论有多少内容池,只训练一个双塔模型。
    • 对于新用户,由于历史交互记录很少,需要单独训练模型。
  • 额外的推理代价?

    • 内容池定期更新,然后需要更新 ANN 索引。
    • 线上做召回时,需要做 ANN 检索。
    • 特殊内容池都很小(比全量内容池小 10~100 倍),所以需要的额外算力不大。

特殊的排序策略

差异化的排序模型

  • 特殊用户⼈群的行为不同于普通用户。新用户、低活用户的点击率、交互率偏高或偏低。

  • 排序模型被主流用户主导,对特殊用户做不准预估。

    • 用全体用户数据训练出的模型,给新用户做的预估有严重偏差。
    • 如果⼀个APP的用90%是女性,用全体⽤户数据训练出的模型, 对男性用户做的预估有偏差。
  • 问题:对于特殊用户,如何让排序模型预估做得准?

  • 方法 1:大模型 + 小模型。

    • 用全体用户行为训练大模型,大模型的预估 pp 拟合用户行为 yy
    • 用特殊用户的行为训练小模型,小模型的预估 qq 拟合大模型的残差 ypy - p
    • 对主流用户只用大模型做预估 pp
    • 对特殊用户,结合大模型和小模型的预估 p+qp + q
  • 方法 2:融合多个 experts,类似 MMoE。

    • 只用一个模型,模型有多个 experts,各输出一个向量。
    • 对 experts 的输出做加权平均。
    • 根据用户特征计算权重。
    • 以新用户为例,模型将用户的新老、活跃度等特征作为输入,输出权重,用于对 experts 做加权平均。
  • 方法 3:大模型预估之后,用小模型做校准。

    • 用大模型预估点击率、交互率。
    • 将用户特征、大模型预估点击率和交互率作为小模型(例如 GBDT)的输入。
    • 在特殊用户人群的数据上训练小模型,小模型的输出拟合用户真实行为。

错误的做法

  • 每个用户人群使用一个排序模型,推荐系统同时维护多个大模型。

    • 系统有一个主模型;每个用户人群有自己的一个模型。
    • 每天凌晨,用全体用户数据更新主模型。
    • 基于训练好的主模型,在某特殊用户人群的数据上再训练 1 epoch,作为该用户人群的模型。
  • 短期可以提升指标;维护代价大,长期有害。

    • 起初,低活男性用户模型比主模型的 AUC 高 0.2%。
    • 主模型迭代几个版本后,AUC 累计提升 0.5%。
    • 特殊人群模型太多,长期没有人维护和更新。
    • 如果把低活男性用户模型下线,换成主模型,在低活男性用户上的 AUC 反倒提升 0.3%!

总结:特殊对待特殊用户人群

  • 召回:针对特殊用户人群,构造特殊的内容池,增加相应的召回通道。
  • 排序策略:排除低质量物品,保护新用户和低活用户;特殊用户人群使用特殊的融分公式。
  • 排序模型:结合大模型和小模型,小模型拟合大模型的残差;只用一个模型,模型有多个 experts;大模型预估之后,用小模型做校准。

涨指标的方法:利用交互行为

关注

关注量对留存的价值

  • 对于一位用户,他关注的作者越多,则平台对他的吸引力越强。

  • 用户留存率(rr)与他关注的作者数量(ff)正相关。

  • 如果某用户的 ff 较小,则推荐系统要促使该用户关注更多作者。

  • 如何利用关注关系提升用户留存?

  • 方法 1:用排序策略提升关注量。

    • 对于用户 uu,模型预估候选物品 ii 的关注率为 pip_i
    • 设用户 uu 已经关注了 ff 个作者。
    • 我们定义单调递减函数 w(f)w(f),用户已经关注的作者越多,则 w(f)w(f) 越小。
    • 在排序融分公式中添加 w(f)piw(f) \cdot p_i,用于促关注。(如果 ff 小且 pip_i 大,则 w(f)piw(f) \cdot p_i 给物品 ii 带来很大加分。)
  • 方法 2:构造促关注内容池和召回通道。

    • 这个内容池中物品的关注率高,可以促关注。
    • 如果用户关注的作者数 ff 较小,则对该用户使用该内容池。
    • 召回配额可以固定,也可以与 ff 负相关。

粉丝数对促发布的价值

  • UGC 平台将作者发布量、发布率作为核心指标,希望作者多发布。

  • 作者发布的物品被平台推送给用户,会产生点赞、评论、关注等交互。

  • 交互(尤其是关注、评论)可以提升作者发布积极性。

  • 作者的粉丝数越少,则每增加一个粉丝对发布积极性的提升越大。

  • 用排序策略帮助低粉新作者涨粉。

  • 某作者 aa 的粉丝数(被关注数)为 faf_a

  • 作者 aa 发布的物品 ii 可能被推荐给用户 uu,模型预估关注率为 puip_{ui}

  • 我们定义单调递减函数 w(fa)w(f_a) 作为权重;作者 aa 的粉丝越多,则 w(fa)w(f_a) 越小。

  • 在排序融分公式中添加 w(fa)puiw(f_a) \cdot p_{ui},帮助低粉作者涨粉。

隐式关注关系

  • 召回通道 U2A2I:user → author → item。
  • 显式关注关系:用户 uu 关注了作者 aa,将 aa 发布的物品推荐给 uu。(点击率、交互率指标通常高于其他召回通道。)
  • 隐式关注关系:用户 uu 喜欢看作者 aa 发布的物品,但是 uu 没有关注 aa
  • 隐式关注的作者数量远大于显式关注。挖掘隐式关注关系,构造 U2A2I 召回通道,可以提升推荐系统核心指标。

转发(分享)

促转发(分享回流)

  • A 平台用户将物品转发到 B 平台,可以为 A 吸引站外流量。
  • 推荐系统做促转发(也叫分享回流)可以提升 DAU 和消费指标。
  • 简单提升转发次数是否有效呢?
    • 模型预估转发率为 pp,融分公式中有一项 wpw \cdot p,让转发率大的物品更容易获得曝光机会。
    • 增大权重 ww 可以促转发,吸引站外流量,但是会负面影响点击率和其他交互率。

KOL 建模

  • 目标:在不损害点击和其他交互的前提下,尽量多吸引站外流量。

  • 什么样的用户的转发可以吸引大量站外流量? 其他平台的 Key Opinion Leader (KOL)!

  • 如何判断本平台的用户是不是其他平台的 KOL?

  • 该用户历史上的转发能带来多少站外流量。

  • 方法2:构造促转发内容池和召回通道,对站外KOL⽣效。

评论

评论促发布

  • UGC 平台 将作者发布量、发布率作为核心指标,希望作者多发布。
  • 关注、评论等交互 可以提升作者发布积极性。
  • 如果新发布物品尚未获得很多评论,则给预估评论率提权,让物品尽快获得评论。
  • 排序融分公式中添加额外一项 wipiw_i \cdot p_i
    • wiw_i:权重,与物品 ii 已有的评论数量负相关。
    • pip_i:为用户推荐物品 ii,模型预估的评论率。

评论的其他价值

  • 有的用户喜欢留言评论,喜欢跟作者、评论区用户互动。

    • 给这样的用户添加促评论的内容池,让他们更多机会参与讨论。
    • 有利于提升这些用户的留存。
  • 有的用户常留高质量评论(评论的点赞量高)。

    • 高质量评论对作者、其他用户的留存有贡献。(作者、其他用户觉得这样的评论有趣或者有帮助。)
    • 用排序和召回策略鼓励这些用户多留评论。

总结:利用交互行为

  • 关注

    • 留存价值(让新用户关注更多作者,提升新用户留存)。
    • 发布价值(帮助新作者获得更多粉丝,提升作者发布积极性)。
    • 利用隐式关注关系做召回
  • 转发:判断哪些用户是站外的 KOL,利用他们转发的价值,吸引站外的流量。

  • 评论

    • 发布价值(促使新物品获得评论,提升作者发布积极性)。
    • 留存价值(给喜欢讨论的用户创造更多留言机会)。
    • 鼓励高质量评论的用户多留评论

贡献者