Applica i passaggi di preprocessing a un corpus
Il pacchetto tm fornisce la funzione tm_map() per applicare funzioni di pulizia a un intero corpus, semplificando i passaggi di cleaning.
tm_map() accetta due argomenti: un corpus e una funzione di pulizia. Qui, removeNumbers() è del pacchetto tm.
corpus <- tm_map(corpus, removeNumbers)
Per compatibilità, le funzioni di base R e di qdap devono essere incapsulate in content_transformer().
corpus <- tm_map(corpus, content_transformer(replace_abbreviation))
Potresti applicare le stesse funzioni a più corpora; usare una funzione personalizzata come quella mostrata nell’editor ti farà risparmiare tempo (e righe di codice). clean_corpus() accetta un argomento, corpus, applica in ordine una serie di funzioni di pulizia e poi restituisce il corpus aggiornato.
L’ordine dei passaggi di pulizia fa la differenza. Per esempio, se esegui removeNumbers() e poi replace_number(), la seconda funzione non troverà nulla da modificare! Controlla, ricontrolla e controlla ancora i tuoi risultati!
Questo esercizio fa parte del corso
Text mining con Bag-of-Words in R
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Alter the function code to match the instructions
clean_corpus <- function(corpus) {
# Remove punctuation
corpus <- tm_map(corpus, ___)
# Transform to lower case
corpus <- tm_map(corpus, ___)
# Add more stopwords
corpus <- tm_map(corpus, removeWords, words = c(stopwords("en"), "coffee", ___))
# Strip whitespace
___
return(corpus)
}