R语言做文本挖掘 Part5情感分析

技术R语言做文本挖掘 Part5情感分析 R语言做文本挖掘 Part5情感分析Part5情感分析
【发现有人转载,决定把格式什么重新整理一遍,有时间做个进阶版文本挖掘,恩!原文地址:CSDN-R语言做文

用于文本挖掘的r语言第5部分情感分析

第五部分情感分析

【发现有人转载,决定重新整理格式和什么,有时间就做一个高级版的文本挖掘,嗯!原文地址:CSDN-R语言用于文本挖掘第5部分情感分析]

这是本系列的最后一篇文章。事实上,这里的文本挖掘的每一部分都值得深入研究和仔细研究。我还在初级研究阶段,用R里现成的算法来满足自己的需求。当然,我也参考了很多网友的智慧结晶,所以我也想总结一下我的收获,分享给大家。希望在看大家和我一样分享的时候能得到自己的启发。

我在网上翻了一些关于中文文本情感分析的文章,然后思考了自己的情感分析方法。我觉得我的想法真的很简单,很粗鲁,很直接。这是一篇介绍中文文本情感分析趋势的论文。3358wenku.baidu.com/linkurl=tvf 5 LNG 6 esnungubvm 14 z 24m 0 f 4 lty d 483 GW _ henp 2 ryel 6 xzanslz 8 oczclwklqd 0 pdbhvucv4-0 lotdg p3hl-kqettwj 3l 91 hfta 3。目前做情绪分析的方法主要有三种。第一种是扩展现有的电子词典或词知识库,生成情感倾向词典;第二,无监督机器学习的方法。基于人工标注语料库的第三种学习方法。

以上三种方法不详细说明。他们都有一个共同的特点,需要一个情感倾向的语料库。我在R中的实现方案和第一种方法差不多,整理一个褒义词词库和一个贬义词词库(在万能的互联网上自己整理一点就可以了)。把课文分成词,中间提取情感词。对于每个文本,情感倾向得分的初始值为1,与褒贬词、褒贬词-1、贬损词-1的词汇进行匹配,计算出每个文本的最终情感倾向得分。正值是正面评价,负值是负面评价。该方法基本可以实现情绪倾向的判断,但可以改进。如前参考文献所述,情感强度也可以根据词的词性强度来评价,而不仅仅是1和-1;还要考虑到有些词在不同的语境下可能会有不同的情感倾向,比如文中提到的“骄傲”,我认为可能需要对有这样特殊情况的词进行梳理;也有消极和积极的情况,比如“不喜欢是不可能的!”按照我的评分标准,它的结果是负面评价;问“哪里便宜?”评估结果为正。我把“便宜”这个词放在了褒义词的下面。其实仔细想想,如果说“便宜又实惠”绝对是恭维,如果说“便宜又不好”,那也是恭维,这是错的,还是第二个问题,不同语境下的情感倾向会有所不同。

R中的实施流程:

1.数据输入处理

数据仍是某品牌官微。从其微博、情感褒义词库、贬义词库取1376条评论,数据读入r .下载地址附词库:http://www.datatang.com/data/44317/,可能不全,需要自己充实。在看服装相关的文字时,发现里面没有包含“掉色”、“开线”、“苗条”、“胖”等词,需要自己添加。

hlzj.comment-ReadLines(' hlzj _ comment test . txt ')

负-readline(' d : \ \ R \ \ RWorkspace \ \ hlzjWorkfiles \ \ negative . txt ')

正读线(' d : \ \ R \ \ RWorkspace \ \ hlzjWorkfiles \ \ positive . txt ')

长度(hlzj.comment)

[1] 1376

长度(负)

[1] 4477

长度(正)

[1] 5588

2.将评论分成单词并排列。

这个过程类似于第二部分提到的分词。然后我自己编写了一个方法getEmotionalType(),将分割结果与否定表和肯定表进行比较,计算得分。

comment temp-gsub('[0-90123456789 ~]','',hlzj.comment)

评论-细分市场

评论[1:2]

[[1]]

[1]“恭喜”“大家”“我没找到”

[[2]]

[1]“不”“私信”“给”“我”“边肖”“给”“我”“给”“泄露”

情绪等级-获取情绪类型(评论,正面,负面)

[1] 0.073

[1] 0.145

[1] 0.218

[1] 0.291

[1] 0.363

[1] 0.436

[1] 0.509

[1] 0.581

[1] 0.654

[1] 0.727

[1] 0.799

[1] 0.872

[1] 0.945

情感银行[1:10]

[1] 1 0 2 1 1 2

3 1 0 0
commentEmotionalRank -list(rank=EmotionRank,comment=hlzj.comment)
commentEmotionalRank -as.data.frame(commentEmotionalRank)
fix(commentEmotionalRank)
getEmotionalType - function(x,pwords,nwords){
emotionType -numeric(0)
xLen -length(x)
emotionType[1:xLen]- 0
index - 1
while(index =xLen){
yLen -length(x[[index]])
index2 - 1
while(index2= yLen){
if(length(pwords[pwords==x[[index]][index2]]) = 1){
emotionType[index] - emotionType[index] + 1
}else if(length(nwords[nwords==x[[index]][index2]]) = 1){
emotionType[index] - emotionType[index] - 1
}
index2- index2 + 1
}
#获取进度
if(index%%100==0){
print(round(index/xLen,3))
}
index -index +1
}
emotionType
}
查看到结果如下,第一个图里看着还挺正常的,第二个图好像是hlzj赞助的RM里出现了衣服被撕坏的时候的评论。没有黑他们家的意思,只是想找个例子来说明下差评的效果,好像不是很理想。那些反问的话无法识别判断,还有一些比较口语化的“醉了”,“太次”这样的词没有放到情感词库里,对这些评论的情感倾向识别效果不是很好。

像前面说的,方法有待改进,我的方法只是一个最基础的情感分析的实现方式,有任何问题欢迎指正。

转载请注明来源,谢谢!
————————————————
版权声明:本文为CSDN博主「EchoCaiCai」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cl1143015961/article/details/44460873

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/151775.html

(0)

相关推荐

  • 如何理解HTTPS加密算法

    技术如何理解HTTPS加密算法本篇文章为大家展示了如何理解HTTPS加密算法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言我们将会详细介绍RSA和ECDHE算法的原理以及在H

    攻略 2021年11月12日
  • oracle temp表空间相关知识点有哪些

    技术oracle temp表空间相关知识点有哪些本篇内容主要讲解“oracle temp表空间相关知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle te

    攻略 2021年11月9日
  • 如何使用Eviews做辅助回归来检验模型是否存在多重共线性

    技术如何使用Eviews做辅助回归来检验模型是否存在多重共线性本篇文章为大家展示了如何使用Eviews做辅助回归来检验模型是否存在多重共线性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有

    攻略 2021年11月9日
  • PDF文件如何压缩

    技术PDF文件如何压缩小编给大家分享一下PDF文件如何压缩,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  步骤一:打开压缩工具,在跳转的页面

    攻略 2021年10月26日
  • androidstudio开发计时器(androidstudio关闭计时器)

    技术android studio如何绑定服务和线程实现计时器这篇文章主要介绍了android studio如何绑定服务和线程实现计时器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让

    攻略 2021年12月20日
  • 怎么使用Python爬虫

    技术怎么使用Python爬虫本篇内容介绍了“怎么使用Python爬虫”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.导

    攻略 2021年10月29日