web-dev-qa-db-fra.com

En espace, comment utiliser votre propre modèle Word2vec créé dans gensim?

J'ai formé mon propre modèle Word2vec en gensim et j'essaie de charger ce modèle en espace. Tout d'abord, je dois l'enregistrer sur mon disque, puis essayer de charger un modèle d'init dans Spacy, mais incapable de comprendre exactement comment.

gensimmodel
Out[252]:
<gensim.models.Word2vec.Word2Vec at 0x110b24b70>

import spacy
spacy.load(gensimmodel)

OSError: [E050] Can't find model 'Word2Vec(vocab=250, size=1000, alpha=0.025)'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
9
Subigya Upadhyay

Former et enregistrer votre modèle au format texte brut:

from gensim.test.utils import common_texts, get_tmpfile
from gensim.models import Word2Vec

path = get_tmpfile("./data/Word2vec.model")

model = Word2Vec(common_texts, size=100, window=5, min_count=1, workers=4)
model.wv.save_Word2vec_format("./data/Word2vec.txt")

Gzipez le fichier texte:

gzip Word2vec.txt

Ce qui produit un Word2vec.txt.gz fichier.

Exécutez la commande suivante:

python -m spacy init-model en ./data/spacy.Word2vec.model --vectors-loc Word2vec.txt.gz

Chargez les vecteurs en utilisant:

nlp = spacy.load('en', vectors='./data/spacy.Word2vec.model/')
13
Roger TheAlien

Comme expliqué ici , vous pouvez importer des vecteurs Word personnalisés formés à l'aide de Gensim, Fast Text ou de l'implémentation Word2vec originale de Tomas Mikolov, en créant un modèle en utilisant:

wget https://s3-us-west-1.amazonaws.com/fasttext-vectors/Word-vectors-v2/cc.la.300.vec.gz
python -m spacy init-model en your_model --vectors-loc cc.la.300.vec.gz

alors vous pouvez charger votre modèle, nlp = spacy.load('your_model') et l'utiliser!

Voir également la question similaire qui a répondu ici .

4
Ali Zarezade