将词向量从tensorflow导入gensim

Importing word vectors from tensorflow into gensim

我想导入从 tensorflow 创建的词向量并在 gensim 中使用它。

有个方法gensim.models.KeyedVectors.load_word2vec_format

所以我按照

中完全相同的方式尝试了这个方法

示例:

2 3

word0 -0.000737 -0.002106 0.001851

word1 -0.000878 -0.002106 0.002834

保存文件,然后使用 kwarg binary=False 加载:

model = Word2Vec.load_word2vec_format(filename, binary=False)

但错误如

Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    model=gensim.models.KeyedVectors.load_word2vec_format('test.w2v')
  File "C:\Users\cbj\Anaconda3\lib\site-packages\gensim\models\keyedvectors.py", line 243, in load_word2vec_format
    raise EOFError("unexpected end of input; is count incorrect or file otherwise damaged?")
EOFError: unexpected end of input; is count incorrect or file otherwise damaged?

提出

我该如何解决这个问题?

当矢量数据的数量与您在第一行提供的数量不匹配时,会出现此错误。

如果第一行写的是2 3,下面应该正好是2行。确保文件末尾没有空行,当然还有文件中的某些位置。