此示例演示如何使用价感知字典和情感推理器(VADER)算法进行情感分析。
VADER算法使用一个带注释的单词列表(情感词典),其中每个单词都有相应的情感得分。VADER算法还利用单词列表来修改文本中进行的单词的分数:
助推器–提升进行中的代币情绪的单词或n-gram。例如,“绝对”和“惊人”等单词。
阻尼器–抑制进行中的代币情绪的单词或n-gram。例如,像“几乎”和“稍微”这样的词。
否定——否定进行中的标记的情绪的词。例如,像“不是”和“不是”这样的词。
要评估文本中的情绪,请使用维德分数
功能。
提取文件中的文本数据weekendUpdates.xlsx
使用可读
. 档案weekendUpdates.xlsx
包含包含哈希标记的状态更新“#周末”
和“#假期”
.
文件名=“weekendUpdates.xlsx”; tbl=可读(文件名,“文本类型”,“字符串”); 总目(待定)
ans=8×2表ID TextData\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu1周年快乐!❤ 下一站:巴黎!✈ #假期“2”哈哈,海滩烧烤,搞自鸣得意模式!❤ #假期“3”为周六晚上做好准备#百胜#周末“4”跟我说吧-我需要一个#假期!!!☹" 5“多年来第一次在家里发冷……这就是生活!#周末”6“考试前的最后一个周末”。7“不敢相信我的假期结束了,太不公平了”8“迫不及待地想在这个周末打网球”
从文本数据创建一个标记化文档数组,并查看前几个文档。
str = tbl.TextData;文件= tokenizedDocument (str);文档(1:5)
11代币:周年快乐!下一站:巴黎!✈#假期16代币:哈哈,在海滩上烧烤,进入自鸣得意模式!13代币:和我一起说——我需要一个#假期!!!平生第一次呆在家里,这就是生活!#周末
使用维德词库
功能。接近1的分数表示积极情绪,接近-1的分数表示消极情绪,接近0的分数表示中性情绪。
compoundScores = vaderSentimentScores(文件);
查看前几个文档的分数。
复合分数(1:5)
ans=5×10.4738 0.9348 0.6705 -0.5067 0.7345
在单词云中形象化文本中的积极情绪和消极情绪。
idx=compoundScores>0;strPositive=str(idx);strNegative=str(~idx);图子图(1,2,1)wordcloud(strPositive);标题(“积极情绪”)子地块(1,2,2)wordcloud(strNegative);头衔(“负面情绪”)