Abschnitt 1 Überblick

1.1 Inhalt des virtuellen Mini-Workshops

  • In diesem Mini-Workshop erläutere ich das praktische Vorgehen einer Datenanalyse mit Structural Topic Models. Wir behandeln die folgenden Schritte im Analyseprozess:
    • Modellspezifikation
    • Modellvergleich zur Auswahl eines geeigneten Modells
    • Darstellung der Ergebnisse
    • Weitere Analysen
      • Zusammenhänge der Topic-Prävalenz mit Kovariaten
      • Identifikation verwandter Topics
  • Wir verwenden das Paket {stm} (Roberts, Stewart, and Tingley 2019) zum Schätzen von Topic Models. Für die Variante der Structural Topic Models und die Implementation in diesem Paket sprechen für mich die folgenden Gründe
    • Gute Integration mit R und Paketen, die ich für die Arbeit mit Text-Daten verwende (insbesondere {quanteda} und {tidytext})
    • Gute ergänzende Pakete zur Arbeit mit den Modellen (insbesondere {stminsights} und {oolong})
    • Vergleichsweise schnelle Modellschätzung auch mit großen Datensätzen
    • Direktes Schätzen von Zusammenhängen von Topics mit Kovariaten
    • Initialisieren der Modellschätzung mit dem Spectral Algorithmus
    • Recht weit verbreitet in einem Feld, in dem ich viel lese (Politische Kommunkation nach einem weitem Verständnis)
  • Die Darstellung basiert auf einer Analyse, die ich gemeinsam mit Elena Link durchgeführt habe. Wir untersuchten, wie das Thema Impfen in Online-Foren für Eltern diskutiert wurde. Wir verwenden aber nur einen nicht repräsentativen Ausschnitt aus dem Material, um die notwendige Rechenleistung und -zeit zu verringern.

1.2 Welche Inhalte wir nicht behandeln

  • Auch wenn das im direkten Vergleich mit dem Parallel-Angebot zu Panel Data Analysis (meine Ausführlichkeit dort sind ein Grund für die spätere Lieferung dieser Materialien) enttäuschend sein mag: Die Inhalte in diesem Mini-Workshop entsprechen in ihrem Umfang wirklich nur dem, was ich zu Beginn des Digital-Semesters geplant und angekündigt hatte. Der Mini-Workshop ersetzt keine tiefer gehende Einarbeitung in die Methode, sondern ist als ein Einstieg zu verstehen.

  • Wir behandeln hier keine theoretischen, statistischen oder auf die Software-Implementierung der Modellschätzung bezogenen Fragen. Die Grundlagen dazu können aus den Texten im LMS entnommen werden (Maier et al. 2018; Roberts, Stewart, and Tingley 2019).

  • Es gibt neben {stm} viele andere Implementationen in R und ihn anderer Software. Gefühlt gibt es alle 6 Monate eine neue Variante von Topic Models, alle 3 Monate eine neue Implementierung und jeden Monat ein Paket mit zusätzlichen Tools für die Arbeit mit Topic Models. Meine Entscheidung für {stm} ist keine informierte Entscheidung gegen andere Varianten, Implementierungen und Tools. Dieser Workshop ist keine Aufforderung, ausschließlich {stm} zu nutzen. Informiert euch gegebenenfalls selbst über Software-Lösungen, die für eure Bedürfnisse geeignet sind.

  • Dieser Mini-Workshop ist kein R-Tutorial. Wenn ihr Interesse habt, R-Kenntnisse zu erwerben und zu vertiefen, empfehle ich R4DS.

  • Dieser Mini-Workshop ist keine allgemeine Einführung in die computergestützte Inhaltsanalyse. Wenn ihr allgemein Textanalysen mit R durchführen möchtet, empfehle ich zu diesem Thema die Einführung von Cornelius Puschmann.

1.3 Aufbau des Workshops

  • Inhaltlicher Aufbau: Siehe Kapitel-Gliederung

Material

  • Dieses Dokument + R Skripte: (Hoffentlich) mehr oder weniger selbsterklärendes Material

  • Daten: Ein Ausschnitt auf den Daten der oben genannten Beispielstudie. Eine genauere Beschreibung folgt im nächsten Abschnitt. Sie sind nicht auf GitHub, sondern nur im LMS verfügbar.

  • Screencast: Zu einigen Analyseschritten stelle ich Screencasts zur Verfügung (siehe Anmerkungen im Text).

  • Übungen: Zur Einübung der Inhalte empfehle ich, die in diesem Material dokumentierten Code-Auszüge auf dem eigenen Rechner auszuführen und anzupassen. Die inhaltliche Interpretation der Modelle wird im Material nur angedeutet. Ihr könnt diese selbst vertiefen.

Pakete

Wir verwenden die folgenden Pakete

if (!require("pacman")) install.packages("pacman")
pacman::p_load(tidyverse, stm, stminsights, tidytext, quanteda, lubridate, knitr, 
    tictoc, furrr, oolong, textmineR, ggdendro)
theme_set(theme_bw())  # ggplot theme

tibble(package = c("R", sort(pacman::p_loaded()))) %>% mutate(version = map_chr(package, 
    ~as.character(pacman::p_version(package = .x)))) %>% knitr::kable()
package version
R 3.6.2
dplyr 1.0.0
forcats 0.4.0
furrr 0.1.0
future 1.16.0
ggdendro 0.1.20
ggplot2 3.3.2
knitr 1.28
lubridate 1.7.4
Matrix 1.2.18
oolong 0.3.8
pacman 0.5.1
purrr 0.3.4
quanteda 2.0.1
readr 1.3.1
stm 1.3.5
stminsights 0.4.0
stringr 1.4.0
textmineR 3.0.4
tibble 3.0.1
tictoc 1.0
tidyr 1.0.2
tidytext 0.2.3
tidyverse 1.3.0

Literatur

Maier, Daniel, A. Waldherr, P. Miltner, G. Wiedemann, A. Niekler, A. Keinert, B. Pfetsch, et al. 2018. “Applying LDA Topic Modeling in Communication Research: Toward a Valid and Reliable Methodology.” Communication Methods and Measures 12 (2-3): 93–118. https://doi.org/10.1080/19312458.2018.1430754.

Roberts, Margaret E., Brandon M. Stewart, and Dustin Tingley. 2019. “Stm: An R Package for Structural Topic Models.” Journal of Statistical Software 91 (1): 1–40. https://doi.org/10.18637/jss.v091.i02.