0

我已经在 python 中使用 gensim 库构建了 Word2Vecmodel。我想按如下方式评估我的词嵌入

如果 A 与 B 相关,C 与 D 相关,那么 A-C+B 应该等于 D。例如,“India”-“Rupee”+“Japan”的嵌入向量算术应该等于“日元”。

我已经在 gensim 的内置函数中使用过 predict_output_word,most_similar 但无法获得预期的结果。

new_model.predict_output_word(['india','rupee','japan'],topn=10)
new_model.most_similar(positive=['india', 'rupee'], negative=['japan'])

请帮助我根据上述标准评估我的模型。

4

1 回答 1

2

您应该以与方法相同的方式使用most_similar()方法positive和参数:negativeaccuracy()

https://github.com/RaRe-Technologies/gensim/blob/718b1c6bd1a8a98625993d73b83d98baf385752d/gensim/models/keyedvectors.py#L697

具体来说,如果您有“A 之于 B 之类的 C 之于 [预期]”形式的类比,您应该查看:

results = model.most_similar(positive=[word_b, word_c], negative=[word_a])

或者在您的示例中:

results = model.most_similar(positive=['rupee', 'japan'], negative=['india'])
于 2017-08-12T17:24:18.380 回答