Estoy usando Gensim Library en python para usar y entrenar el modelo word2vector. Recientemente, estaba buscando inicializar los pesos de mi modelo con un modelo word2vec previamente entrenado como (modelo preformado GoogleNewDataset). He estado luchando con eso un par de semanas. Ahora, acabo de buscar que en gesim hay una función que me puede ayudar a inicializar los pesos de mi modelo con pesos de modelo previamente entrenados. Eso se menciona a continuación:
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.
No sé si esta función puede hacer lo mismo o no. ¡¡¡Por favor ayuda!!!
Respuestas:
Gracias a Abhishek. Lo he resuelto! Aquí están mis experimentos.
1) trazamos un ejemplo fácil:
De las gráficas anteriores, podemos ver que las oraciones fáciles no pueden distinguir el significado de diferentes palabras por distancias.
2) Cargar incrustación de palabras previamente entrenada:
De la figura anterior, podemos ver que las incrustaciones de palabras son más significativas.
Espero que esta respuesta sea útil.
fuente
Veamos un código de muestra:
Por lo tanto, observamos que el modelo2 está siendo reiniciado por el modelo2 y, por lo tanto, la palabra 'tercer' y 'oración' están en su vocabulario, lo que finalmente da su similitud. Este es el uso básico, también puede verificar reset_weights () para restablecer los pesos al estado no entrenado / inicial.
fuente
Si está buscando una red pre-entrenada para la inserción de palabras, le sugiero GloVe. El siguiente blog de Keras es muy informativo sobre cómo implementar esto. También tiene un enlace a las incrustaciones GloVe pre-entrenadas. Hay vectores de palabras pre-entrenados que van desde un vector de 50 dimensiones hasta 300 vectores de dimensiones. Se crearon en Wikipedia, Common Crawl Data o Twitter. Puede descargarlos aquí: http://nlp.stanford.edu/projects/glove/ . Además, debe examinar el blog de Keras sobre cómo implementarlos. https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html
fuente
Lo he hecho aquí: https://gist.github.com/AbhishekAshokDubey/054af6f92d67d5ef8300fac58f59fcc9
A ver si esto es lo que necesitas
fuente