Ich verwende die Gensim Library in Python, um das word2vector-Modell zu verwenden und zu trainieren. Kürzlich habe ich versucht, meine Modellgewichte mit einem vorab trainierten word2vec-Modell zu initialisieren, z. B. mit einem vorab trainierten Modell von GoogleNewDataset. Ich habe ein paar Wochen damit zu kämpfen. Ich habe gerade herausgefunden, dass es in gesim eine Funktion gibt, mit der ich die Gewichte meines Modells mit vorgefertigten Modellgewichten initialisieren kann. Das wird unten erwähnt:
reset_from(other_model)
Borrow shareable pre-built structures (like vocab) from the other_model. Useful if testing multiple models in parallel on the same corpus.
Ich weiß nicht, ob diese Funktion dasselbe kann oder nicht. Bitte helfen Sie !!!
Antworten:
Vielen Abhishek. Ich habe es herausgefunden! Hier sind meine Experimente.
1). Wir zeichnen ein einfaches Beispiel:
Aus den obigen Darstellungen können wir ersehen, dass einfache Sätze die Bedeutung verschiedener Wörter nicht durch Entfernungen unterscheiden können.
2). Laden Sie vorgefertigte Worteinbettungen:
Aus der obigen Abbildung können wir ersehen, dass Worteinbettungen aussagekräftiger sind.
Hoffe, diese Antwort wird hilfreich sein.
quelle
Schauen wir uns einen Beispielcode an:
Daher stellen wir fest, dass model1 durch model2 zurückgesetzt wird und daher das Wort 'third' und 'sentence' im Wortschatz enthalten sind, was letztendlich seine Ähnlichkeit verleiht. Dies ist die grundlegende Verwendung. Sie können auch reset_weights () aktivieren, um die Gewichte auf den untrainierten / anfänglichen Zustand zurückzusetzen.
quelle
Wenn Sie nach einem vorgefertigten Netz für Worteinbettungen suchen, würde ich GloVe empfehlen. Der folgende Blog von Keras ist sehr informativ, wie man dies umsetzt. Es gibt auch einen Link zu den vorgefertigten GloVe-Einbettungen. Es gibt vorab trainierte Wortvektoren, die von einem 50-dimensionalen Vektor bis zu 300-dimensionalen Vektoren reichen. Sie wurden entweder auf Wikipedia-, Common Crawl-Daten oder Twitter-Daten erstellt. Sie können sie hier herunterladen: http://nlp.stanford.edu/projects/glove/ . Darüber hinaus sollten Sie im Keras-Blog nachlesen, wie Sie diese implementieren können. https://blog.keras.io/ using-pre-trained-word-embeddings-in-a-keras-model.html
quelle
Ich habe es hier getan: https://gist.github.com/AbhishekAshokDubey/054af6f92d67d5ef8300fac58f59fcc9
Sehen Sie, ob Sie das brauchen
quelle