Match en cage ! Évaluations positives : Amazon vs Google
Les évaluations positives d'Amazon semblent mentionner des bigrammes comme « good benefits », tandis que ses évaluations négatives portent sur des enjeux comme la « workload » et l'« équilibre travail‑vie personnelle ».
À l'inverse, les évaluations positives de Google évoquent « great food », « perks », « smart people » et une « fun culture », entre autres. Les évaluations négatives de Google parlent de « politics », de « getting big », de « bureaucracy » et de « middle management ».
Vous décidez de créer un diagramme en pyramide alignant les évaluations positives d'Amazon et de Google afin de comparer les différences entre les bigrammes partagés.
Nous avons préchargé un cadre de données, all_tdm_df, composé de terms et des fréquences de bigrammes correspondantes AmazonPro et GooglePro. À partir de ce cadre de données, vous allez repérer les 5 principaux bigrammes communs aux deux corpus.
Cette activité fait partie du cours
Extraction de texte avec sac de mots en R
Instructions de l’exercice
- Créez
common_wordsà partir deall_tdm_dfen utilisant les fonctions dedplyr.- Appliquez
filter()sur la colonneAmazonPropour garder les valeurs non nulles. - Filtrez de la même façon la colonne
GooglePropour les valeurs non nulles. - Puis utilisez
mutate()pour ajouter une nouvelle colonnediff, qui est la différence absolue (abs) entre les colonnes de fréquences des termes.
- Appliquez
- Chaînez
common_wordsdansslice_maxpour créertop5_df, en référant la colonnediffet les5plus grandes valeurs. Le résultat s'affichera dans votre console pour vérification. - Créez un
pyramid.ploten passant d'abordtop5_df$AmazonPro, puistop5_df$GooglePro, et enfin ajoutez les étiquettes avectop5_df$terms.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Filter to words in common and create an absolute diff column
common_words <- all_tdm_df %>%
filter(
___ != 0,
___ != 0
) %>%
___(diff = ___(___ - ___))
# Extract top 5 common bigrams
(top5_df <- common_words %>% ___(___, n = ___))
# Create the pyramid plot
pyramid.plot(top5_df$___, top5_df$___,
labels = top5_df$___, gap = 12,
top.labels = c("Amzn", "Pro Words", "Goog"),
main = "Words in Common", unit = NULL)