我一直在使用情绪数据集,发现bing和nrc数据集包含一些既有正面情绪又有负面情绪的单词。
** bing - 带有正面和负面情绪的三个词**
env_test_bing_raw <- get_sentiments("bing") %>%
filter(word %in% c("envious", "enviously","enviousness"))
# A tibble: 6 x 2
word sentiment
<chr> <chr>
1 envious positive
2 envious negative
3 enviously positive
4 enviously negative
5 enviousness positive
6 enviousness negative
** nrc - 具有正面和负面情绪的81个单词**
test_nrc <- as.data.frame(
get_sentiments("nrc") %>%
filter(sentiment %in% c("positive","negative")) %>%
group_by(word) %>%
summarize(count = n()) %>%
filter(count > 1))
env_test_nrc <- get_sentiments("nrc") %>%
filter(sentiment %in% c("positive","negative")) %>%
filter(word %in% test_nrc$word)
# A tibble: 162 x 2
word sentiment
<chr> <chr>
1 abundance negative
2 abundance positive
3 armed negative
4 armed positive
5 balm negative
6 balm positive
7 boast negative
8 boast positive
9 boisterous negative
10 boisterous positive
# ... with 152 more rows
我很好奇,如果我做错了什么,或者一个词在单个源数据集中如何同时具有消极和积极的情绪。处理这些情况的标准做法是什么?
谢谢!
答案 0 :(得分:0)
都能跟得上!你没有做错任何事。
这些词汇以不同的方式构建。例如,NRC lexicon是通过亚马逊机械土耳其人建立的,向人们展示了许多单词,并询问他们是否将每个单词与喜悦,悲伤,积极或消极的影响等联系在一起。然后研究人员做了一个小心的工作验证,校准等等。我们作为人类语言用户可以将一些英语单词与正面和负面的感觉联系起来,例如“喧闹”,构建这些特定词汇的研究人员决定将这些单词作为两者包含在内。< / p>
如果您的文本数据集中包含“boisterous”一词并使用类似这样的词汇,那么它将在正面和负面方向上做出贡献(同时也会产生愤怒,期待和喜悦)案件)。如果您最终计算某些情绪,部分或文档的净情绪(正负减去),则该特定单词的效果将被抵消。
library(tidytext)
library(dplyr)
get_sentiments("nrc") %>%
filter(word == "boisterous")
#> # A tibble: 5 x 2
#> word sentiment
#> <chr> <chr>
#> 1 boisterous anger
#> 2 boisterous anticipation
#> 3 boisterous joy
#> 4 boisterous negative
#> 5 boisterous positive