Kampf im Käfig! Amazon vs. Google – Pro-Reviews
In positiven Bewertungen zu Amazon tauchen anscheinend Bigramme wie „good benefits“ auf, während sich negative Bewertungen auf Bigramme wie „workload“ sowie Probleme mit der „work-life balance“ konzentrieren.
Im Gegensatz dazu erwähnen positive Google-Bewertungen unter anderem „great food“, „perks“, „smart people“ und „fun culture“. Negative Google-Bewertungen sprechen über „politics“, „getting big“, „bureaucracy“ und „middle management“.
Du entscheidest dich, ein Pyramidendiagramm zu erstellen, das die positiven Bewertungen von Amazon und Google gegenüberstellt, damit du die Unterschiede zwischen gemeinsam vorkommenden Bigrammen vergleichen kannst.
Wir haben einen Data Frame all_tdm_df vorab geladen, der aus terms sowie den entsprechenden Bigramm-Häufigkeiten AmazonPro und GooglePro besteht. Mit diesem Data Frame wirst du die Top 5 Bigramme identifizieren, die in beiden Korpora vorkommen.
Diese Übung ist Teil des Kurses
Text Mining mit Bag-of-Words in R
Anleitung zur Übung
- Erzeuge
common_wordsausall_tdm_dfmitdplyr-Funktionen.filter()auf der SpalteAmazonProfür Nicht-Null-Werte.- Ebenso die Spalte
GoogleProfür Nicht-Null-Werte filtern. - Danach per
mutate()eine neue Spaltedifferstellen, die dieabs(absolute) Differenz zwischen den Termfrequenz-Spalten ist.
- Leite
common_wordsper Pipe anslice_maxweiter, umtop5_dfzu erzeugen, und verweise dabei auf die Spaltediffund die Top-5Werte. Das Ergebnis wird zur Überprüfung in deiner Konsole ausgegeben. - Erzeuge ein
pyramid.plot, übergib ersttop5_df$AmazonPro, danntop5_df$GooglePround füge schließlich Labels mittop5_df$termshinzu.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Filter to words in common and create an absolute diff column
common_words <- all_tdm_df %>%
filter(
___ != 0,
___ != 0
) %>%
___(diff = ___(___ - ___))
# Extract top 5 common bigrams
(top5_df <- common_words %>% ___(___, n = ___))
# Create the pyramid plot
pyramid.plot(top5_df$___, top5_df$___,
labels = top5_df$___, gap = 12,
top.labels = c("Amzn", "Pro Words", "Goog"),
main = "Words in Common", unit = NULL)