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.
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/')
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 .