Von Dr. Lisa Wagner

Voraussichtliche Lesedauer: 4 Minuten

Techblog

Von Wörtern zu Vektoren

Ob Kundenrezensionen, Erfahrungsberichte oder Tweets und Facebook-Einträge – das Internet ist eine schier unerschöpfliche Quelle an Informationen in Textform. Das setzt sich in kleinerem Stil in den internen Systemen von Unternehmen fort. Da häufen sich Support-Tickets, Test-Fall-Beschreibungen und Log-Einträge. Und auch wenn es sich um deutlich kleinere Datenmengen handelt als im Internet: Es ist zu…

Techblog

Ob Kundenrezensionen, Erfahrungsberichte oder Tweets und Facebook-Einträge – das Internet ist eine schier unerschöpfliche Quelle an Informationen in Textform. Das setzt sich in kleinerem Stil in den internen Systemen von Unternehmen fort. Da häufen sich Support-Tickets, Test-Fall-Beschreibungen und Log-Einträge. Und auch wenn es sich um deutlich kleinere Datenmengen handelt als im Internet: Es ist zu viel, als dass sich jemand hinsetzen und das ganze querlesen kann, um die wichtigsten Punkte und interessante Auffälligkeiten zu extrahieren.

Zum Glück brachte der Trend um Big Data und Data Mining viele automatisierte und semi-automatisierte Verfahren mit sich, die genau darauf abzielen Ordnung und Übersicht in den großen Datenwust zu bringen.

Das Problem dabei? Alle diese Algorithmen rechnen. Das heißt, sie stellen jeden Datenpunkt als einen (hochdimensionalen) Vektor aus Zahlen dar, um dann zum Beispiel Abstände oder Winkel zwischen ihnen zu kalkulieren. Wenn ein Datenpunkt nun aus verschiedenen Messungen besteht, ist es einfach, diesen Vektor zu finden. Man hat ja bereits Zahlen, die in einem Verhältnis zueinander stehen. Aber welche Zahlen nimmt man, um ein Dokument mit einem anderen zu vergleichen? Klar kann man einfach die Anzahl der Wörter und Zeichen bestimmen oder zählen, wie oft der Buchstabe ‚e‘ vorkommt. Diese Parameter erlauben aber keinerlei Rückschlüsse auf den Inhalt des Textes.

Elefant oder Auto?

Einzelne Worte dagegen geben schon einen recht guten Eindruck über das behandelte Thema. Zwar gehen Negierungen verloren und die Relationen zwischen mehreren Worten werden unklar, aber ein Text, der 30-mal das Wort „Auto“ und einmal das Wort „Elefant“ enthält, dreht sich sehr wahrscheinlich um Autos, und nicht um Elefanten.

Also einfach zählen, wie oft jedes Wort vorkommt. Kein Problem! Leider doch: Die deutsche Sprache umfasst je nach Zählweise 300.000 bis 500.000 Wörter, die englische noch etwas mehr. Ignoriert man obskure, veraltete und selten benutzte Wörter, bleibt immer noch ein Standardwortschatz von zirka 75.000 Wörtern. Ein Vektor mit so vielen Dimensionen würde zu unvertretbar langen Laufzeiten bei der Berechnung und Verwendung der Algorithmen führen. Außerdem benötigt man eine unglaublich große Menge verschiedener Dokumente, damit sinnvolle Modelle heraus kommen.

Es gilt also, eine überschaubare Menge an Schlagwörtern zu finden, mit denen sich der Inhalt aller zur Analyse stehenden Dokumente abdecken lässt. Es werden maximal 300 Dimensionen empfohlen. Es gibt zwei Methoden: Entweder gibt man explizit eine Liste von Wörtern vor, die für den Fokus der Analyse interessant sind. Oder man leitet die wichtigsten Schlagwörter durch ein automatisiertes Verfahren aus der Gesamtmenge aller Wörter in den Texten ab.

Beide Methoden beschreibe ich im zweiten Blogbeitrag


Über den Autor

Von Dr. Lisa Wagner