为了账号安全,请及时绑定邮箱和手机立即绑定

理解gensim word2vec的most_similar

理解gensim word2vec的most_similar

长风秋雁 2021-11-02 09:45:15
我不确定我应该如何使用 gensim 的 Word2Vec 的 most_similar 方法。假设您想测试经过验证的例子:男人代表国王,女人代表 X;找到 X。我认为这就是你可以用这种方法做的事情,但从我得到的结果来看,我认为这不是真的。文档中写道:找到前 N 个最相似的词。正面词对相似度有正面贡献,负面词对相似度有负面影响。该方法计算给定词的投影权重向量的简单平均值与模型中每个词的向量之间的余弦相似度。该方法对应于原始 word2vec 实现中的词类比和距离脚本。我假设,然后,most_similar取正例和反例,并尝试在向量空间中找到尽可能接近正向量并尽可能远离负向量的点。那是对的吗?另外,有没有一种方法可以让我们将两点之间的关系映射到另一个点并得到结果(参见 man-king woman-X 示例)?
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

您可以准确查看most_similar()其源代码中的内容:

https://github.com/RaRe-Technologies/gensim/blob/develop/gensim/models/keyedvectors.py#L485

它不是“在向量空间中找到尽可能接近正向量并尽可能远离负向量的点”。相反,如原始 word2vec 论文中所述,它执行向量算术:添加正向量,减去负向量,然后从该结果位置,列出最接近该角度的已知向量。

这足以man : king :: woman :: ?通过如下调用来解决-style 类比:

sims = wordvecs.most_similar(positive=['king', 'woman'], 
                             negative=['man'])

(您可以将其视为,“从'king'-vector 开始,添加'woman'-vector,减去'man'-vector,从您结束的位置开始,报告最接近该点的排名词向量(同时省略3 个查询向量中的任何一个)。”)


查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 1830 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号