08. Juni 2020
6 Min.

Topic Modelling als Werkzeug der Texttechnologie

Die stetig wachsende Menge an Textdaten in unserem digitalisierten Leben erfordert immer wieder neue technische Umgangslösungen, um der Suche nach wichtigen Informationen Herr zu werden. Um tausende Texte zu verstehen, ohne sie lesen zu müssen, können wir das Topic Modelling anwenden, mit dem wir Hauptthemen unserer Textsammlung aufführen.

Topic Modelling als Werkzeug der Texttechnologie

Die stetig wachsende Menge an Textdaten in unserem digitalisierten Leben fordert immer wieder neue technische Umgangslösungen, um der Suche nach wichtigen Informationen Herr zu werden. Obgleich wir den Fortschritt in diesem Bereich (etwa zahlreiche Neuronale Netzwerke) fast täglich anschauen können, bleiben viele einfachere Methoden weiterhin im Spiel und werden uns auch viele bedeutsame Erkenntnisse besorgen. Topic Modelling ist eine der computerlinguistischen Techniken, die uns beim Entdecken des wesentlichen Inhaltes einer Textsammlung (Textarchiven, technische Dokumentation, Emailkorrespondenz) verhelfen können. Sie erlauben eine einleitende Erschließung der Textdatenmenge, nach welcher weitere, komplexere Methoden in Einsatz kommen sollen.

Die korrekte Analyse unserer Daten schützt uns vor der Gefahr, von avancierten Verfahren des maschinellen Lernens hinters Licht geführt zu werden. Wir müssen die Struktur unserer Daten verstehen, um die hochkomplexen ML- und KI-Verfahren zu verfeinern/elaborieren. Wie man die Fallen von Black Boxes und Overfitting vermeidet, können Sie auch in den Blogbeiträgen von meinen Kollegen näher betrachten: hier und hier.

Warum Topic Modelling?

Mathematisch gesehen fußt das Topic Modelling auf der sogenannten Latent Dirichlet Allocation und den davon abgeleiteten Ideen. In knappen Worten ist das ein Wahrscheinlichkeitsmodell für Textdokumente und abstrakte Themen, die charakteristisch für eine Untergruppe von Dokumenten sein können. Wörter oder häufige Zusammenstellungen von Wörtern werden anhand einer statistischen Auswertung in Bündeln gruppiert. Je öfter zwei Ausdrücke in unterschiedlichen Dokumenten gemeinsam vorkommen (und damit eine statistische Ähnlichkeit zueinander vorweisen), desto wahrscheinlicher ist es, dass sie einem gemeinsamen Bündel zugeordnet werden. Dieses Wortbündel nennen wir ein „Topic“.

Deswegen sind Topics, die wir mit dem Topic Modelling gewinnen, im eigentlichen Sinne eine Reihe an semantisch nebeneinander geordneten Worten – das entdeckte Thema hat somit keinen ausdrücklichen Titel. In diesem Sinne unterscheidet sich die automatische Themen-Extrahierung von dem traditionellen Konzept eines „Themas“.

Topics aus den Presseberichten

Um den Mehrwert vom Topic Modelling zu verifizieren, benutzen wir den 10k German News Articles Dataset (10kGNAD) – einen aus verschiedenen Pressemeldunden bestehenden Datensatz. Sein alltäglicher Charakter (ein bundes Themenspektrum von der Politik über die Wirtschaft bis zum Sport) wird uns besser das Topic-Modelling-Verfahren verstehen lassen. Unsere Annahme ist, dass die Topics, die wir entdecken, auf unterschiedliche Themenkategorien beruhen (etwa internationale Politik, Kriminalität, Wissenschaft und Hochschulwesen usw.). Dafür benutzen wir die Gensim-Bibliothek, eine sehr populäre Programmbibliothek für Sprachtechnologie, die mehrere Möglichkeiten für das Topic Modelling anbietet.




Wie wir es sehen, scheinen viele Topics kaum verständlich zu sein. Die Worte, wie


, lassen sich schwierig thematisch zuordnen. Sie passen vielmehr zu jedem beliebigen Thema – deswegen werden sie auch Funktionsworte (function words) genannt. Im Gegensatz zu Inhaltsworten (content words), die eine bestimmte Bedeutung tragen, spielen die Funktionsworte eher eine organisatorische Rolle und ihre Bedeutung kommt erst in einem bestimmten Kontext und Zusammenhang mit den Inhaltsworten vollständig zum Ausdruck (die fachliche Debatte über die Wörter, die eigentlich zu beiden Kategorien gehören könnten, möchten wir jetzt vorläufig ignorieren). Wenn wir die Funktionsworte komplett aus unseren Daten entfernen und den Topic-Modelling-Algorithmus wieder ausführen, bekommen wir neue Topics, die diesmal wesentlich verständlicher erscheinen…

Textannotierung

Um unsere abstrakten Themen sprachlich reifen zu lassen, können wir die Datenaufbereitung weiter verfeinern. In der Sprachtechnologie müssen wir regelmäßig unsere Daten, ganz ähnlich wie in der Mathematik und Statistik, „normalisieren“. Damit ist aber eine Anreicherung (Annotierung) der Textdaten gemeint, nicht eine mathematische Operation. Eine der bekanntesten Techniken, die uns hier besonders interessiert, ist die Lemmatisierung. Das Lemma (aus dem Altgriechischen „das Angenommene“) ist ein Fachwort für das Stichwort, unter welchem wir eine bestimmte Definition in Wörterbüchern finden können (z.B. die Bedeutung von „geflogen“ sollte man unter dem Wort „fliegen“ finden). Der Satz aus dem Anfang dieses Blogbeitrages…

Die stetig wachsende Menge an Textdaten in unserem digitalisierten Leben fordert immer wieder neue technische Umgangslösungen, um der Suche nach wichtigen Informationen Herr zu werden.

…wird dank der Lemmatisierung zu dieser Form reduziert:

Der stetig wachsen Menge an Textdatum in unser digitalisieren Leben fordern immer wieder neu technisch Umgangslösung, um der wichtig Information Herr zu werden.

Lemmatisierte Texte lassen sich sehr von uns Menschen nur schwer lesen, Maschinen hingegen kommen damit hervorragend zurecht, da jetzt jedes Wort, unabhängig der Grammatik und des Satzbaues, eine eindeutige Bedeutung hat. („Maschinell Lernen“ statt „Maschinelles Lernen“, „Maschinellem Lernen“, „(vom) Maschinellen Lernen“ usw.). Mit ein paar Codezeilen und mit Spacy, einer weiteren NLP-Bibliothek, können wir uns davon überzeugen, dass dieses Verfahren für unsere Aufgabe sinnvoll ist.


Obwohl die Lemmatisierung die große Vielfalt der Sprache entfernt, sind die entdeckten Themen viel aufschlussreicher und können für weitere Textanalysen genutzt werden. Die technischen Details zu diesem Beitrag können Sie in einem Notebook einsehen, ebenso wie auf den Dokumentationsseiten von Gensim und Spacy.

Artikel kommentieren