(1/8) Für diese Arbeit wurde ein Machine Learning Modell namens Word2Vec verwendet. Es benötigt reinen Fließtext als Trainingsdaten – in meinem Fall Transkripte von über 4000 TEDTalks. Diese stammen von kaggle.com.

(2/8) In Vorbereitung auf das Modelltraining geht Word2Vec jeden Satz aus den TED Talks durch und ordnet jedem einzelnen Wort darin seine Kontextworte zu. Diese stehen vor und nach dem ausgewählten Wort und werden während der Trainingsphase als Input benutzt, um das Zielwort vorherzusagen.

(3/8) Eine sogenannte Gewichtsmatrix wird zunächst mit zufälligen Zahlen, den Gewichten, initialisiert. Jede Spalte repräsentiert eine Dimension der späteren 100-dimensionalen Vektoren. Die Anzahl der Dimensionen ist frei wählbar, sodass auch z.B. 300 dimensionale Vektoren möglich sind. Jede Zeile steht für ein individuelles Wort aus dem Trainingsdatensatz.

(4/8) Das Training beginnt: Die Zeilen mit den Input-Worten werden ausgewählt. (Zur Vereinfachung hier nur das Wort "the"). Dies ist schon der Vektor des Wortes "the" im hundertdimensionalen Raum. Momentan sagt er aber noch nichts aus, weil die Zahlen zufällig gewählt sind.

(5/8) Eine zweite Gewichtsmatrix wird benötigt, um für jedes Wort aus dem Datensatz auszurechnen, wie hoch seine Wahrscheinlichkeit ist, auf das Wort “the” zu folgen. Auch diese Gewichte sind zunächst zufällig. Der Vektor des Input-Worts wird nun mit jeder Zeile der zweiten Matrix multipliziert.

(6/8) Der Output besteht aus einem Wahrscheinlichkeitswert für jedes Wort, deren Summe 1 bzw. 100% ergibt. In unserem Beispiel steht die fünfte Zeile für das Wort “people”, das mit einer Wahrscheinlichkeit von 30% vorhergesagt wird. Da es in diesem Beispiel das Zielwort ist, soll es mit einer möglichst hohen Wahrscheinlichkeit vorhergesagt werden.

(7/8) Der letzte Schritt nennt sich Backpropagation und ist für den Lernprozess  zuständig. Es wird berechnet, welche Gewichte sich in den beiden Matrizzen ändern müssen, damit sich die Wahrscheinlichkeit des Zielworts "people" erhöht. Dann werden die entsprechenden Zahlen angepasst, was dazu führt, dass sich die Wortvektoren verändern.

(8/8) Diese Schritte werden mit allen aus dem Trainingsdatensatz extrahierten Wortkombinationen orgenommen und in mehreren Iterationen – in meinem Fall 20 – wiederholt. Die Vorhersagen werden mit zunehmender Iteration besser und die zunächst zufälligen Zahlen in den Matrizzen gewinnen an Bedeutung.