Automatisierte Stichwortvergabe für kurze Texte

Autor(en):
Dr.
Jörg
Kindermann

Datenbanken mit umfangreichen Textsammlungen, wie beispielsweise Nachrichten, Publikationen oder Patente, sind oft schon aufgrund der Anzahl der enthaltenen Dokumente unübersichtlich. Daher ist es schon seit langem üblich, abgespeicherte Texte mit Stichworten zu versehen, die eine schnelle und zielgerichtete Suche ermöglichen. Früher geschah dies durch eine manuelle Vergabe der Stichworte. Dies ist jedoch ein aufwändiger und kostspieliger Prozess, denn die mit der Stichwortvergabe betrauten Mitarbeitenden (Annotatoren) müssen sich mit den behandelten Themen gut auskennen. Auch wenn solche Experten zur Verfügung stehen, ist das Ergebnis in manchen Fällen nicht optimal: Experten können für die Benennung desselben Themas unterschiedliche Bezeichnungen benutzen. Wenn man aus Gründen der Uniformität dagegen mit einer kontrollierten Liste von Stichworten arbeitet, muss diese aufwändig gepflegt werden, um neuen Themen gerecht zu werden.

Wir haben uns daher mit der Frage beschäftigt, wie man kurze Texte – zum Beispiel Meldungen einer Nachrichtenagentur oder Zusammenfassungen von Publikationen und Patenten – vollautomatisch mit inhaltsbezogenen Stichworten versehen kann. Eine solche Bearbeitung wird in der Fachsprache „Tagging“ genannt.

Um diese Aufgabe besser zu verstehen, ist es angebracht, sich denkbare Ziele des Taggings klar zu machen: Stichworte (Tags) sollten auf einen Blick die wesentlichen Themen des Textes abbilden. Wichtig ist dabei, dass die Stichworte in einem größeren Zusammenhang stehen. Das bedeutet, dass ausgewählte Stichworte auch in anderen Texten zu ähnlichen Themen vorkommen sollten. Daher ist es eher nicht zweckmäßig, einen Begriff auszuwählen, der sehr speziell oder zu allgemein ist. Die in den nächsten beiden Abschnitten als Beispiele vorgestellten Ansätze „Word Cloud“ und „Topic Modelle“ erfüllen diese Bedingungen mehr oder weniger gut und haben spezifische Vor- und Nachteile.

Word Clouds

In der ersten Millenniumsdekade waren Word Clouds im Web 2.0 sehr populär. Die Auswahl der Worte wurde durch einfache Zählstatistiken erreicht. Word Clouds basieren auf einer großen Anzahl von Texten (Fachterm: das Corpus). Man kann dann Worte aus der Cloud, die in einem der Texte tatsächlich vorkommen, als Tags dieses Textes verwenden. Der Vorteil besteht in der sehr einfachen Algorithmik. Ein Nachteil ist der fehlende Bezug zu Kontext und Zweck der Texte und die oft fragliche Sinnhaftigkeit der ermittelten Worte. Daher ist eine nachträgliche Bereinigung der Word Cloud angeraten, um Funktionswörter oder andere häufig vorkommende nicht sinntragende Terme zu entfernen. Ein oft genanntes Beispiel ist die Dominanz des Terms „http“ in einem Corpus, das aus HTML-codierten Dateien besteht. Ein weiterer Nachteil entsteht durch das Problem, dass einem Text, der zufällig keines der Worte aus der Word Cloud enthält, keine Tags zugeordnet werden können.

Topic Modelle

Auf eine wesentlich komplexere theoretische Basis setzten einige Jahre später die Topic Modelle. Topics werden hier als „Themen“ verstanden, die in Texten behandelt werden. Besonders häufig als Topic Modell verwendet wurde der LDA Algorithmus (Latent Dirichlet Allocation). Bei diesem Text-Clusterverfahren wird auf der Basis einer Wahrscheinlichkeitsverteilung eine Beziehung zwischen Texten eines Corpus, den in den Texten enthaltenen Worten und „unsichtbaren“ (latent) Topics hergestellt. Die latenten Topics werden durch Worte charakterisiert, die mit hoher Wahrscheinlichkeit in Texten auftauchen werden, die dieses Topic-Thema behandeln. Ebenso werden auch die Texte selbst mit Wahrscheinlichkeiten den Topics zugeordnet. Dies ist sinnvoll, denn ein Text kann ja eine Beziehung zu mehreren Topic-Themen haben. Für das Tagging eines Textes können nun die Worte der Topics verwendet werden, die mit hoher Wahrscheinlichkeit die Themen des Textes repräsentieren. Ein Vorteil gegenüber der Word Cloud ist die Möglichkeit, jedem Text themenzentrierte Stichworte aus seinen Topics zuordnen zu können. Das Problem inhaltsloser Terme, wie beispielsweise „http“ besteht allerdings auch hier.

Semantisches Tagging

