Créer des corpus basés sur la polarité
Dans cet exercice, vous allez réaliser l'étape 3 du workflow de text mining. Bien que qdap ne soit pas un package tidy, vous allez mutate() une nouvelle colonne à partir de la liste polarity renvoyée, qui représente les scores d'all polarity (c'est un indice). Dans le chapitre 3, nous avons utilisé une fonction personnalisée pol_subsections qui n'emploie que des constructions de base R. Cependant, pour respecter les principes tidy, cet exercice utilise d'abord filter() puis présente pull(). La fonction pull() fonctionne comme [[ pour extraire une seule variable.
Une fois les données séparées, vous concaténerez tous les commentaires positifs et négatifs en deux grands documents représentant l'ensemble des mots des avis positifs et négatifs sur les locations.
Enfin, vous allez créer une matrice termes-documents (TDM) pondérée par la fréquence inverse des documents (TF‑IDF). Comme le code de cet exercice part d'une structure tidy, certaines fonctions empruntées à tm sont utilisées avec l'opérateur %>% pour conserver un style cohérent. Si les bases du package tm ne vous sont pas familières, consultez le cours Text Mining with Bag-of-Words in R. Au lieu de simplement compter le nombre d'occurrences d'un mot (fréquence), les valeurs de la TDM sont pénalisées pour les termes trop fréquents, ce qui aide à réduire les mots non informatifs.
Cet exercice fait partie du cours
<cours>Analyse de sentiments en R</cours>Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
pos_terms <- bos_reviews %>%
# Add polarity column
___(polarity = ___) %>%
# Filter for positive polarity
___(___) %>%
# Extract comments column
___(___) %>%
# Paste and collapse
___(collapse = "___")