一、前言:
继推文R文本挖掘——情感分析中的局限与不足进行优化,考虑到否定词对于语句情感得分的影响,以及对评论数据的正面词、负面词进行可视化处理;
二、情感分析简述:
文本分析是目前比较热门的一项研究,文本分析大致流程如下:
1、文本数据获取
2、文本清洗
3、分词
4、分析
5、模型构建
就情感分析而言,目前比较流行的方法有两种,一是词法分析、二是机器学习法。情感分析是对文本内容进行分析,探究其表达情感的技术;
机器学习应用于情感分析尚未成熟,而文本情感分析的词法分析方法对词库要求较高。
在此就分享一下自己如何通过词库的方式为每一句评论定性为正面或负面。词法分析的基本思想就是对每句评论文本进行分词,然后通过匹配正面词典与负面词典,考虑情感词前否定词对语句情感得分的影响,从而计算出语句的正面得分(词中有多少是积极的)与负面得分(词中有多少是消极的),以及综合得分(积极得分减去消极得分)。虽然该方法通俗易懂,但是对词典质量要求较高(直接影响语句情感打分),且需耗费大量时间精力整理,如正负面词库的构建、自定义词典的导入等。
三、步骤:
数据集说明:本次情感分析使用电影评论数据条,包含好评、中评、差评各条;
数据读取;
数据清洗;
评论分词;
数据整理(方便情感打分);
词典读取;
定位情感词;
评论情感倾向可视化(ggplot2);
词云图(wordcloud,wordcloud2)
四、实操过程:
(一)、数据读取:
数据读取部分可能因文件编码问题导致读取乱码,在此,可先转换文本编码为“utf-8”或是采取其他方式读取:
如:readr包的read_csv()
data.table包的fread()
或是:
read.csv()\read.table()
#一、载入所需R包:#这里使用pacman包的p_load()函数加载所需R包,省去逐个library()的繁琐;library(pacman)p_load(tidyverse,jiebaR,jiebaRD,dplyr,plyr,stringr,ggplot2,wordcloud,wordcloud2)#数据导入: