Comparer et contraster un diagramme à barres empilées
Une autre façon d'analyser votre texte consiste à voir quelle proportion du ou des documents est composée de mots positifs ou négatifs. Par exemple, un avis de restaurant peut contenir des éléments positifs comme « the food was good », puis ajouter « the restaurant was dirty, the staff was rude and parking was awful. » Vous voudrez donc peut‑être savoir quelle part d'un document est consacrée à un langage positif ou négatif. Dans cet exemple, la proportion de négatif serait plus élevée que celle de positif.
Une méthode consiste à count() les mots positifs et négatifs, puis à diviser par le nombre de mots de subjectivité repérés. Dans l'exemple de l'avis, « good » compterait pour 1 positif et « dirty », « rude » et « awful » pour 3 termes négatifs. Un calcul simple amènerait à conclure que l'avis est positif à 25 % et négatif à 75 %, puisqu'on compte 4 termes de subjectivité.
Commencez par effectuer le inner_join() sur une trame de données ordonnée unifiée contenant 4 livres : Agamemnon, Oz, Huck Finn et Moby Dick. Comme dans l'exercice précédent, vous utiliserez filter() et grepl().
Pour effectuer le count(), vous devez regrouper les données par livre puis par sentiment. Par exemple, tous les mots positifs d'Agamemnon doivent être regroupés puis totalisés afin de ne pas mélanger les mots positifs de tous les livres. Heureusement, vous pouvez transmettre plusieurs variables directement à count().
Cette activité fait partie du cours
Analyse de sentiment en R
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Review tail of all_books
tail(all_books)
# Count by book & sentiment
books_sent_count <- all_books %>%
# Inner join to nrc lexicon
___(___, by = c("term" = "word")) %>%
# Keep only positive or negative
___(__("___", sentiment)) %>%
# Count by book and by sentiment
___(___, ___)
# Review entire object
books_sent_count