从文本文件加载词向量 - GENSIM PYTHON

问题描述

你好,我有一个这种形式的 txt 文件,第一列是单词,第二列是向量。

sort.Interface

我正在尝试将其作为键控向量加载,因为我想计算单词之间的余弦相似度并找到最相似的单词,但我总是遇到错误

解决方法

我猜实际格式包括换行符,例如:

word 0.256 0.2659 0.326595
word1 0.528 0.6589 0.62326

这或多或少是 GLoVe 训练向量的常见格式,并且与 Google 原始 word2vec.c 代码使用的文本格式非常相似 - 它添加了第一行,其中包含向量及其维度的计数。

(如果您的矢量来自这些工具之一或公共场所,并且有更多关于文件名或来源格式的提示,那么在您的问题中注明会很有帮助。)

如果我猜对了您的真实格式,那么 Gensim 的 KeyedVectors 类可以通过 .load_word2vec_format() 方法和 no_header=True 可选参数加载 GLoVe 格式:

vecs = KeyedVectors.load_word2vec_format(filename,binary=False,no_header=True)

有关更多选项,请参阅文档:

https://radimrehurek.com/gensim/models/keyedvectors.html#gensim.models.keyedvectors.KeyedVectors.load_word2vec_format