model.similar_by_vector(model['king'] - model['man'] + model['woman'], topn=1)[0]
结果
('king', 0.8551837205886841)
而
model.most_similar(positive=['king', 'queen'], negative=['man'], topn=1)[0]
给出ä¸åŒçš„ç”案(您期望的ç”案)
('monarch', 0.6350384950637817)
但是我希望它们都能返回相åŒçš„结果。我是å¦è¯¯è§£äº†å¦‚何对这些å‘é‡è¿›è¡Œå‘é‡æ•°å¦è¿ç®—?
ç”案 0 :(得分:1)
例如,如果您想仔细查看它们在åšä»€ä¹ˆä¸Žæ‚¨æœŸæœ›çš„ä¸åŒï¼Œå¯ä»¥æŸ¥çœ‹most_similar()
(和similar_by_vector()
)方法的æºä»£ç 。通过在线æµè§ˆé¡¹ç›®çš„æºå˜å‚¨åº“:
尤其是,您看到的差异å¯èƒ½æœ‰å‡ ä¸ªå› ç´ åœ¨èµ·ä½œç”¨ï¼š
当您å‘most_similar()
æ供查找键(å•è¯ä»¤ç‰Œï¼‰æ—¶ï¼Œå¦‚果您想è¦ä¼ 入的ç”案ä¸æ²¡æœ‰çš„ç”案,则将这些键作为ç”æ¡ˆè¿”å›žä¼šå¤±åŽ»èµ„æ ¼ã€‚å‚数。也就是说,å³ä½¿ç›®æ ‡ä½ç½®æœ€æŽ¥è¿‘'king'
,如果'king'
是æ供的键之一,也将被忽略为å¯èƒ½çš„排åå“应。
most_similar()
使用æ¯ä¸ªè¾“å…¥è¯çš„å•ä½é•¿åº¦å½’一化版本(通过使用word_vec(word, use_norm=True)
进行查找,而方括å·æŸ¥æ‰¾ï¼ˆä¾‹å¦‚model[word]
)则使用原始éžæ ‡å‡†åŒ–å‘é‡ã€‚