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

R语言中的情感分析与机器学习,第1张

来源 | 雪晴数据网

利用机器学习可以很方便的做情感分析。本篇文章将介绍在R语言中如何利用机器学习方法来做情感分析。在R语言中,由Timothy PJurka开发的情感分析以及更一般的文本挖掘包已经得到了很好的发展。你可以查看下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来处理它:

读取数据:

首先,尝试下朴素贝叶斯

然后,尝试其他方法:

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

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

2analytics@label_summary:类标签摘要

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

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

现在让我们看看结果:

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

原文链接:http://wwwxueqingcc/cms/article/107

在国外提出情感分析的概念是指意见挖掘。在国外提出情感分析的概念是指通过自然语言处理、文本挖掘、计算机语言学等技术手段,对文本中的情感信息进行分析和判断,以了解文本作者的情感倾向和态度。情感分析技术最初是应用于英语等欧美语言的研究中,后来随着中文信息处理技术的发展,也被广泛应用于中文文本分析领域。

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

百度推广API是百度推广平台对外开放的一系列应用程序接口,目前包含了百度搜索推广API和百度网盟推广API。

开发人员能够通过调用百度推广API与百度推广平台直接交互,基于API开发一系列的自己独有的应用程序,并使用应用程序管理推广账户的推广物料,下载推广账户的数据报告,了解推广账户的物料状态。

您可以将API理解为通过应用程序来管理您的百度推广账户的方式。当然,您也可以使用程序管理的同时,同时进行人工管理,两者合理搭配以达到最佳的效果。

百度推广API拥有自己的官方网站:apihomebaiducom,您可以在该网站上了解到更多关于百度推广API的相关内容。

为了使用百度推广API,您需要开发程序来管理您的百度推广账户。

这一过程需要熟悉程序开发语言及Web Service、SOAP和HTTPS方面的知识的开发人员,并需要对于对应的百度推广业务系统有一定程度的了解。

具体的开发文档请参考我们的官方网站的开发文档页面。

更多问题,请到推广客户端帮助频道查询:http://yingxiaobaiducom/support/editor/indexhtml

了解更多百度推广信息,请查看:http://ebaiducom/或拨打售前咨询电话:400-800-8888。

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/qinggan/7538132.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-09-06
下一篇2023-09-06

发表评论

登录后才能评论

评论列表(0条)

    保存