anti_join 无法识别数据集中的 tidytext 停用词

问题描述

我正在使用 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,"’","'"))

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...