当地时间 3 月 31 日,马斯克终于履行诺言正式宣布了 Twitter (推特) 算法的开源。该公司在 GitHub 上发布了两个存储库 (main repo、ml repo),其中涵盖了推荐算法在内的许多推特源代码,包括用来控制用户在 For You 时间线上看到的推文的机制。并发布了一篇博客分享了有关推特算法的更多详细信息。
“今天标志着 Twitter 进入了一个透明的新时代。我们正在与全世界共享为我们的平台提供动力的大部分源代码。”
马斯克表示,此次发布的是大部分推荐算法,其余的算法也将陆续开放;希望“独立的第三方能够以合理的准确性确定 Twitter 可能向用户展示的内容”。不过他也警告称,随着开源发布可能会暴露出一些令人尴尬的问题,“但我们会迅速解决”。此外他还补充称,推特将根据用户的建议,每 24 至 48 小时更新其推荐算法。
此次发布不包括驱动推特广告推荐的代码。推特方面表示,其目标是尽可能提高透明度,它排除了会损害用户安全或隐私的代码,以及会破坏在该平台上防止儿童性侵内容努力的细节。
在有关算法开源发布的 Space 讨论中,马斯克称此次的开源是想让推特向著名的开源项目 Linux 项目看齐,“即使你不同意某些东西,至少你会知道它为什么在那里,而且你没有被秘密操纵......在这里,我们渴望的类比是开源操作系统上的一个伟大示例 Linux......理论上,人们可以为 Linux 发现许多漏洞。在现实中,所发生的是社区识别和修复这些漏洞......”
推特在博客中详细介绍了算法在确定 For You 时间线所显示的推文时,会具体参考哪些内容并如何对其进行排名和过滤。根据介绍,其推荐管线由三个主要阶段组成:
- 在称为 candidate sourcing 的过程中从不同的推荐来源获取最佳推文。
- 使用机器学习模型对每条推文进行排名。
- 应用启发式和过滤器,例如过滤掉来自你已阻止的用户的推文、NSFW 内容和你已经看过的推文。
负责构建和提供 For You 时间线的服务称为 Home Mixer。Home Mixer 建立在 Product Mixer 之上,Product Mixer 是推特的自定义 Scala 框架,有助于构建内容提要。该服务充当连接不同候选源、评分函数、启发式方法和过滤器的软件主干。
下图说明了用于构建时间线的主要组件:
文中对过程中的具体步骤做出了进一步的解释。例如首先会从数亿推文中提取最好的大约 1500 条推文,目标是让 For You 时间线中约 50% 的推文来自已关注的用户(即人际网络内),50% 的推文来自“尚未关注的(人际网络外)账户”。排名“是通过一个约 4800 万参数的神经网络实现的,该神经网络不断接受推文交互训练以优化积极参与(例如点赞、转发和回复)”。
当然,推特用户看不到完整的 1500 条推文。它们会根据内容限制和模型考虑的其他标准和因素进行过滤,例如推文是否有“负面反馈”,以及它们是否主要来自同一 Twitter 用户,或者来自被屏蔽的用户。
值得一提的是,Gizmodo 指出,推特向用户推送的 VIP 名单似乎没有被公开。Platformer 也曾报道称,推特有一份值得关注的用户轮换名单,其中包括 YouTuber Mr. Beast 和 Daily Wire 创始人 Ben Shapiro,它通过看似随意地增加这些“power user”的可见性来监控推荐算法的变化。
TechCrunch 指出,有更多证据表明算法可能会根据来源不同地对待推文。研究人员 Jane Manchun Wong 指出,推特的算法专门标记了推文作者是否是 Elon Musk,还有其他标签表明作者是否是“power user”,以及他们是共和党人还是民主党人。
对此,一位 Twitter 工程师在当天的 Spaces 会议上解释称,这些标签仅用于衡量指标。但是马斯克则表明,他在当天之前并不知道这些标签的存在,并认为它们不应该存在:“绝对不应该将人们分为共和党人和民主党人,这没有任何意义。”
相关阅读:
https://gitee.com/Tencent/APIJSON
估计 Twitter 这个项目在 Gitee 上可能不会有很多人关注哈哈