- Willkommen auf meinem Blog/
- Posts/
- Vor ChatGPT: Was meine Masterarbeit mich über Bedeutung in Texten gelehrt hat/
Vor ChatGPT: Was meine Masterarbeit mich über Bedeutung in Texten gelehrt hat
Inhaltsverzeichnis
Am 10. November 2021 habe ich meine Masterarbeit Implementation, Evaluation, and Comparison of the GLDA Topic Model abgegeben. Damals dachte ich, ich würde über einen ziemlich speziellen Teil der Forschung zur natürlichen Sprachverarbeitung schreiben. Im Rückblick auf die ChatGPT-Ära wirkt sie eher wie eine kleine Momentaufnahme aus der Zeit, in der Sprachmodelle lernten, Wörter als Geometrie zu behandeln.
In der Arbeit ging es um Gaussian Latent Dirichlet Allocation, kurz GLDA. Dieser Name ist nicht gerade darauf ausgelegt, Leserinnen und Leser anzuziehen. Die zugrunde liegende Frage ist allerdings weiterhin interessant:
Können wir herausfinden, worum es in einer Sammlung von Dokumenten geht, ohne die Themen vorher vorzugeben?
Diese Frage steckt hinter Suchsystemen, Empfehlungssystemen, der Erkundung von Dokumenten und vielen Systemen, die wir inzwischen beiläufig „KI“ nennen. Interessant ist nicht nur, ob ein Modell brauchbare Ergebnisse liefert. Es geht auch darum, wie es Bedeutung repräsentiert, was es zusammenfasst und was dabei verloren geht.
Von einer Bag of Words zu einem Raum der Bedeutungen #
Die klassische Antwort auf Topic Modeling ist Latent Dirichlet Allocation (LDA). Ein Dokument wird als Mischung aus Topics behandelt, und ein Topic ist eine Wahrscheinlichkeitsverteilung über Wörter. Ein Nachrichtenartikel könnte zu 40 % aus Politik, zu 30 % aus Wirtschaft und zu 30 % aus internationaler Politik bestehen. Das Modell bekommt diese Bezeichnungen nicht vorgegeben, sondern leitet sie aus der Verwendung von Wörtern im gesamten Korpus ab.
LDA ist elegant, behandelt Wörter aber als diskrete Identitäten. Das Wort Auto ist ein Eintrag im Vokabular und Automobil ein anderer. Wenn ihre Verwendung im Umfeld das Modell nicht indirekt miteinander verbindet, gibt es kein eingebautes Verständnis dafür, dass sie verwandt sind.
Wort-Embeddings vermittelten eine andere Intuition. Statt ein Wort als ID darzustellen, repräsentiert man es als Punkt in einem hochdimensionalen Raum. Wörter, die in ähnlichen Kontexten vorkommen, landen tendenziell nahe beieinander. Bedeutung wird zu etwas, das sich mit Abständen und Richtungen annähern lässt.
Das war die zentrale Veränderung in GLDA: Die Verteilungen über diskrete Worttypen aus LDA werden durch Gaußverteilungen über Wort-Embedding-Vektoren ersetzt. Ein Topic war nicht mehr einfach eine Liste von Vokabeln. Es wurde zu einer Region in einem Embedding-Raum, deren Form durch einen Mittelwert und eine Kovarianz beschrieben wird.

