Worteinbettungen: wie ein Computer Bedeutung berechnet
Gibst du einem Computer das Wort Hund, sieht er nur vier Buchstaben. Er weiß nicht, dass ein
Hund ein Tier ist, bellt und gefüttert wird. Er weiß auch nicht, dass ein Hund mehr mit einer
Katze zu tun hat als mit der Zahl hundert. Damit ein Computer mit Bedeutung rechnen kann, muss man
sie erst in Zahlen übersetzen.
Das geht mit sogenannten Worteinbettungen. Sie stecken hinter Kontexto und hinter fast jedem modernen Programm, das mit Sprache arbeitet. In diesem Artikel erklären wir dir ohne Formeln, wie sie funktionieren und was das für dein Spiel bedeutet.
Die Idee: Jedes Wort bekommt eine Adresse
Eine Worteinbettung gibt jedem Wort eine Liste von Zahlen. Beim Modell hinter Kontexto sind es 300
Zahlen pro Wort. Stell dir das wie eine Adresse auf einer Karte vor. Ein Ort auf einer normalen
Landkarte hat zwei Angaben, Länge und Breite. Hund hat eben dreihundert.
Wichtig ist nicht, wie viele Zahlen es sind, sondern was Nähe auf dieser Karte bedeutet.
Zwei Wörter liegen nah beieinander, wenn sie in ähnlichen Sätzen vorkommen. Hund und Katze
liegen dicht zusammen, Hund und Demokratie weit auseinander.
300 Richtungen kann sich niemand vorstellen, und das musst du auch nicht. Alles Wichtige funktioniert auf einer Karte mit zwei Richtungen genauso. Mehr Richtungen heißt nur, dass das Modell mehr Seiten einer Bedeutung gleichzeitig auseinanderhalten kann.
Woher das Modell weiß, was zusammengehört
Niemand erklärt dem Modell, was ein Hund ist. Es gibt kein Lexikon, keine Kategorien und keine Regeln. Es gibt nur sehr viel Text.
Dahinter steckt eine alte Beobachtung aus der Sprachwissenschaft. John Rupert Firth hat sie 1957 in A Synopsis of Linguistic Theory so zusammengefasst: Man erkennt ein Wort an der Gesellschaft, in der es auftaucht.
Wörter mit ähnlicher Bedeutung haben ähnliche Nachbarn. Hund und Katze stehen beide oft neben
füttern, Tierarzt, streicheln, Fell und Napf. Das Modell liest Milliarden von Sätzen und
achtet auf nichts anderes als auf diese Nachbarn. Wörter mit ähnlichen Nachbarn bekommen ähnliche
Zahlen.
Für Deutsch hat das Modell aus Texten im Internet (Common Crawl) und aus der deutschen Wikipedia gelernt, also aus dem, was Menschen wirklich geschrieben haben. Das hilft beim Verstehen der Ergebnisse: Das Modell zeigt, wie Menschen über Dinge schreiben, und nicht unbedingt, wie die Dinge wirklich sind.
Das Erstaunliche: Man kann mit Bedeutung rechnen
Weil Bedeutung jetzt in Zahlen steckt, kann man sie zusammenzählen und abziehen. Das bekannteste Beispiel ist dieses:
König minus Mann plus Frau ergibt ungefähr Königin.
Der Weg von Mann zu König ist auf der Karte ungefähr derselbe wie der Weg von Frau zu
Königin. Das Modell hat also „königlich“ und „weiblich“ als eigene Richtungen gelernt. Niemand hat
ihm diese Begriffe beigebracht. Sie sind einfach aus den vielen Nachbarschaften entstanden.
Das klappt nicht immer. Dass es überhaupt klappt, war aber eine der großen Überraschungen der letzten Jahre in der Sprachforschung.
Warum Hund und Hundert weit auseinanderliegen
Damit ist die Frage vom Anfang beantwortet. Hund steht in Texten über Tiere, Hundert in Texten
über Zahlen. Ihre Nachbarn sind völlig verschieden, also liegen sie auf der Karte weit auseinander.
Dass sie fast gleich geschrieben werden, spielt für die Bedeutung keine Rolle.
Eine kleine Ausnahme gibt es bei fastText, dem Modell hinter Kontexto. Es schaut sich zusätzlich
kurze Buchstabenstücke an, damit es auch seltene und zusammengesetzte Wörter einordnen kann.
Dadurch hat die Schreibweise doch einen kleinen Einfluss. Der ist so klein, dass Hund und
Hundert trotzdem weit auseinanderbleiben. In Grenzfällen kann er aber eine Rolle spielen, mehr
dazu in Komposita und Teilwörter.
Drei Dinge, die du wissen solltest
Worteinbettungen haben ein paar Eigenheiten, die beim Spielen oft überraschen. Alle drei kommen direkt daher, wie das Modell lernt.
Gegenteile liegen nah beieinander. heiß und kalt stehen in den gleichen Sätzen: Das Wasser
ist heiß, das Wasser ist kalt. Ihre Nachbarn sind fast dieselben, also liegen sie nah zusammen. Das
Modell misst nicht „bedeutet dasselbe“, sondern „steht an denselben Stellen“.
Ein Wort mit zwei Bedeutungen hat nur eine Adresse. Bank kann eine Sitzbank oder ein
Geldinstitut sein. Beide Bedeutungen landen in derselben Zahlenliste. Das Wort liegt deshalb
irgendwo zwischen beiden Themen und passt zu keinem richtig.
Seltene Wörter sind ungenau. Kam ein Wort in den Trainingstexten nur ein paar hundert Mal vor, hat das Modell wenig gesehen. Seine Adresse ist dann eher eine Schätzung als eine Messung.
Die Schieflage, die wir herausrechnen
Eine vierte Eigenheit ist weniger bekannt, für ein Spiel wie Kontexto aber sehr wichtig: Die rohen Zahlen sind nicht sauber verteilt. Alle Wörter teilen sich einen gemeinsamen Anteil, und dieser Anteil zeigt vor allem, wie häufig ein Wort ist.
Ließen wir das so, hätte es eine unschöne Folge: Häufige Alltagswörter wären zu jedem geheimen Wort ähnlich. Der Rang würde dann messen, wie gebräuchlich dein Wort ist, und nicht, wie gut es passt. Deshalb rechnen wir diesen Anteil heraus, bevor wir einen einzigen Rang berechnen. Wie das geht, steht in All-but-the-Top.
Warum Ähnlichkeit als Winkel gemessen wird
Wenn jedes Wort ein Punkt auf einer Karte ist, liegt eine Idee nahe: Man misst einfach den Abstand zwischen zwei Punkten. Genau das macht Kontexto nicht, und der Grund ist spannend.
Wie weit ein Wort vom Mittelpunkt der Karte entfernt ist, hängt vor allem davon ab, wie häufig es
ist. Häufige Wörter kommen beim Lernen öfter vor und landen weiter außen. Würde man den Abstand
messen, wäre zum Beispiel und von allem gleich weit weg, und das sagt nichts über Bedeutung.
Deshalb zählt nur die Richtung. Zwei Wörter gelten als ähnlich, wenn sie vom Mittelpunkt aus in dieselbe Richtung zeigen, egal wie weit weg sie liegen. Genau das misst die Kosinus-Ähnlichkeit: den Winkel zwischen zwei Pfeilen. Null Grad heißt gleiche Richtung, neunzig Grad heißt kein Zusammenhang. Ausführlich erklären wir das in Kosinus-Ähnlichkeit einfach erklärt.
Was man bei 300 Richtungen nicht mehr sieht
Alle Bilder in diesem Text arbeiten mit zwei oder drei Richtungen, weil man mehr nicht zeichnen kann. Die echte Karte hat 300, und dort gelten Regeln, die unserem Gefühl widersprechen.
Die wichtigste: Bei so vielen Richtungen ist fast alles ungefähr gleich weit von allem entfernt. Nimmt man zwei zufällige Richtungen, stehen sie fast immer nahezu rechtwinklig zueinander. Für das Spiel heißt das: Die allermeisten Wortpaare haben fast nichts miteinander zu tun, und ihre Werte liegen alle sehr dicht beieinander.
Genau deshalb zeigt dir das Spiel einen Rang und keine Prozentzahl. Die rohen Werte zwischen zwei zufälligen deutschen Wörtern liegen so eng zusammen, dass schon kleine Nachkommastellen über „weit daneben“ und „fast getroffen“ entscheiden. Der Rang macht daraus eine Zahl, die du ohne Vorwissen verstehst.
Und noch etwas folgt daraus für deine Suche. Weil so viele Wörter ungefähr gleich weit weg sind, verraten dir die hinteren Ränge nur wenig. Deshalb bringt dir ein Sprung von 9.000 auf 6.000 kaum etwas, ein Sprung von 300 auf 90 dagegen sehr viel.
Was das für dein Spiel bedeutet
Denk beim Raten daran: Das Modell misst, welche Wörter in denselben Sätzen stehen. Es misst nicht, ob zwei Begriffe für dich verwandt klingen. Dann wirst du seltener überrascht.
Gabel und Löffel liegen nah, weil sie ständig zusammen in Sätzen stehen. Gabel und
Astgabel klingen verwandt, stehen aber in ganz anderen Texten und liegen deshalb weit
auseinander. Dein Gefühl sagt „beides ist gegabelt“. Das Modell sagt „das eine steht neben Messer,
das andere neben Baum“. Beide haben recht, sie beantworten nur verschiedene Fragen.
Wie aus zwei Zahlenlisten am Ende eine einzige Zahl wird, erklärt Kosinus-Ähnlichkeit. Was beim Rang schiefgehen kann, liest du in Warum hat mein Wort einen schlechten Rang?.