在spacy中,如何使用gensim中创建的自己的word2vec模型?

Sub*_*yay 9 model gensim word2vec spacy

我已经在gensim中训练了我自己的word2vec模型,我正在尝试在spacy中加载该模型.首先,我需要将它保存在我的磁盘中,然后尝试在spacy中加载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.
Run Code Online (Sandbox Code Playgroud)

Rog*_*ien 14

以纯文本格式训练和保存模型:

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")
Run Code Online (Sandbox Code Playgroud)

Gzip文本文件:

gzip word2vec.txt
Run Code Online (Sandbox Code Playgroud)

哪个产生一个word2vec.txt.gz文件.

运行以下命令:

python -m spacy init-model en ./data/spacy.word2vec.model --vectors-loc word2vec.txt.gz
Run Code Online (Sandbox Code Playgroud)

使用以下方式加载向量

nlp = spacy.load('en', vectors='./data/spacy.word2vec.model/')
Run Code Online (Sandbox Code Playgroud)

  • 最后一条命令对我不起作用,因为spacy将'en'参数解释为文件路径。起作用的只是按照[spacy docs](https://spacy.io/models)中的建议运行`nlp = spacy.load('./ data / spacy.word2vec.model /')` (2认同)