在推特同期发布的技术博客上,工程师们对推荐系统算法进行了一番解释。 推特推荐系统的基础是一套核心模型和功能,从推文、用户和相关数据中提取潜在的信息。...使用机器学习模型对每条推文进行排名。 3. 应用启发式方法和过滤器,例如过滤掉你已经屏蔽的用户的推文、NSFW 内容,以及你已经看过的推文。...网络内推文源 网络内推文源是最大的候选推文来源,旨在提供你所关注的用户的最相关、最近的推文。它使用一个逻辑回归模型,根据相关性对你所关注的人的推文进行有效排名。然后,排名靠前的推文被送到下一个阶段。...嵌入的工作原理是生成用户兴趣和推文内容的数字表征,然后推特就可以计算该嵌入空间中任意两个用户、推文或用户 - 推文对之间的相似度。如果生成了准确的嵌入,推特可以使用这种相似性作为相关性的替代。...分数会直接预测每个候选推文的相关性,是在用户时间线上对推文进行排序的主要信号。在这个阶段,所有的候选项都被平等对待,而不考虑它来自哪个候选来源。
因此,让我们看看能否从工程的角度增进对这个对话的了解。 Twitter 是如何工作的 主时间线视图 Twitter 为用户提供了两个版本的主时间线视图:默认的算法推送“主页”以及 “最新推文”。...核心推文关系 时间线(Timelines)—— 来自特定账户的逆时推文流。 喜欢(Likes)—— 喜欢推文是一种核心的用户互动行为,表达对推文的兴趣。请注意,“喜欢”在历史上曾被称为“收藏”。...在收集到所有推文之后,会有一个相关性模型对每条推文进行评分。该模型的得分预测了一条推文对你来说有多大的意义和吸引力。然后,得分最高的推文会显示在你的时间线上方,其余的则显示在下方。...推文作者:你过去与这个作者的互动,你与他们联系的强度,你们关系的起源。 你:你在过去觉得有吸引力的推文,你使用推特的频率和程度。...(来源;2021 年) 推特全球月活跃用户超过 3 亿。(来源;2019 年) 平均每秒钟有~6K 条推文发布,超过 600 万次获取时间线的查询。
记住,我们每天有28B条推特。我们必须显示每条推文的照片(如果有照片的话),但我们假设用户在他们的时间线中每看三次视频。...2.App server将向所有数据库服务器发送查询,以查找这些人的推文。 3.每个数据库服务器将找到每个用户的tweet,按最近情况对它们进行排序,并返回顶部 推特。...从某人关注的人那里获取所有最新推文,并按时间对其进行合并/排序。使用分页来获取/显示推文。只从所有关注的人那里获取前N条推文。...趋势主题:我们可以在最近N秒内缓存最频繁出现的hashtag或搜索查询,并在每M秒后不断更新它们。我们可以根据推特、搜索查询、转发或喜欢的频率对趋势主题进行排名。...时刻:获取过去1或2小时内不同网站的头条新闻,找出相关推文,对它们进行优先级排序,使用ML–监督学习或聚类对它们进行分类(新闻、支持、金融、娱乐等)。然后我们可以在瞬间将这些文章显示为趋势主题。
推特的两个主要业务是: 发布推文 用户可以向其粉丝发布新消息(平均 4.6k请求/秒,峰值超过 12k请求/秒)。 主页时间线 用户可以查阅他们关注的人发布的推文(300k请求/秒)。...推特的发推设计: 发布推文时,只需将新推文插入全局推文集合即可。当一个用户请求自己的主页时间线时,首先查找他关注的所有人,查询这些被关注用户发布的推文并按时间顺序合并。...为每个用户的主页时间线维护一个缓存,就像每个用户的推文收件箱(图1-3)。当一个用户发布推文时,查找所有关注该用户的人,并将新的推文插入到每个主页时间线缓存中。...因此读取主页时间线的请求开销很小,因为结果已经提前计算好了。 系统迭代之后, 推特 选择方式 1+ 方式 2 的混合, 其实国内的新浪微博也是类似的架构。...可演化性(evolability)使工程师在未来能轻松地对系统进行更改,当需求变化时为新应用场景做适配。
大数据文摘出品 作者:Caleb 推特的“闹剧”还在继续。 3月6日,当推特用户像平常那样打开APP后,却发现很多推文里面链接失效了,点击链接不会跳转到相关页面,而是得到一个很奇怪的提醒。...2月1日,推特宣布不再支持对其API的免费访问,这在很大程度上限制了第三方客户端,同时也极大地影响了外部研究人员研究网络的能力。 与之相对应的,推特一直在尝试建立一个新的付费API供开发者使用。...尽管如此,马斯克接管推特时曾承诺将极大提高网站的速度和稳定性。近几个月来,他们对推特员工的技术能力进行了测试和筛选,最终裁掉了数千名被认为“技术不够”的打工人。...推特故障频出,马斯克却称公司将在第二季度实现正现金流 正如这位前雇员所说,这已经是推特今年第六次服务中断了。 1月23日,安卓用户无法加载新的推文或发布推文。...2月8日,错误的提醒告知用户,他们“超过了发送推文的每日限额”,无法再发布推文。 2月15日,推文无法加载。 2月18日,时间线中断了,回复也消失了。 3月1日,时间线再次停止工作。
Twitter 官网博客详细介绍了算法在确定 For You 时间线所显示的推文时,会具体参考哪些内容并如何对其进行排名和过滤。 用于构建时间线的主要组件 从博文来看,推荐管线由三个主要阶段组成。...首先,它会收集“来自不同推来源的最佳推文”,之后使用“机器学习模型”对各推文进行排名。最后,它会过滤掉来自已屏蔽用户的推文、已经看过的推文或者在工作时间不宜观看的内容,最后将结果显示在时间线上。...诚然,代码透明(用户能够看到系统到底在以怎样的机制为时间线选择推文)和代码开源(允许社区提交自己的代码作为备选,也可在其他项目中使用 Twitter 算法)并不完全是一码事。...排名信息 2017 年,Twitter 的研究人员曾在一篇名为《在 Twitter 时间线上使用大规模深度学习》的文章中提到,为了预测某条推文是否会吸引用户,Twitter 的模型考虑了以下几个要点:...推文作者:用户过去与这个作者的互动,用户与他们联系的强度,用户关系的起源。 用户:用户在过去觉得有吸引力的推文,用户使用推特的频率和程度。
此前,用户发布的推特中,这些内容大约要占25个字符左右,这在某种程度上放开了推特的字符限制,用户在一条推特上可以发布更多内容。不知新浪微博会不会也做出相应改动呢?...此外,该公司将改变推文的显示方式,用户包含艾特对象的推文也将即时出现在用户的推特时间线内。 这一改变对用户习惯和互联网世界又意味着什么呢?...此外,以用户名最为开头的新的推文不需要必须使用”.@” convention ,这个功能是将推文推送给所有的粉丝。...对第三方客户端和其他API用户的前后端兼容性是我们考虑的主要问题。...为了支持这些变化,在API Endpoint方面会有新的API选项用于创建或使用推文。如需获取详细的信息,请查阅我们已经发布的初期技术文档。
Twint还对Twitter进行了特殊查询,允许您搜索Twitter用户的关注者,用户喜欢的推文,以及他们在API,Selenium或模拟浏览器的情况下关注的用户。...Twitter的限制 Twitter会限制用户可以浏览的时间线。这意味着通过.Profile或者.Favorites你只可以看到~3200条推文。...: 1.twint -u username- 从用户的时间线中删除所有推文。...2.twint -u username -s pineapple- 从包含pineapple的用户时间线中删除所有推文。...9.twint -s “Donald Trump” —verified - 由经过验证的用户显示有关唐纳德特朗普的推文。
那么这位推特工程师到底做了什么,能让马斯克如此“公开处刑”? 在推特公开纠错马斯克 故事的起因,还要从马斯克周日的一条推文开始说起。...对于App的冷启动,大概有20个请求加载主页时间线。大多数请求都是非阻塞的,而且是在后台运行,包括图像、用户设置、hashflag等。...例如,他现在用的笔记本电脑是这种状态: 嗯,被公司给“锁死”了…… 然后像福布斯等媒体对这件事也做到报道,于是勇士哥也在推特上转发,并留言说: 一定是卡顿的新一天。...那么网友们对这事咋看呢? 有的人认为,勇士哥确实不该在推特这种公开场合纠自家老板的错。 言外之意很明显,会让马斯克下不来台。...最后,可能实在是脸被打得太疼,马斯克选择删除了最开始的推文。 事实上,马斯克的一条推文之所以能激起如此大的反应,还要从他入主推特以来推行的种种政策说起。
有网友指出是“对 Twitter API 的传入和传出访问被破坏了”,推文底下有网友抱着“看热闹不嫌事大”的心态称:“这个应用程序坏了会更有趣”。...他的同事对员工的技术水平进行了筛选,最终裁掉了几千名“能力”不足以在马斯克治下取得成功的员工。...· 2 月 8 日,一条错误消息提醒用户“您已超过每日推文发送上限”,导致其无法正常发帖。 · 2 月 15 日,推文无法加载。 · 2 月 18 日,推文时间线中断,回复消失。...· 3 月 1 日,时间线无法正常工作。 以上提到的还只是服务宕机。此外,马斯克的推文在时间线上比其他用户更显眼等问题,也扰乱了用户的正常体验。...不过,如今掌舵推特的马斯克是否真正关心 Twitter 的技术债还不得而知。 此前,马斯克在推特上表示,“对于 Twitter 在许多国家 / 地区的超慢速度,我深表歉意。
对此有如下的 处理方案 方案一:关系型数据模型 将发送的新推文插入全局的推文集合。当用户查看时间线,首先找所有的关注对象,列出这些人的所有推文,以时间为序来排序合并。...当用户推送新推文,查询其关注者,将推文插入到每个关注者的时间线缓存中。因为已预先将结果取出,之后访问时间就是线性性能,很快。...Twitter最初使用方案一,但发现主页时间线的读负载压力与日俱增,系统优化之路曲折,于是转向方案二,实践证明更好,因为时间线浏览推文的压力几乎比发布推文要高出两个数量级,基此,在发布时多完成一些事情可加速读性能...每个用户关注者的分布情况(还能结合用户使用推特的频率进行加权)是该案例可扩展的关键负载参数,因为它决定了扇出数。你的应用可能具有不同特性,但能采用类似原则研究具体负载。...大多数用户的推文在发布时继续以一对多写入时间线,但少数大V用户除外,对这些用户采用类似方案一,其推文被单独提取,在读取时才和用户的时间线主表合井。这种混合方案能提供始终良好表现。
这里有一些问题对于设计在进入下一步之前应该回答的问题: •我们服务的用户是否能够发布推特并跟踪其他人? •我们是否也应该设计来创建和显示用户的时间线? •推特会包含照片和视频吗?...•系统的预期规模(例如,新tweet的数量、tweet视图的数量,每秒的时间线生成数(等等)? •我们需要多少存储空间?我们将有不同的号码,如果用户可以有照片和他们推特上的视频。...如果我们假设我们会如果有更多的读流量(与写流量相比),我们可以决定使用单独的服务器来处理这些场景。在后端,我们需要一个高效的数据库,可以存储所有的推文和可以 支持大量读取。...我们是否应该尝试将一个用户的所有数据存储在同一个服务器上数据库?会引起什么问题?(分布式数据库,分库分表,数据一致性) •我们将如何处理那些经常发推特或关注很多人的热门用户?...(热数据问题) •由于用户的时间线将包含最新(和相关)的推文,我们是否应该尝试存储我们的数据在这样一种方式,是优化扫描最新的推特?
加上今天曝出的亚马逊,美国科技企业这波裁员潮正在如火如荼地进行中。...twitter@debarghya_das 员工公开指出马斯克推文错误,马斯克:「He’s fired」 与动不动裁撤几千人不同,推特最新一次的人事变动似乎是针对个人的,马斯克刚刚解雇了在推特上公开指出他错误的员工...看到老员工这么一番解释,似乎是为了澄清最初的推文,马斯克随后回应道,「你没有意识到当有人使用 Twitter 应用程序时会调用多达 1200 个微服务,这样并不好。」...Frohnhoefer 表示推特花了大约 5 个小时才阻止自己访问公司的笔记本电脑,但他还没有听到任何关于他被公司解雇的正式消息。...至于 Frohnhoefer 本人,他在推特上表示,以他的方式与马斯克对质绝对是愚蠢的行为,尽管他似乎不太担心被解雇。
「近两个月来,马斯克一直在寻找必要的数据和信息,以『对推特平台上虚假或垃圾邮件账户的普遍性进行独立评估』,」马斯克的法律团队称。「推特未能或拒绝提供这些信息。」...然而,我们完全不清楚马斯克是否可以仅仅因为他对推特上存在垃圾邮件数量过多而合法地放弃他的协议——他本可以在签署协议之前就对此进行调查。 推特已竭尽全力地遵守马斯克的要求。...6 月初,该公司开放了对其服务「firehose」数据源的访问权限,以便马斯克可以接收和分析每条发布的推文。该公司还不断试图向公众保证它已控制了垃圾邮件和机器人的泛滥。...在此之前,推特的员工曾发过一些非常幽默的推文。有人在推特上说,他们单方面取消了我的抵押贷款,很高兴他们不用再支付了,我不清楚马斯克是否可以合法地说不,然后走开。...「不然,你真的觉得一个发射得了火箭的人整治不了网络机器人」 从时间线上来看,马斯克宣布要收购推特始于今年 4 月中旬。
在经过大概一个半月的内测之后,这款号称要做你“人生搜索引擎”的软件终于在2022年的最后几天(平安夜前一天)正式上线了,其创始人兼CEO Dan Siroker在个人推特宣布了这一消息,并连发了十条推文介绍...鼠标拖动时间线,就可以实现App使用记录的快速切换(正式版还增加了时间线切换快捷键和导航至指定日期的功能)。...根据牛津大学人类未来研究所的定义,全脑仿真技术会在扫描大脑收集数据的基础上,对这些数据进行解释并构建软件模型,并且该模型“非常忠实于原始模型,当在适当的硬件上运行时,它的行为本质上会和原来的大脑一样”。...但不久前的12月31日,Rewind的又一次更新不得不让人注意——Siroker在推文里标出这次更新的亮点之一,是可以转录任何音频,只要用户在Rewind设置中开启电脑麦克风的音频捕获权限。...“Rewind在被两代人使用之后,这两代人就会出现明显的差异,”他在推文写道,他觉得未来的一代将会非常惊讶于我们曾使用纸笔写字,那时的小孩会说,“爷爷,以前有没有人把树砍下来做成长方形木板,然后用树棍在上面画画
西风 发自 凹非寺 量子位 | 公众号 QbitAI 马斯克失去“推特自由”,发布特斯拉相关推文需要接受审查! 这是美国联邦上诉法院最新的宣判结果。...所以,这一系列事件的完整时间线究竟是什么? 马斯克与SEC的恩怨情仇 事情还要从2018年的一则推文说起。...之后,马斯克在推特又接连进行了一串“骚操作”。 SEC忍无可忍,在给特斯拉的信件中表示,尽管马斯克一再违规,特斯拉公司却未能执行这些程序和控制措施。...案件判决中,美国证券交易委员会表示“自2018年以来只对马斯克的推文进行了三次调查”,并发现“每条推文都合理地违反了协议条款”。 看来,马斯克确实没把“审查令”这事儿放心上。...总结一下就是,马斯克虽然身为推特CEO,但却失去了发表特斯拉言论的“推特自由”。 但这并不意味着马斯克已经放弃了与推文审查作斗争。他的律师Alex Spiro透露: 将寻求进一步审查。
「主页时间线」:一个用户可以查看其关注对象发布的推特(平均 300k 请求/秒) 上述操作的难点在于巨大的「扇出」(fan-out)结构,即每个用户会关注很多人,也会被很多人圈粉。...Twitter 给出了如下图所示的两种处理方案: ? 方法 1 是将发送的新推特插入到全局的推特集合中,当用户查看时间线时,首先查找其所有的关注对象,列出这些人的所有推特,最后以时间为序进行合并。...,当用户发布新推特时,查询其关注者,将该推特插入到每个关注者的时间线缓存中。...Twitter 在最初的版本中使用了方法 1,但随着主页时间线的读负载压力的与日俱增,开始切换为方法 2,因为时间线浏览的压力要比发布推特高的多,所以在发布时多完成一些事情可以加速读性能。...目前 Twitter 正在考虑将两种方法结合起来,大部分用户发布推特时采用方法 2,以一对多写入时间线,而部分超级用户则才用类似方法 1 的方法,其推特被单独提取,当读取时才和用户的时间线合并。
这里提给 push 和 pull 各提一个经典问题: 第一个问题是 push 模型下,由于粉丝众多,推文占用容量过大的问题,一种解决思路是在粉丝的时间线中只存储推文 id,但是这样的话在聚合的时候需要一次额外的根据推文...右侧的 Tweet Storage:用户和帖子(推文)的关联数据,数据量会比较大,可以选择 Redis 这样的 KV 数据库;而推文本身,也可以使用 KV 数据库,或者使用 MongoDB 这一类文档数据库...关于对推文的 Sharding,这是一个 Feed 系统的核心话题。...来缓和;(2)某些用户发推多而某些用户少,因此时间长了 shards 的容量使用差异可能很大,这需要一个改进的找 shard 的路由算法。...用户推文的时候,根据用户所应对的策略,如果需要 fan out 推文的 id 到粉丝的时间线中,就要把这个事件进 queue,由于它是异步模型,这一步可能会有不同程度的延迟。
推文服务:处理推文的发布、删除和检索。 关注服务:管理关注和取消关注操作以及粉丝列表。 信息流服务:为用户时间线聚合推文。 通知服务:为各种活动发送通知。...搜索服务:允许用户搜索推文、话题标签和用户。 3. 数据库设计 用户数据:存储与用户相关的数据(用户名、电子邮件、密码、资料信息)。 推文数据:存储推文内容、元数据(时间戳、作者)。...数据库分片:根据用户ID或推文ID进行数据库分片,实现负载分布。 缓存:为频繁访问的数据实现缓存,减少数据库负载。 负载均衡:使用负载均衡器在服务器之间分配流量。 5....实时信息流生成 推模型:当用户发布推文时,将其推送到关注者的信息流中。 拉模型:用户定期拉取/刷新他们的时间线。 混合方法:推拉模型的结合,优化性能。 6....异步处理:对于不需要同步处理的操作,使用消息队列。 7. 数据一致性和可靠性 复制:使用数据库复制来实现数据持久性。 一致性模型:对非关键数据采用最终一致性。 8.
领取专属 10元无门槛券
手把手带您无忧上云