Überblick über Text-Mining und Informationsextraktion

Texte, ob geschrieben oder gesprochen, sind im Vergleich zu den üblichen Datenstrukturen, welche bei der Datenverarbeitung Verwendung finden, sehr unstrukturiert, enthalten aber meist doch eine Menge Information. Gerade bei längeren und umfangreicheren Texten möchte man die Informationen automatisiert extrahieren. Aber auch bei vielen kleinen Texten ist eine automatisierte Informationsextraktion sinnvoll, so können z.B. Unterlagen für verschiedene Sachbearbeiter vorsortiert werden. Auch im Bereich der smarten Assistenten gibt es einen sich immer stetig steigenden Bedarf an der Informationsextraktion aus gesprochenen Texten.

Abbildung 1

Das Flussdiagramm zeigt eine typische Vorgehensweise bei der syntaktischen und semantischen Analyse.

Methodische Vorgehensweise

Um Informationen aus unstrukturierten Texten zu extrahieren unterscheidet man die Analyse in zwei Bereiche, die “syntaktische” und die “semantische” Analyse (vgl. Abb. 1). Für die syntaktische Analyse wird der Text, bzw. der sogenannte Textkorpus, zunächst tokenisiert. Interpunktion und Leerzeichen dienen in vielen westlichen Sprachen dazu, Wörter (und damit auch kleinstmögliche Sinneinheiten) abzugrenzen, werden allerdings in vielen asiatischen Sprachen z.B. so nicht verwendet und auch im Deutschen gibt es das Phänomen zusammengesetzter Wörter. Als Token werden aber nicht nur Wörter / Begriffe (terms) benutzt, auch eine Folge von Wörtern (concepts) bis hin zu ganzen Absätzen kann als Token in Frage kommen. Die Idee beim Tokenisieren ist es, die Stärke der semantischen Bedeutung zu erhöhen. Ein langer Abschnitt von Text (bspw. der erste Abschnitt von Genesis) kann eine höhere semantische Bedeutung haben als die darin enthaltenen Wörter, da diese den speziellen Kontext nicht transportieren. Ein weiteres Hilfsmittel, das beim Tokenisieren üblicherweise ausgeführt wird, ist das Lemmatisieren. Dabei werden Wörter in ihre Grundformen reduziert, bei Nomen z.B. in den Singular. Auch die Phänomene von Polysemie (Mehrdeutigkeit von Wörtern) und Synonymie (Gleichbedeutung verschiedener Wörter) werden an dieser Stelle angegangen und in eindeutige Lemma aufgelöst. Je nach Analyseart kann es auch notwendig sein, dass Sätze und Abschnitte durch ein “Part of Speech” tagging (dt.: Wortart) linguistisch klassifiziert werden müssen. Für klassisches Textmining ist dies nicht notwendigerweise erforderlich, sog. POS-tagging gewinnt aber im Umfeld moderner Ansätzen zur Informationsextraktion und der Spracherkennung durch Computer zunehmend an Bedeutung.

Zur Lösung der meisten oben genannten Probleme können digitale Wörterbücher verwendet werden, aber auch statistische Verfahren können zur Lösung beitragen. In der Praxis werden oft Hybridverfahren verwendet. Die Lemmatisierung von Wörtern kann über Lexika ebenso erfolgen wie über sogenannte Stemming-Algorithmen. Wohingegen die Lemmatisierung der Wörter über ein Lexikon i.d.R. sehr fehlerfrei läuft, berücksichtigen Algorithmen den Wortstamm manchmal falsch und liefern falsche Stammformen. Statistische Algorithmen bieten aber den Vorteil Lemma sofort mit einer Frequenz zu versehen. Wenn der Text die Wörter “gehen”, “gegangen”, “weggegangen”, “gingen” enthält, wird später nur das Wort “gehen” berücksichtigt, aber mit einer Frequenz von 4. Dies kann insbesondere bei relativ kleinen Textkorpora zu besseren Ergebnissen führen. Um der Mehr- und Doppeldeutigkeit von Wörtern zu begegnen, müssen in der Regel Thesauri benutzt werden, die z.T. aber auch erst Themen- und Anwendungsspezifisch erstellt werden müssen. Stoppwörterbücher entfernen Wörter aus dem Textkorpus, denen keine oder nur geringe Aussagekraft zugeordnet werden können, wie z.B Artikel oder aber auch häufig verwendete Nomen, die in jedem spezifischen Fall variieren können. So würde bspw. das Lemma “DAX” bei der Aufbereitung aller Wirtschaftsartikel des letzten Jahres keine nennenswerte Information übertragen, bei der Auswertung der Berichterstattung über eine einzige Firma aber möglicherweise schon – nämlich, wenn die Firma im vergangenen Jahr einen Börsengang hinter sich hat und in eben jenem Aktienindex gelistet wird.

