将二进制格式的word2vec向量导入spacy

时间:2019-08-16 16:41:01

标签: python nlp gensim spacy

我想将经过预训练的word2vec字典(二进制格式)导入spacy中,以对某些文本进行矢量化处理

我可以通过以下方式导入带有gensim的向量:

import gensim 
model = gensim.models.KeyedVectors.load_word2vec_format('PubMed- 
shuffle-win-2.bin', binary=True)

然后,我初始化一个空白spacy nlp对象,并获取与每个索引关联的单词:

nlp = spacy.blank('en')
keys = []
for idx in range(len(model.index2word)):
keys.append(model.index2word[idx])`

然后设置nlp对象的向量:

nlp.vocab.vectors = spacy.vocab.Vectors(data=model.syn0, keys=keys)

我可以顺利进入这个阶段。但是,我想知道 如何保存此nlp对象并将其再次加载到spacy 中,以尽可能高效地矢量化新文本

0 个答案:

没有答案