主要内容

分析文本中的情感

这个例子展示了如何使用价感字典和情感推理器(VADER)算法进行情感分析。

VADER算法使用一个带注释的单词列表(情感词典),其中每个单词都有相应的情感评分。VADER算法还利用单词列表来修改文本中继续前进的单词的分数:

  • 助推器——能够提升后续标记的情绪的单词或n-gram。例如,像“absolutely”和“amazing”这样的词。

  • 抑扬顿挫——减弱后续符号情绪的单词或n-gram。例如,像“hardly”和“some”这样的单词。

  • 否定-否定进行符号的情绪的词。例如,像"not"和"isn't"这样的单词。

要评价文本中的情感,请使用vaderSentimentScores函数。

加载数据

提取文件中的文本数据weekendUpdates.xlsx使用readtable.该文件weekendUpdates.xlsx包含包含标签的状态更新“#周末”而且“#假期”

文件名=“weekendUpdates.xlsx”;TBL = readtable(文件名,“TextType”“字符串”);头(台)
ID TextData  __ _________________________________________________________________________________ 1”结婚纪念日快乐!下一站:巴黎!哈哈,在海滩上烧烤,洋洋自得!3“为周六晚上做准备”4“和我一起说——我需要一个假期!!”多年来第一次在家放松……这就是生活!6 .“考试前的最后一个周末”7 .“真不敢相信我的假期结束得这么不公平”8 .“这个周末等不及打网球了”

从文本数据创建一个标记文档数组,并查看前几个文档。

str = tbl.TextData;文档= tokenizedDocument(str);文档(1:5)
ans = 5x1 tokenizedDocument: 11个token:周年快乐!下一站:巴黎!度假16代币:哈哈,在海滩上烧烤,进入自鸣得意模式!#假期9代币:为周六晚上做准备#yum #周末13代币:和我一起说——我需要一个#假期!!!多年来第一次在家放松……这就是生活!#周末

评估情绪

来评估标记文档的情绪vaderSentimentLexicon函数。接近1的分数表示情绪积极,接近-1的分数表示情绪消极,接近0的分数表示情绪中立。

compondscores = vaderSentimentScores(文档);

查看前几个文档的分数。

compoundScores (1:5)
ans =5×10.4738 0.9348 0.6705 -0.5067 0.7345

在词云中想象带有积极和消极情绪的文本。

idx = compondscores > 0;= str(idx);str(~idx);figure subplot(1,2,1) wordcloud(strPositive);标题(“积极情绪”) subplot(1,2,2) wordcloud(strNegative);标题(“负面情绪”

图中包含wordcloud类型的对象。字云类型的图表有标题正面情绪。字云类型的图表有标题为负面情绪。

另请参阅

||

相关的话题