Merkmale von Wortvektoren in word2vec

9

Ich versuche eine Stimmungsanalyse durchzuführen. Um die Wörter in Wortvektoren umzuwandeln, verwende ich das word2vec-Modell. Angenommen, ich habe alle Sätze in einer Liste mit dem Namen "Sätze" und übergebe diese Sätze wie folgt an word2vec:

model = word2vec.Word2Vec(sentences, workers=4 , min_count=40, size=300,   window=5, sample=1e-3)

Da ich keine Ahnung von Wortvektoren habe, habe ich zwei Zweifel.
1- Wenn Sie die Anzahl der Merkmale auf 300 einstellen, werden die Merkmale eines Wortvektors definiert. Aber was bedeuten diese Merkmale? Wenn jedes Wort in diesem Modell durch ein 1x300-Numpy-Array dargestellt wird, was bedeuten dann diese 300 Funktionen für dieses Wort?

2- Was macht das Down-Sampling, wie es im obigen Modell durch den Parameter 'sample' dargestellt wird, tatsächlich?

Danke im Voraus.

enterML
quelle

Antworten:

10

1- Die Anzahl der Merkmale: In Bezug auf das neuronale Netzwerkmodell repräsentiert es die Anzahl der Neuronen in der Projektionsschicht (versteckt). Da die Projektionsschicht auf einer Verteilungshypothese basiert, zeigt der numerische Vektor für jedes Wort seine Beziehung zu seinen Kontextwörtern an.

Diese Merkmale werden vom neuronalen Netzwerk gelernt, da dies eine unbeaufsichtigte Methode ist. Jeder Vektor hat mehrere semantische Eigenschaften. Nehmen wir zum Beispiel das klassische Beispiel V(King) -V(man) + V(Women) ~ V(Queen)und jedes Wort, das durch einen 300-d-Vektor dargestellt wird. V(King)wird semantische Eigenschaften von Royalität, Königreich, Männlichkeit, Mensch im Vektor in einer bestimmten Reihenfolge haben. V(man)wird Männlichkeit haben, menschlich, in einer bestimmten Reihenfolge arbeiten. Wenn V(King)-V(Man)dies getan ist, werden Männlichkeit und menschliche Eigenschaften aufgehoben, und wenn sie mit V(Women)Weiblichkeit hinzugefügt werden , werden menschliche Eigenschaften hinzugefügt, was zu einem Vektor führt, der dem sehr ähnlich istV(Queen). Das Interessante ist, dass diese Eigenschaften in einer bestimmten Reihenfolge im Vektor codiert sind, so dass numerische Berechnungen wie Addition und Subtraktion perfekt funktionieren. Dies liegt an der Natur der unbeaufsichtigten Lernmethode im neuronalen Netzwerk.

2- Es gibt zwei Approximationsalgorithmen. Hierarchical softmaxund negative sampling. Wenn der Probenparameter angegeben ist, wird eine negative Probe genommen. Im Fall von hierarchischem Softmax erhalten für jeden Wortvektor seine Kontextwörter positive Ausgaben und alle anderen Wörter im Vokabular negative Ausgaben. Das Problem der Zeitkomplexität wird durch negative Stichproben gelöst. Wie bei der negativen Abtastung wird anstelle des gesamten Vokabulars nur ein abgetasteter Teil des Vokabulars negativ ausgegeben, und die Vektoren werden trainiert, was so viel schneller ist als bei der vorherigen Methode.

Yazhi
quelle
Diese Interpretation der word2vec-Funktionen ist irreführend. Es gibt keine Männlichkeitsdimension des Raums oder ein Lizenzgebührenelement im Vektor. Wenn dies der Fall wäre, könnte ein Vektorraum mit 300 Dimensionen nur 300 unabhängige semantische Dichotomien darstellen.
Dan Hicks
@DanHicks: Ich habe nie jedes Feature als Raumdimension erwähnt. Ich habe gerade gesagt, dass solche semantischen Merkmale in einer bestimmten Reihenfolge im Vektor codiert sind, so dass mathematische Operationen möglich sind.
Yazhi
"Merkmale" bezieht sich normalerweise auf die Variablen, die zur Darstellung der Fälle verwendet werden - in diesem Fall auf die Elemente der Wortvektoren / Dimensionen des Vektorraums. @ Nains Frage verwendet eindeutig "Funktionen" auf diese Weise. Die "semantischen Merkmale", von denen Sie sprechen, sind bestenfalls eine vage Art, darüber zu sprechen, wie word2vec mit Analogien umgeht. Sie sind überhaupt nicht die Merkmale der Wortvektoren.
Dan Hicks
1
Sie haben Recht. Ich habe "semantische Merkmale" zu "semantischen Merkmalen" bearbeitet, und die "Merkmale" in der Antwort repräsentieren nur die Dimensionen des Vektors.
Yazhi
0
  1. Nach der Verteilungshypothese bedeutet die individuelle Dimension im Vektor des Wortes nicht viel über das Wort in der realen Welt. Sie müssen sich um die einzelnen Dimensionen kümmern. Wenn Ihre Frage lautet, wie ich die Anzahl der Dimensionen auswählen soll, basiert sie ausschließlich auf Experimenten für Ihre Daten und kann von 100 bis 1000 reichen. Bei vielen Experimenten, bei denen das Training mit Wiki-Text durchgeführt wird, bietet die 300-Dimension meistens das Beste Ergebnis.
  2. Beispielparameter ist der Parameter, der zum Beschneiden der Wörter mit hoher Frequenz verwendet wird. Beispiel: "das" "ist" "war", diese Stoppwörter werden bei der Vorhersage des inneren Wortes nicht im Fenster berücksichtigt, und der Standardwert eignet sich gut, um diese Stoppwörter zu identifizieren, deren Häufigkeit höher ist.
Trideep Rath
quelle