Abbildung 2: POS-getaggter Satz in Baumstruktur. Das POS-tagging erfolgte mit Google SyntaxNet

Das Part-of-Speech Tagging wurde zunehmend durch die Computerlinguistik automatisiert, wobei Methoden des überwachten maschinellen Lernens und des unüberwachten maschinellen Lernens benutzt werden. Das Vorgehen ist hier, den Satz mittels einer Baumstruktur um das Hauptverb herum zu entwickeln (vgl. Abb. 2). Ist das Verb identifiziert, folgt damit direkt, dass sich links und rechts davon “Nomensphrasen” (Nounphrases, NP) befinden. Im nächsten Schritt können die Äste links und rechts weiter entwickelt werden und feiner in Nomen, Adjektive, Artikel, etc. unterteilt werden. Die kann auch die Lemmatisierung unterstützen. So gibt es den Fall, dass ein Wort sowohl als Nomen als auch als Verb benutzt werden kann, aber bei der Lemmatisierung kann dies einen Unterschied ausmachen. Beim überwachten Lernen werden z.B. Hidden-Markov-Modelle oder Entscheidungsbäume benutzt. Ein vorgefertigter Trainingskorpus mit entsprechenden Labels wird benutzt um dem Algorithmus das Auftreten einer bestimmten Wortart in einem überschaubaren Korpus zu demonstrieren. Nachdem das Lernen abgeschlossen ist, kann der Algorithmus auch Wortarten in neuen Texten erkennen. Mathematisch funktioniert dies so, dass die Wahrscheinlichkeiten von bestimmten Tag-Folgen berechnet werden. Bei einem neuen, dem Algorithmus unbekannten Satz, sind einige Tags aus den Trainingsdaten bekannt – dem Algorithmus unbekannte Wörter werden nach der Wahrscheinlichkeit getaggt. Beim unüberwachten Lernen steht das Tagset nicht vorher fest, sondern es entsteht durch stochastische Verfahren aus den zu taggenden Sätzen selbst. Einen steht häufig nach lesen oder liest oder häufig am Satzende. Den steht häufig nach liest oder lese aber nie oder nur selten am Satzende. Lesen hingegen steht häufig am Satzende und nie nach liest oder lese. Der Algorithmus erzeugt daher eine Wortart, zu der den und eine weitere, zu der lesen gehört und sortiert einen in beide Wortarten ein. Dass es in einem gegebenen Fall dann als Artikel getaggt wird, ergibt sich, wie im Falle des überwachen Lernens, dann aus statistischer Wahrscheinlichkeit.

Nach diesen umfangreichen Aufbereitungen ist aus einem un- bzw. schwach strukturierten Text eine Menge von partiell strukturierten Daten geworden, auf welche die eigentlichen Text-Mining – oder Informationsextraktions-Verfahren aufbauen. Ziel dieser Verfahren ist es i.A. Kookkurrenzen (gleichzeitiges Auftreten) zwischen Wörtern bzw. concepts zu finden. (So ist in den Sätzen “Ich gehe zur Bank” und “Ich sitze auf der Bank” das Nomen Bank nicht zufällig mit den Verben gehen und sitzen korrelierend. Aber auch hier handelt es sich am Ende nur um eine Frage der Wahrscheinlichkeiten und im Zweifel kann die Information auf Grund von Doppeldeutigkeiten nicht genau gefunden werden, da im ersten Satz nicht klar ist, um welche Art von Bank es sich handelt. Das Verb sitzen besitzt auch keine direkte Abhängigkeit zu dem Nomen Bank, aber die Wahrscheinlichkeit auf einer Bank zu sitzen ist ungleich höher als auf einem Auto zu sitzen. Andererseits ist das Sitzen in einem Auto wohl in etwa gleich wahrscheinlich wie auf einer Bank zu sitzen. Auch hier werden häufig statistische Verfahren des maschinellen Lernen benutzt und wie auch so häufig, hängt bei diesen Verfahren das Ergebnis von der Datenbasis ab.) Klassisches Topic Modelling untersucht die Häufigkeit mit der bestimmte Phrasen zusammen auftreten und leitet daraus einen Zusammenhang her. Ob dieser Zusammenhang echt oder nur ein Artefakt ist, muss dann aber im Einzelfall der Analyst entscheiden.

