Twitter推荐算法解读

news2024/10/7 17:23:03

Twitter推荐算法解读

最近 Twitter 开源了其最宝贵的财产——推荐算法!

在这里插入图片描述

每天,人们会在 Twitter 上发布超过 5 亿条推文,Twitter 会向用户推送超过 1500 亿条推文。Twitter 的推荐算只会向用户推荐少数与其相关且有吸引力的热门推文。跟抖音等UGC平台类似,好的推荐算法是 Twitter 成功的制胜法宝。本文将带你了解 Twitter 是如何做内容推荐的。

文章目录

    • 推荐算法组成
    • 揭秘推荐算法
      • 1. 候选推文采集
      • 2. 推文排名
        • 聚合特征
        • 非聚合特征
        • 嵌入特征
      • 3. 推文过滤
    • 使用 Home Mixer 服务提供推文
    • 总结

推荐算法组成

推荐算法由很多部分组成,它是不同模型、特征和服务的集合。这些组件如何协同工作,请参考下图:

Major components of Twitter’s recommendation algorithm

Twitter 推荐算法的主要组成部分

所有组件共同尝试回答两个重要问题:

  • 您将来与其他用户互动的可能性有多大
  • Twitter 上有哪些社区,其中有哪些热门推文?

这就是社区的样子……

An illustration of Twitter communities

Twitter 社区概念插图

Twitter 目前有 145,000 个社区,有些社区已经数百万人,每三周更新一次。

揭秘推荐算法

推荐算法由三个阶段构成,这三个阶段由一个管线串联起来:

  1. 候选推文采集
  2. 推文排名
  3. 推文过滤

1. 候选推文采集

首先,从数亿条推文中提取与用户相关的最佳 1500 条候选推文。

候选推文主要有两个来源:你关注的人和你不关注的人。推文以 50-50 的比例来自这两个来源。

推文来源使用两种图形处理技术:Real GraphGraphJet,前者是一种称为 SimClusters 的嵌入技术,后者是一种自定义矩阵分解算法。

简单地说,候选推文采集系统中的组件试图回答这些问题:

  • 两个用户之间参与的可能性有多大?
  • 如果你不关注作者,我们如何判断某条推文是否与你相关?
  • 我关注的人最近与哪些推文进行了互动?
  • 谁喜欢与我相似的推文,他们最近还喜欢什么?
  • 哪些推文和用户与我的兴趣相似?

2. 推文排名

这一步使用称为 Heavy Ranker 的神经网络对每个候选推文的相关性进行评分。这个神经网络大约有约 48M 参数。该系统考虑了数以千计的特征,为每条推文打分。

以下是对输入到 Twitter Heavy Ranking 模型的主要特征组的描述。

聚合特征

Twitter的聚合特征构成了Twitter的大部分特征,并且是通过特定时间窗口内维护特定范围内特征值的滚动聚合生成的。 Twitter 计算长期(50 天计算)和短期(“实时”- 3 天以内,通常为 30 分钟计算)的聚合。

聚合特征列表如下:

  • author_aggregate
  • author-topic_aggregate
  • list_aggregate
  • user_aggregate
  • user_author_aggregate
  • user_engager_aggregate
  • user_inferred_topic_aggregate
  • user_media_annotation_aggregate
  • user_mention_aggregate
  • user_request_context_aggregate
  • user_topic_aggregate
  • topic_aggregate
  • tweet_aggregate

非聚合特征

Twitter 还有许多独立特征用于捕获有关用户、推文、作者和推文上下文的信息。

  • two_hop
  • realgraph
  • authors.realgraph
  • recap.tweetfeature, recap.searchfeature
  • tweetsource
  • in_reply_to_tweet
  • timelines.earlybird
  • realtime_interaction_graph
  • user_tweet.recommendations
  • other

嵌入特征

Twhin 是在 Twitter 数据上训练的大型图嵌入。我们使用来自 Twhin 算法的三个200维嵌入。

  • Twhin Follow Embeddings
  • Twhin Engagement Embeddings

