Racination des mots et recomplétion 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 nous avons vues dans l'exercice précédent. La différence ici, c'est que même si vous appelez stemDocument() sur cette phrase, elle sera renvoyée sans raciner aucun mot. Prenez un moment pour l'essayer dans la console. Assurez-vous 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 dans le document. Pour régler ce problème, nous retirons d'abord la ponctuation avec la fonction removePunctuation(), que vous avez apprise il y a quelques exercices. Nous appliquons ensuite strsplit() à ce vecteur de longueur 1 pour obtenir une longueur n, puis unlist(), et nous procédons ensuite à la racination et à la recomplétion.
Ne vous en faites pas si cela vous a semblé confus. Parcourons le processus étape par étape!
Cette activité fait partie du cours
Extraction de texte avec sac de mots en R
Instructions de l’exercice
Le document text_data et le dictionnaire de recomplétion comp_dict sont chargés dans votre espace de travail.
- Retirez la ponctuation dans
text_dataavecremovePunctuation(), et assignez le résultat àrm_punc. - Appelez
strsplit()surrm_puncavec l'argumentsplitégal à" ". Imbriquez cet appel dansunlist(), et assignez àn_char_vec. - Utilisez de nouveau
stemDocument()pour effectuer la racination des mots surn_char_vec, et assignez àstem_doc. - Créez
complete_docen recomplétant votre document raciné avecstemCompletion()et en utilisantcomp_dictcomme corpus de référence.
Est-ce que stem_doc et complete_doc correspondent à vos attentes?
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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