我计划在Twitter上使用nrc
情感词典,但我意识到缺少很多单词。有人可以指导我如何用他们对R的特定情感添加一些单词吗? (我已经将nrc下载到我的环境中,并且还使用rbind
添加了单词和情感)。
现在,我不知道要使用我修改过的nrc
词典。请帮助我
我已将nrc下载到我的环境中,并且还使用r bind
添加了单词和情感。现在我不知道如何使用我修改过的nrc词典。请帮助我
答案 0 :(得分:0)
NRC单词情感协会词典的构建方式使其非常适合社交媒体数据,因为它已经存在,因此我建议在taking a look at the details of where it comes from进行更改之前进行分析。但是,如果您决定出于自己的目的,则需要向此类情感词典中添加单词,第一步是通过bind_rows()
将单词逐行添加到数据集中。假设您认为“达西”是一个肯定词,而“威克汉姆”是一个否定词。
library(tidyverse)
library(tidytext)
nrc_lexicon <- get_sentiments("nrc")
custom_lexicon <- nrc_lexicon %>%
bind_rows(tribble(~word, ~sentiment,
"darcy", "positive",
"wickham", "negative"))
现在,当您要执行情感分析时,可以以相同的方式处理这些数据框之一。如果您有文本数据(例如傲慢与偏见的文本),则可以首先使用unnest_tokens()
对其进行整理,然后使用inner_join()
进行情感分析。
tidy_PandP <- tibble(text = janeaustenr::prideprejudice) %>%
unnest_tokens(word, text)
tidy_PandP %>%
inner_join(nrc_lexicon)
#> Joining, by = "word"
#> # A tibble: 29,651 x 2
#> word sentiment
#> <chr> <chr>
#> 1 pride joy
#> 2 pride positive
#> 3 prejudice anger
#> 4 prejudice negative
#> 5 truth positive
#> 6 truth trust
#> 7 possession anger
#> 8 possession disgust
#> 9 possession fear
#> 10 possession negative
#> # … with 29,641 more rows
tidy_PandP %>%
inner_join(custom_lexicon)
#> Joining, by = "word"
#> # A tibble: 30,186 x 2
#> word sentiment
#> <chr> <chr>
#> 1 pride joy
#> 2 pride positive
#> 3 prejudice anger
#> 4 prejudice negative
#> 5 truth positive
#> 6 truth trust
#> 7 possession anger
#> 8 possession disgust
#> 9 possession fear
#> 10 possession negative
#> # … with 30,176 more rows
由reprex package(v0.3.0)于2019-08-03创建
请注意,您可以用相同的方式对任一词典(原始词典或添加了单词的词典)执行情感分析。
我确实要注意,NRC词典的许可证允许将其免费用于研究目的,但是出于商业目的,您必须联系NRC研究人员并支付商业许可证。