在文本分析情绪
这个例子展示了如何使用价知道字典和情绪Reasoner(维达)情绪分析算法。
维德算法使用带注释的单词的列表(情绪词汇),在每个词都有一个相应的情绪得分。维德算法同时利用单词列表,修改文本进行单词的分数:
助推器——单词或字格,提振情绪进行令牌。例如,单词“绝对”和“令人惊讶的”。
缓冲器,词或字格,抑制的情绪进行令牌。例如,单词“几乎”和“有点”。
否定,否定的情绪的单词进行令牌。例如,说“不”和“不是”。
评估情绪文本,使用vaderSentimentScores
函数。
加载数据
提取文本文件中的数据weekendUpdates.xlsx
使用readtable
。该文件weekendUpdates.xlsx
包含包含标签的状态更新“#周末”
和“#假期”
。
文件名=“weekendUpdates.xlsx”;台= readtable(文件名,“TextType”,“字符串”);头(台)
ans =8×2表ID TextData __ _________________________________________________________________________________ 1”结婚纪念日快乐!❤下一站:巴黎!✈#假期“2”哈哈,在沙滩上烧烤,让自以为是的模式!❤#假期“3”准备周六晚上#百胜#周末“4”跟我说——我需要一个假期! ! !在家☹“5”的第一次年龄…这就是生活!#周末“6”我最后#周末考试前。“7”不能相信我#假期结束了所以不公平的“8”等不及网球这#周末”
创建一个数组文本数据的标记化的文档和视图最初几个文档。
str = tbl.TextData;文件= tokenizedDocument (str);文档(1:5)
ans = 5 x1 tokenizedDocument: 11令牌:结婚纪念日快乐!❤下一站:巴黎!✈#假期16令牌:哈哈,在沙滩上烧烤,让自以为是的模式!❤#假期9令牌:准备周六晚上13标记:#百胜#周末跟我说,我需要一个假期!!!☹19令牌:冷却国内首次在年龄…这就是生活!#周末
评估情绪
评估已标记文件使用的情绪vaderSentimentLexicon
函数。分数接近1表明积极的情绪,成绩接近1表明负面情绪,成绩接近于0表示中性情绪。
compoundScores = vaderSentimentScores(文件);
最初几个文档的查看成绩。
compoundScores (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);标题(“负面情绪”)
另请参阅
vaderSentimentScores
|ratioSentimentScores
|tokenizedDocument