Mittelung von zwei Word2vec-Vektoren, um eine einheitliche Darstellung für ein einzelnes Wort zu erhalten


8

Ich habe an trainierten Daten für den Word2vec-Algorithmus gearbeitet. Da wir Wörter benötigen, um das Original zu erhalten, werden sie in der Vorverarbeitungsphase nicht in Kleinbuchstaben geschrieben. Somit gibt es Wörter mit unterschiedlichen Variationen (z. B. "Erde" und "Erde").

Die einzige Möglichkeit, die ich mir vorstellen kann, besteht darin, den Durchschnitt der Vektoren für "Erde" und "Erde" zu ermitteln, um einen einzelnen Vektor zur Darstellung des Wortes zu erstellen. (Da die Abmessungen des Merkmalsvektors ähnlich sind)

Ist das eine "okay" Methode? Wenn dies nicht der Fall ist, wie könnte dieses Problem möglicherweise gut gelöst werden?

Hinweis: Das Verringern aller Wörter in der Vorverarbeitung ist derzeit keine Option.

Bearbeiten: Die Informationen darüber, ob Feature-Dimensionen wirklich linear sind oder nicht, wären ebenfalls hilfreich.

Bearbeiten 2: Kombinieren Sie beide Antworten aus patapouf_aiund yazhierzielen Sie die besten Ergebnisse. Wie werden diese kombiniert? Der gewichtete Durchschnitt verbesserte die Ergebnisse, aber das Durchführen von Wortfrequenzen durch eine skalierte Sigmoidfunktion ergab die besten Ergebnisse, da die lineare Verwendung von Wortfrequenzen ihnen mehr Bedeutung verleiht als sie tragen.

Antworten:


1

Nur eine Mittelung ist möglicherweise nicht gut, da dies voraussetzen würde, dass sie das gleiche Gewicht haben, und dies ist wahrscheinlich nicht der Fall, wenn die großgeschriebene und die nicht kapitalisierte Version mit sehr unterschiedlichen Häufigkeiten in Ihren Trainingsdaten erscheinen.

Eine schrittweise Verbesserung wäre, sie proportional zu ihrer Häufigkeit im Korpus zu mitteln. Sagen wir also, die Erde erscheint 159 Mal und die Erde 1239 Mal und tut so etwas wie:

v (Erde & Erde) = 159 / (159 + 1239) * v (Erde) + 1239 / (159 + 1239) * v (Erde).

Die Vektoren sollen die Semantik linear codieren, daher sollten Sie eine vernünftige Annäherung erhalten.


1
Dies ist die Lösung, die wir bereits gewählt haben. Ich könnte die Antwort genauso gut akzeptieren.
Ozgur

0

Die Wörter "Erde" und "Erde" mögen dieselbe Bedeutung haben, aber gemäß dem word2vec-Algorithmus leitet er die semantische Information aus der Position der Wörter ab.

Daher erscheint "Erde" am häufigsten am Anfang des Satzes als Subjekt und "Erde" am Ende meistens in der Objektform. Die nächstgelegenen benachbarten Wörter können sich also unterscheiden, aber insgesamt können beide Sätze Wörter wie "Verschmutzung, Klima, Wasser, Länder" enthalten.

Zusammenfassend lässt sich sagen, dass bei einem größeren Fenster die gleichen semantischen Informationen mit kleinen Änderungen erhalten bleiben, bei denen die "Erde" einige Subjektinformationen und die "Erde" Objektinformationen enthält. Die Mittelwertbildung hat also keinen großen Einfluss und scheint ein möglicher Fall zu sein. Bei geringerer Fenstergröße besteht jedoch eine hohe Wahrscheinlichkeit, dass es unterschiedliche Bedeutungen haben kann.


Nun, die BoW-Größe ist 5. Welche Zahl halten Sie für eine geeignete Fenstergröße, damit die Mittelwertbildung funktioniert?
Ozgur

Eine Fenstergröße von 5 bedeutet, dass insgesamt 10 Wörter berücksichtigt werden und ein allgemeiner englischer Satz in 10 Wörtern geschrieben werden kann. Das klingt gut für mich.
Yazhi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.