2017-09-02 2 views
0

Lesen Sie einfach die Doc2vec-Befehle auf der Gensim-Seite.gensim doc2vec "intersect_word2vec_format" Befehl

Ich bin neugierig auf den Befehl "intersect_word2vec_format".

Mein Verständnis dieses Befehls ist es mir Vektorwerte von einem vortrainierte word2vec Modell in mein doc2vec Modell und dann mit dem Zug mein doc2vec Modell mit den vortrainierter word2vec Werte anstatt Erzeugung der Wortvektorwerte aus meinem Dokumentenkorpus injizieren lässt. Das Ergebnis ist, dass ich ein genaueres Doc2vec-Modell erhalte, weil ich vortrainierte w2v-Werte verwende, die aus einem viel größeren Korpus von Daten erzeugt wurden, verglichen mit meinem relativ kleinen Dokumentenkorpus.

Ist mein Verständnis dieses Befehls korrekt oder nicht einmal nahe? ;-)

Antwort

1

Ja, die intersect_word2vec_format() lässt Sie Vektoren von einer externen Datei in ein Modell bringen, das bereits sein eigenes Vokabular initialisiert hat (wie durch build_vocab()). Das heißt, es werden nur diejenigen Vektoren geladen, für die bereits Wörter im lokalen Vokabular vorhanden sind.

Zusätzlich wird standardmäßig Sperre diese geladenen Vektoren gegen jede weitere Anpassung während des nachfolgenden Trainings, obwohl andere Wörter in der bereits vorhandenen Vokabular weiterhin aktualisiert werden können. (Sie können dieses Verhalten ändern, indem Sie einen lockf=1.0 Wert anstelle der Standardeinstellung 0.0 angeben.)

Allerdings wird dies am besten als experimentelle Funktion betrachtet und was, wenn überhaupt, Vorteile, die es bietet, hängt von vielen spezifischen Dingen ab Konfiguration. Der PV-DBOW Doc2Vec-Modus, der dem dm=0-Parameter entspricht, ist oft ein Top-Performer in Geschwindigkeit und Doc-Vektor-Qualität und verwendet oder trainiert überhaupt keine Wortvektoren - also jedes Vorladen von Vektoren haben keine Wirkung.

Der PV-DM-Modus, der durch die Standardeinstellung dm=1 aktiviert wird, trainiert alle Wortvektoren, die er gleichzeitig mit doc-vector training benötigt. (Das heißt, es gibt keine separate Phase, in der zuerst die Wortvektoren erstellt werden, und für die gleichen iter Durchgänge dauert das PV-DM-Training die gleiche Zeit, ob Wortvektoren mit voreingestellten Zufallswerten beginnen oder aus denen sie vorgeladen sind an anderer Stelle.) Das Vormodellieren des Modells mit einigen Wortvektoren von anderswo könnte der endgültigen Qualität helfen oder schaden - es hängt wahrscheinlich von den Besonderheiten Ihres Korpus, Ihrer Meta-Parameter und Ihrer Ziele ab, und ob diese externen Vektoren Wortbedeutungen darstellen synchron mit dem aktuellen Korpus/Ziel.

+0

Vielen Dank für Ihre ausführliche Antwort. Es hat eine Menge Dinge für mich aufgeklärt. Ich kann jetzt mein erstes d2v-Modell mit PV-DM trainieren :) :) –

Verwandte Themen