解决方案:Twitter 算法开源究竟会是什么样的?

优采云 发布时间: 2022-10-05 14:14

  解决方案:Twitter 算法开源究竟会是什么样的?

  你在 Twitter 上关注了数百人——也许是数千人——当你打开 Twitter 时,你可能会觉得你错过了他们最重要的一些推文。今天,我们很高兴分享一项新的时间线功能,该功能可帮助您跟踪您关注的人的最佳推文。(来源;2016)从用户体验的角度来看,这种解释是有道理的,算法提要无疑给 Twitter 更多的自由来试验产品。

  然而,真正的动机是算法提要是由 Twitter 目前采用的广告驱动的商业模式驱动的。推送更多相关内容⇒更高参与度⇒更多广告收入。这是一种经过验证的经典社交网络策略。

  好的,既然我们已经从高层次上看到了 Twitter 的算法提要,让我们更深入地了解一下它在底层是如何工作的。

  核心数据模型

  理解像 Twitter 这样的复杂系统的一个好方法是从理解它的核心数据模型开始,然后从那里开始。这些资源模型以及它们之间的关系构成了 Twitter 所有高级业务逻辑的基础。

  我们将重点关注 Twitter 公共 API 的最新版本(v2),该 API 最初于 2020 年发布。

  核心资源模型 核心推文关系 核心用户关系 龟背上的世界

  Twitter 的公共 API 还公开了其他资源模型(例如空间、列表、媒体、投票、位置等)和其他关系(例如提及、引用的推文、书签、隐藏的回复等)。为了尽可能地关注主要内容,我们暂时忽略这些。

  请记住,这也只是公共 API。在内部,像 Twitter 这样的平台是一个复杂的网络,由服务、数据库、缓存、工作流、人员以及将它们结合在一起的所有粘合剂组成。我毫不怀疑 Twitter 在其公共和内部 API 的不同级别使用不同的抽象,这取决于各种因素,例如 API 的用途、性能要求、隐私要求等。有关这种复杂性的概述,请阅读基础设施Twitter 背后:规模(2017 年)。

  换句话说,在海龟背上的世界,我们故意将自己限制在少数海龟身上——但其他海龟也存在,在我们讨论时记住这一点很重要。

  山姆·霍林斯沃思,《龟背上的世界》

  网络图

  像 Twitter 这样的社交网络是非常大的图的例子,其中节点是用户和推文的模型,而边是交互模型,例如回复、转发和点赞。

  Twitter 的 Graph ML 部门的 Michael Bronstein 对 Twitter 动态网络图的可视化(2020 年)。

  Twitter 的大部分核心业务价值来自于这个庞大的用户、推文和交互的底层数据集。每当您登录、查看推文、单击推文、查看*敏*感*词*、发布推文、回复推文等 - 您在 Twitter 上的每次互动都会记录到内部数据库。

  从 Twitter 的公共 API 获得的数据只是 Twitter 内部跟踪数据的一小部分。这很重要,因为 Twitter 的内部推荐算法可以访问所有这些丰富的交互数据,而任何开源工作可能只能使用有限的数据集。

  推算法

  来自《Using Large-Scale Deep Learning on the Twitter Timeline (2017)》:在引入排名算法之前,时间线的组成很容易描述:你关注的人的所有推文都是从你上次访问以来采集的,以及按时间倒序显示。虽然这个概念很容易理解,但向 Twitter 的数亿用户可靠地提供这种体验是一项巨大的基础设施和运营挑战。

  对于排名,我们做了一些额外的调整。采集所有推文后,相关性模型会对每条推文进行评分。该模型的分数可以预测推文对您的意义和吸引力。然后,得分最高的推文将显示在您的时间线上方,其余的则显示在下方。"

  Twitter 的算法提要由个性化推荐系统提供,该系统可以预测您最有可能与哪些推文和用户互动。这个推荐系统最重要的两个方面是:

  用于训练 ML 模型的基础数据。这是我们上面描述的 Twitter 的*敏*感*词*专有网络图。确定相关性时要考虑的排名信息。让我们深入研究这些排名,以了解 Twitter 的“相关性”是什么意思。排名信息

  来自“在 Twitter 时间线上使用*敏*感*词*深度学习(2017 年)”:为了预测一条推文是否会吸引你,我们的模型考虑了以下特征(或要点):

  这份 2017 年对排名信息的描述可能有点过时,但我毫不怀疑,这一核心信息在 2022 年仍将保持高度相关性。该列表可能已推广到支持 Twitter 算法的数十个甚至数百个关键机器学习模型。

  深度学习模型的可视化,用于确定一个用户将来关注另一个用户的可能性。该模型代表 Twitter 中各种推荐系统的一小部分。图片来源:动态图深度学习;2021

  算法推送伪代码

  如果您是开发人员,此 TypeScript 伪代码可能更有助于说明 Twitter 的算法提要如何工作:

  export abstract class TwitterAlgorithmicFeed {

/**

* 伪代码,帮助理解Twitter算法推送的工作原理。

*/

async getAlgorithmicTimelineForUser(user: User): Promise {

const rawTimeline = await this.getRawTimelineForUser(user)

const relevantTweets = await this.getPotentiallyRelevantTweetsForUser(user)

<p>

const mergedTimeline = await this.mergeTimelinesForUserBasedOnRelevancy(

user,

rawTimeline,

relevantTweets

)

return this.injectAdsForUserIntoTimeline(user, mergedTimeline)

}

/**

* 返回特定用户所关注的用户的推文流,按时间逆向排序。

*/

abstract getRawTimelineForUser(user: User): Promise

/**

* 返回给定时间内按与给定用户相关度排序的推文流。

*

* 仅考虑给定用户没有关注的用户的推文。

*/

abstract getPotentiallyRelevantTweetsForUser(user: User): Promise

/**

* 返回按与给定用户相关性排序的推文流,同时考虑最新推文的原始时间线,

* 以及包含潜在相关推文的网络图时间线子集。

*/

abstract mergeTimelinesForUserBasedOnRelevancy(

user: User,

rawTimeline: Timeline,

relevantTweets: Timeline

): Promise

  

/**

* 返回一个推文流,将广告注入给定用户的时间线。

*/

abstract injectAdsForUserIntoTimeline(

user: User,

timeline: Timeline

): Promise

}

