Twitter算法源代码

发布时间: 2023-05-13 热度: 1324

推特的推荐算法

Twitter 的推荐算法是一组服务和作业,负责在所有 Twitter 产品表面(例如,为您时间线、搜索、探索)提供推文和其他内容的提要。有关算法工作原理的介绍,请参阅我们的工程博客

建筑学

Twitter 的产品界面建立在一组共享的数据、模型和软件框架之上。下面列出了此存储库中包含的共享组件:

类型成分描述
数据统一用户操作Twitter 上的实时用户操作流。
 用户信号服务用于检索显式(例如喜欢、回复)和隐式(例如个人资料访问、推文点击)用户信号的集中式平台。
模型模拟集群社区检测和稀疏嵌入这些社区。
 双核用户和推文的密集知识图嵌入。
 信任和安全模型用于检测 NSFW 或滥用内容的模型。
 实图预测 Twitter 用户与另一个用户交互的可能性的模型。
 推特用于计算 Twitter 用户信誉的 Page-Rank 算法。
 recos-注射器流式事件处理器,用于为基于GraphJet的服务构建输入流。
 图特征服务为一对定向用户提供图形特征(例如,有多少用户 A 的关注点赞了用户 B 的推文)。
 主题社会证明标识与各个推文相关的主题。
 代表记分员使用嵌入相似性计算实体对(用户、推文等)之间的分数。
软件架构导航用 Rust 编写的高性能机器学习模型服务。
 产品混合器用于构建内容提要的软件框架。
 时间线聚合框架用于批量或实时生成聚合特征的框架。
 代表经理检索嵌入的服务(即 SimClusers 和 TwHIN)。
 twml基于 TensorFlow v1 构建的旧版机器学习框架。

此存储库中当前包含的产品表面是为您时间线。

为你时间线

下图说明了主要服务和工作如何相互关联以构建“为您服务”时间表。

下面列出了此存储库中包含的 For You Timeline 的核心组件:

类型成分描述
候选来源搜索索引查找网络内推文并对其进行排名。约 50% 的推文来自此候选来源。
 混音器用于从底层计算服务中获取网络外推文候选者的协调层。
 用户推文实体图(UTEG)在内存中维护一个用户到推文的交互图,并根据该图的遍历找到候选者。这是建立在GraphJet框架之上的。其他几个基于 GraphJet 的功能和候选源位于此处
 遵循推荐服务(FRS)为用户提供要关注的帐户的建议,以及来自这些帐户的推文。
排行光级搜索索引 (Earlybird) 使用的 Light Ranker 模型对推文进行排名。
 重级用于对候选推文进行排名的神经网络。用于选择时间轴推文的主要信号之一。
推文混合和过滤家用调音台用于构建和服务主页时间线的主要服务。建立在产品混合器上。
 可见性过滤器负责过滤 Twitter 内容以支持法律合规性、提高产品质量、增加用户信任度、通过使用硬过滤、可见产品处理和粗粒度降级来保护收入。
 时间线排序器旧版服务,它提供来自 Earlybird 搜索索引和 UTEG 服务的相关性评分推文。

构建和测试代码

我们包括大多数组件的 Bazel BUILD 文件,但不包括顶级 BUILD 或 WORKSPACE 文件。我们计划在未来添加更完整的构建和测试系统。

马斯克履行诺言, Twitter 推荐算法开源了,该开源项目涵盖了推荐算法在内的许多推特源代码,包括用来控制用户在 For You 时间线上看到的推文的机制。

推特的推荐算法是一组服务和作业,负责构建和服务主页时间线。

开源项目: https://github.com/twitter/the-algorithm

官方博客:https://blog.twitter.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm

请在下方留下您的评论. 加入TG吹水群