CommencezCommencez gratuitement

Diviser pour mieux régner : utiliser la polarité pour un nuage de comparaison

Maintenant que vous avez vu comment la polarité peut servir à diviser un corpus, passons à l'action ! Ce code vous guidera pour fractionner un corpus selon le sentiment afin d'examiner l'information par sous‑ensembles plutôt que globalement.

Votre session R contient oz_pol, créé en appliquant polarity() à « The Wonderful Wizard of Oz ».

Pour simplifier, nous avons défini une petite fonction personnalisée appelée pol_subsections() qui divise le corpus selon le score de polarité. D'abord, la fonction reçoit un tableau de données où chaque ligne correspond à une phrase ou un document du corpus. Le tableau est ensuite filtré là où les valeurs de polarité sont supérieures ou inférieures à 0. Enfin, les phrases positives et négatives, à polarité non nulle, sont concaténées avec le paramètre collapse pour regrouper les termes en un seul corpus. Pour terminer, les deux documents sont réunis en un seul vecteur contenant deux documents distincts.

pol_subsections <- function(df) {
  x.pos <- subset(df$text, df$polarity > 0)
  x.neg <- subset(df$text, df$polarity < 0)
  x.pos <- paste(x.pos, collapse = " ")
  x.neg <- paste(x.neg, collapse = " ")
  all.terms <- c(x.pos, x.neg)
  return(all.terms)
}

À ce stade, vous avez omis les phrases neutres et vous souhaitez vous concentrer sur l'organisation du texte restant. Dans cet exercice, nous utilisons de nouveau l'opérateur %>% pour chaîner des objets à des fonctions. Après un peu de nettoyage, utilisez comparison.cloud() pour créer la visualisation.

Cette activité fait partie du cours

Analyse de sentiment en R

Voir le cours

Exercice interactif pratique

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

oz_df <- oz_pol$all %>%
  # Select text.var as text and polarity
  ___(text = ___, polarity = ___)

# Apply custom function pol_subsections()
all_terms <- ___(___)

all_corpus <- all_terms %>%
  # Source from a vector
  ___() %>% 
  # Make a volatile corpus 
  ___()
Modifier et exécuter le code