使用Python检测虚假新闻

数据科学, 社交媒体真假盖尔·库泽尔·迈耶斯

使用Python检测虚假新闻

文章插图
> Photo by Shahadat Rahman on Unsplash
 
社交媒体网络上充斥着假新闻 。有没有办法检测到它?
2016年总统大选最有争议的方面之一是它在Facebook上的批评 。社交媒体庞然大物引起了来自各个方面的批评 。批评人士认为,Facebook拒绝核实和审查其平台上所列新闻的真实性是危险的 。
几年后,马克·扎克伯格(Mark Zuckerberg)出现在国会并回答了一系列问题 。美国国会议员指责Facebook首席执行官允许2020年大选之前传播政治信息 。
在所有紧张局势中,扎克伯格因缺乏对政治广告活动的事实核实而感到震惊 。
"我可以针对主要目标的共和党人投放广告,说他们投票赞成绿色新政吗?" —亚历山大·奥卡西奥·科尔特斯—
扎克伯格大吃一惊,很难回答 。这些事件表明,群众对采取行动打击假冒内容的意识日益增强 。
使用Python检测虚假新闻

文章插图
> Photo by Kon Karampelas on Unsplash
 
在社交媒体上消费新闻是一双刃剑-价格适中,易于访问且可传播大量信息 。人们保持与全球事务的最新状态,交流思想 。
然而,通常,这种优势被用于病毒式营销 。尽管包含错误事实,但还是有意宣传低质量新闻 。社交媒体上的虚假新闻可以采用多种形式 。创建了几个恶意帐户来传播假新闻,例如巨魔,电子人用户和社交机器人 。
假新闻的迅速传播可能对社会产生负面影响 。它可能会引起误解,甚至危及生命 。2016年总统大选期间最受欢迎的政治新闻是基于虚假事实本身 。因此,在真实媒体上查找基于事实的新闻绝对必要 。
你应该知道什么在继续前进之前,了解某些概念很重要:
特遣部队
在机器学习中,存在一个主要的难题:算法计算数字 。但是,自然语言主要包含文本 。因此,需要将该文本转换为数字,该过程通常称为文本矢量化 。它是机器学习的重要组成部分,有助于进行文本分析 。向量化算法会产生不同的结果,因此您需要仔细选择一个 。
TF-IDF是一种统计量度,用于确定单词在文档集中放置时在文档中的相关性 。它是通过将以下两个指标相乘得出的:
·术语频率是单词在文档中出现的次数 。
·反向文档频率是单词在一组文档中出现的次数 。
您将使用TfidfVectorizer将文本转换为特征向量 。
被动攻击性分类器被动进取算法是在线学习算法 。它们用于从大量数据中学习 。例如,您的系统正在从Twitter 24/7收集推文,而您想根据该数据进行预测 。由于存储限制,这是不可行的 。
您不能在内存中存储太多数据 。被动进取算法从这些示例中学习并在使用后立即将其丢弃,而无需将其存储在内存中 。
这些算法之所以称为被动算法,是因为它们在分类结果保持正确之前是服从的 。一旦发现计算错误,他们就会变得积极,更新并调整模型 。
混淆矩阵如果输出应该生成两个或更多类,则在机器学习分类中使用它进行性能测量 。有四个可能的结果:
·True Positive-您预测为肯定,结果是真实的 。
·True Negative-您预测为否定,事实证明这是事实 。
·False Positive 误报-您预测为肯定,但事实证明是错的 。
·False Negative-您的预测否定,事实证明是错误的 。
问题假设您已经在Python中构建了一个Web抓取应用程序,该应用程序会收集来自社交媒体网络(例如Facebook)的所有新闻链接 。您应该如何知道这些网站上的信息是来自真实事实?
解我们已经在Python中建立了一个可以识别新闻链接是否真实的系统 。我们已经使用sklearn为数据集创建一个TfidfVectorizer 。Tfidf的目的是将文本转换为特征向量 。这使您可以将它们用作估计器的输入 。
先决条件打开命令行并下载并安装Numpy 。Numpy是数字python的缩写 。它为大量的多维数组和矩阵以及一些有用的数学函数提供支持 。运行以下命令:
pip install numpy
接下来,安装Pandas 。熊猫可以帮助您对数据执行各种操作,例如导入,准备,合并,重塑,联接,处理,分析和调整数据 。它围绕DataFrame对象进行组织 。运行以下命令:
pip install pandas
【使用Python检测虚假新闻】最后,是时候安装我们项目中最重要的库sklearn了 。它主要用于机器学习 。它包含内置的算法,这些算法包含用于模型选择,模式,聚类,回归和聚类的功能 。运行以下命令:


推荐阅读