如何另存为 gensim word2vec 文件?

HAO*_*HEN 3 gensim word2vec

我有两个列表,A是单词列表,例如[“hello”,“world”,……],Len(A)是10000。列表B包含与A对应的所有预训练向量,这是一个[10000,512],512是向量维度。我想将两个列表转换为gensim word2vec模型格式,以便稍后加载模型,例如model = Word2Vec.load("word2vec.model")我应该怎么做?

goj*_*omo 6

由于您只有单词及其向量,因此您没有足够的信息来构建完整的Word2Vec模型(其中包括其他内容,例如内部神经网络的隐藏权重和词频)。

\n\n

但是您可以创建模型属性gensim KeyedVectors中的一般类型的对象。它有许多您可能有兴趣使用的辅助方法(例如 )。gensim Word2Vec.wvmost_similar()

\n\n

假设您的A单词列表位于名为 的更有用的命名 Python 列表中words_list,而您的B向量列表位于名为 'vectors_list` 的更有用的命名 Python 列表中。

\n\n

尝试:

\n\n
from gensim.models import KeyedVectors\nkv = new KeyedVectors(512)\nkv.add(words_list, vectors_list)\nkv.save(`mywordvecs.kvmodel`)\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以稍后通过以下方式重新加载它们:

\n\n
kv2 = KeyedVectors.load(`mywordvecs.kvmodel`)\n
Run Code Online (Sandbox Code Playgroud)\n\n

(如果您想要更简单的纯向量格式,也可以由使用该格式的其他工具加载,您也可以使用save_word2vec_format()and代替load_word2vec_format()gensim 的原生save()/ 。但如果您留在 内,纯/也一样好 \xe2 \x80\x93 如果保存更复杂的训练模型会更好,因为它们会保留这些对象包含的额外信息。)load()gensimsave()load()Word2Vec

\n