Wir haben ausgehend von dieser Situation eine mehrstufige Verarbeitungskette (Workflow) entwickelt, um Nachteile der bisherigen Ansätze zu umgehen oder auszugleichen. Wir bauen dabei auf den in den letzten Jahren sprunghaft weiterentwickelten Ansatz der Worteinbettungsvektoren auf. Der bekannteste Algorithmus zur Berechnung von Einbettungsvektoren ist Word2Vec. Über Worteinbettungsvektoren können semantische Ähnlichkeiten von Begriffen ohne menschliche Interpretation erschlossen werden. Diese Eigenschaft ist schon seit einigen Jahren, beginnend mit den Publikationen über den Word2Vec Algorithmus, bekannt. Darauf aufbauend wurde das Programm „StarSpace“ (Erläuterung und Programmcode) entwickelt. StarSpace berechnet Einbettungen für Entitäten. Das Verfahren funktioniert für Worte und Texte und darüber hinaus auch für Metadaten, die Texte beschreiben – zum Beispiel Textkategorien, Stichworte, Autorennamen usw.

Unser Ansatz besteht darin, zunächst aus den einzelnen Texten eines Corpus Kandidaten für Stichworte zu sammeln. Dazu verwenden wir einen einfachen vollautomatisch arbeitenden Algorithmus. Wir fassen hier den Begriff Stichwort etwas weiter und sammeln auch Phrasen, die aus mehreren Worten bestehen können und die wir als Schlüsselbegriffe bezeichnen. Für ein großes Corpus kommen hier mehrere tausend oder auch zehntausend Schlüsselbegriffe zusammen, die dann in zwei Schritten weiter gefiltert werden. Zunächst bestimmen wir durch eine zählbasierte Statistik aus der Informationstheorie für jeden Teil eines Schlüsselbegriffes, also jedes einzelne Wort, den Informationsgehalt in Bezug auf das Corpus. Dies ermöglicht es uns, alle Phrasen wieder zu streichen, die kein Wort mit hohem Informationsgehalt enthalten. Die übrig gebliebenen Phrasen werden dann nach Häufigkeit ihres Vorkommens in den Texten sortiert und die am häufigsten gezählten Phrasen werden beibehalten. StarSpace erlaubt es, bei großen Corpora mehrere tausend Schlüsselbegriffe zu lernen.

Lernen bedeutet hier, dass die Schlüsselbegriffe wie Kategorien eines Klassifikationssystems vom StarSpace Modell den Texten zugeordnet werden, in denen sie tatsächlich vorkommen. Der Effekt, den wir für das Tagging ausnutzen, besteht darin, dass die gelernten Schlüsselbegriffe auch neuen Texten zugeordnet werden, in denen sie nicht wörtlich vorkommen, die jedoch inhaltlich (semantisch) ähnlich zu Texten im Lern-Corpus sind. StarSpace nutzt die vom Word2Vec Algorithmus bekannte Eigenschaft, semantische Ähnlichkeit in Worteinbettungsvektoren zu codieren, auch für die Vektoren der Schlüsselbegriffe.

Tagging von Patent Abstracts

Wir haben uns eingehend mit dem Beispiel des Taggings der Zusammenfassung von Patentschriften (Patent Abstracts) beschäftigt. Ein Teilergebnis zeigt die Abbildung 1. Die Schlüsselbegriffe wurden aus einem sehr großen Corpus von Patent Abstracts extrahiert.

© Fraunhofer IAIS
Abbildung 1: Semantische Ähnlichkeiten von automatisch extrahierten Schlüsselbegriffen aus Patent Abstracts zum Themengebiet Lasertechnik

Hier werden Begriffe aus dem Bereich Lasertechnik gezeigt. Die Verbindungslinie zwischen zwei Begriffen bedeutet technisch, dass die Worteinbettungsvektoren dieser Begriffe sich sehr ähnlich sind. Inhaltlich bedeutet es, dass die Begriffe im Corpus in ähnlichen Kontexten (in Bezug auf andere Begriffe und allgemein Worte) verwendet werden. Man kann daher eine semantische Ähnlichkeit der Begriffe annehmen. Unser Vorgehen liefert zwei wesentliche Ergebnisse: Die aus dem Corpus extrahierten Schlüsselbegriffe stehen in einer semantischen Ähnlichkeitsrelation, die visualisiert werden kann und einen schnellen Überblick über die Themen einer Textkollektion liefert. Mit den erlernten StarSpace Modellparametern können außerdem thematisch verwandten neuen Texten geeignete Schlüsselworte zugeordnet werden, auch dann, wenn diese so nicht in den Texten vorkommen.

Autor

Dr.
Jörg
Kindermann

Jörg Kindermann ist wissenschaftlicher Mitarbeiter am Lamarr-Standort des Fraunhofer Instituts IAIS in Sankt Augustin. Sein Forschungsinteresse ist auf die Anwendung neuer Verfahren des Deep Learning und allgemeiner der Künstlichen Intelligenz auf Fragestellungen der Linguistik ausgerichtet. Spaß bereitet es ihm dabei besonders, Lösungen in die Praxis zu bringen.