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. Dank Topic Modelling können wir tausende Texte verstehen und deren Hauptthemen identifizieren ohne auch nur einen davon gelesen zu haben.

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 sehen 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 kann. So ist eine erste Erschließung der Textdatenmenge möglich, nach welcher weitere, komplexere Methoden zum 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 bzw. elaborieren. Wie man die Fallen von Black Boxes und Overfitting vermeidet und was eine Echtzeit-Sentiment-Analyse ist, können Sie auch in den Blogbeiträgen von meinen Kollegen nachlesen.

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 Pressemeldungen bestehenden Datensatz. Sein alltäglicher Charakter (ein buntes Themenspektrum von der Politik über die Wirtschaft bis zum Sport) hilft uns das Topic-Modelling-Verfahren besser zu verstehen. Unsere Annahme ist, dass die Topics, die wir entdecken, auf unterschiedlichen 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 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 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 Blogbeitrags…

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 können wir 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.

CTA_IOT

Artikel kommentieren