LDA-Toolkit: Korpusanalyse zum Klicken statt Tippen

Korpuslinguistische Analysen begnügen sich heute nicht mehr damit, bloß Belege für ein bestimmtes Phänomen in einem bestehenden Korpus zu suchen. Vielmehr möchte man eigene Korpora aufbauen und avanciertere Analysemethoden anwenden:

  • Automatisches Wortarten-Tagging der Daten
  • Keyword-Analysen durch Vergleich mehrerer Korpora miteinander
  • n-Gramm/Cluster-Analysen, um typische Floskeln zu finden
  • …und vieles mehr

Für fast alle Wünsche gibt es inzwischen Tools, die allerdings meistens Programmierkenntnisse oder zumindest keine Scheu vor der Shell erfordern. Nicht alle Forscher/innen bringen dies mit oder interessieren sich dafür. Hier setzt Friedemann Vogels „LDA-Toolkit“ an, die „Korpuslinguistische Arbeitsumgebung für linguistische Diskurs- und Imageanalysen“.

Damit lassen sich die oben genannten Funktionen (und einige mehr) mit wenigen Mausklicks mit eigenen Korpusdaten ausführen. Das Programm läuft unter Windows, ist Freeware und inzwischen in der Beta-Version 2.7 verfügbar. Ich habe es ausprobiert…

Wie sieht ein typischer Arbeitsablauf mit dem Toolkit aus? Ich experimentierte mit meinen Korpora zur Wulff-Affäre (auch hier), die ich bereits mit anderer Software (TreeTagger, Corpus Workbench, semtracks Matrixanalyse/komplexe n-Gramme, R) bearbeitete.

Datenimport

Die Daten müssen in getaggter und vertikalisierter Form vorliegen, wie es der TreeTagger typischerweise ausspuckt:

Das   PDS   d
ist   VAFIN  sein
ein   ART   ein
Text  NN    Text
.     $.    .

Der Text muss in Latin-1 vorliegen (UTF-8 wird leider nicht unterstützt) und beim Import wird alles auf Kleinschreibung normalisiert (was eigentlich bei Daten, die auch in lemmatisierter Form vorliegen, nicht notwendig wäre).

Das LDA-Toolkit ist am sinnvollsten zu verwenden, wenn man zum eigentlichen Untersuchungskorpus ein Referenzkorpus zur Hand hat, das ebenfalls importiert wird.

Der LDA-Baum und die Kollokationsanalyse

LDA-Toolkit: Berechnung von Kollokationen zu "Kredit", Darstellung als LDA-Baum

Herzstück ist der LDA-Baum: Hier werden alle vorgenommenen Analysen abgelegt, so dass sie gesichtet und manuell kategorisiert werden können. Zu Beginn der Arbeit könnte vielleicht eine Kollokationsanalyse (Kookkurrenzen) anstehen: Ich vermute, dass in meinen Wulff-Daten „Kredit“ ein Schlüsselbegriff ist. In welcher lexikalischen Umgebung kommt das Wort vor? Das Toolkit erlaubt verschiedene Einstellungen: Es muss ein Suchfenster definiert werden und es kann auf die lemmatisierten Daten und die Wortarten-Annotation zurückgegriffen werden, um sich z.B. nur Nomen in ihrer jeweiligen Grundform als Kollokatoren zu „Kredit“ anzuzeigen. Das Ergebnis wird als hierarchischer, aufklappbarer Baum dargestellt, um einen guten Überblick über das Resultat zu bewahren.

Etwas verwirrend ist, dass die Wahl des Signifikanzmaßes, mit dem gerechnet wird, zwei grundlegend unterschiedliche Funktionen unterscheidet. Wählt man „T-Score“ wird eine klassische Kollokationsanalyse gemacht. Wählt man jedoch „Chi-Square“ wird eine kontrastive Analyse gemacht: Die Frage ist dann, welche Kollokatoren besonders typisch zum Ausgangswort sind, wenn man das Verhalten zum gleichen Ausgangswort im Referenzkorpus hinzuzieht. Oder: Wenn ein anderes Ausgangswort im gleichen Korpus als Referenz verwendet wird. Das sind interessante Analysemethoden, die jedoch nicht auf den ersten Blick ersichtlich sind. Zudem ist der statistische Test „T-Score“ nicht State of the Art, um Kollokationen zu berechnen. Ein Log-Likelihood-Test wäre besser.

Clusteranalysen

Darunter versteht das LDA-Toolkit n-Gramm-Analysen: Es werden alle potenziell möglichen Wortkombinationen der Länge n berechnet und nach Frequenz oder Signifikanz im Vergleich zum Referenzkorpus geordnet. Neben n-Grammen, die auf den laufenden Wortformen beruhen, können auch POS-Gramme, also Wortgruppen nur aus Wortarten bestehend berechnet werden (hier die frequentesten POS-Gramme, die ein Nomen, NN, enthalten):

nn appr art nn
art nn art nn
nn art adja nn
adja nn art nn
nn art nn appr

