我们使用机器学习和自然语言处理开发了一个假新闻检测器,其在验证集上的准确率超过了95%。 在现实世界中,准确率应该会比95%低一些,特别是随着时间的推移,假新闻的创作方式也会有所改变。

由于自然语言处理和机器学习方面发展迅猛,因此我想也许可以搞一个能够识别假新闻的模型,从而遏制假新闻泛滥所造成的灾难性后果 。

可以说,要制作自己的机器学习模型,最困难的部分就是收集训练数据。 我花了几天和几天的时间来收集2017/2018赛季所有NBA球员的照片, 以期训练一个人脸识别模型 。 我不知道我会潜入一个长达数月之久的痛苦过程,暴露出一些真正黑暗而令人不安的事情,这些事情仍然作为新闻和真实的信息被传播。

如果你希望马上学习机器学习方面的技能和知识,我推荐你使用汇智网的Python机器学习在线运行环境

假新闻的定义

我的第一个障碍是意外的。 在对假新闻做了一些研究之后,我很快发现错误信息有很多不同的类别。 有些文章是公然虚构的,有些文章则提供了真实的事件但进行错误的解读,有些文章属于伪科学,有些宣扬片面观点的文章也伪装成新闻,文章是讽刺的,有些文章主要内容就是一些推特和引用其他人的话。 我搜索了一下,发现一些人试图将网站分为“讽刺”,“虚假”,“误导”等类别。

我认为这是一个很好的开始,因此继续前进,并开始访问这些被标记的网站,试图寻找一些例子。 几乎是马上,我发现了一个问题: 一些被标记为“虚假”或“误导”的网站有时也会有真实的文章。 所以我知道如果不做一个完整的检查就没有办法去刮。

于是我开始问自己,我的模型是否应该考虑到讽刺和意见,如果是的话,他们应该被认为是虚假的、真实的还是属于自己的类别?

情绪分析

在假新闻网站上泡了大约一周后,我开始怀疑自己是否把问题过度复杂化了。 也许我只需要使用现成的机器学习模型来进行情感分析,看看是否存在一种模式? 我决定构建一个快速的小工具,使用网络爬虫来抓取文章标题、描述、作者和内容,并将抓取结果输入到情感分析模型。 我使用了Textbox ,这个在线服务很方便,并且很快就可以返回结果。

Textbox会返回一个你可以解释为正向或负向的情绪分数。 然后,我搞了一个粗糙的小算法来为不同类型的文本(标题、内容、作者等等)的情绪添加权重,并将它们加在一起,看看能不能得到一个有意义的全局得分。

一开始它表现的很好,但当我试过第七或第八篇文章之后,这个小算法开始胡言乱语了:它的表现离我想要建立的假新闻检测系统还差的很远。

失败。

自然语言处理

这部分就是我的朋友大卫·埃尔南德斯 ( David Hernandez)所建议的:利用真实的文本训练出一个模型。 为了做到这一点,我们需要为不同的类别中提供大量样本实例。

为了试图理解假新闻的模式所投入的精力,让我已经相当疲惫了,所以我们决定只抓取那些已知属于虚假、真实或讽刺等分类的网站,看看我们能否快速构建一个数据集。

在运行了几天的粗糙的抓取工作之后,我们得到了一个自认为足够大的数据集来训练一个模型。

结果是废话。 深入查看训练数据后,我们意识到,这些网站从未像我们想的那样,整齐地落入预先规划的小类别。 其中一些网站把假新闻和真实的新闻混在一起,另一些网站则只有一些来自其他网站的博客文章,有些网站的文章中90%的文字都是特朗普的推文。 所以我们意识到必须重新开始训练数据。

这是事情变糟的时候。

这是一个星期六,我开始了漫长的过程,阅读每篇文章然后才决定将其归入什么类别,并且笨拙地将文本复制、粘贴到电子表格中。 其中有一些黑暗的、令人恶心的、种族主义的、真正堕落的东西,开始时我试图忽略它们。 但经过数百篇这样的文章之后,它们开始接近我。 当我的视觉模糊,我对颜色的解读变得混乱起来的时候,我开始变得非常沮丧。 人类文明为何降到如此低的水平? 为什么人们不能批判性地思考? 我们真的有希望吗? 这个过程持续了几天,因为我努力为这个模型准备足够多的数据样本。

我发现自己在对假新闻的解读中浮现出来,当看到那些我有不同意见的文章时,就会生气,只为选出我认为是正确的文章而继续奋斗。 但是,什么是对,什么是错?

不过最终,我收集到了足够多的样本,然后非常放心地把它们发给大卫。

第二天,当我急切地等待结果时,他再次进行了训练。

我们达到了约70%的准确率。 起初我觉得这已经很好了,但是当使用开放选择的文章进行抽查后,我意识到这个模型一无是处。

失败。

Fakebox

回到绘图板。 我做错了什么? 是David指出来,简化问题可能是提高准确率的关键。 因此我的确思考了,到底什么才是我要解决的问题。 然后突然一激灵,也许不需要检测假新闻,只要检测真实的新闻就够了。 真实的新闻更容易分类,客观真实,几乎不需要解读。 而且还有很多可信的消息来源。

于是我回到互联网,开始重新收集训练数据。 我决定把所有新闻都归为两类: 真实的和不真实的。 不真实类将包括挖苦、片面观点、假新闻,以及其它没有遵守AP标准的内容。

