r语言 - 在 tidyr 中对 ngram 进行词干提取



我正在尝试创建两个词词词干的双拼词。但是我的代码只对第二个单词进行词干提取,而对第一个单词进行词干提取。因此,例如,"担心"和"担心"是分开列出的。

任何协助将不胜感激。

bigram_text <- text_df %>% 
mutate_all(as.character) %>%
unnest_tokens(bigram, text, token = "ngrams", n = 2)%>% 
mutate(bigram = wordStem(bigram))
bigramcount<- bigram_text %>%
count(bigram, sort = TRUE)

您面临的问题是wordStem和许多其他词干分析器只干词干。你想干一个双字母是 2 个字。你需要的是使用一个可以对句子进行词干的特定函数。在这种情况下,您可以使用包文本词干中名为stem_strings的函数。

library(textstem)

bigram_text <- text_df %>% 
mutate_all(as.character) %>%
unnest_tokens(bigram, text, token = "ngrams", n = 2)%>% 
mutate(bigram = stem_strings(bigram))

当然,一种更迂回的方法是将 bigram 分成 2 列,将列词干,然后将它们粘贴回一起。

最新更新