Python 单词之间的类比word2vec

Python 单词之间的类比word2vec,python,stanford-nlp,word2vec,Python,Stanford Nlp,Word2vec,我正在学习斯坦福CS224n课程,在第二堂课中提到了以下内容: 但是当我尝试使用向量差做同样的事情时,我得到了不同的结果 model = KeyedVectors.load_word2vec_format('data/wiki-news-300d-1M.vec') def analogy(x1, x2, y1): vector = np.add(model[y1], np.subtract(model[x2], model[x1])) return model.most_sim

我正在学习斯坦福CS224n课程,在第二堂课中提到了以下内容:

但是当我尝试使用向量差做同样的事情时,我得到了不同的结果

model = KeyedVectors.load_word2vec_format('data/wiki-news-300d-1M.vec')
def analogy(x1, x2, y1):
    vector = np.add(model[y1], np.subtract(model[x2], model[x1]))
    return model.most_similar(positive=[vector], topn=1)

analogy("man", "king", "woman")
-> [('king', 0.8655095100402832)]
但如果我使用这种方法:

def analogy1(x1, x2, y1):
    result = model.most_similar(positive=[y1, x2], negative=[x1])
    return result[0]

analogy1("man", "king", "woman")
->('queen', 0.7515910863876343)
有人能帮我一下吗?我做错了什么?或者我理解错了吗


链接到视频讲座:

我得到了相同的结果,但没有找到答案:(也许可以尝试添加“gensim”标签?