一、前言

马斯克在推特上多次承诺将Twitter的核心推荐算法开源,并于2023年3月31日兑现了这个承诺。此次开源的代码包括在用户时间线中推荐推文的算法。马斯克表示,此次发布的是”大部分推荐算法”,其余的算法也将陆续开放。这个开源项目在GitHub上得到了 10k+ 的点赞。新开源了两个新的存储库 the-algorithm 和 the-algorithm-ml,该算法控制着时间轴上 “为您推荐” 推文。

二、算法

Twitter 推荐算法是一组服务和作业,负责构建并提供主页时间轴。下面的图示说明了主要服务和作业之间的相互连接。

这些是此存储库中包含的推荐算法的主要组件:

类型 组件 说明
功能 SimClusters 社区检测和稀疏嵌入到这些社区中。
TwHIN 用户和推文的密集知识图谱嵌入。
trust-and-safety-models 用于检测 NSFW 或滥用内容的模型。
real-graph 用于预测 Twitter 用户与其他用户互动的可能性的模型。
tweepcred 用于计算Twitter用户声誉的页面排名算法。
recos-injector 流事件处理器,用于为基于 GraphJet 的服务构建输入流。
graph-feature-service 为一对定向用户提供图形功能(例如,有多少用户 A 关注了来自用户 B 的推文)。
数据来源 search-index 查找网络内推文并对其进行排名。~50% 的推文来自此候选来源。
cr-mixer 协调层,用于从基础计算服务中提取网络外推文候选项。
user-tweet-entity-graph 维护内存中的用户到推文交互图,并根据此图的遍历查找候选项。这是建立在GraphJet 框架之上的。
follow-recommendation-service 为用户提供要关注的账号建议,以及来自这些账号的推文。
排名 light-ranker 搜索索引用于对推文进行排名的轻度排名模型。
heavy-ranker 用于对候选人推文进行排名的神经网络。用于选择时间线的主要信号之一 推文发布候选人来源。
推文混合和过滤 home-mixer 用于构建和服务主页时间线的主要服务。
visibility-filters 负责过滤 Twitter 内容以支持法律合规性、提高产品质量、增加用户信任度、通过使用硬过滤、可见产品处理和粗粒度降级来保护收入。
timelineranker 传统服务,提供来自早鸟搜索索引和 UTEG 服务的相关性评分推文。
软件框架 navi 高性能,机器学习模型服务,用 Rust 编写。
product-mixer 用于构建内容源的软件框架。
twml 基于 TensorFlow v1 构建的传统机器学习框架。

三、开发语言

这个代码库包含哪些编程语言?

  • 🥇Scala – 一种JVM语言
  • 🥈Java – 必须的!
  • 🥉Starlark – 一种Python方言,修正了许多Python的缺点
  • 最后是 Python、C++和 Rust。

四、Github 地址

  • 算法主库:https://github.com/twitter/the-algorithm/
  • ML 模型库:https://github.com/twitter/the-algorithm-ml


0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用 Akismet 来减少垃圾评论。了解我们如何处理您的评论数据

蜀ICP备16001794号
© 2014 - 2024 linpxing.cn All right reserved.