Добавление пользовательских стоп-слов в R tm

У меня есть корпус в R, используя tm пакета. Я применяю removeWords функция удаления стоп-слов

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

есть ли способ добавить мои собственные стоп-слова в этот список?

5 ответов


stopwords просто предоставляет вам вектор слов, просто combine свои собственные к этому.

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

сохранить пользовательские stop words в csv-файле (например:word.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

вы можете создать вектор ваших пользовательских стоп-слов и использовать оператор следующим образом:

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

можно добавить свои собственные стоп-слова в список стоп-слов по умолчанию, который пришел вместе с TM install. Пакет " tm " поставляется со многими файлами данных, включая стоп-слова, и обратите внимание, что файлы стоп-слов поставляются для многих языков. Вы можете добавить, удалить или обновить английский.файл dat в каталоге стоп-слов.
Самый простой способ найти каталог стоп-слов-это поиск каталога "стоп-слов" в вашей системе через файловый браузер. И вы должны найти английский.дат вместе с многие другие языковые файлы. Откройте английский.DAT файл из RStudio, который должен позволить редактировать файл - вы можете добавить свои собственные слова или удалить существующие слова по мере необходимости. Это тот же процесс, если вы хотите редактировать стоп-слова на любом другом языке.


вы также можете использовать textProcessor пакета. Он работает довольно хорошо:

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