Mittels Named-entity recognition (dt. Eigennamenserkennung) sollen Nomensphrasen als Eigennamen identifiziert, bzw. klassifiziert werden. D.h., es soll näher klassifiziert werden ob es sich bei einer Nomesphrase um eine Person, eine Firma, oder ähnliches handelt. Um solche Zuordnungen durch maschinelles Lernen zu ermöglichen sind sehr viele (von Hand erstellte) Trainingsdaten nötig. Systeme, die eher klassische (von Hand erstellte) Tabellen für die Eigennamenserkennung benutzen, haben meist eine höhere Genauigkeit sind aber langwierig und teuer in der Herstellung. Allerdings gibt es erste Ansätze mittels semiüberwachtem Lernen, die nur eine kleine Anzahl an Trainingsdaten erfordern aber im idealen Falle überzeugende Ergebnisse liefern können.

Abbildung 3: Beispielsatz zerlegt zum skeleton, um eine Relation der Art (X, α, Y) abzubilden.

 

Ist eine Entität, bzw. ein Eigenname gefunden, gilt es Beziehungen zu anderen Entitäten zu finden. Gesucht werden Tripel der Art (X, α, Y) wobei X und Y jeweils eine Entität sind und α die Verbindung zwischen diesen ist (häufig handelt es sich um ein Verb). Abbildung 3 zeigt den Satz aus Abb. 2 reduziert auf den Zusammenhang zwischen Galen und Münster, der über herrschen gebildet wird in Form eines skeletons (dt. Skelett). Ausgehend von diesem Zusammenhang ist es durch maschinelles Lernen möglich, weitere Zusammenhänge zwischen Entitäten zu finden. Kombiniert mit den oben genannten Thesauren können auch Synonyme wie regieren, administrieren, usw mit in das (X, α, Y) Tripel genommen werden. Auch hier hängt der Erfolg des maschinellen Lernens maßgeblich von der Datenbasis ab, welche zum Trainieren benutzt wird. Die hier beschriebene Variante eignet sich für semiüberwachtes Lernen, ist allerdings auch recht experimentell und beschreibt die Beziehung eher allgemein als speziell.

Eine andere und gängigere Möglichkeit, Beziehungen zwischen Entitäten herauszuarbeiten, ist es Verbindungen durch reguläre Ausdrücke herzustellen. Darunter wird eine definierte Zeichenfolge verstanden, welche in unserem Beispiel herrschte lange Zeit über sein kann. Die Beziehung wird durch den Ausdruck natürlich definitiv näher beschrieben. Welche Regentschaften damit genau beschrieben bzw. gefunden werden können, hängt auch wieder von den verwendeten Wörterbüchern oder Thesauren ab. Ob die venedischen Medici, welche lange Zeit in Venedig herrschten, vom Algorithmus entdeckt werden, hängt davon ab, wie gut die Wörterbücher, Thesauren und Algorithmen die Daten aufbereitet haben und aus beiden “Phrasen” dieselbe Beziehung ableiten können. Hier wird nun auch deutlich, warum eine Tokenisierung nicht zwangsläufig in einzelne Worte, sondern besser in Phrasen erfolgen sollte. Wörter wie in und über werden inflationär verwendet, gehören aber in dem Beispiel fest mit herrschen zusammen, wodurch eine Tokenisierung als herrschen in wesentlich sinnvoller als die Zerlegung in Einzelworte ist.

 

Zusammenfassung und Ausblick

Über die Jahre ist eine effiziente Sammlung an Tools und Methoden entstanden, die Text-Mining und Informationsextraktion zunehmend interessanter machen und zu neuen Anwendungen führen können. Allerdings ist, wie oben gezeigt, eine eindeutige und geradlinige Analyse nicht möglich. Der Analyst muss einigermaßen wissen, was er sucht und ggf. die Schritte mehrmals variieren, wiederholen und abändern. Es gibt aber auch noch viel Handlungsbedarf, gerade in dem Bereich der Eigennamenerkennung welcher aber auch den wichtigsten Bereich bei der Informationsextraktion darstellt. Gerade in den vergangenen Jahren sind die Möglichkeiten durch maschinelles Lernen und verschiedene Crowdsourcing Projekte aber enorm gewachsen und weitere Verbesserungen sind in den nächsten Jahren noch zu erwarten.