Twitter推荐算法总架构和算法说明

news/2024/10/25 11:29:11/

Twitter推荐算法总架构:

这个推荐架构的作用是生成在用户首页上显示的推文列表

在这里插入图片描述



步骤:

1、从不同的推荐来源中获取最好的推文,这个过程被称为候选来源。
2、使用机器学习模型对每条推文进行排名。
3、应用启发式方法和过滤器,例如过滤掉你已经屏蔽的用户的推文、NSFW内容以及你已经看过的推文。



候选源:

来源分成两部分,网络内和网络外。这里的网络指的是Twitter的社交网络。



1、网络内来源
网络内来源是最大的候选来源,旨在提供所关注的用户的最相关、最近的推文。它使用逻辑回归模型,根据相关性对你所关注的用户的推文进行有效排名。排名靠前的推文会被送到下一个阶段。

对网络内推文进行排名的最重要组成部分是Real Graph。真实图谱是一个预测两个用户之间接触的可能性的模型。你和推文作者之间的Real Graph得分越高,将包括更多他们的推文。

网络内来源一直是Twitter最近工作的主题。最近停止了使用Fanout服务,这是一项有12年历史的服务,以前是用来从每个用户的推文缓存中提供网络内推文的。也正在重新设计逻辑回归排名模型,该模型最后一次更新和训练是在几年前!



2、网络外的来源
寻找用户网络之外的相关推文是一个比较棘手的问题:如果你不关注作者,怎么能知道某条推文是否与你有关?Twitter采取了两种方法来解决这个问题。



2.1社会图谱

第一个方法是通过分析你所关注的人或有类似兴趣的人的参与情况来估计你会发现什么是相关的。

遍历参与度和关注度的图表,以回答以下问题:

1、我关注的人最近参与了哪些推文?
2、谁喜欢与我相似的推文,他们最近还喜欢什么?
**根据这些问题的答案生成候选推文,并使用逻辑回归模型对生成的推文进行排名。**这种类型的图形遍历对网络外推荐至关重要;

**开发了GraphJet,一个图形处理引擎,维护用户和推文之间的实时互动图,以执行这些遍历。**虽然这种搜索Twitter参与和关注网络的启发式方法已被证明是有用的(目前这些方法服务于大约15%的主页时间线推文),但嵌入空间方法已成为网络外推文的更大来源。



2.2嵌入空间

嵌入空间方法旨在回答一个关于内容相似性的更普遍的问题:哪些推文和用户与我的兴趣相似?

嵌入的工作方式是生成用户兴趣和推文内容的数字表示。然后,可以计算出这个嵌入空间中任何两个用户、推文或用户-推文对之间的相似性。只要产生准确的嵌入,就可以用这种相似性作为相关性的代表。

Twitter最有用的嵌入空间之一是SimClusters。SimClusters使用一种自定义的矩阵分解算法,去发现由有影响力的用户群体关注的社区进行嵌入。这里有145k个社区,每三周更新一次。用户和推文在社区的空间中被表示,并且可以属于多个社区。社区的规模从个人朋友圈的几千个用户,到新闻或流行文化的几亿个用户。这些是一些最大的社区:

在这里插入图片描述

可以通过查看Tweet在每个社区的当前受欢迎程度,将Tweet嵌入到这些社区。一个社区的用户越喜欢一条推文,该推文就越能与该社区联系起来。



排序

为你服务 "时间轴的目标是为你提供相关的推文。在管道的这一点上,有大约1500个可能是相关的候选推文。分数直接预测每个候选推文的相关性。在这个阶段,所有的候选推文都被平等对待,不考虑它来自哪个候选推文的来源。

排名是通过一个约4800万个参数的神经网络实现的,该网络在推特互动上不断训练,以优化积极的参与(例如,赞、转发和回复)。这个排名机制**考虑到了数千种特征,并输出十个标签,给每条推文打分,其中每个标签代表参与的概率。**根据这些分数对推文进行排名。



启发式方法、过滤器和产品特性

在排名阶段之后,应用启发式方法和过滤器来实现各种产品功能。这些功能共同作用,创造一个平衡和多样化的推荐。一些例子包括:

