【问题标题】:Load word vectors from a text file - GENSIM PYTHON从文本文件加载词向量 - GENSIM PYTHON
【发布时间】:2021-04-30 22:16:56
【问题描述】:

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

word 0.256 0.2659 0.326595
word1 0.528 0.6589 0.62326 ...

我试图将其加载为键控向量,因为我想计算单词之间的余弦相似度并找到最相似的单词,但我总是出错。

【问题讨论】:

  • 能否请您说出一个您想回答的问题?
  • 对于有同情心的读者来说,明确的陈述“我正在尝试 [X]”与问题“我如何 [X]”是一样的。

标签: python gensim word2vec


【解决方案1】:

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

word 0.256 0.2659 0.326595
word1 0.528 0.6589 0.62326

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

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

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

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

【讨论】:

  • 这就是我要找的,非常感谢!要通过余弦相似度计算我的数据集和一个随机词之间最相似的词,我运行这个命令对吗? vecs.most_similar('man',topn=20)
  • 你试过那个命令了吗?它返回了合理的结果吗?
猜你喜欢
  • 1970-01-01
  • 2016-02-16
  • 2021-12-28
  • 1970-01-01
  • 2016-09-17
  • 2019-04-28
  • 2016-06-01
  • 1970-01-01
  • 2015-01-24
相关资源
最近更新 更多