在R tm中添加自定义停用词

时间:2013-08-26 14:22:05

标签: r text-mining stop-words corpus tm

我使用tm包在R中有一个语料库。我正在应用removeWords功能删除停用词

tm_map(abs, removeWords, stopwords("english")) 

有没有办法将自己的自定义停用词添加到此列表中?

6 个答案:

答案 0 :(得分:33)

stopwords只是为您提供了一个单词矢量,只需c将您自己的单词提供给此。

tm_map(abs, removeWords, c(stopwords("english"),"my","custom","words")) 

答案 1 :(得分:3)

将自定义word.csv保存在csv文件中(例如:library(tm) stopwords <- read.csv("word.csv", header = FALSE) stopwords <- as.character(stopwords$V1) stopwords <- c(stopwords, stopwords()) )。

custom words

然后,您可以将text <- VectorSource(text) text <- VCorpus(text) text <- tm_map(text, content_transformer(tolower)) text <- tm_map(text, removeWords, stopwords) text <- tm_map(text, stripWhitespace) text[[1]]$content 应用于您的文本文件。

{{1}}

答案 2 :(得分:2)

您还可以使用textProcessor软件包。效果很好:

textProcessor(documents, 
  removestopwords = TRUE, customstopwords = NULL)

答案 3 :(得分:1)

您可以创建自定义停用词的向量。使用这样的语句:

tm_map(abs, removeWords, c(stopwords("english"), myStopWords)) 

答案 4 :(得分:1)

可以将自己的停用词添加到tm install附带的默认停用词列表中。 “tm”软件包附带了许多数据文件,包括停用词,并注意停用词文件适用于多种语言。您可以在stopwords目录下添加,删除或更新english.dat文件 找到stopwords目录的最简单方法是通过文件浏览器在系统中搜索“stopwords”目录。你应该找到english.dat以及许多其他语言文件。从RStudio打开english.dat文件,该文件应该能够编辑文件 - 您可以根据需要添加自己的单词或删除现有单词。 如果您想用任何其他语言编辑停用词,这是相同的过程。

答案 5 :(得分:0)

我使用的是停用词库而不是 tm 库。我只是决定把我的解决方案放在这里,以防有人需要它。

# Create a list of custom stopwords that should be added
word <- c("quick", "recovery")
lexicon <-  rep("custom", times=length(word))

# Create a dataframe from the two vectors above
mystopwords <- data.frame(word, lexicon)
names(mystopwords) <- c("word", "lexicon")

# Add the dataframe to stop_words df that exists in the library stopwords
stop_words <-  dplyr::bind_rows(stop_words, mystopwords)
View(stop_words)