2017-09-02 177 views
0

我一直在处理情绪数据集,发现bing和nrc数据集包含几个词,既有积极的一面,也有消极的一面。带有正面和负面情绪的tidytext单词

**兵 - 三个字正面和负面情绪**

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

不!你没有做错任何事情。

这些词库是以不同的方式构建的。例如,NRC lexicon是通过Amazon Mechanical Turk创建的,向人们展示了很多词语,并询问他们是否将每个词语与喜悦,悲伤,积极或消极情绪等联系起来。然后研究人员仔细地进行了验证,校准等等。我们作为人类语言使用者可以将某些英语单词与积极和消极的感觉联系起来,例如“狂热”,并且建立这些特定词典的研究人员决定将这两个词都包括在内。

如果您有一个文本数据集,其中包含单词“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