主要内容

vaderSentimentScores

VADER算法的情感评分

描述

使用vaderSentimentScores用价感知字典和情感推理器(VADER)算法对标记文本中的情感进行评价。的vaderSentimentScores函数默认使用VADER情感词典和修饰语单词列表。

该函数仅支持英文文本。金宝app

例子

compoundScores= vaderSentimentScores (文档返回令牌化文档的情绪得分。该函数通过聚合单个令牌得分来计算复合得分,根据算法规则进行调整,然后在-1和1之间归一化。该函数将丢弃情感词汇表中不存在的所有带有单个字符的标记。

compoundScores= vaderSentimentScores (文档名称,值使用一个或多个名称-值对指定其他选项。

例子

compoundScorespositiveScoresnegativeScoresneutralScores) = vaderSentimentScores (___还使用前面的任何语法分别返回正、负和中性文档的比例。

例子

全部折叠

创建标记化文档。

str = [“这本书非常好!!!!”“这本书不是很好。”];文件= tokenizedDocument (str);

评估标记化文档的情绪。得分接近1表示正面情绪,得分接近-1表示负面情绪,得分接近0表示中性情绪。

compoundScores = vaderSentimentScores(文档)
compoundScores =2×10.7264 - -0.3865

像VADER这样的情感分析算法依赖于被称为情感词典的带注释的单词列表。例如,VADER使用了一个情感词典,其中的词语注释的情感得分范围在-1到1之间,得分接近1表示强烈的积极情绪,得分接近-1表示强烈的消极情绪,得分接近0表示中性情绪。

利用VADER算法对文本情感进行分析vaderSentimentScores函数。如果情感词汇被使用vaderSentimentScores功能不适合您正在分析的数据,例如,如果您有一个领域特定的数据集,如医疗或工程数据,那么您可以使用自己的自定义情感词典。有关如何生成特定领域情感词典的示例,请参见生成领域特定情感词典

创建包含要分析的文本数据的标记化文档数组。

textData = [“这家公司的增长势头非常强劲。”“另一家公司被指控误导消费者。”];文件= tokenizedDocument (textData);

加载金融数据的示例域特定词汇表。

文件名=“financeSentimentLexicon.csv”;台= readtable(文件名);头(台)
ans =8×2表Token SentimentScore _________________ ______________ {'opportunities'} 0.95633 {'innovative'} 0.89635 {'success'} 0.84362 {'focused'} 0.83768 {'strong'} 0.81042 {'capabilities'} 0.79174 {'innovation'} 0.77698 {'improved'} 0.77176

评估情绪使用vaderSentimentScores函数指定自定义情感词典“SentimentLexicon”选择。得分接近1表示正面情绪,得分接近-1表示负面情绪,得分接近0表示中性情绪。

compoundScores = vaderSentimentScores(文档,“SentimentLexicon”(资源)
compoundScores =2×10.2740 - -0.1112

输入参数

全部折叠

输入文档,指定为tokenizedDocument数组中。

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“助推器”,(“verry”“verrry”)指定使用助推器“very”和“verrry”。

情感词典,指定为一个表,有以下几列:

  • 令牌—Token,指定为字符串标量。标记必须是小写的。

  • SentimentScore—令牌情感得分,指定为数字标量。

在评估情绪时,软件在默认情况下,在计算情绪得分之前,会忽略带有一个字符的符号,用等价的文本描述替换表情符号。例如,该软件将表情符号“”替换为文本“咧嘴笑”,然后评估情绪得分。如果你提供带有一个字符的代币或带有相应情感分数的表情符号SentimentLexicon,则该函数不删除或替换这些标记。

默认的情感词典是VADER情感词典。

数据类型:表格

助推词或n字组的列表,指定为字符串数组。

该函数使用助推器n-gram来提升后续令牌的情绪。例如,“absolutely”和“amazing”。

对于单词列表,列表必须是列向量。对于n-g的列表,该列表具有大小NumNgrams——- - - - - -maxN,在那里NumNgramsn-g的个数是多少,和maxN是最大n元的长度。的(i, j)列表的第Th元素是jthe word of the语法。如果单词的数量第n个gram小于maxN,然后是列表的行是空的。

助推器的n字母必须是小写的。

默认的助推器n-gram列表是VADER Booster列表。

数据类型:字符串

阻尼器单词或n字组的列表,指定为字符串数组。

该函数使用阻尼器n-gram来抑制后续标记的情绪。例如,“hardly”和“somewhat”。

对于单词列表,列表必须是列向量。对于n-g的列表,该列表具有大小NumNgrams——- - - - - -maxN,在那里NumNgramsn-g的个数是多少,和maxN是最大n元的长度。的(i, j)列表的第Th元素是jthe word of the语法。如果单词的数量第n个gram小于maxN,然后是列表的行是空的。

阻尼器的n字必须是小写的。

阻尼器n-gram的默认列表是VADER增强列表。

数据类型:字符串

否定字的列表,指定为字符串数组。

该函数使用否定词来否定后续符号的情感。例如,“not”和“isn’t”这样的词。

否定词必须是小写的。

默认的否定词列表是VADER否定列表。

数据类型:字符串

输出参数

全部折叠

以数字矢量返回的复合情感得分。该函数为每个输入文档返回一个分数。的值compoundScores(我)对应的复合情绪得分文档(我)

该函数通过聚合单个令牌得分来确定复合得分,根据VADER算法规则对复合得分进行调整,然后在-1到1之间进行归一化。

积极情绪得分,以数字矢量返回。该函数为每个输入文档返回一个分数。的值positiveScores(我)对应的是正面情绪得分文档(我)

消极情绪得分,以数字矢量返回。该函数为每个输入文档返回一个分数。的值negativeScores(我)对应的是消极情绪得分文档(我)

中性情绪得分,以数字矢量返回。该函数为每个输入文档返回一个分数。的值neutralScores(我)对应于中立情绪得分文档(我)

参考

Hutto, Clayton J.和Eric Gilbert。“维德:一个简洁的基于规则的社交媒体文本情感分析模型。”在第八届AAAI国际博客和社交媒体会议.2014.

介绍了R2019b