将word2vec词典加载到gensim中

时间:2019-01-18 23:09:40

标签: nlp gensim word2vec spacy word-embedding

我已经将预训练的word2vec嵌入内容加载到python形式的字典中

<TextField labelHeight={0}/>

例如,该词典的一个元素是

{word: vector}

我想将此模型加载到Gensim(或类似的库)中,以便找到嵌入之间的欧几里得距离。

我了解到,预训练的嵌入通常位于.bin文件中,该文件可以加载到Gensim中。但是,如果我只有这种形式的字典,该如何将向量加载到模型中?

2 个答案:

答案 0 :(得分:0)

通常,经过预训练的单词向量将采用gensim可以原生读取的格式,例如通过load_word2vec_format()方法。奇怪的是,您只有自己格式的向量。

因此,建议您将向量写入与其他word2vec库兼容的文本格式。您可以在以下位置查看gensim的{​​{1}}方法:

https://github.com/RaRe-Technologies/gensim/blob/9819ce828b9ed7952f5d96cbb12fd06bbf5de3a3/gensim/models/utils_any2vec.py#L131

您还可以使用任何垃圾/玩具数据训练一个虚拟save_word2vec_format()模型,将其向量保存为文本格式(Word2Vec),然后查看生成的文件。

使用上面的源代码或示例文件,以类似的格式编写字典。然后,使用gensim的w2v_model.wv.save_word2vec_format(filename, binary=False)读取向量。

答案 1 :(得分:0)

您可以将其保存为gensim word2vec格式,然后使用gensim.models.KeyedVectors.load_word2vec_format加载。详细信息here