</p>

  复制代码

  用于理解 Twitter 算法提要如何工作的 TypeScript 伪代码。请注意,这仅用于演示,并且已大大简化。完整的源代码可在 GitHub 上找到。

  工程笔记

  开源推特算法推送的各个方面将不可避免地遇到一些重大的工程挑战。

  这就是 Twitter 的高级工程经理对开源 Twitter 算法提要的反应。

  规模

  第一个挑战是规模。Twitter 的网络图非常大。工程和运营挑战通常超过确保良好用户体验所需的其他考虑因素。

  以下几点可以帮助您了解我们正在谈论的规模:

  为了应对这一挑战,Twitter 为选定的 API 合作伙伴提供了 1% 的公共 Tweet Firehose 采样版本,以及获得过滤流的较小子集的能力。

  此外,Twitter 的规模在构建图机器学习算法时提出了一些独特的挑战,因为它们的网络图必须在强一致性和最终一致性之间进行选择。这使事情变得复杂,因为不能保证图中的每个节点都具有相同的特征。

  即时的

  Twitter 的实时性提出了另一个独特的挑战。用户希望 Twitter 尽可能接近实时,这意味着底层网络图是高度动态的,延迟成为真正的用户体验问题。当用户刷新他们的推文时,他们期望近乎即时的结果,并在几秒钟内实现全球范围的刷新。当底层网络图不断变化时,有效地做到这一点是非常困难的。

  序列图网络是 Twitter Research 的一个有趣的开源项目。他们提出了一个在高度动态的图(随时间变化)上进行深度学习的框架,将图表示为时间事件的序列。

  可靠性

  另一个主要挑战是平台可靠性。数以亿计的人将 Twitter 作为其在线数字身份的核心部分。运行像 Twitter 这样具有可靠和良好用户体验和正常运行时间预期的全球平台所固有的工程和运营挑战是难以想象的。

  安全与隐私

  摘自“重建 Twitter 的公共 API (2020)”:“该平台从一开始就最大的担忧之一就是提供健康的公共对话并保护 Twitter 用户的个人数据。

  新平台将所有与安全和隐私相关的逻辑推送到后端服务,严格指定相关业务逻辑的位置。因此,API 层独立于该逻辑,隐私决策统一应用于所有 Twitter 客户端和 API。

  通过隔离做出决策的位置,我们可以防止不一致的数据暴露。这样,您在 iOS 应用程序中看到的内容将与您通过编程查询 API 获得的内容相同。"

  摘要(截至目前)

  希望这篇 文章 文章能帮助您了解 Twitter 的算法提要如何工作,它的底层网络图是什么样的,以及一些主要的工程考虑(在*敏*感*词*上非常具有挑战性的问题)。

  以下是我将在后续 文章 中回答的一些深层问题:

  原创链接:开源 Twitter 算法实际上会是什么样子?

  了解更多软件开发及相关领域,点击访问InfoQ官网:获取更多精彩内容!

  解决方案:网页文章采集器(绝对能使你眼前一亮,通过这篇文章介绍

  网络文章采集器(绝对让你眼前一亮,希望你能从这次文章的介绍中有所收获)

  最新版本:优采云采集器V3.2.7.1免安装版

  优采云采集器简介

  优菜云采集器是一款非常实用的网络信息工具采集。用户只需输入要抓取的网页的网址,软件会快速识别网址,快速为您采集目标内容。支持自定义添加采集任务,支持使用官方推荐的简单采集任务,实现更简单的网络资源采集方案,适合经常上网爬取数据的朋友。

  软件功能

  1. 零门槛:不懂爬虫技术的可以上网,采集网站数据。

  2.多引擎,高速稳定:内置的高速浏览器引擎也可以切换为HTTP引擎模式运行,更高效地采集data。还有一个内置的 JSON 引擎,可以让您直观地选择 JSON 内容,而无需解析 JSON 数据结构。

  3、适用于各种网站:可以抓取互联网上99%的网站,包括动态的网站如单页应用Ajax加载。

  软件功能

  1、软件操作简单,鼠标点击即可轻松选择要抓拍的内容。

  2.支持三种高速引擎:浏览器引擎、HTTP引擎、JSON引擎,内置优化的火狐浏览器,加上原有的内存优化,浏览器获取也能高速运行,甚至可以快速转成HTTP运行, 享受更高的 采集 速度!在抓取 JSON 数据时,也可以使用浏览器可视化方式,用鼠标点击要抓取的内容,无需分析 JSON 数据结构,非专业网页设计师也能轻松抓取所需数据。

  3、无需分析网页请求和源码,支持更多网页采集。

  4、先进的智能算法,可一键生成目标元素XPATH,自动识别网页列表,自动识别分页中的下一页按钮...

  5.支持丰富的数据导出方式,可以导出为txt文件、html文件、csv文件、excel文件,也可以导出到已有的数据库,如、、、、、mysql数据库,只需映射即可通过向导轻松导出字段到目标 网站 数据库。

  软件优势

  1、可视化向导:所有采集元素,自动生成采集数据。

  

  2、定时任务:灵活定义运行时间,自动运行。

  3、多引擎支持:支持多种采集引擎,内置高速浏览器内核、HTTP引擎和JSON引擎。

  4、智能识别:可自动识别网页列表、抓取字段、分页。

  5、拦截请求:定制的拦截域名数据号采集软件,方便过滤站外广告,提高采集的速度。

  6、多种数据导出:可导出为Txt、Excel、MySQL、、、、、网站等。

  变更日志

  V3.2.7.1

  1.修复循环测试按钮无效的问题。

  V3.2.60

  1.升级内核支持网络视频。

  2.优化自动识别列表算法。

  V3.2.5.3

  1.内置版本升级到100.0.140.0。

  2、新增超级鹰码网站采集号软件,删除过期的超级云码和联众码。

  人才云采集器下载

  下载提示:请使用下载工具下载,如果下载链接失效,请在下方评论区留言。

  立即下载:优财云采集器V3.2.7.1 免费安装

  

  相关软件

  免费获取:优采云环球文章采集器免费注册版下载V2.18.3.1绿色版

  优采云万能文章collector是一款功能非常强大的文章采集软件。只需输入相应的关键字即可开始采集,还支持指定网站为文章采集,速度非常快!小编带来的新版本已经完美破解,所有功能无需注册即可免费使用。下载解压后即可打开使用!喜欢的朋友可以来绿色先锋下载优采云万能图书馆免注册版!

  基本介绍:

  优采云文章collector是一款简单、有效、功能强大的文章采集软件。只需输入关键词,即可采集各大搜索引擎的网页和新闻,还可以采集指定网站的文章,非常方便快捷。是做网站推广优化的朋友不可多得的利器。本编辑器为大家带来彩云文章采集器绿色免费破解版,双击打开。软件已完美破解,无需注册码激活即可免费使用。喜欢就不要错过哦!

  指导:

  1.下载解压后的文件,解压后找到“优采云·Universal文章采集器.exe”,双击打开

  2.稍等片刻,会出现如下提示,可以看到软件已经破解网站采集号软件,点击确定

  3. 然后将出现主屏幕。

  特征:

  1、依托优财云软件独有的通用文本识别智能算法,可自动提取任意网页文本,准确率达95%以上。

  2、只要输入关键词,即可采集微信文章、今日头条、一点资讯、百度新闻与网页、搜狗新闻与网页、360新闻与网页、谷歌新闻与网页、必应新闻和网页,雅虎!新闻和网页;批处理关键词自动采集。

  3.可以采集指定网站列列表下的所有文章(如百度经验,*敏感*词*),智能匹配,无需编写复杂规则。

  4、文章翻译功能,可以将采集到的文章翻译成英文再翻译回中文,实现伪原创翻译,支持谷歌等翻译。

  5.史上最简单最聪明的文章采集器,更多*敏感*字*你试试就知道了!

  常见问题:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线