词干字典可以用作 R 中的拒绝标准吗?
Can a stemming dictionary be used as rejection criteria in R?
我正在努力进行一些文本分析,而且我不确定我是否正确地进行了词干提取。现在,我的单项词干提取命令是
text_stem <- text_clean %>% mutate(stem = wordStem(word, language = "english"))
是否可以将其不仅用作词干提取器,还用作过滤器?例如,如果“text_clean”包含单词 aksdjhgla 并且该单词不在 SnowballC 用作字典的任何内容中,那么词干文本会拒绝它吗?也许还有另一个执行这种过滤的命令?
wordStem
不使用字典,而是使用语法规则进行词干提取(顺便说一句,这是词形还原的一种相当粗略的近似)。这是一个例子:
words <- c("win", "winning")
words2 <- c("aksdjhglain", "aksdjhglainning")
SnowballC::wordStem(words, language = "english")
#> [1] "win" "win"
SnowballC::wordStem(words2, language = "english")
#> [1] "aksdjhglain" "aksdjhglain"
如您所见,wordStem
的作用完全相同,无论这些词是否真实存在或完全是垃圾。重要的是词尾(即词干)。正如@Kat 所建议的,您可能想查看实际使用字典的 hunspell
包。要找出字典中存在哪些单词,请使用 hunspell_check
:
hunspell::hunspell_check(c(words, words2))
#> [1] TRUE TRUE FALSE FALSE
在您现有的代码中,您可以使用它来删除拼写错误的单词:
text_stem <- text_clean %>%
mutate(stem = wordStem(word, language = "english")) %>%
filter(hunspell::hunspell_check(word), dict = dictionary("en_US"))
我正在努力进行一些文本分析,而且我不确定我是否正确地进行了词干提取。现在,我的单项词干提取命令是
text_stem <- text_clean %>% mutate(stem = wordStem(word, language = "english"))
是否可以将其不仅用作词干提取器,还用作过滤器?例如,如果“text_clean”包含单词 aksdjhgla 并且该单词不在 SnowballC 用作字典的任何内容中,那么词干文本会拒绝它吗?也许还有另一个执行这种过滤的命令?
wordStem
不使用字典,而是使用语法规则进行词干提取(顺便说一句,这是词形还原的一种相当粗略的近似)。这是一个例子:
words <- c("win", "winning")
words2 <- c("aksdjhglain", "aksdjhglainning")
SnowballC::wordStem(words, language = "english")
#> [1] "win" "win"
SnowballC::wordStem(words2, language = "english")
#> [1] "aksdjhglain" "aksdjhglain"
如您所见,wordStem
的作用完全相同,无论这些词是否真实存在或完全是垃圾。重要的是词尾(即词干)。正如@Kat 所建议的,您可能想查看实际使用字典的 hunspell
包。要找出字典中存在哪些单词,请使用 hunspell_check
:
hunspell::hunspell_check(c(words, words2))
#> [1] TRUE TRUE FALSE FALSE
在您现有的代码中,您可以使用它来删除拼写错误的单词:
text_stem <- text_clean %>%
mutate(stem = wordStem(word, language = "english")) %>%
filter(hunspell::hunspell_check(word), dict = dictionary("en_US"))