CommencerCommencer gratuitement

Combat en cage ! Avis pro Amazon vs Google

Les avis positifs sur Amazon semblent mentionner des bigrammes comme « good benefits », tandis que les avis négatifs mettent l’accent sur des questions de « workload » et d’« work-life balance ».

À l’inverse, les avis positifs sur Google évoquent « great food », « perks », « smart people » et une « fun culture », entre autres. Les avis négatifs sur Google parlent de « politics », de « getting big », de « bureaucracy » et de « middle management ».

Vous décidez de créer un pyramid plot alignant les avis positifs d’Amazon et de Google pour comparer les différences entre les bigrammes communs. Nous avons préchargé un data frame, all_tdm_df, constitué de terms et des fréquences de bigrammes correspondantes AmazonPro et GooglePro. À partir de ce data frame, vous allez identifier les 5 principaux bigrammes partagés entre les deux corpus.

Cet exercice fait partie du cours

Text mining avec sac de mots en R

Afficher le cours

Instructions

  • Créez common_words à partir de all_tdm_df en utilisant les fonctions dplyr.
    • filter() sur la colonne AmazonPro pour conserver les valeurs non nulles.
    • Filtrez de même la colonne GooglePro pour les valeurs non nulles.
    • Puis mutate() une nouvelle colonne diff, qui est la différence absolue (abs) entre les colonnes de fréquences de termes.
  • Passez common_words via un pipe à slice_max pour créer top5_df, en référencant la colonne diff et les 5 plus grandes valeurs. Le résultat s’affichera dans votre console pour vérification.
  • Créez un pyramid.plot en passant d’abord top5_df$AmazonPro, puis top5_df$GooglePro, et enfin ajoutez les étiquettes avec top5_df$terms.

Exercice interactif pratique

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

# 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)
Modifier et exécuter le code