04.01 update: 代码量很大,目前做大致梳理,后续详细展开

太长不读

推特推荐系统整体流程和业界主流类似,包括召回、粗排、精排、混排等。不过相比非社交主导的内容推荐系统,推特更加重视网络数据(图)的利用,包括图特征、图算法等。并且对负责社交网络内和网络外的模块做了显式的区分和内容控比(目前网络内和网络外占比1:1)。

业务场景

从你关注的人(网络内)和你不关注的人(网络外)中寻找候选人,再对推文、广告、Onboarding prompts综合选出最终展现内容。


推荐系统

    • 特征计算
      • 社交图谱
      • Embedding嵌入(主)
      • 偏好预估
      • 声誉预估
      • 事件流
      • 图统计信息
      • Trust&Safty
        • 违规内容检测————怎么使用?
    • 候选&召回
      • 社交网络内来源(主)
      • 社交网络外来源
        • cr-mixer:用于网络外的内容召回,(应该)是一个模型化召回模块
        • follow-recommendation-service(FRS):推人服务,提供关注建议Who-To-Follow (WTF)
          • 也是一个小的推荐系统,流程基本同主系统,包括候选,排序,过滤,推荐解释
          • 其中,排序使用p(follow|recommendation) 和 p(positive engagement|follow) 的加权和
    • 过滤&产品功能
      • 可见性
      • 作者多样性
      • 内容平衡(探索利用)
      • 基于反馈的疲劳内容
      • 二跳人脉过滤
      • 替换更新的推文
      • 对话
        • 同一推文下的上下文组合
    • 粗排、精排及多目标
      • 粗排(准备重构):
        • Earlybird light ranker包括网络内和网络外两个模型,区别在于特征不同
        • LR模型;目标是预测用户参与推文的概率(互动)
      • 精排:
        • 精排条数1500
        • 基于神经网络的模型(机器学习部分展开),网络参数48M,特征6k,目标数量10个
      • 多目标
        • 10个目标,主要包括互动、时长和画风
          • 用户喜欢推文的概率
          • 用户点击进入此推文对话并回复或点赞推文的概率
          • 用户点击进入此推文对话并在那里停留至少 2 分钟的概率
          • 用户做出负面反应的概率(要求在推文或作者上“显示较少”,屏蔽或静音推文作者)
          • 用户打开推文的概率作者个人资料和喜欢或回复推文
          • 用户回复推文的概率
          • 用户回复推文并且该回复被推文作者参与的概率
          • 用户点击举报推文的概率
          • 用户将观看至少一半视频的概率(对于视频推文)
        • 简单加权求和(权重看起来像手拍的)
    • 主页混排(Homepage Mixer)
      • 负责For you, Following, Lists的混排
      • 广告、关注推荐Onboarding prompts(?)
    • 框架基建
  • 推荐流程开销

上面的流程每天运行大约 50 亿次,平均完成时间不到 1.5 秒。单个管道执行需要 220 秒的 CPU 时间,几乎是在应用程序上看到的延迟的 150 倍。

机器学习模块

    • 实体抽取
      • 基于TransE抽取表征
    • 召回模型
    • 粗排模型
      • LR: 非常朴素的逻辑回归
      • 目标
MaskNet
    • 数据流


产品迭代方向

    • 为创作者提供更好的 Twitter 分析平台,提供更多关于影响力和参与度的信息
    • 提高应用到推文或帐户的任何安全标签的透明度
    • 更好地解释推文出现在你的时间线上的原因