我想通过以下方式使用 removeWords
( stopwords("english")
) 函数: corpus <- tm_map(corpus,removeWords, stopwords("english"))
但有些词如“不”,以及我想保留的其他否定。
如果指定,是否可以使用 removeWords, stopwords("english")
函数但排除该列表中的某些单词?
例如,我如何防止删除“not”?
(次要)是否可以将这种类型的控制列表设置为所有“否定”?
我宁愿不使用我感兴趣的停止列表中的单词创建自己的自定义列表。
最佳答案
您可以通过获取 stopwords("en")
和要排除的单词列表之间的差异来创建自定义停用词列表:
exceptions <- c("not")
my_stopwords <- setdiff(stopwords("en"), exceptions)
如果您需要删除所有否定,您可以从
grep
列表中对它们进行 stopwords()
:exceptions <- grep(pattern = "not|n't", x = stopwords(), value = TRUE)
# [1] "isn't" "aren't" "wasn't" "weren't" "hasn't" "haven't" "hadn't" "doesn't" "don't" "didn't"
# [11] "won't" "wouldn't" "shan't" "shouldn't" "can't" "cannot" "couldn't" "mustn't" "not"
my_stopwords <- setdiff(stopwords("en"), exceptions)
关于r - 包 tm : removeWords How do I avoid removing CERTIAN (negations specifically) "english" stopwords if specified?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33362801/