谁在椭圆形办公室发推:机器学习揭露川普推文的真实作者
你是否好奇,名人在社交网络上发的消息,哪些是自己写的,哪些是工作人员写的呢?Coursera数据科学社区导师(Community Mentor)Greg Rafferty使用机器学习技术分析了川普的推文,预测哪些推文是川普亲自发的,哪些推文是工作人员所发。
我创建了一个推特机器人@whosintheoval,这个机器人会转推唐纳德·川普的推特,然后预测这条推是否是川普本人所写。在阅读下文了解我是如何创建模型的之前,别忘了在推特上关注这个机器人。
我是Greg Rafferty,湾区的一个数据科学家。你可以在我的github上查看这个项目的代码,也可以访问我的LinkedIn页面。有任何疑问和反馈,都欢迎和我联系。
动机
2017年12月1日,迈克尔·弗林(Michael Flynn)承认向FBI撒谎了。12月3日,川普的个人推特账号发了这样一条推:
由于弗林向副总统和FBI说谎,我不得不解雇了他。他已经对这些谎言认罪。这真可耻,因为他在过渡期间的行为是合法的。没什么好隐瞒的!
这条推引起了很大的争议,因为在这一年的2月14日,在弗林辞职之后,川普曾要求FBI局长詹姆斯·科米(James Comey)停止对弗林的所有调查。如果川普在向科米要求时已经知道弗林确实向FBI说谎了,那么川普的推特是川普试图妨碍司法的证据。在若干法律专家主张这一观点之后,川普为自己辩护,声称撰写并发布这条推的是他的律师约翰·多德(John Dowd)。然而,果真如此吗?
介绍
本文分为四部分:
背景
特征选取
模型
结果
当中的两小节(特别是模型那一节)技术性比较强;所以如果你对此不感兴趣,可以直接跳到结果一节,看看到底是谁发了关于弗林的那条推。
背景
文本分析取证是一门“古老的”机器学习技术,在各种各样的案例中得到应用,比如识别大学炸弹客(Unabomber),发现罗伯特·加尔布雷斯(Rob Galbraith)是J·K·罗琳(J. K. Rowling)的笔名,确定《联邦党人文集》中特定文章的归属。我们这个项目尝试使用这一机器学习技术识别@realDonaldTrump所发的推是否是川普本人所写。然而,这一任务比较特别,非常具有挑战性,因为推文都非常短——在如此短的文本中没有太多的信号可供分析。不过,我最终还是成功了,精确度几乎达到了99%. 你可以关注我的推特机器人@whosintheoval,这样一旦川普发推,你就可以实时查看相应的预测。
数据
2017年3月26日之前,川普使用三星Galaxy发推而他的工作人员使用iPhone发推。基于这些推文的元数据,我们可以知道是川普本人还是他的工作人员在发推(参考这些具体讨论这一假设的文章的链接)。在此之后,川普转而使用iPhone,因此发推者的身份无法基于元数据得出,需要通过推文内容推断。
我使用了Brendan Brown的Trump Tweet Data Archive(川普推文数据归档),得到了川普账号在2009年中至2017年末所发的所有推文,约有33000条。尽管我知道推文来自于哪个设备,作者身份仍有一些模棱两可,因为人们知道川普有时会向助理口述发推内容,因此一条具有川普特色的推文可能发自非川普所有的设备,同时(特别是大选期间)推文可能是由川普和助手们共同撰写的,没有明确的作者。
川普推特账号从开始(2009年5月4日)至停止使用Android设备(2017年初)的超过30000条推文我知道(至少有比较大的把握能猜到)作者(关键在于,关于弗林的推文不在这一期间,所以我让我的模型猜测真正的发推者——本文之后的结果一节会更多地讨论这个)。这30000条推文基本上是在Android和非Android设备间均匀分布的(47%/53%),所以不用担心类别失衡问题。这是我用的训练数据。使用若干不同的技术,我基于数据创建了将近900个不同的特征,我的模型可以使用这些特征预测作者。
选择特征
我查看了六方面的特征以建立模型:
川普的癖好
风格
情感
情绪
遣词
语法结构
1 2 3 4 下一页>