CommencerCommencer gratuitement

Racinisation et reconstitution des mots sur une phrase

Considérons la phrase suivante comme notre document pour cet exercice :

"In a complicated haste, Tom rushed to fix a new complication, too complicatedly."

Cette phrase contient les trois mêmes formes du mot "complicate" que vous avez vues dans l’exercice précédent. La différence ici, c’est que même si vous appelez stemDocument() sur cette phrase, elle serait renvoyée telle quelle, sans raciniser aucun mot. Prenez un moment pour l’essayer dans la console. N’oubliez pas d’inclure les signes de ponctuation.

Cela se produit parce que stemDocument() traite la phrase entière comme un seul mot. Autrement dit, notre document est un vecteur de caractères de longueur 1, au lieu d’une longueur n, où n est le nombre de mots du document. Pour résoudre ce problème, nous supprimons d’abord les signes de ponctuation avec la fonction removePunctuation() que vous avez découverte il y a quelques exercices. Nous appliquons ensuite strsplit() à ce vecteur de longueur 1 pour obtenir une longueur n, puis unlist(), avant de procéder à la racinisation et à la reconstitution.

Pas d’inquiétude si cela vous semble confus. Passons par les étapes une à une !

Cet exercice fait partie du cours

Text mining avec sac de mots en R

Afficher le cours

Instructions

Le document text_data et le dictionnaire de reconstitution comp_dict sont chargés dans votre environnement de travail.

  • Supprimez les signes de ponctuation dans text_data avec removePunctuation(), et affectez le résultat à rm_punc.
  • Appelez strsplit() sur rm_punc avec l’argument split égal à " ". Imbriquez cet appel dans unlist(), et affectez à n_char_vec.
  • Utilisez de nouveau stemDocument() pour raciniser les mots de n_char_vec, et affectez à stem_doc.
  • Créez complete_doc en reconstituant votre document racinisé avec stemCompletion() et en utilisant comp_dict comme corpus de référence.

Est-ce que stem_doc et complete_doc correspondent à ce que vous attendiez ?

Exercice interactif pratique

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

# Remove punctuation: rm_punc
rm_punc <- ____

# Create character vector: n_char_vec
n_char_vec <- unlist(___(___, split = " "))

# Perform word stemming: stem_doc
stem_doc <- ___

# Print stem_doc
stem_doc

# Re-complete stemmed document: complete_doc
complete_doc <- ___

# Print complete_doc
complete_doc
Modifier et exécuter le code