来源 | 雪晴数据网
利用机器学习可以很方便的做情感分析。本篇文章将介绍在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
多模态情感分析好。
多模态情感分析技术的发展源于实际生活的需求,人们以更加自然的方式表达情感,技术就应有能力进行智能的理解和分析。
多模态即多种异构模态数据协同推理,多模态数据分析外需与高级认知智能内需相互促进。
零编程制作聊天机器人已经成为可能。目前,针对如何制作一个聊天机器人的问题,竹间智能科技已经开发出了 Bot Factory情感机器人工厂,一个为企业、个人提供情感机器人快速定制服务的平台。 通过Bot Factory情感机器人工厂,你可以调用Emotibot智能对话机器人、语音情绪、机器视觉等AI技术,并对机器人进行形象定制、问答定制、知识定制、意图及多轮问答定制等。另外,定制的机器人自带机器自学习优化能力,也就是这个机器人会学习、会自我成长。定制方法也比较简单快速
1登录竹间智能科技机器人平台 机器人平台
2创建你的机器人
3接入你的机器人
微信公众号接入机器人只需要使用公众号管理者的微信扫一扫授权即可; API接入请下载接口文档进行接入; Web、SDK接入的方式即将开放,敬请期待。竹间智能科技Bot Factory的优势:
1 核心技术领先
基于长期的研发积累,竹间智能科技在语义理解、情感计算、机器视觉等方面的能力遥遥领先。 语义理解:基于上下文、用户意图及情感、对用户的记忆,让机器人做到跟人一样,能主动与人进行双向对话;情感计算:22种文字情感+4种声音情感+7种面部表情,让机器人真正地读懂、听懂、看懂用户;机器视别:人脸识别准确率高达9842%,8大类服饰识别准确率80%以上,超过 22种人脸属性辨识,9种人脸情绪分析。
2 各领域知识积累+高度定制,标准化平台:竹间智能科技拥有长期的技术积累与各行业AI落地的经验,拥有电商、金融、IoT等领域丰富的定制知识库、功能及领域经验积累。可定制:平台提供丰富易操作的可定制化服务,用户可以在管理界面中自行完成机器人形象定制,问答定制,知识定制,意图引擎定制等。
3 最自然的用户交互体验,多模态情感计算下的情感交互:通过语音,文字,图像的等能够深入理解用户所表达的情绪,根据内容和情绪多个维度进行分析,给出最合适的回答。让你的机器人从此不再冷冰冰。记忆能力支撑的多轮对话:超过25个维度信息记忆,能够根据上下文的内容,综合用户的喜好/习惯和状态综合分析,给出最符合场景的回答,完成复杂的多伦交互。你的机器人不再是无厘头,它会像家人一样懂你。 强大自学习能力:强大的自学习算法实时收集用户反馈,24x7进行算法训练优化。知错就改才是好孩子,好好学习才能天天向上。
4体验全程0编程全图形化配置界面,支持Mobile+PC,操作人员无需任何编程基础,即可轻松地创建、定制与管理机器人。
人工智能产品的定义较为广泛,智能硬件、机器人、芯片、语音助手等都可以叫做人工智能产品。本文讨论的人工智能产品主要是指在互联网产品中运用人工智能技术。
互联网产品主要着手与解决用户的痛点,对于C端产品来说,痛点就是指的个人想解决而无法解决的问题,如个人想要美化自己的照片,但是他不会复杂的PS软件,于是美图秀秀就可以解决这个痛点。从KANO模型中,就是满足用户的基本需求与期望需求。
人工智能产品(在互联网产品中运用人工智能技术)则是要满足用户的兴奋需求。如将情感分析运用到电商的产品评论中,用户则可以通过可视化的数据展示来大致对产品有个全面、直观的了解,而不再需要自己一页一页的翻看评论内容。
互联网产品主要关注点在于用户需求、流程设计、交互设计、商业模式等。着眼于用户需求,设计满足用户需求的产品,通过合理的流程设计、交互设计达到产品目标,进而实现商业目标。典型的思路是发现用户需求——>设计满足用户需求的产品——>迭代完善、产品运营——>商业变现。
人工智能产品关注点在于模型的构建,它不再是对于布局、交互的推敲,而是通过选择合适的数据,构建合适的模型,最终呈现出来的是好的效果。什么是好的效果呢?这就需要引入评测指标。互联网的评测指标有我们熟知的留存率、转化率、日活跃等,那么人工智能的产品主要是通过一些统计指标来描述,以情感分析为例,把情感分析看成一个分类问题,则可以使用P、R、A、F值来描述。
1)查准率(Precision):P值,衡量某类分类中识别正确的比例,如情感分析中,有10条被分类为“正向”,其中8条是分类正确的(由人工审核),那么P=8/10=80%
2)查全率(Recall):R值,又叫查全率,又叫召回度,指的是某类被被正确分类的比例,同样以情感分析为例,100条数据中有10条是正向的,机器分类后,这10条中有7条被分类为正向,则R=7/10=70%
3)F值,因为P值和R值通常是两个相互矛盾的指标,即一个越高另一个越低,F则是两者综合考虑的指标,不考虑调节P、R权重的情况下,F=2PR/(P+R)
4)精确度(Accuracy):这个最好理解,就是被准确分类的比例,也就是正确率。如100条数据,90条是被正确分类的,则A=90/100=90%。
以上指标越高,说明模型效果越好。
我们从上面内容可以知道,人工智能产品设计关注:数据——>模型——>效果评估。
现在我们以情感分析为例子说明产品设计的过程。
1)数据:
数据的选择对最终模型的结果有直接影响,情感分析,根据不同的目的,选择的数据也不同。如将情感分析运用于**票房预测,则一些更新及时、内容丰富的数据源,如微博,是比较好的选择。如果是应用于商品的评价,如电子产品,很多评测内容是无法在短短几句话内描述清楚的,这时候微博不是个好的选择,选择论坛上更新较慢、但是详细的内容就比较适合。
如果能在产品的早期就有引入人工智能的打算,则可以在产品中事先做好数据采集。
2)模型:
在选择模型中,产品需要了解不同的模型的优缺点,进而选择更加合适的模型。在情感分析中,NB、SVM、N-gram都是常用的模型,其中SVM效果最好(这是已有的结论),如果是其他的智能产品,可能需要算法团队进行实验,给出测试数据,进而选择合适的模型。
3)效果评估:
效果评估在上文中已经描述得比较清楚,具体指标不再赘述。
4)产品呈现:
最后这一步,是将结果展示给用户。在情感分析中,我们可以选择雷达图、词云、情感趋势图来展示结果。取决于产品属性,如电商产品评论挖掘,可以使用词云;
如舆论分析,可以使用情感趋势图。
人工智能产品的设计要关注:数据、模型、评判、呈现。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)