我一直在使用sentiments数据集,发现bing和nrc数据集包含一些既有积极情绪又有负面情绪的单词。
**必应--三个有正面和负面情绪的词**
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我很好奇我是不是做错了什么,或者一个单词如何在一个单一的源数据集中既有负面情绪又有正面情绪。处理这些情况的标准实践是什么?
谢谢!
发布于 2017-09-04 06:36:47
不是的!你没有做错任何事。
这些词典是以不同的方式构建的。例如,NRC lexicon是通过亚马逊机械土耳其人建立的,向人们展示大量的单词,并询问他们是否将每个单词与快乐、悲伤、积极或消极的情绪等联系在一起。然后,研究人员做了仔细的验证、校准等工作。作为人类语言用户,有些英语单词可以与积极和消极的感觉联系在一起,比如“喧闹的”,构建这些特定词汇的研究人员决定将这些单词都包括在内。
如果您有一个文本数据集,其中包含“喧闹的”一词,并使用像这样的词典,那么它将在积极和消极两个方向上做出贡献(在这种情况下,还会导致愤怒、预期和快乐)。如果您最终计算了某些情感、部分或文档的净情感(正负负),则该特定单词的影响将被抵消。
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 positivehttps://stackoverflow.com/questions/46016174
复制相似问题