是否可以将术语添加到 `lexicon` 包的词典中?

Is it possible to add terms to the dictionaries of `lexicon` package?

sentimentr 提供了在句子级别计算文本极性情绪的工具, 可选择按行或分组变量聚合。它的功能之一,sentiment,逐句近似文本的情感(极性)。特别是,

sentiment(text.var, polarity_dt = lexicon::hash_sentiment_jockers_rinker, ...)

text.var 是文本变量,而 polarity_dtlexicon 包提供的字典。我想知道是否可以通过添加单词(及其相应的分数)来扩展 lexicon 词典中的术语集。

可以。情绪 table 只是 data.tables。如果您有单词要添加,只需创建您自己的 table 并将它们添加到词典中。请参阅下面的示例。

library(sentimentr)
library(data.table)

extra_terms <- data.table(x = c("word1", "word2"),
                          y = c(1.0, -1.0), 
                          key = "x")
# merge data with lexicon
my_lex <- merge(lexicon::hash_sentiment_jockers_rinker, extra_terms, by = c("x", "y"), all = TRUE)

sentiment(text.var, polarity_dt = my_lex, ...)