此示例显示了如何使用价值感知词典和情绪推理(VADER)算法进行情感分析。
VADER算法使用一个带注释的单词列表(情感词典),其中每个单词都有相应的情感得分。VADER算法还利用单词列表来修改文本中进行的单词的分数:
助推器 - 促进程序的情绪的词语或n-grams。例如,像“绝对”和“令人惊讶”的单词。
阻尼器 - 抑制前令牌的情绪的词语或n-grams。例如,像“几乎没有”和“有点”的单词。
否定 - 否定程序令牌的情绪的词语。例如,像“不是”和“不是”的单词。
为了评估文本中的情绪,使用vadersentementices
功能。
提取文件中的文本数据waydandupdates.xlsx.
使用可阅读
。文件waydandupdates.xlsx.
包含包含hashtags的状态更新“#周末”
和“#假期”
。
filename =“waydendupdates.xlsx”;tbl = readtable(文件名,'texttype'那'细绳');头(TBL)
ANS =.8×2表ID TextData __ _________________________________________________________________________________ 1 "Happy anniversary! ❤ Next stop: Paris! ✈ #vacation" 2 "Haha, BBQ on the beach, engage smug mode! ❤ #vacation" 3 "getting ready for Saturday night #yum #weekend " 4 "Say it with me - I NEED A #VACATION!!! ☹" 5 " Chilling at home for the first time in ages…This is the life! #weekend" 6 "My last #weekend before the exam ." 7 "can’t believe my #vacation is over so unfair" 8 "Can’t wait for tennis this #weekend "
从文本数据创建一系列令牌文档,并查看前几个文档。
str = tbl.TextData;文件= tokenizedDocument (str);文档(1:5)
11代币:周年快乐!下一站:巴黎!✈#假期16代币:哈哈,在海滩上烧烤,进入自鸣得意模式!13代币:和我一起说——我需要一个#假期!!!平生第一次呆在家里,这就是生活!#周末
使用该评估牌化文件的情绪Vadersentimentlexticon.
功能。靠近1表示积极情绪,靠近-1的分数表示负面情绪,靠近0表示中性情绪。
compoundScores = vaderSentimentScores(文件);
查看前几个文件的分数。
复合血管(1:5)
ANS =.5×10.4738 0.9348 0.6705 -0.5067 0.7345
在Word云中可视化具有正面和负面情绪的文本。
idx =复合谱> 0;strpositive = str(Idx);strnegative = str(〜idx);图形子图(1,2,1)WordCloud(strspositive);标题(“积极情绪”)子图(1,2,2)WordCloud(strnegative);标题(“负面情绪”的)