𝕏 的目标是向你展示当下世界上正在发生的最重要事件。

这就需要一个推荐算法来将每天大约5亿条推文中的少数优质推文筛选出来,最终展示在你的“为你推荐”时间线上。

这篇文章将介绍 𝕏 的推荐算法如何为你的时间线选择推文👇。

𝕏 的算法如何选择推文?

𝕏 推荐的基础是从推文、用户互动数据中提取潜在信息的一组核心模型和功能。

这些模型旨在回答有关 𝕏 网络的重要问题,比如“未来你与另一位用户互动的概率是多少?”或“ 𝕏 上的社区是什么?这些社区中有哪些流行的推文?

准确回答这些问题可以帮助 𝕏 提供更相关的推荐。

推荐流程分为三个主要阶段,这些阶段消耗上述特征:

1、从不同的推荐来源获取最佳推文,这个过程称为候选推文获取

2、使用机器学习模型对每条推文进行排名

3、应用启发式规则过滤器,如过滤掉被屏蔽用户的推文、不适宜内容(NSFW)以及你已经看过的推文。

负责构建和提供“为你推荐”时间线的服务叫做Home Mixer

Home Mixer基于 𝕏 自定义的Scala框架 Product Mixer构建,Product Mixer促进了内容供给,这项服务作为软件骨干,连接了不同的候选来源、评分功能、启发式规则过滤器

下图展示了用于构建时间线的主要组件:

接下来我们将依次介绍每个部分,按照在单次时间线请求中的调用顺序开始,首先是从候选来源获取推文。

候选来源

𝕏 有多个候选来源,算法使用这些来源为用户提取最新且相关的推文。 对于每个请求,算法尝试从数亿条推文池中筛选出最好的1500条候选推文

这些候选推文来自你关注的人(网络内)和你未关注的人(网络外)。