Teile und herrsche: Polarität für eine Vergleichs-Cloud nutzen
Jetzt, da du gesehen hast, wie sich ein Korpus mithilfe der Polarität aufteilen lässt, probieren wir es aus! Dieser Code führt dich Schritt für Schritt durch das Aufteilen eines Korpus nach Sentiment, sodass du Informationen in Teilmengen statt nur ganzheitlich betrachten kannst.
Deine R-Session enthält oz_pol, das erstellt wurde, indem polarity() auf "The Wonderful Wizard of Oz" angewendet wurde.
Zur Vereinfachung haben wir eine einfache benutzerdefinierte Funktion namens pol_subsections() erstellt, die den Korpus nach Polaritätswerten aufteilt. Zuerst nimmt die Funktion ein Data Frame entgegen, in dem jede Zeile einen Satz oder ein Dokument des Korpus darstellt. Das Data Frame wird überall dort gefiltert, wo die Polaritätswerte größer oder kleiner als 0 sind. Anschließend werden die positiven und negativen Sätze mit von Null verschiedenen Polaritäten mit dem Parameter collapse zusammengefügt, sodass die Terme zu einem einzelnen Korpus gruppiert werden. Abschließend werden die beiden Dokumente zu einem einzigen Vektor aus zwei unterschiedlichen Dokumenten zusammengefügt.
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)
}
An diesem Punkt hast du die neutralen Sätze weggelassen und möchtest den verbleibenden Text strukturieren. In dieser Übung verwenden wir erneut den Operator %>%, um Objekte an Funktionen weiterzureichen. Nach etwas einfachem Cleaning verwendest du comparison.cloud(), um die Visualisierung zu erstellen.
Diese Übung ist Teil des Kurses
<Kurs>Sentimentanalyse in R</Kurs>Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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
___()