CommencerCommencez gratuitement

Créez un tibble de texte ordonné !

Puisque vous avez appris les principes du tidy data, ce code vous aide à organiser vos données dans un tibble pour pouvoir ensuite travailler dans le tidyverse.

Vous avez vu précédemment qu'appliquer tidy() à un objet TermDocumentMatrix() convertit la TDM en tibble. Dans cet exercice, vous allez créer directement les données de mots à partir de la colonne d'avis appelée comments.

Commencez par utiliser unnest_tokens() pour mettre le texte en minuscules et tokeniser les avis en mots uniques.

Il est parfois utile de conserver l'ordre original des mots au sein de chaque groupe d'un corpus. Pour cela, utilisez mutate(). Dans mutate(), vous utiliserez seq_along() pour créer une suite de nombres de 1 à la longueur de l'objet. Cela permettra de capturer l'ordre des mots tel qu'il a été écrit.

Dans le package tm, vous utiliseriez removeWords() pour supprimer les stopwords. Dans le tidyverse, vous devez d'abord charger le lexique de mots vides (stopwords), puis appliquer un anti_join() entre le data frame de texte ordonné et ces stopwords.

Cet exercice fait partie du cours

<cours>Analyse de sentiments en R</cours>
Voir le cours

Instructions de l’exercice

  • Créez tidy_reviews en chaînant (%>%) l'objet d'avis original bos_reviews vers la fonction unnest_tokens(). Passez un nouveau nom de colonne, word, et indiquez la colonne comments. Rappelez-vous que dans le tidyverse vous n'avez pas besoin de $ ni de guillemets.
  • Créez une nouvelle variable à la manière tidy ! Réécrivez tidy_reviews en le chaînant vers group_by avec la colonne id. Puis %>% de nouveau vers mutate(). À l'intérieur de mutate, créez une nouvelle variable original_word_order égale à seq_along(word).
  • Affichez le tibble, tidy_reviews.
  • Chargez les stopwords « SMART » prédéfinis dans votre session R avec data("stop_words").
  • Écrasez tidy_reviews en passant le tidy_reviews original à anti_join() avec un %>%. À l'intérieur de anti_join(), passez le lexique prédéterminé stop_words.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Vector to tibble
tidy_reviews <- bos_reviews %>% 
  ___(___, ___)

# Group by and mutate
tidy_reviews <- tidy_reviews %>% 
  ___(___) %>% 
  ___(original_word_order = ___(___))

# Quick review
___

# Load stopwords
___

# Perform anti-join
tidy_reviews_without_stopwords <- tidy_reviews %>% 
  ___(___)
Modifier et exécuter le code