webentwicklung-frage-antwort-db.com.de

was repräsentiert der Vektor eines Wortes in Word2vec?

Word2vec ist ein Open-Source-Tool von Google:

  • Für jedes Wort wird ein Vektor mit Gleitkommawerten angegeben. Was genau stellen sie dar?

  • Es gibt auch ein Papier über Absatzvektor kann jemand erklären, wie sie Word2vec verwenden, um einen Vektor mit fester Länge für einen Absatz zu erhalten.

20
user168983

[~ # ~] tldr [~ # ~] : Word2Vec erstellt Word-Projektionen ( Einbettungen) in einem latenter Raum von N Dimensionen, wobei N die Größe der erhaltenen Wortvektoren ist. Die Gleitkommawerte repräsentieren die Koordinaten der Wörter in diesem N-dimensionalen Raum.

Die Hauptidee hinter latenten Raumprojektionen, die Objekte in einen anderen und kontinuierlichen dimensionalen Raum versetzen, ist, dass Ihre Objekte eine Darstellung (einen Vektor) haben, die interessantere Kalkülmerkmale aufweist als Basisobjekte.

Für Wörter ist es nützlich, dass Sie einen dichten Vektorraum haben, der Ähnlichkeit (dh Baum hat einen Vektor, der Holz ähnlicher ist als vom Tanzen). Dies steht im Gegensatz zur klassischen spärlichen One-Hot- oder "Bag-of-Word" -Codierung, bei der jedes Wort als eine Dimension behandelt wird, die es zu einer Dimension macht orthogonal (dh Baum, Holz und Tanz haben alle den gleichen Abstand)

Word2Vec-Algorithmen tun dies:

Stellen Sie sich vor, Sie haben einen Satz:

Der Hund muss ___ im Park spazieren gehen.

Offensichtlich möchten Sie die Lücke mit dem Wort "außerhalb" füllen, aber Sie könnten auch "aus" haben. Die w2v-Algorithmen sind von dieser Idee inspiriert. Sie möchten alle Wörter, die die Lücken in der Nähe füllen, weil sie zusammengehören - Dies nennt man die Verteilungshypothese - Daher die Wörter "out" und "außerhalb" wird näher beieinander sein, wohingegen ein Wort wie "Karotte" weiter entfernt wäre.

Dies ist eine Art "Intuition" hinter Word2vec. Für eine theoretischere Erklärung der Vorgänge empfehle ich Folgendes:

Für Absatzvektoren ist die Idee dieselbe wie in w2v. Jeder Absatz kann durch seine Wörter dargestellt werden. In der Arbeit werden zwei Modelle vorgestellt.

  1. In einer Art "Bag of Word" (dem pv-dbow-Modell), bei dem ein Absatzvektor mit fester Länge verwendet wird, um seine Wörter vorherzusagen.
  2. Durch Hinzufügen eines Absatz-Tokens mit fester Länge in Word-Kontexten (das pv-dm-Modell). Durch die erneute Propagierung des Verlaufs erhalten sie ein "Gefühl" für das, was fehlt, und bringen Absätze mit den gleichen Wörtern/Themen, die "fehlen", nahe zusammen.

Bits aus dem Artikel :

Der Absatzvektor und die Wortvektoren werden gemittelt oder verkettet, um das nächste Wort in einem Kontext vorherzusagen. [...] Das Absatz-Token kann als ein anderes Wort angesehen werden. Es fungiert als Erinnerung daran, was im aktuellen Kontext - oder dem Thema des Absatzes - fehlt

Um zu verstehen, wie diese Vektoren aufgebaut sind, müssen Sie lernen, wie neuronale Netze aufgebaut sind und wie der Backpropagation-Algorithmus funktioniert. (Ich würde vorschlagen, mit dieses Video und Andrew NGs Coursera-Klasse zu beginnen)

NB: Softmax ist nur eine ausgefallene Art, Klassifizierung zu sagen. Jedes Wort in w2v-Algorithmen wird als Klasse betrachtet. Hierarchisches Softmax/Negativ-Sampling sind Tricks, um Softmax zu beschleunigen und viele Klassen zu verarbeiten.

36
Cedias

Feste Breitenkontexte für jedes Wort werden als Eingabe in ein neuronales Netzwerk verwendet. Die Ausgabe des Netzwerks ist ein Vektor von Float-Werten - auch als Word-Einbettung bezeichnet - einer bestimmten Dimension (normalerweise 50 oder 100). Das Netzwerk ist geschult, um eine gute Word-Einbettung in Bezug auf den Zug/Test-Korpus bereitzustellen.

Man kann leicht eine feste Größe für jedes Wort eingeben - sagen Sie M Wörter links und N Wörter rechts davon. Wie Sie dies für einen Satz oder Absatz tun, dessen Größe variiert, ist nicht so offensichtlich oder zumindest nicht. Ohne vorher die Zeitung gelesen zu haben, kann man die Einbetten aller Wörter im Satz/Absatz mit fester Breite kombinieren, um eine Vektoreinbettung mit fester Länge für einen Satz/Absatz zu erhalten. 

0
Edi Bice