Twitter 开源推荐算法

Twitter开源推荐算法组件

Twitter最近开源了其用户时间线推文推荐系统的多个组件。此次发布包括运行算法的多个服务和任务的代码,以及用于嵌入和排名推文的机器学习模型的训练代码。

推荐系统的主要步骤

Twitter的推荐过程分为三个主要步骤:

  1. 候选推文来源:从用户关注的人(网络内)和未关注的人(网络外)中选择约1500条候选推文。
  2. 推文排名:使用48M参数的神经网络模型(基于MaskNet)对候选推文进行排名。
  3. 启发式/过滤:应用启发式规则和过滤器,确保时间线的平衡性和多样性。

开源内容

此次发布包含以下代码:

  • 机器学习模型服务器和流事件处理器等系统组件服务。
  • 从推文、用户和互动(如点赞和转发)原始数据中提取特征和模型的代码。

Twitter表示,此次开源是为了提高透明度,但排除了广告推荐代码和可能危及用户隐私的代码。

推荐系统的具体实现

  • 网络内推文:使用基于RealGraph算法的逻辑回归模型进行排名,预测两个用户之间的互动可能性。
  • 网络外推文:通过社交图找到用户关注的人互动的推文,并使用SimClusters嵌入空间选择推文。SimClusters使用矩阵分解算法识别145,000个虚拟用户社区,推文根据社区用户的喜好进行关联。

启发式规则和过滤

在排名后,Twitter应用启发式规则和过滤器,平衡网络内和网络外推文,将回复推文与原始推文串联,并移除NSFW内容。

开源引发的讨论

  • Hacker News:用户指出源代码中包含用于A/B测试算法更改的标签,如author_is_elonauthor_is_power_userauthor_is_democratauthor_is_republican
  • Twitter:机器学习工程师Vicki Boykis称赞此次开源为推荐系统爱好者提供了宝贵的资源。
  • Reddit:用户认为此次开源为机器学习专业人士提供了极好的教育内容,展示了世界级的复杂推荐和排名系统。

代码获取

Twitter的推荐系统代码和两个机器学习模型的训练代码均可在GitHub上获取:

此次开源不仅提升了Twitter的透明度,也为推荐系统研究和开发提供了丰富的资源和学习机会。

阅读 24
0 条评论