LoslegenKostenlos starten

Stressed Out!

Hier passt du die negativen Wörter an den konkreten Text an. Danach vergleichst du die grundlegenden und die benutzerdefinierten polarity()-Werte.

Ein beliebter Song von Twenty One Pilots heißt "Stressed Out". Wenn du die Songtexte liest, merkst du, dass es um jugendliche Nostalgie geht. Insgesamt würden die meisten sagen, dass die Polarität negativ ist. Immer wieder tauchen Stress, Ängste und so tun als ob auf.

Vergleichen wir die Songzeilen einmal mit dem Standard-Subjectivity-Lexikon und einem benutzerdefinierten.

Zu Beginn solltest du prüfen, ob das key.pol-Subjectivity-Lexikon den Begriff, den du hinzufügen willst, nicht bereits enthält. Eine Möglichkeit ist grep(). Die Funktion grep() gibt die Zeilen zurück, die Zeichen enthalten, die zu einem Suchmuster passen. Hier ist ein Beispiel beim Indizieren:

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

Nachdem du überprüft hast, dass der Slang oder das neue Wort nicht bereits im key.pol-Lexikon steht, musst du es hinzufügen. Der folgende Code verwendet sentiment_frame(), um das neue Lexikon zu erstellen. In diesem Code übernimmt sentiment_frame() den ursprünglichen positiven Wortvektor positive.words. Anschließend werden die ursprünglichen negative.words mit "smh" und "kappa" verknüpft, beides als negativer Slang betrachtet. Obwohl du die positiven und negativen Gewichte festlegen kannst, sind die Standardwerte 1 und -1, daher werden sie unten nicht angegeben.

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

Jetzt kannst du die Polarität anwenden, und dabei wird auf das benutzerdefinierte Subjectivity-Lexikon verwiesen!

Diese Übung ist Teil des Kurses

<Kurs>Sentimentanalyse in R</Kurs>
Kurs ansehen

Übungsanweisungen

Wir haben stressed_out erstellt, das die Lyrics des Songs "Stressed Out" von Twenty One Pilots enthält.

  • Verwende polarity() auf stressed_out, um den Standardwert zu sehen.
  • Prüfe key.pol auf Wörter, die "stress" enthalten. Nutze grep(), um im x-Feld des Data Frames zu suchen und so zu indizieren.
  • Erstelle custom_pol als neuen Sentiment-Data-Frame.
  • Wende polarity() erneut auf stressed_out an und nutze den zusätzlichen Parameter polarity.frame = custom_pol, um zu vergleichen, wie die neuen Wörter den Wert in Richtung einer genaueren Darstellung des Songs verändern.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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 = ___)
Code bearbeiten und ausführen