CommencerCommencer gratuitement

Appliquer des étapes de prétraitement à un corpus

Le package tm propose la fonction tm_map() pour appliquer des fonctions de nettoyage à l’ensemble d’un corpus, ce qui simplifie les étapes de nettoyage.

tm_map() prend deux arguments : un corpus et une fonction de nettoyage. Ici, removeNumbers() provient du package tm.

corpus <- tm_map(corpus, removeNumbers)

Pour des raisons de compatibilité, les fonctions de base R et de qdap doivent être encapsulées dans content_transformer().

corpus <- tm_map(corpus, content_transformer(replace_abbreviation))

Vous pouvez être amené à appliquer les mêmes fonctions à plusieurs corpus ; utiliser une fonction personnalisée comme celle affichée dans l’éditeur vous fera gagner du temps (et des lignes de code). clean_corpus() prend un argument, corpus, applique une série de fonctions de nettoyage dans l’ordre, puis renvoie le corpus mis à jour.

L’ordre des étapes de nettoyage a son importance. Par exemple, si vous exécutez removeNumbers() puis replace_number(), la deuxième fonction ne trouvera plus rien à modifier ! Vérifiez, revérifiez et re-revérifiez vos résultats !

Cet exercice fait partie du cours

Text mining avec sac de mots en R

Afficher le cours

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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)
}
Modifier et exécuter le code