Twitter开源了推荐算法,源代码藏了什么瓜?
本文来自微信公众号:CTO范凯(ID:fankai_log),作者:robbin,头图来自:视觉中国
4月1日愚人节,马斯克宣布Twitter的源代码开源了,并且会根据用户反馈及时调整推荐算法。
看到这个消息,我第一时间打开Github,去搜索了一下,果然Twitter开源了,不是愚人节的笑话。在Twitter账号下面有两个开源项目:
1. the-algorithm 这个项目源代码是用Scala写的,是Twitter的推荐算法源代码。
Twitter最早使用Ruby on rails写的,后来访问量太大,用Scala重写了大部分代码。从这个项目来看,果然如此:整个项目5000多个源文件,大部分是Scala代码,从代码风格来看,还是很标准的,代码质量看起来还不错。
2. the-algorithm-ml 这个项目源代码是用Python写的,是Twitter推荐算法的机器学习部分。
这个机器学习的项目不大,100多个源文件。
我们打开 the-algorithm 项目的git提交记录,会发现一个非常有意思的 commit, log是这样写的:
Remove stats collection code measuring how often Tweets from specific user groups are served
也就是删除了测量特定用户组的统计信息收集代码。很好奇,这个特定用户组指的是谁?看看commit记录就清楚了:
咦,有四类特殊的用户:
1. Elon Musk,好吧,这是针对老板进行hard code啊。
2. power_user,很好理解,估计是对Twitter来说很重要的大V用户,要打特殊标记。
3. democrat,民主党人,为什么要标记用户的党派信息?
4. republican,共和党人,越来越有意思了!
仔细翻翻相关的代码,有段注释信息有所解释:
/**
* These author ID lists are used purely for metrics collection. We track how often we are* serving Tweets from these authors and how often their tweets are being impressed by users.
* This helps us validate in our A/B experimentation platform that we do not ship changes* that negatively impacts one group over others.
*/
.add(DDGStatsDemocratsFeature, ddgStatsAuthors.longSeq(Democrats).toSet)
.add(DDGStatsRepublicansFeature, ddgStatsAuthors.longSeq(Republicans).toSet)
.add(DDGStatsVitsFeature, ddgStatsAuthors.longSeq(Vits).toSet)
.add(DDGStatsElonFeature, ddgStatsAuthors.longValue(Elon))
意思是说:
这些作者 ID 列表纯粹用于指标收集。我们跟踪我们提供来自这些作者的推文的频率,以及他们的推文给用户留下深刻印象的频率。这有助于我们在我们的 A/B 实验平台中验证我们不会发布对一组产生负面影响的更改。
似乎是说选择特定的用户来跟着推荐算法的调整不会产生负面影响。那么这些用户是怎样定义的呢?
object HomeMixerResourcesModule extends TwitterModule {
private val AuthorsFile = "/config/authors.yml"
@Provides
@Singleton
@Named(DDGStatsAuthors)
def providesDDGStatsAuthors(): YamlMap = YamlMap.load(AuthorsFile)
}
这段代码倒是很清楚的,这四类用户:马斯克,大V,民主党人,共和党人的用户列表,是写在一个外部配置文件 /config/authors.yml 里面的。
标记这四类用户进行特殊的跟踪和统计。实在是很值得玩味:
1. 标记 Elon Musk 单个人,从哪个统计学角度去看,都和度量推荐算法无关,这是赤裸裸的面向老板编程,哈哈。
2. 标记 大V 用户,特别是 power user,这对于一个面向全球的社交媒体平台,恐怕本身就意味着信息的不平等吧?
3. 当然,最令我意外的是标记民主党人和共和党人的用户列表。如果说坊间传言Twitter的推荐算法是有政治倾向性的话,这毫无疑问就是实锤了。从任何角度看,都不应该单独区分用户的政治立场去度量推荐算法的有效性。
当然,这些代码已经从Twitter最新版本开源文件中删除了,但还是可以从代码提交历史中看到。说Twiter不干涉政治的想法,真的可以休矣!
其实我很赞赏马斯克决定开源Twitter推荐算法的决定。推荐算法有没有夹带私货,不是你老王卖瓜自卖自夸出来的。要真的想建设信息平台的平台,就得开源出来,接受程序员的监督。从这一点来说,Twitter迈出了很好的第一步。
本文来自微信公众号:CTO范凯(ID:fankai_log),作者:robbin
相关推荐
马斯克无法遵守的开源承诺:从事开源工作的关键人物都已经离职了
推特开源了,马斯克说到做到
华为终于放出方舟编译器源代码,开源平台同步亮相,网友:硬核项目
全球主流社交媒体算法解析:Facebook、YouTube、Twitter等平台如何利用算法推荐内容?
路透社:TikTok称将允许澳大利亚政府审查算法和源代码
张小龙5年公开课演讲中,藏了哪些小秘密?
从技术角度聊聊TikTok:若交出源代码 意味着什么?
顺序显示比按算法好?用户不愿做算法的奴隶
为什么在AI领域,不开源会被骂?
开源是自由的,永远
网址: Twitter开源了推荐算法,源代码藏了什么瓜? http://www.xishuta.com/newsview70067.html
推荐科技快讯
- 1问界商标转让释放信号:赛力斯 94994
- 2人类唯一的出路:变成人工智能 19616
- 3报告:抖音海外版下载量突破1 19356
- 4移动办公如何高效?谷歌研究了 18851
- 5人类唯一的出路: 变成人工智 18721
- 62023年起,银行存取款迎来 10166
- 7网传比亚迪一员工泄露华为机密 8246
- 8五一来了,大数据杀熟又想来, 7212
- 9顶风作案?金山WPS被指套娃 7125
- 10大数据杀熟往返套票比单程购买 7072