问题描述
我正在使用 R 中的 tidytext 方法从文本正文中删除停用词。 https://www.tidytextmining.com/tidytext.html
以下示例有效:
library(tidytext)
library(dplyr)
data(stop_words)
str_v <- paste(c("i've been dancing after midnight,i'd kNow because it's
daylight"))
str_v %>%
as_tibble %>%
unnest_tokens(word,value) %>%
anti_join(stop_words)
当我将此方法应用于我正在处理的数据时,它不会出错,但不会删除停用词。是否需要在文本结构中发生一些不可见的事情才能匹配停用词?输出行看起来与停用词相同(降低、压扁等),但它们仍然存在......我正在处理受保护的数据,无法分享源材料。对此问题的任何建议或建议都会非常有帮助,谢谢!
解决方法
在语法上苦苦挣扎后,事实证明问题是标点符号的人工制品,总结为:
"’" != "'"
在向量中使用 mutate()
到 str_replace_all()
,现在停止词工作。
answer <-
my_data %>%
mutate(text = str_replace_all(text,"’","'"))