Polarité tidy avec Bing : exemple simple
Maintenant que vous comprenez les bases d'une jointure interne, appliquons cela au lexique « Bing ». Gardez à l'esprit que la fonction inner_join() provient de dplyr et que l'objet du lexique est obtenu à l'aide de la fonction get_sentiments() de tidytext.
Le lexique Bing étiquette les mots comme positifs ou négatifs. Les trois prochains exercices vous permettent d'interagir avec ce lexique précis. Pour utiliser get_sentiments(), transmettez une chaîne comme « afinn », « bing », « nrc » ou « loughran » pour télécharger le lexique souhaité.
Flux de travail de la jointure interne :
- Obtenez le bon lexique avec
get_sentiments(). - Passez le lexique et les données textuelles en format tidy à
inner_join(). - Pour que
inner_join()fonctionne, il doit y avoir un nom de colonne partagé. S'il n'y en a pas, déclarez-les avec un paramètre supplémentaire,byégal àcavec les noms de colonnes comme ci-dessous.
object <- x %>%
inner_join(y, by = c("column_from_x" = "column_from_y"))
- Effectuez une certaine agrégation et analyse sur l'intersection des tables.
Cette activité fait partie du cours
Analyse de sentiment en R
Instructions de l’exercice
Nous avons chargé ag_txt, qui contient les 100 premières lignes d'Agamemnon, ainsi que ag_tidy, sa version tidy.
- Pour comparaison, utilisez
polarity()surag_txt. - Obtenez le lexique
"bing"en passant cette chaîne àget_sentiments(). - Effectuez un
inner_join()avecag_tidyetbing.- Les colonnes de mots s'appellent
"term"dansag_tidyet"word"dans le lexique, donc déclarez l'argumentby. - Nommez le nouvel objet
ag_bing_words.
- Les colonnes de mots s'appellent
- Affichez
ag_bing_wordset examinez quelques-uns des mots présents dans le résultat. - Passez
ag_bing_wordsàcount()desentimenten utilisant l'opérateur de tuyauterie %>%. Comparez le score depolarity()au ratio de dénombrement des 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 %>%
___(___)