⚠注意,由于用户设置或其他限制,对于每个请求并非所有特征都可用,并且基于不同变量的“为你推荐”排名可能存在一些差异。

3. 推文过滤

基于各种因素过滤候选推文,从而建立均衡且多样化的提要,例如

  • 被冻结的账户
  • 重复推文
  • 不同的作者
  • 编辑过的推文
  • NSFW 内容等

使用 Home Mixer 服务提供推文

上面三个阶段完成后,就可以将选定的推文推送给用户了。

Twitter 有一个名为 Home Mixer 的服务,专门用于构建 为你推荐(For You) 时间线。Home Mixer 主要基于 Scala 编程语言开发,将所有推荐阶段连接在一起。它还负责将推文与其他非推文内容混合在一起,例如广告、关注推荐和登录提示。

我们上面讨论的整个流水线每天运行大约 50 亿次,平均完成时间不到 1.5 秒。

总结

尽管本文没有深入到算法的技术细节,但所有的代码和资料 Twitter 都已经开源到 GitHub 上。后面我会带大家逐个模块探索实现细节。Twitter 肯将自己最宝贵最核心的算法开源出来非常伟大,正如Elon Musk说的,他确实在试图解放这只蓝鸟,并使其对用户更加透明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/461085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android类似微信首页的页面开发教程(Kotlin)二

前提条件 安装并配置好Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built on February 17, 2023 Runtime version: 11.0.150-b2043.56-9505619 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11 …

信息安全复习九:身份认证

一、章节梗概 1.身份认证的基本概念 2.基于口令的身份认证:Unix口令,动态口令 3.基于密码的身份认证技术 ①.质询与应答认证技术 ②.Needham-Schroeder 协议 ③.KERBEROS协议 二、身份认证的基本概念 2.1 定义 宣称者向验证方出示证据,证…

【HTML+CSS+JS】登录注册页面大合集

前言 学JS也学了一段时间,正巧碰上了人工智能要调用人脸识别接口进行真人人脸识别,于是便萌生了用人脸来进行注册和登录的想法,这样的话就需要开发一个登录注册页面,然后用JS绑定注册事件调用人脸识别接口进行登录注册 饭要一口一…

【Shell编程规范与变量】

目录 一、Shell脚本的概述二、Shell的作用2.1、用户的登录Shell2.2、Shell脚本的分类 三、Shell脚本的构成1、编写shell脚本的规范2、运行shell脚本3、方法一 、指定路径命令,要求文件必须有 x 权限4、方法二 、指定shell来解释脚本,不要求文件必须要有 …

波奇学Linux:Linux基本指令

上文回顾:波奇学Linux:认识Linux和使用云服务器 本文再上文的基础上,学习Linux的基本指令 xhell:进入/退出全屏操作:alt enter 清空页面:clear 查看目录 pwd(print working directory):查看当前目录 ls(list)&am…

P1033 [NOIP2002 提高组] 自由落体

