人类在处理大量信息时,是有局限的。
如果现在有几条新闻让你辨别真假:
“震惊!深圳市将于10月15日发生极昼现象!”;
“腾讯将给每位微信用户充值100元,手慢无”;
“美职篮:湖人4-2中击败热火,荣获赛季总冠军”……
你肯定觉得超简单,但如果现在有几千甚至数万条新闻让你辨别真假,你会觉得“是在搞我吧”。
当然,如果你特别有毅力,可能会尝试一下各种评判标准,去进行快速筛选,但这样大量快速手工操作的准确率和效率,往往可能是不尽如人意的。
怎么办呢?这个时候就要借助AI了,也就是机器学习,让计算机通过学习足够数量的样本,根据数据中的特征构建模型,并利用此模型对新的情境给出判断和预测。
你可能会觉得有点意思了!更加有意思的是你也可以通过机器学习的方法,利用Python里强大的scikit-learn 包中的聚类学习工具,来迅速判定海量新闻的真假(而Atlas OS的云主机的使用能让整个过程轻松便捷)。
下面跟着图文介绍来试试看!
一,数据和代码准备
我们从DataFlair的“Fake News Detection Project”教程中收集了6335条真假新闻数据集,并开发了相应学习代码。(数据和代码链接
:https://data-flair.training/blogs/advanced-python-project-detecting-fake-news/)
二,环境搭建
如果我们要进行sklearn聚类学习,就需要一个Python开发环境来进行开发,为了省去可能会有一万字的繁琐环境搭建步骤,所以这里选择了Atlas OS 的达仁云主机Linux+JupyterLab开发环境,里面已经预设好了Python环境,只需简单几步就能调出使用。
1,首先在浏览器中输入atlas.daren.io登陆(如果没有账号可以免费注册一个);
2,选择达仁云主机,新建一个虚拟硬盘,并上传新闻数据集文件news.csv,这是一个逗号分隔的纯文本文档,可以用任何的文本编辑器打开查看;
3,选择主机镜像,启动Linux+Jupyterlab镜像,并选择镜像配置,这里选了一个2核2G的就够了,跑一个小时才0.1元,然后选择数据文件所在的虚拟硬盘,点击启动云主机。
4,仅需2分钟,一个崭新的Linux+Jupyterlab镜像就出炉了,在主机信息中,点击进入云主机,复制密码在网页登陆,就可以看到镜像界面了。
三,开始机器学习:真假新闻识别
首先在Terminal里,安装这个机器学习项目需要的支撑包。
这个项目使用的数据是我们之前放入虚拟硬盘的数据文件news.csv。这里面有6335条真假新闻数据,包含新闻标题、内容和真假性质数据。
然后新建一个JupyterLab文档,在文档的代码中先import项目需要的支撑包,并读取数据。
一个机器学习的项目里,我们需要将数据的一部分作为模型训练使用,一部分用来测试。这个例子里面我们可以看到test_size=0.001,也就是随机使用千分之一的数据用来测试,剩下的千分之九百九十九的其他数据用来训练模型。这个test_size参数可以根据需要调整。
我们使用sklearn TfidfVectorizer函数,用TF-IDF词频-逆向文件频率方法进行文本特征提取,使用sklearn fit_transform 函数根据输入的训练数据,统计词汇词典并返回数据对象,生成文档稀疏矩阵,建立模型。
最后,我们使用sklearn PassiveAggressiveClassifier来做学习,这是一种增量学习算法(PA算法),即被动感知算法对测试数据进行预测,并统计结果。
我们可以看到这里程序输出了部分新闻的信息,以及模型对测试数据的预测结果和真实数据的对比信息,以及最终预测正确与错误的数据。可以看到这里这几个简单测试的结果预测准确率为100%,也就是说,本次随机测试到的7条新闻完成预测正确。
上面测试数据较少,调整test_size=0.2,运行,查看结果,这里显示计算出的模型的预测准确率有92%以上。我们可以看到对1267条测试数据的验证结果: 589个真阳性,587个真阴性,42个假阳性和49个假阴性(即1176个预测正确,91个预测错误)。
可以看到,在达仁云主机中开启环境,可以快速学习和实践Python的机器学习功能。我们通过这个简单的scikit-learn聚类学习项目,我们可以判断出90%以上的假新闻。那么在这个广告和假新闻满天飞的年代,也许我们后续可以逐步按这个方式过滤假新闻。
你学会了吗?想要马上练习!赶快登陆atlas.daren.io一键启用你的云主机吧,不仅是JupyterLab,达仁云主机还提供RStudio、Eclipse等多种主流开发环境,可选配置多达百余种,可选CPU涵盖1~96核,可选内存涵盖0.5~3TB,可选硬盘涵盖1~16TB,费用低至0.03元每小时起,浏览器中即开即用,这下再也不用为各种学习、开发、测试环境而苦恼了。
想了解更多新鲜实用的云计算和云数据分析工具欢迎关注“Atlas OS”微信公众号,或联系达仁基算团队ddeng@daren.io。