当前位置: 首页 > 数据分析师 > 数据分析师实战技能 > 数据分析师数据分析 > R语言中的情感分析与机器学习

R语言中的情感分析与机器学习

发布时间:2020年09月29日 06:55:33 来源: 点击量:762

【摘要】来源|雪晴数据网利用机器学习可以很方便的做情感分析。本篇文章将介绍在R语言中如何利用机器学习方法来做情感分析。在R语言中,由TimothyP

来源 | 雪晴数据网

利用机器学习可以很方便的做情感分析。本篇文章将介绍在R语言中如何利用机器学习方法来做情感分析。在R语言中,由Timothy P.Jurka开发的情感分析以及更一般的文本挖掘包已经得到了很好的发展。你可以查看下sentiment包以及梦幻般的RTextTools包。实际上,Timothy还写了一个针对低内存下多元Logistic回归(也称最大熵)的R包maxtent。

 

然而,RTextTools包中不包含朴素贝叶斯方法。e1071包可以很好的执行朴素贝叶斯方法。e1071是TU Wien(维也纳科技大学)统计系的一门课程。这个包的主要开发者是David Meyer。

 

我们仍然有必要了解文本分析方面的知识。用R语言来处理文本分析已经是公认的事实(详见R语言中的自然语言处理)。tm包算是其中成功的一部分:它是R语言在文本挖掘应用中的一个框架。它在文本清洗(词干提取,删除停用词等)以及将文本转换为词条-文档矩阵(dtm)方面做得很好。这里是对它的一个介绍。文本分析最重要的部分就是得到每个文档的特征向量,其中词语特征最重要的。当然,你也可以将单个词语特征扩展为双词组,三连词,n-连词等。在本篇文章,我们以单个词语特征为例做演示。

 

注意,在R中用ngram包来处理n-连词。在过去,Rweka包提供了函数来处理它,感兴趣的可以查看这个案例。现在,你可以设置RTextTools包中create_matrix函数的参数ngramLength来实现它。

 

第一步是读取数据:

 

 

创建词条-文档矩阵:

 

 

现在,我们可以用这个数据集来训练朴素贝叶斯模型。注意,e1071要求响应变量是数值型或因子型的。我们用下面的方法将字符串型数据转换成因子型:

 

 

测试结果准确度:

 

 

显然,这个结果跟python得到的结果是相同的(这篇文章是用python得到的结果)。

 

其它机器学习方法怎样呢?

 

下面我们使用RTextTools包来处理它。

 

首先,指定相应的数据:

 

 

其次,用多种机器学习算法训练模型:

 

 

现在,我们可以使用训练过的模型做测试集分类:

 

 

准确性如何呢?

 

 

得到模型的结果摘要(特别是结果的有效性):

 

 

结果的交叉验证:

 

 

结果可在我的Rpub页面找到。可以看到,maxent的准确性跟朴素贝叶斯是一样的,其它方法的结果准确性更差。这是可以理解的,因为我们给的是一个非常小的数据集。扩大训练集后,利用更复杂的方法我们对推文做的情感分析可以得到一个更好的结果。示例演示如下:

 

推文情感分析

 

数据来自victornep。victorneo展示的是用python对推文做情感分析。这里,我们用R来处理它:

 

读取数据:

 

 

首先,尝试下朴素贝叶斯

 

 

然后,尝试其他方法:

 

 

这里,我们也希望得到正式的测试结果。包括:

 

1.analytics@algorithm_summary:包括精确度,召回率,准确率,F-scores的摘要

 

2.analytics@label_summary:类标签摘要

 

3.analytics@document_summary:所有数据和得分的原摘要

 

4.analytics@ensemble_summary:所有 精确度/覆盖度 比值的摘要

 

现在让我们看看结果:

 

 

与朴素贝叶斯方法相比,其它算法的结果更好,召回精度高于0.95。结果可在Rpub查看

 

原文链接:http://www.xueqing.cc/cms/article/107

 

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部