Analysen dieser Art sind besonders in kontrastiver Anwendung mit einem Referenzkorpus interessant, um typische Sprachgebrauchsmuster (Bubenhofer 2009) zu entdecken. Das LDA-Toolkit bietet dafür viel Komfort (etwa im Vergleich zum zwar mächtigen aber schwieriger zu bedienenden Ngram Statistics Package von Ted Pedersen) und mehr Funktionalität als etwa die ebenfalls einfach zu bedienenden Programme kfnGram von William H. Fletcher oder AntConc von Laurence Anthony. Mir fehlt jedoch zum ganzen Glück auch im LDA-Toolkit die Funktion, Wortformen, Lemmata und  POS-Angaben mischen zu können, wie wir es in der semtracks Forschergruppe mit einem eigenen Programm, das direkt auf die Corpus Workbench zugreift, entwickelt haben (Scharloth/Bubenhofer 2012; Bubenhofer/Scharloth im Druck). Allerdings bedingt eine solche Funktion der Berechnung von komplexen n-Grammen eine sehr performante Umgebung, wie sie mit der Corpus Workbench und dem invertierten Index dort gegeben ist.

Keywords und KWICS

Natürlich ist im LDA-Toolkit auch eine Keyword-Funktion eingebaut, mit der sich die typischen (statistisch signifikanten) Wörter im Untersuchungskorpus im Vergleich zum Referenzkorpus berechnen lassen. Und es ist ein einfacher Konkordanzer eingebaut, um nach Belegen zu suchen, der aber kein Ersatz für eine richtige Konkordanzsoftware sein soll.

Ausschnitt aus der Keywordliste: Das typische Wulff-Affären-Vokabular

Visualisierung

Hübsch sind die eingebauten Visualisierungsfunktionen: Wortlisten aus dem LDA-Baum, also z.B. eine Keyword-Liste, kann mit Hilfe der Drittsoftware Wordle als Wortwolke visualisiert werden. Und Kollokationsbäume lassen sich ebenfalls über eine Drittsoftware, GraphViz, als Graph darstellen. Das LDA-Toolkit bietet zu beiden Programmen angenehme Schnittstellen.

Visualisierung in Form einer Wortwolke im LDA-Toolkit

Fazit

Die Software ist ein Segen für alle, die inzwischen gängige Analysemethoden, wie sie in der Diskursanalyse und der Korpuspragmatik verwendet werden, ohne großen technischen Aufwand selber durchführen möchten. Auch für die Lehre ist das Toolkit eine geeignete Software, damit sich die Studierenden nicht mit technischen Problemen herumschlagen müssen, bis sie Analysen durchführen können.

Schade finde ich, dass die Software nur unter Windows läuft (die konkurrierende Software AntConc läuft beispielsweise neben Windows auch auf Unix-Systemen und Mac OS X) und mir scheint auch, dass die Bearbeitung größerer Korpora schwierig wird. Bei meinem 3,4-Mio.-Wörter-Korpus rechnete das Toolkit über eine Stunde, um die Anzahl der Tokens und Lemmatas zu berechnen (zugegeben: auf einem MacBook Pro Dual-Boot-System, was wohl nicht die performanteste Hardwareumgebung für Windows ist).

Längerfristig stellt sich die Frage, ob die Nische für Programme dieser Art bestehen bleibt: Das EU-Mammut-Projekt Clarin-D wird beispielsweise (hoffentlich) eine Plattform werden, in die Spezialfunktionen, wie sie die Diskursanalyse bedingt, als Plug-ins in eine saubere und performante Online-Softwareumgebung, die auch kollaboratives Arbeiten ermöglicht, eingebaut werden können. Oder die Programmiersprache R, die sich auch in der Korpuslinguistik zu einem immer weiter verbreiteten Statistik-Paket mausert, wäre eine gute Basis, um beliebige Analysefunktionen als Bibliotheken systemübergreifend und modulartig anbieten zu können. Ebenso die Corpus Workbench, die in Sachen Performanz noch immer eine hohe Messlatte darstellt und in einer lebendigen Community weiter entwickelt wird.

Trotzdem: Das LDA-Toolkit ist es definitiv wert, auszuprobieren, wenn man mit eigenen Korpusdaten arbeiten möchte.

Bubenhofer, Noah (2009): Sprachgebrauchsmuster. Korpuslinguistik als Methode der Diskurs- und Kulturanalyse, Sprache und Wissen 4, Berlin, New York: de Gruyter.
Bubenhofer, Noah und Joachim Scharloth (im Druck): „Korpuspragmatische Analysen alpinistischer Literatur“, Travaux neuchâtelois de linguistique.
Scharloth, Joachim und Noah Bubenhofer (2012): „Datengeleitete Korpuspragmatik: Korpusvergleich als Methode der Stilanalyse“.
Dieser Beitrag wurde unter Korpuslinguistik, Korpustools abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Eine Antwort zu LDA-Toolkit: Korpusanalyse zum Klicken statt Tippen

  1. F. Vogel sagt:

    Lieber Noah,

    die LDA-Performanz kann und soll sich in der Tat nicht mit der CWB o.ä. messen. Auf einem Windows-System etwa mit 2,1 ghz 4-core, 4 GB RAM lassen sich allerdings durchaus auch größere Datenmengen (50.000 Texte und mehr) in akzebtablen Zeiten bearbeiten. Für umfassendere Analysen stehen ferner Batch-Methoden zur Verfügung, d.h. es können zum Beispiel zu 100 ausgewählten Ausdrücken im LDA-Baum automatisch Kookkurrenzanalysen gestartet und – während die Maschine rechnet – der Kaffeemaschine hallo gesagt werden.

    LLR statt t-score wird in einer der kommenden Versionen ersetzt bzw. ergänzt.

    Danke für das Feedback und schöne Grüße,
    Friedemann

Kommentare sind geschlossen.