我想将经过预训练的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 中,以尽可能高效地矢量化新文本