CommencerCommencez gratuitement

Stressed Out !

Ici, vous allez ajuster la liste des mots négatifs pour tenir compte du texte spécifique. Vous comparerez ensuite les scores polarity() de base et personnalisés.

Une chanson populaire de Twenty One Pilots s'intitule « Stressed Out ». En parcourant les paroles, vous constaterez qu'elle traite de la nostalgie de la jeunesse. Globalement, la plupart des gens diraient que la polarité est négative. Les paroles évoquent à plusieurs reprises le stress, les peurs et le fait de faire semblant.

Comparons les paroles de la chanson avec le lexique de subjectivité par défaut, puis avec un lexique personnalisé.

Pour commencer, vous devez vérifier que le lexique de subjectivité key.pol ne contient pas déjà le terme que vous souhaitez ajouter. Une façon de vérifier consiste à utiliser grep(). La fonction grep() renvoie la ligne contenant des caractères correspondant à un motif de recherche. Voici un exemple utilisé lors d'un indexage.

data_frame[grep("search_pattern", data_frame$column), ]

Après avoir vérifié que l'argot ou le nouveau mot n'est pas déjà présent dans le lexique key.pol, vous devez l'ajouter. Le code ci-dessous utilise sentiment_frame() pour construire le nouveau lexique. Dans ce code, sentiment_frame() accepte le vecteur initial de mots positifs, positive.words. Ensuite, les negative.words d'origine sont concaténés avec « smh » et « kappa », deux termes d'argot considérés comme négatifs. Bien que vous puissiez définir des pondérations positives et négatives, la valeur par défaut est 1 et -1 ; elles ne sont donc pas précisées ci-dessous.

custom_pol <- sentiment_frame(positive.words, c(negative.words, "hate", "pain"))

Vous êtes maintenant prêt à appliquer la polarité, qui se basera sur le lexique de subjectivité personnalisé.

Cet exercice fait partie du cours

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

Instructions de l’exercice

Nous avons créé stressed_out, qui contient les paroles de la chanson « Stressed Out » de Twenty One Pilots.

  • Utilisez polarity() sur stressed_out pour voir le score par défaut.
  • Vérifiez dans key.pol s'il existe des mots contenant « stress ». Utilisez grep() pour indexer le data frame en recherchant dans la colonne x.
  • Créez custom_pol comme nouveau data frame de sentiments.
  • Réappliquez polarity() à stressed_out avec le paramètre supplémentaire polarity.frame = custom_pol pour comparer la manière dont les nouveaux mots modifient le score vers une représentation plus fidèle de la chanson.

Exercice interactif pratique

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

# stressed_out has been pre-defined
head(stressed_out)

# Basic lexicon score
___(___)

# Check the subjectivity lexicon
___[___("stress", x)]

# New lexicon
custom_pol <- ___(___, c(negative.words, "___", "___"))

# Compare new score
___(___, polarity.frame = ___)
Modifier et exécuter le code