主要内容

文本情感分析

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

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

  • 助推器-促进进行代币的情绪的词或n字组。例如,“absolutely”和“amazing”。

  • Dampeners -抑制进行代币的情绪的词或n字格。例如,“hardly”和“somewhat”。

  • 否决词-否定进行标记的情绪的词。例如,“not”和“isn’t”这样的词。

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

加载数据

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

文件名=“weekendUpdates.xlsx”;台= readtable(文件名,“TextType”“字符串”);头(台)
ans =8×2表ID TextData  __ _________________________________________________________________________________ 1”结婚纪念日快乐!下一站:巴黎!✈#度假2“哈哈,在海滩上烧烤,沾沾自喜模式!”4、和我一起说——我需要一个#假期!!这么多年来第一次在家里冷静下来,这就是生活!7“真不敢相信我的假期结束了,太不公平了”8“等不及这个周末打网球了”

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

str = tbl.TextData;文件= tokenizedDocument (str);文档(1:5)
11代币:周年快乐!下一站:巴黎!✈#假期16代币:哈哈,在海滩上烧烤,进入自鸣得意模式!13代币:和我一起说——我需要一个#假期!!!平生第一次呆在家里,这就是生活!#周末

评估情绪

方法评估标记化文档的情绪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);标题(“负面情绪”

图中包含wordcloud类型的对象。wordcloud类型的图表有一个标题:积极情绪。wordcloud类型的图表有一个标题:负面情绪。

另请参阅

||

相关的话题