Аналогия между словами word2vec - PullRequest
1 голос
/ 25 мая 2019

Я прохожу лекции по Stanford CS224n, и во второй лекции упоминается следующее: enter image description here

Но когда я пытался сделать то же самое, используя векторные различия, я получал другой результат.

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)

Может кто-нибудь, пожалуйста, помогите мне, что я делаю неправильно или я неправильно понял?

Ссылка на видео лекцию: http://onlinehub.stanford.edu/cs224/190110-cs224n-1080

...