1、可见度过滤:根据推文的内容和你的偏好,过滤掉推文。例如,删除你屏蔽或静音的账户的推文。
2、作者多样性:避免单一作者的连续推文太多。
3、内容平衡:确保在网络内和网络外的推文中提供公平的平衡。
4、基于反馈的疲劳度:如果观众对某些推文提供了负面的反馈,则降低该推文的得分。
5、社会证明:排除没有第二层关系的网络外推文,作为一种质量保障。换句话说,确保你关注的人参与了该推文或关注该推文的作者。
6、对话:通过将回复与原始推文串联起来,为回复提供更多背景。
7、编辑过的推文:判断当前设备上的推文是否过时,并发送指示,用编辑过的版本替换它们。



混合和服务

在这一点上,Home Mixer有一组推文,准备发送到你的设备上。作为这个过程的最后一步,系统将推文与其他非推文内容混合在一起,如广告、关注建议和入职提示,这些内容将返回到你的设备上显示。

上述管道每天运行约50亿次,平均在1.5秒内完成。一个管道的执行需要220秒的CPU时间,几乎是你在应用程序上感知到的延迟的150倍。



参考:

1、Twitter’s Recommendation Algorithm

er.com/engineering/en_us/topics/open-source/2023/twitter-recommendation-algorithm)

2、examples/lite/examples/image_classification/android at master · tensorflow/examples (github.com)


http://www.ppmy.cn/news/38501.html

相关文章

Python 自动化指南(繁琐工作自动化)第二版:十四、使用谷歌表格

原文:https://automatetheboringstuff.com/2e/chapter14/ 谷歌表格是一个免费的基于网络的电子表格应用,任何拥有 Google 账户或 Gmail 地址的人都可以使用,它已经成为 Excel 的一个有用的、功能丰富的竞争对手。谷歌表格有自己的 API&#x…

游戏实现:俄罗斯方块

目录 前提: 设置HTML结构 创建CSS样式 编写JavaScript代码 响应式设计 添加触摸事件支持 .测试并优化 代码示例 前提: 要在网页上实现一个适用于PC端和移动端的俄罗斯方块游戏,您可以使用HTML、CSS和JavaScript。HTML5的Canvas元素…

java常见锁策略分享(包括cas和synchronized的优化)

前言 锁策略学习思维导图: 1.常见锁策略 ① 乐观锁和悲观锁 ● 它们是根据锁冲突的预测,如果预测锁冲突比较小,那就是乐观锁,反之,就是悲观锁. ● 举个例子:高考前夕,我总觉得高考题会很难,然后拼命做各种科目的题,全副武装的去应对高考,而我妈则觉得高考只是人生的一个阶段而…

【AUTOSAR】【Lin通信】LinIf

目录 一、概述 1.1 架构 1.2 功能 二、限制说明 三、功能说明 3.1 帧传输 3.1.1 帧类型 3.1.2 帧接收 3.1.3 帧发送 3.2 调度 3.3 主函数 3.4 网络管理 3.4.1 节点管理 3.4.2 进入睡眠过程 3.4.3 唤醒过程 3.5 错误分类 3.5.1 开发错误 3.5.2 运行时错误 四…

LTD220次升级 | 房产应用可显示经纪人信息、展示地图与街景、推荐附近房产 • 留言表单可自定义提示语样式

1、房产应用增加所属代理/经纪人显示 2、房产应用新增地图与街景展示 3、房产应用新增附近推荐房产 4、房产应用新增推荐代理/经纪人展示 5、留言表单组件支持提示语样式设置 6、已知问题修复与优化 01 房产应用 1. 租售详情中增加专属代理/经纪人的信息展示 在上一次的功…

2023Q2押题,华为OD机试用Python实现 -【机智的外卖员】

最近更新的博客 华为 od 2023 | 什么是华为 od,od 薪资待遇,od 机试题清单华为 OD 机试真题大全,用 Python 解华为机试题 | 机试宝典【华为 OD 机试】全流程解析+经验分享,题型分享,防作弊指南华为 od 机试,独家整理 已参加机试人员的实战技巧本篇题解:机智的外卖员 题目…

易灵思下载器详解(购买可私信)

1 产品简介 易灵思 FPGA JTAG下载器是针对易灵思FPGA的编程、调试线缆,能够兼容易灵思开发软件Efinity Programmer和Efinity debugger; 同时支持JTAG和SPI FLASH两种编程模式。 易灵思 FPGA JTAG下载器由PC端USB口供电,板载参考电压3.3V&a…

【CTWing】天翼物联网对接

目录 一、场景介绍 二、硬件对接(忽略) 三、准备工作 Stage 1 :注册账号 -- CTwing 官网 Stage 2 :点击控制台 -- 开通服务 Stage 3 :创建产品 Stage 4 :添加设备 Stage 5 :订阅方URL…