CommencerCommencez gratuitement

Polarité tidy avec Bing : exemple simple

Maintenant que vous maîtrisez les bases d'un inner join, appliquons-le au lexique « Bing ». N'oubliez pas que la fonction inner_join() provient de dplyr et que l'objet lexique s'obtient via la fonction get_sentiments() de tidytext.

Le lexique Bing étiquette les mots comme positifs ou négatifs. Les trois exercices suivants vous permettent de manipuler ce lexique spécifique. Pour utiliser get_sentiments(), passez une chaîne comme "afinn", "bing", "nrc" ou "loughran" pour télécharger le lexique correspondant.

Workflow de l'inner join :

  • Obtenez le bon lexique avec get_sentiments().
  • Passez le lexique et les données textuelles tidy à inner_join().
  • Pour que inner_join() fonctionne, il faut un nom de colonne commun. S'il n'y en a pas, déclarez-les avec un paramètre supplémentaire, by égal à c, comme ci-dessous.
object <- x %>% 
    inner_join(y, by = c("column_from_x" = "column_from_y"))
  • Réalisez ensuite quelques agrégations et analyses sur l'intersection des tables.

Cet exercice fait partie du cours

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

Instructions de l’exercice

Nous avons chargé ag_txt, qui contient les 100 premières lignes d'Agamemnon, et ag_tidy, sa version tidy.

  • Pour comparer, utilisez polarity() sur ag_txt.
  • Récupérez le lexique "bing" en passant cette chaîne à get_sentiments().
  • Effectuez un inner_join() avec ag_tidy et bing.
    • Les colonnes de mots s'appellent "term" dans ag_tidy et "word" dans le lexique ; déclarez donc l'argument by.
    • Nommez le nouvel objet ag_bing_words.
  • Affichez ag_bing_words et examinez quelques mots présents dans le résultat.
  • Passez ag_bing_words à count() sur sentiment en utilisant l'opérateur pipe %>%. Comparez le score de polarity() au ratio de comptes de sentiments.

Exercice interactif pratique

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

# Qdap polarity
___

# Get Bing lexicon
bing <- get_sentiments("___")

# Join text to lexicon
ag_bing_words <- ___(___, ___, by = c("___" = "___"))

# Examine
ag_bing_words

# Get counts by sentiment
ag_bing_words %>%
  ___(___)
Modifier et exécuter le code