Willkommen beim Embedding-Spielsystem
Hier geht es zur Liste der Embeddings
Was sind Embeddings?
Viele Eigenschaften von Wörtern lassen sich am Wort selbst nicht erkennen. Das ist eine Herausforderung für Systeme, die automatisiert mit Sprache umgehen können sollen. Wörter können etwa völlig unterschiedlich aussehen, obwohl sie sich in ihrer Bedeutung sehr ähnlich sind.
Betrachten wir als Beispiel die Wörter Hund und Katze. Oberflächlich betrachtet haben diese beiden Wörter wenig gemeinsam – nicht einmal einen einzigen Buchstaben. Wir wissen aber, dass sie sogar recht viel gemeinsam haben: Sowohl Hunde als auch Katzen sind Tiere, Säugetiere sogar, beide sind Fleischfresser, beide werden gern als Haustiere gehalten … Zugleich gibt es Unterschiede: Hunde bellen, Katzen miauen … Aus den Wörtern Hund und Katze allein geht das alles nicht hervor. Wie kann man dieses Weltwissen maschinell verarbeitbar machen? Eine Möglichkeit wäre, alle Eigenschaften von Hunden und Katzen in einer mathematisch präzise definierten Form aufzuzählen, zum Beispiel als logische Formeln. Das ist aber sehr aufwändig (vor allem, wenn man das nicht nur für Hund und Katze, sondern für sehr viele Wörter machen muss).
Die Ähnlichkeiten und Unterschiede von Hund und Katze schlagen sich aber auch in der Art und Weise nieder, wie wir diese Wörter verwenden. Es gibt viele andere Wörter, die sowohl mit Hund als auch mit Katze häufig kombiniert werden: klein, groß, süß, streunend, läuft, frisst … Andererseits gibt es auch Wörter, die nur für Hund oder nur für Katze einen Sinn ergeben: eine Katze bellt nicht, ein Hund schnurrt nicht … Und es gibt Wörter, die zu beidem nicht passen: Weder Hund noch Katze sind in der Regel atomgetrieben oder unterseeisch.
Solche Muster gemeinsamen Auftretens kann man in großen Textsammlungen automatisch feststellen. Für jedes Wort, das in einer Textsammlung vorkommt, ist es möglich, diese Muster zu sammeln und dem Wort dann ein mathematisches Objekt zuzuordnen, das diese Muster repräsentiert. Sehr typisch ist, Vektoren zu verwenden, um die Muster zu repräsentieren: Sie lassen sich mathematisch gut handhaben und besitzen sogar eine geometrische Interpretation als Punkte oder Richtungen in einem (hochdimensionalen) Raum. Da die Wörter also sozusagen als Punkte oder Richtungen in diesen Raum „eingebettet“ werden, nennt man eine solche Zuordnung von Vektoren zu Worten ein Word Embedding oder kurz Embedding (vom englischen to embed, „einbetten“).
(Man kann Embeddings auch für andere diskrete Objekte erstellen, nicht nur Wörter, aber in diesem Spielsystem geht es nur um Word Embeddings.)
Was kann man mit Embeddings machen?
Die Vektoren, die den Wörtern zugeordnet werden, repräsentieren Muster gemeinsamen Auftretens mit anderen Wörtern. Zwei Wörter, die häufig mit den gleichen (anderen) Wörtern gemeinsam auftreten (zum Beispiel Wind und Regen mit stark, schwach, ungemütlich, Unwetter, vorhersagen oder trotzen), erhalten daher Vektoren, die in einem gewissen Sinne „ähnlich“ sind. So kann man als Maß für den Grad der Ähnlichkeit oder Unterschiedlichkeit von Wörtern, soweit sie sich in gemeinsamer Verwendung mit ähnlichen oder unterschiedlichen Wörtern ausdrückt, die Ähnlichkeit ihrer Vektoren verwenden. Ein beliebtes Maß ist die Kosinus-Ähnlichkeit. Ihr liegt die geometrische Interpretation der Vektoren zugrunde: Die Kosinus-Ähnlichkeit zweier Wörter ist der Kosinus des Winkels zwischen ihren beiden Vektoren. Ihre Werte reichen von minus eins bis eins. Der Wert eins entspricht einem Winkel von 0°, das heißt, die beiden Vektoren zeigen in die gleiche Richtung, stimmen also (bis auf ihre Länge) überein. Man interpretiert das so, dass die beiden Wörter sich sehr ähnlich sind. Der Wert minus eins hingegen entspricht einem Winkel von 180°, das heißt, die beiden Vektoren zeigen in die genaue Gegenrichtung voneinander. Man interpretiert das so, dass die beiden Wörter sich sehr unähnlich sind.
Die Vektoren repräsentieren Muster gemeinsamen Auftretens in einer bestimmten Textsammlung. Je nachdem, welche Textsammlung zugrunde liegt, können dieselben zwei Wörter daher unterschiedliche Kosinus-Ähnlichkeiten aufweisen.
Indem man die Wörter in einem Embedding absteigend nach ihrer Kosinus-Ähnlichkeit zu einem bestimmten Wort sortiert, erhält man eine Liste von Wörtern, die diesem Wort in einem gewissen Sinne „am ähnlichsten“ sind. Auf diese Weise ist es beispielsweise möglich, andere Wörter eines Bedeutungsfeldes zu finden oder einen Eindruck davon zu bekommen, wie ein Wort in einer Textsammlung konnotiert ist. So, wie sich die Kosinus-Ähnlichkeiten zweier Wörter je nach zugrunde liegender Textsammlung unterscheiden können, sind auch die Listen der ähnlichsten Wörter potenziell sehr verschieden. Sie spiegeln mitunter Vorurteile oder Stereotype wider, die in einem Text oder einer Textsammlung vorhanden, aber nicht unbedingt offensichtlich sind, sondern sich nur in der Wortverwendung niederschlagen.
Die Qualität der Kosinus-Ähnlichkeiten und damit auch der Listen ähnlichster Wörter hängt entscheidend davon ab, wie häufig die beteiligten Wörter in der zugrunde liegenden Textsammlung vorkommen: Je häufiger ein Wort ist, desto mehr Muster seines gemeinsamen Auftretens mit anderen Wörtern gibt es. Diese sind dann hoffentlich statistisch repräsentativ für seine Verwendung. Bei seltenen Wörter hingegen kann es sein, dass sie nur in sehr ungünstigen Kombinationen auftreten, die keine guten Beispiele ihrer Verwendung sind.
Um die Ähnlichkeiten gut repräsentieren zu können, müssen die Vektoren günstig angeordnet werden. Wenn Wörter genügend häufig vorkommen, führt das manchmal dazu, dass nicht nur Ähnlichkeiten von Wörtern, sondern auch Ähnlichkeiten der Beziehungen zwischen Wörtern sich in geometrischen Eigenschaften der Vektoren niederschlagen. Es könnte zum Beispiel passieren, dass die beiden Vekoren zu König und zu Königin relativ zueinander sehr ähnlich liegen wie die beiden Vektoren zu Mann und zu Frau. Das liegt dann daran, dass die Unterschiede in der Verwendung von König und Königin sehr den Unterschieden in der Verwendung von Mann und Frau ähneln. Diesen Umstand kann man sich zunutze machen, um ausgehend von drei Wörtern (wie Mann, Frau und König) ein viertes (Königin) zu finden, das zum dritten (König) in einer ähnlichen Beziehung steht wie das zweite (Frau) zum ersten (Mann). Man spricht hier von einer Analogie. Auch Analogien hängen von der verwendeten Textsammlung ab und spiegeln potenziell Stereotype wider, die in den Texten vorhanden sind. Damit sich für viele Wörter gute Analogien in einem Embedding finden lassen, braucht man allerdings außerordentlich große Textsammlungen. Viele Embeddings sind nicht mit so großen Datenmengen trainiert und liefern daher nicht immer sehr sinnvolle Analogien.