我有一个数据框,其中一列作为文本。我可以将文本分成单词(使用tidytext中的unnest_tokens),然后取所有单词的平均分数。但是,我也想查看我的文本中的双字母组/双字母组的分数 - 因为AFINN词典也有bi / tri克的分数,我认为这可以在一定程度上帮助提高分数。
以下是我正在使用的代码(数据是数据集,Content是带文本的列): 第1步:
review_words <- data %>%
select(Source, Content) %>%
unnest_tokens(word, Content) %>%
filter(!word %in% stopwords(kind="en"),
str_detect(word, "^[a-z']+$"))
步骤2 :( AFINN LIST只有2列 - 单词,各自得分
reviews_sentiment <- review_words %>%
inner_join(afinn_list, by = "word") %>%
group_by(Source) %>%
summarize(sentiment = mean(score))
步骤3:我将结果加回“数据”,以便在原始文本旁边输出分数。
当我尝试在步骤1中进行以下更改时执行上述步骤:
review_words <- data %>%
select(Source, Content) %>%
unnest_tokens(ngram, Content, token = "ngrams", n=2) %>%
filter(!ngram %in% stopwords(kind="en"),
str_detect(ngram, "^[a-z']+$"))
我得到一个空的数据帧。我在这里失踪了什么?就像我对单个单词进行评分一样,只需要快速修复得到bigrams。