Das klingt nach einer kleinen Änderung. Das ist es nicht. Sobald Wörter zu 50- oder 100-dimensionalen Vektoren werden, wird das Inferenzproblem deutlich aufwendiger. Aus Wahrscheinlichkeitsmassen werden Wahrscheinlichkeitsdichten. Kovarianzmatrizen kommen ins Spiel. Numerische lineare Algebra wird zu einem Teil dessen, was zuvor wie ein unkompliziertes Topic-Modell aussah.
Wenn Wahrscheinlichkeit auf Softwareentwicklung trifft #
Die Arbeit hatte zwei praktische Ziele. Erstens implementierte ich zwei Inferenzverfahren für GLDA – kollabiertes Gibbs-Sampling und stochastische Variationsinferenz – im InfoFormalizer-Framework. Zweitens entwickelte ich eine Experiment-Pipeline, um GLDA und eine konventionelle LDA-Implementierung unter denselben Bedingungen zu vergleichen.
Das Framework war genauso wichtig wie das Modell. Vergleiche von Machine-Learning-Algorithmen lassen sich überraschend leicht unfair durchführen. Unterschiedliche Vorverarbeitung, Korpora, Evaluationswerkzeuge oder ein nicht dokumentierter Parameter können ein Ergebnis deutlich besser aussehen lassen, als es tatsächlich ist. Ich wollte Datenaufbereitung, Training, Metriken und nachgelagerte Aufgaben in einer reproduzierbaren Pipeline zusammenführen.
Die Implementierung machte außerdem den Rechenaufwand unübersehbar. LDA war in diesen Experimenten vergleichsweise günstig: Bei zählbasierten Topic-Wort-Statistiken vermieden die üblichen Inferenzoperationen die wiederholte lineare Algebra mit vollbesetzten Kovarianzmatrizen, die GLDA erforderte. GLDA wertet wiederholt Verteilungen im Embedding-Raum aus und verarbeitet Kovarianzinformationen. In meiner geradlinigen Implementierung skalierten die aufwendigen Operationen mit vollbesetzten Kovarianzmatrizen – etwa Faktorisierung, Invertierung und Determinantenberechnung – kubisch mit der Embedding-Dimension.
Auf dem Laptop, den ich für die Experimente verwendet habe, war der Unterschied sehr konkret: LDA-Experimente waren im Allgemeinen nach wenigen Minuten abgeschlossen, während einige GLDA-Experimente mit den Filmbewertungsdaten fünf bis zehn Stunden dauerten. Mehr semantische Information gibt es nicht umsonst.
Diese Lektion ist gut gealtert. Moderne Sprachmodelle verstecken enorme Rechenkosten hinter einer freundlichen Chat-Oberfläche, aber die grundlegende Frage bleibt: Kauft uns der zusätzliche Rechenaufwand tatsächlich eine Fähigkeit, die wir brauchen?
Ein Topic-Modell kann verständlich sein, ohne nützlich zu sein #
Ich evaluierte die Modelle auf drei sehr unterschiedlichen Korpora:
- BBC News mit bekannten Kategorien wie Sport, Wirtschaft, Politik und Technologie.
- NIPS Papers, eine kleinere und technischere Sammlung.
- The Large Movie Review Dataset (ACL IMDB), dessen Labels Stimmung statt Themen beschreiben.
Es gab zwei Möglichkeiten, die Topics zu beurteilen. Die erste war qualitativ: Konnte eine Person anhand der wichtigsten Wörter ein Thema verstehen? Die zweite war quantitativ: Deuteten Metriken wie Topic Coherence oder ein nachgelagerter Klassifikator darauf hin, dass das Modell etwas Nützliches gefunden hatte?
Diese Antworten stimmten nicht immer überein. GLDA erzeugte im Nachrichtenkorpus häufig verständliche Topics, fand aber auch breite, wiederkehrende Topics aus Wörtern wie Verben, Namen oder Zeitangaben. Weil ähnliche Wörter im Embedding-Raum in ähnlichen Kontexten vorkommen können, gruppierte GLDA manchmal Wörter, die im weitesten Sinne semantisch verwandt, für den Korpus aber nicht besonders aussagekräftig waren.
Besonders deutlich wurde der Unterschied bei der Sentiment-Aufgabe. Verteilungsbasierte Embeddings können Antonyme nahe beieinander platzieren, weil sie oft in ähnlichen Kontexten vorkommen. Beispielsweise haben „der Schauspieler war gut“ und „der Schauspieler war schlecht“ eine ähnliche grammatische Struktur. Das ist nützlich, wenn es um Verteilungsähnlichkeit geht. Weniger nützlich ist es, wenn positive von negativen Rezensionen getrennt werden sollen.

Die Klassifikationsergebnisse machten den Punkt noch deutlicher. Bei BBC News schnitten LDA und das 50-dimensionale GLDA-Modell ähnlich ab. Bei 60 Topics erreichte LDA in meinem Experiment eine Genauigkeit von 90 %, GLDA-50 kam auf 91 %. Bei ACL IMDB erreichte LDA dagegen 76,2 %, während GLDA-50 bei gleicher Topic-Anzahl auf 64,0 % kam. Das Modell, das allgemeinere semantische Ähnlichkeiten erfasste, war deshalb nicht automatisch der bessere Feature-Generator für Sentiment.

