私は自分のWord2vecモデルをgensimでトレーニングし、そのモデルをスペイシーでロードしようとしています。まず、それをディスクに保存してから、initモデルをスペイシーでロードしようとする必要がありますが、正確な方法を理解できません。
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.
モデルをトレーニングしてプレーンテキスト形式で保存します。
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")
テキストファイルをgzip圧縮します。
gzip Word2vec.txt
これはWord2vec.txt.gz
ファイル。
次のコマンドを実行します。
python -m spacy init-model en ./data/spacy.Word2vec.model --vectors-loc Word2vec.txt.gz
以下を使用してベクトルをロードします。
nlp = spacy.load('en', vectors='./data/spacy.Word2vec.model/')
説明したように、 ここ を使用して、Gensim、Fast Text、またはTomas MikolovのオリジナルのWord2vec実装を使用してトレーニングしたカスタムWordベクトルをインポートできます。
_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
_
次に、モデル、nlp = spacy.load('your_model')
をロードして使用できます。
こちら と回答した同様の質問も参照してください。