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)

相关推荐

  • 如何娇喘,女人为什么那么难以满足

    技术如何娇喘,女人为什么那么难以满足婚前跟一个女孩约过两次,她有男友所以之后一直不答应再约,怎么求都不愿意,求了半年多才有第二次,后来再也不理我,后来就和老婆闪婚了如何娇喘。可能跟那女孩床上太和谐了显得跟老婆做很没意思,

    生活 2021年10月29日
  • windows中链栈和顺序栈相比的优势是什么

    技术windows中链栈和顺序栈相比的优势是什么本篇内容介绍了“windows中链栈和顺序栈相比的优势是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧

    攻略 2021年11月9日
  • 如何进行JS中的事件冒泡与捕获

    技术如何进行JS中的事件冒泡与捕获这期内容当中小编将会给大家带来有关如何进行JS中的事件冒泡与捕获,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。刚接触 JS 的那个时候,啥也不懂,只想

    攻略 2021年11月16日
  • 战时管制是指,什么叫战时状态战时措施

    技术战时管制是指,什么叫战时状态战时措施它是指当国家安全受到严重威胁时,将军队处于最高级的备战准备,并向全国发布战争动员令的一种战斗紧张形势战时管制是指。交战国之间的敌对状态。一旦进入战争状态,交战国之间的外交关系、经济

    生活 2021年10月29日
  • 颈椎病自我治疗方法,颈椎病自我治疗有哪些好的方法

    技术颈椎病自我治疗方法,颈椎病自我治疗有哪些好的方法1.调整枕头与睡眠体位。首先是枕头的选择。若引起颈椎病的病因是椎间盘突出或椎体后缘有骨刺者颈椎病自我治疗方法,枕头可稍低。如果病因是椎管后方韧带肥厚内陷,对脊髓后方形成

    生活 2021年10月28日
  • Linux三剑客命令—awk

    技术Linux三剑客命令—awk Linux三剑客命令—awk一、概念说明
    官方概念说明:gawk - pattern scanning and processing language
    模式扫描和处理文

    礼包 2021年12月23日