Das war eine der nützlichsten Schlussfolgerungen der Arbeit: Ein Modell kann Strukturen finden, ohne die Struktur zu finden, die deine Anwendung braucht.
Der Zeitpunkt ist schwer zu ignorieren #
Ich habe die Arbeit abgegeben, bevor ChatGPT als öffentliches Produkt existierte. GPT-3 war bereits Teil der Diskussion, und Wort-Embeddings waren etabliert. Die aktuelle LLM-Ära hatte Sprachmodelle jedoch noch nicht zu einem alltäglichen Werkzeug für Millionen von Menschen gemacht.
Seitdem hat sich der Schwerpunkt in der natürlichen Sprachverarbeitung verschoben. Statische Embeddings wie die von mir verwendeten GloVe-Vektoren weisen jedem Worttyp einen Vektor zu. Transformer-Sprachmodelle erzeugen kontextabhängige Repräsentationen: Das Wort „Bank“ kann in „Flussufer“ und „Bankkonto“ unterschiedlich repräsentiert werden. Große Modelle können außerdem Erklärungen, Zusammenfassungen und Labels erzeugen – und sogar plausible Namen für die Topics vorschlagen, die sie entdecken.
Dieser Fortschritt verändert meinen Blick auf die Arbeit, macht das zugrunde liegende Problem aber nicht überflüssig.
Ein LLM kann einen Korpus zusammenfassen, aber seine Antwort ist nicht unbedingt eine transparente Karte dieses Korpus. Es kann selbstbewusst eine Kategorie erfinden, unterschiedliche Themen zusammenführen oder die auffälligsten statt der repräsentativsten Dokumente beschreiben. Ein Topic-Modell ist deutlich weniger eloquent, aber seine Annahmen und Messungen lassen sich leichter untersuchen. Bei klassischem LDA können die Topic-Wort-Verteilungen inspiziert werden. Bei GLDA kann man die Parameter der Gaußverteilungen und die für jedes Topic repräsentativsten Wörter untersuchen – zusammen mit Dokument-Topic-Vektoren, Vorverarbeitung und Evaluations-Pipeline.
Außerdem ist die Unterscheidung zwischen Repräsentation und Erklärung hilfreich. Embeddings helfen einem Modell dabei, Sprache in einem geometrischen Raum zu organisieren. Ein LLM kann diese Organisation – oder seine eigene interne Repräsentation – in eine flüssige Erklärung übersetzen. Flüssigkeit ist wertvoll, aber nicht dasselbe wie Treue zur tatsächlichen Struktur.
Heute würde ich die Experimente wahrscheinlich mit kontextabhängigen Repräsentationen für Dokumente und Tokens, stärkeren Baselines und besserem Hyperparameter-Tuning wiederholen. Außerdem würde ich Menschen die Topics direkt beurteilen lassen, statt anzunehmen, dass eine Kohärenzmetrik – etwa die UMass- oder cPMI-Messungen, die ich verwendet habe – menschlichem Verständnis entspricht. Das wären naheliegende Erweiterungen der unvollendeten Arbeit.
Was mir geblieben ist #
Die größte Überraschung war nicht, dass GLDA langsamer als LDA war. Die Gleichungen machten das einigermaßen vorhersehbar. Die Überraschung war, wie schwierig es war, für ein unüberwachtes Modell zu definieren, was „besser“ bedeutet.
Ein höherer Wert bei einer Kohärenzmetrik bedeutet nicht unbedingt ein nützlicheres Topic. Ein besserer Klassifikator beweist nicht, dass das Modell die interessanteste Struktur entdeckt hat. Ein Topic, das in vielen Dokumenten vorkommt, kann Rauschen sein – oder der Hintergrundkontext, der spezialisierte Topics überhaupt erst verständlich macht.
Die Experimente haben außerdem ein Prinzip bekräftigt, das ich auch in der Softwareentwicklung nutze: Vergleiche sind nur dann aussagekräftig, wenn der Weg zum Ergebnis sichtbar ist. Ein Modellname, eine Benchmark-Zahl oder eine polierte Demo reichen nicht aus. Wir müssen wissen, welche Daten in das System gelangt sind, welche Annahmen getroffen wurden, was gemessen wurde und wo die Methode scheitert.
Deshalb bin ich froh, GLDA vor der aktuellen Welle von LLMs bearbeitet zu haben. Das Projekt war im Vergleich zu heutigen Modellen klein, zwang mich aber, die Mechanismen hinter einer Aussage über Sprache und Bedeutung genau zu betrachten. Es hat mir gezeigt, dass es mächtig ist, Wörter in einen Vektorraum zu überführen, dadurch aber keine Mehrdeutigkeit verschwindet. Sie bekommt lediglich ein Koordinatensystem.
Und manchmal lohnt es sich noch immer, vor der Frage, ob ein Modell einen Korpus erklären kann, eine einfachere Frage zu stellen: Welche Struktur ist tatsächlich vorhanden?