我试图使用vader情绪分析工具[1]来预测Facebook评论的情绪,但是它无法预测表情符号的情绪,它在某些注释中起作用,而在另一些注释中却没有。
result=db.post.find()
analyzer=SentimentIntensityAnalyzer()
for sentence in sentences:
vs=analyzer.polarity_scores(sentence)
print("{:-<65} {}".format(sentence,str(vs)))
输出的摘录是-
I am rishav 😆---------------------------------------------------- {'neg': 0.0, 'neu': 0.615, 'pos': 0.385, 'compound': 0.3612}
Woohooo😍✌️------------------------------------------------------- {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}
它正在某些句子上运行,而在其他句子上却没有运行,我正在从数据库中遍历。此外,在某些情况下,当我仅使用1个图释时,它可以工作,但多次使用,则不起作用。
如何解决这个错误?
[1]:Vader Sentiment Analysis tool!
最佳答案
您的代码看起来不错,但您的示例却没有。
如果您经过VADER代码,则首先从字典中获取每个单词的分数。为此,使用空格将句子切成薄片。
在您提供的示例中,图释之间没有空格,甚至单词也没有。因此,VADER将其视为一个单词。
您可以使用您的代码进行验证
analyzer=SentimentIntensityAnalyzer()
sentences = ["Woohooo😍✌️", "Woohooo 😍 ✌️"]
for sentence in sentences:
vs=analyzer.polarity_scores(sentence)
print("{:-<65} {}".format(sentence,str(vs)))
输出为:
Woohooo😍✌️------------------------------------------------------- {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}
Woohooo 😍 ✌️----------------------------------------------------- {'neg': 0.0, 'neu': 0.446, 'pos': 0.554, 'compound': 0.7351}
希望这能解决您的问题。
关于python-3.x - 无法预测表情符号的情绪,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52110025/