2013-08-26 17 views
11

Ho un Corpus in R utilizzando il pacchetto tm. Mi candido la funzione removeWords per rimuovere stopwordsAggiunta di stopword personalizzate in R tm

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

Esiste un modo per aggiungere le mie parole stop personalizzato a questa lista?

risposta

31

stopwords fornisce solo un vettore di parole, solo c ombina i propri a questo.

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

Invece di dover fare questo per ogni operazione, c'è un file o dict dove posso aggiungere queste parole stop extra come cento, cento, milioni ecc? – Pradeep

1

È possibile creare un vettore di vostra abitudine stopwords & utilizzare l'istruzione in questo modo:

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

Si suppone che myStopWords sia un elenco o un carattere? puoi fornire il comando per creare myStopWords? Questo funziona myStopWords <- read.csv ('mystop.csv') – harsha

1

E 'possibile aggiungere i propri stopwords alla lista predefinita di parole non significative che è arrivato con tm installazione . Il pacchetto "tm" include molti file di dati, incluse le stopword, e nota che i file di stopword sono disponibili in molte lingue. È possibile aggiungere, eliminare o aggiornare il file english.dat nella directory stopword.
Il modo più semplice per trovare la directory stopwords è cercare la directory "stopwords" nel sistema tramite il browser dei file. E dovresti trovare english.dat insieme a molti altri file di lingua. Apri il file english.dat di RStudio che dovrebbe consentire di modificare il file - puoi aggiungere le tue parole o eliminare le parole esistenti secondo necessità. È lo stesso processo se si desidera modificare le stopword in qualsiasi altra lingua.

2

Salva la tua stop words personalizzata in un file csv (ad esempio: word.csv).

library(tm) 
stopwords <- read.csv("word.csv", header = FALSE) 
stopwords <- as.character(stopwords$V1) 
stopwords <- c(stopwords, stopwords()) 

Quindi è possibile applicare custom words al file di testo.

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 
+0

utilizza il rientro a 4 spazi per i blocchi di codice (invece di backticking) – YakovL

Problemi correlati