手套与多个词最相似

glove most similar to multiple words

我应该用 python 手套做一些练习,大部分不会给我任何问题,但现在我应该从 "norway - war + peace" 中找到 5 个最相似的词"glove-wiki-gigaword-100" 包。但是当我 运行 我的代码时,它只是说 'word' 不在词汇表中。现在我猜这是某种格式,但我不知道如何使用它。

import gensim.downloader as api
model = api.load("glove-wiki-gigaword-100")  # download the model and return as object ready for use

bests = model.most_similar("norway - war + peace", topn= 5)

print("5 most similar words to 'norway - war + peace':")

for best in bests:
    print(best)

Gensim 的模型 word2vec 只处理以前见过的单词。这里给你一个完整的句子……你要做的是:

  1. 分别获取向量 v1、v2 和 v3。单词 "norway"、"war" 和 "peace".
  2. 计算数学:v = v1 -v2 + v3。
  3. 获取 most_similar 字 v.

为此,您将需要这些函数:model.wv.most_similar()model.wv.similar_by_vector()。请注意,model.wv.most_similar() 执行与这三个步骤类似的操作,但使用一组肯定词和一组否定词以更复杂的方式进行。有关详细信息,请参阅 documentation