0

我正在尝试使用 Sentimentr 中的 hash_sentiment_socal_google 进行情绪分析。查看回复,我注意到“不确定”或“未知”的单字回复的平均情绪得分为 -.5。“是”,得到 0.8。我希望它们都显示为 0 或中性。

我实际上在 hash_sentiment_socal_google 中没有看到任何这些词,所以我不确定为什么这些响应被分配情绪分数。但我只是想我可以将以下代码添加到密钥中以设置为 0:

updated_socal_google <- 
  sentimentr:::update_polarity_table(lexicon::hash_sentiment_socal_google,
  x = data.frame(words = c('yes', 'unsure', 'unknown'),
  polarity = c(0, 0, 0), stringsAsFactors = FALSE))

但是在运行下面的代码之后:

sentiments_new <- sentiment_by(text_sentences, by = NULL, 
                           averaging.function = average_mean,  
                           updated_socal_google, amplifier.weight = .5, 
                           n.before = 10, n.after = 4)

这些单字回复仍然被分配与以前相同的平均情绪分数,而不是 0。有人可以解释我做错了什么吗?

谢谢!

4

1 回答 1

0

找到了答案,所以想更新以防其他人遇到这个问题。我需要指定polarity_dt = updated_socal_google。

因此,而不是我上面的内容:

sentiments_new <- sentiment_by(text_sentences, by = NULL, 
                           averaging.function = average_mean,  
                           polarity_dt = updated_socal_google, amplifier.weight = .5, 
                           n.before = 10, n.after = 4)
于 2021-04-21T12:27:51.553 回答