题目描述 在高为 �H 的天花板上有 �n 个小球,体积不计,位置分别为 0,1,2,⋯ ,�−10,1,2,⋯,n−1。在地面上有一个小车(长为 �L,高为 �K,距原点距离为 &…

【十进制 转 二进制】【二进制 转 十进制】10进制 VS 2进制【清华大学考研机试题】

10进制 VS 2进制 十进制转成二进制二进制 转成 十进制本题是高精度,如何做? 原题链接 本题我们先需要知道 十进制 如何转 二进制 二进制 如何转 十进制 十进制 如何转 二进制: 十进制转成二进制 例如 173 转成 二进制 就把173 短除法 除…

软件测试项目去哪里找?我都给你整理好了【源码+操作视频】

目录 一、引言 二、测试任务 三、测试进度 四、测试资源 五、测试策略 六、测试完成标准 七、风险和约束 八、问题严重程度描述和响应时间规范 九、测试的主要角色和职责 ​有需要实战项目的评论区留言吧! 软件测试是使用人工或者自动的手段来运行或者测定…

updateByPrimaryKey和updateByPrimaryKeySelective的区别

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl MyBatis Generator概述 MyBatis Generator是一个专门为MyBatis框架使用者定制的代码生成器,它可以快速的根据表生成对应的映射文件、接口文件、POJO。而且&#…

Ajax XHR请求

文章目录 AJAX 向服务器发送请求请求向服务器发送请求GET 还是 POST?GET 请求POST 请求url 服务器上的文件异步 True 或 False?AsynctrueAsync false AJAX 向服务器发送请求请求 XMLHttpRequest 对象用于和服务器交换数据。 向服务器发送请求 如需将请…

人脸识别 Face Recognition 入门

人脸识别 Face Recognition 入门概述 找论文搭配 Sci-Hub 食用更佳 💪 Sci-Hub 实时更新 : https://tool.yovisun.com/scihub/ 公益科研通文献求助:https://www.ablesci.com/ 人脸识别流程:检测、对齐、(活体)、预处理…

图像融合方向:《GP-GAN: Towards realistic high-resolution image blending》论文理解

《GP-GAN: Towards realistic high-resolution image blending》论文理解 论文:《GP-GAN: Towards realistic high-resolution image blending》ACM MM 2019 链接:GP-GAN: Towards realistic high-resolution image blending 本文目录 《GP-GAN: Toward…

免费好用的数据可视化软件工具

如果你正在找数据可视化软件工具,或者你正想尝试新的可视化软件,那么接下来的内容一定要认真看。 通过对行业的了解及广泛的研究,小编整理了一份业内绝对最好的且免费的数据可视化工具列表,重点是免费。 D3.js JavaScript 库&a…

【C进阶】-- 动态内存管理

目录 1. 为什么存在动态内存分配❓ 2. 动态内存函数的介绍 2.1 malloc和free✅ ①申请:1️⃣ ②使用:2️⃣ ③释放:3️⃣ 2.2 calloc 🧨与malloc的区别: 2.3 realloc 3.常见的动态内存错误 3.1 对NULL指针的解引用操作 &#x1f3…

这5个PNG免抠素材网站,可商用,赶紧马住了

推荐5个超好用的PNG素材网站,免费下载,还可以商用,建议收藏起来~ 1、菜鸟图库 https://www.sucai999.com/searchlist/66008----all-0-1.html?vNTYxMjky 网站主要分享设计素材为主。像平面海报、免抠元素、背景图片、UI界面模板、图标、电商…

流辰信息微服务平台:数字化转型的优良工具!

在互联网迅猛发展的今天,越来越多的企业倾向于新兴领域带来的便利性和灵活性了,其中,微服务平台就是其中之一了。流辰信息微服务平台是专注于研发系统开发、数据治理、数据分析的平台,致力于为各中大小型企业提供优质的微服务解决…

修炼汇编语言第二章:内存地址空间(概述)

目录 前言 一、主板和接口卡 二、存储器各类芯片 三:内存地址空间 总结 前言 什么是内存地址空间呢?如果地址线为10,那么可以寻址1024个地址空间,这1024个地址空间就构成这个CPU的内存地址空间,下面本文将会介绍…

HTB-DevOops

HTB-DevOops 信息收集5000端口 立足python反序列化攻击XEE读取SSH root 信息收集 5000端口 根据文字所述,下面的图片是feed.py。 目录扫描 /upload如下: 上传测试xml文件。 得到反馈 怀疑是标签不匹配,尝试寻找匹配的标签。前面首页有提…

linux平台移植qt

话不多说直接开干,首先需要下载源码包,进入网址https://download.qt.io/archive/qt/进行下载对应的版本即可,比如我这里下载5.12.12版本的,如下图找到即可。 然后把下载的包放到服务器上进行解压tar xpf qt-everywhere-src-5.12.…

2023PGA塑料行业发展新机遇

什么是PGA塑料? PGA塑料是生物降解塑料中的一种,具有可完全分解的酯结构和降解速度最快的脂肪族聚酯类高分子材料,且无需特定降解条件,同时具有良好的耐高温性、机械强度、降解速率和生物相容性。 从政策面来看,随着中国“限塑…