Frage

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 übergende 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 Noob zu Wortvektoren bin, habe ich zwei Zweifel.
1- Setzen Sie die Anzahl der Funktionen auf 300 definiert die Merkmale eines Wortvektors. Aber welche Funktionen bedeuten diese Funktionen? Wenn jedes Wort in diesem Modell durch ein 1x300 Numpy -Array dargestellt wird, was bedeuten diese 300 Funktionen dann für dieses Wort?

2- Was macht eine Abwärtsabtastung, wie durch den Parameter „Stichproben“ im obigen Modell in der tatsächlichen Modell dargestellt?

Danke im Voraus.

War es hilfreich?

Lösung

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

Diese Merkmale werden vom neuronalen Netzwerk gelernt, da dies eine unbeaufsichtigte Methode ist. Jeder Vektor hat mehrere semantische Eigenschaften. Lassen Sie uns zum Beispiel das klassische Beispiel nehmen, V(King) -V(man) + V(Women) ~ V(Queen) und jedes Wort, das durch 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. Also wann V(King)-V(Man) ist fertig, Männlichkeit, menschliche Eigenschaften werden annulliert und wenn hinzugefügt V(Women) Welche menschlichen Eigenschaften mit Weiblichkeit, was zu einem Vektor hinzugefügt wird, der sehr ähnlich ist wie V(Queen). Das Interessante ist, dass diese Eigenschaften im Vektor in einer bestimmten Reihenfolge so codiert sind, dass numerische Berechnungen wie Addition perfekt funktionieren. Dies ist auf die Art der unbeaufsichtigten Lernmethode im neuronalen Netzwerk zurückzuführen.

2- Es gibt zwei Näherungsalgorithmen. Hierarchical softmax und negative sampling. Wenn der Probenparameter angegeben ist, wird eine negative Stichprobe benötigt. Im Falle von hierarchischer Softmax erhält seine Kontextwörter für jeden Wortvektor positive Ausgänge und alle anderen Wörter im Wortschatz negativ Ausgänge. Das Problem der Zeitkomplexität wird durch negative Abtastung gelöst. Wie bei der negativen Probenahme und nicht bei dem gesamten Vokabular erhält nur ein Stichprobenteil des Wortschatzes negative Ausgänge und die Vektoren sind geschult, was so viel schneller ist als die frühere Methode.

Andere Tipps

  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 individuellen Dimensionen sorgen. Wenn Ihre Frage lautet, wie soll ich die Anzahl der Dimsionen auswählen, basiert sie nur auf Experiment für Ihre Daten und kann von 100 auf 1000 verlaufen. Für viele Experimente, in denen das Training auf Wiki -Text durchgeführt wird Ergebnis.
  2. Beispielparameter ist der Parameter, mit dem die Wörter mit hoher Frequenz beschnitten werden. ZB "Das" "ist" "war", diese Stoppwörter werden im Fenster nicht berücksichtigt, während das Insider -Wort vorhergesagt wird, und der Standardwert funktioniert gut, um diese Stoppwörter zu identifizieren, deren Frequenz höher ist.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top