我花了数周的时间来做这件事,每天都要花几个小时从The Onion到Reuters的各种网站上获得最新的内容。 我把成千上万的真实和非真实内容的样本放到一个巨大的电子表格中,每天我都会增加数百个。 最终,我认为样本已经足够来再次尝试。 于是我给David发了电子表格,然后就是焦急地等着结果。

当我看到准确度在95%以上时,我几乎跳了起来。 这意味着我们发现了一个模式,可以用来区分真实的新闻和那些你应当谨慎对待的新闻。

成功(某种程度)!

如果你喜欢这篇文章,请关注我的头条号:新缸中之脑!

原文: I trained fake news detection AI with >95% accuracy, and almost went crazy

假新闻识别,从0到95% - 机器学习实战相关推荐

  1. 《我们与恶的距离》引发媒体反思:假新闻抢热点,机器学习能做些什么?

    大数据文摘出品 作者:周素云 近期,HBO出品的台剧<我们与恶的距离>热播,在感慨剧情深度的同时,也引发了对于媒体行业生存现状的反思. <我们与恶的距离>剧照 一方面,人们希望 ...

  2. 假新闻遇上AI,祸兮福兮?

    硅谷Live / 实地探访 / 热点探秘 / 深度探讨 近日,一则"机器人受尽欺压奋起反抗"的视频刷上了各大平台的排行榜.视频中,为了测试机器人的平衡性,测试人员用脚踹.凳子砸等方 ...

  3. 【论文翻译 假新闻检测综述 HICSS 2019】Can Machines Learn to Detect Fake News? A Survey Focused on Social Media

    论文题目:Can Machines Learn to Detect Fake News? A Survey Focused on Social Media 论文来源:HICSS 2019,Procee ...

  4. python识别虚假新闻的分类器_使用NLP检测和对抗AI生成的假新闻

    作者|MOHD SANAD ZAKI RIZVI 编译|VK 来源|Analytics Vidhya 概述 由AI生成的假新闻(神经假新闻)对于我们的社会可能是一个巨大的问题 本文讨论了不同的自然语言 ...

  5. python识别虚假新闻的分类器_检测假新闻:比较不同的分类方法的准确率

    这些推特是真的还是假的? 他们肯定是假的.在7月15日时,Twitter出现了一个大问题,大账户被黑客入侵,要求比特币捐款,并承诺将捐款金额翻倍.所以即使这些推特是真实的,它们也包含了虚假信息. 这不 ...

  6. Facebook 教你识别假新闻 10 大技巧

    你知道如何去辨别假新闻吗?这一问题已经让各种社交平台非常头疼,特别是 Facebook,该公司已经采取了各种措施来打击假新闻的传播,Facebook 承认用户需要一些帮助来识别该平台上的假新闻. 20 ...

  7. 机器学习-NLP(二):LSTM假新闻检测

    本文案例为假新闻检测,主要使用模型为LSTM.通过案例的过程,来轻松的入门实践文本分类. 文章目录 导入相关库 读取数据 创建x数据和y标签 数据清洗 编码输入数据 数据拆分 创建模型 训练假新闻分类 ...

  8. 【NLP】使用NLP检测和对抗AI假新闻

    作者 | MOHD SANAD ZAKI RIZVI 编译 | VK 来源 | Analytics Vidhya 概述 由AI生成的假新闻(神经假新闻)对于我们的社会可能是一个巨大的问题 本文讨论了不 ...

  9. 使用NLP检测和对抗AI生成的假新闻

    作者|MOHD SANAD ZAKI RIZVI 编译|VK 来源|Analytics Vidhya 概述 由AI生成的假新闻(神经假新闻)对于我们的社会可能是一个巨大的问题 本文讨论了不同的自然语言 ...

最新文章

  1. 20 位百万富翁希望自己 20 岁就明白的事
  2. MySQL 错误1418
  3. python实现简单的api接口-使用Python编写API接口和使用API接口
  4. 计算机IO系列(二)BIO/NIO/多路复用实现
  5. Spring 多线程下注入bean问题
  6. sap.m.library acts as one of the two most core framework library
  7. 如何才能成为超级人类,驯服人工智能?
  8. 揭密 GaussDB T 主备物理复制搭建过程(全)
  9. 第十课:栈的表示与实现
  10. C语身教程第十章:文件(8)
  11. 只要学会它,再多 Bug 也不怕
  12. 写给对前途迷茫的朋友:五句话定会改变你的人生
  13. TongWeb部署Dm数据库的项目报错
  14. CSDN出品,必是精品:CSDN浏览器助手!
  15. [3-6] xp系统主题下载最新xp系统软件更新 [yeskm整理]
  16. hybird app
  17. 微服务等于 Spring Cloud?了解微服务架构和框架
  18. 前后端齐全的扫码点餐小程序(后端Java)
  19. excel插入散点图按时刻设置横坐标刻度值
  20. 19考研报名系统今日关闭!记得检查!研招现场确认最全提醒

热门文章

  1. Vue2项目运行报错
  2. 北京市公建民营养老机构市场分析报告
  3. python网络编程web教程_python网络编程学习笔记(10):webpy框架
  4. k8s 部署ngnix,出现警告:nginx: [warn] conflicting server name “localhost“ on 0.0.0.0:80, ignored
  5. JavaScript 数学曲线—阿基米德螺线
  6. SpringBoot传输XML格式
  7. 笔记本拆c面_笔记本拆机清灰 篇三:SONY 索尼 FE35C 拆机清灰
  8. 【知乎养号】如何自动化实现,多账号自动任务
  9. MFC创建、调用Dll的方法
  10. webview 输入法_android webview输入法键盘阻塞输入框的问题