我有一对单词和这些单词的语义类型。我正在尝试使用语义类型来计算这两个单词之间的相关性度量,例如:word1 = king,type1 = man,word2 = queen,type2 = woman 我们可以使用gensim word_vectors.most_like从'king-man + woman'获得'queen'。但是,我正在寻找以“ king-man + woman”和“ queen”表示的向量之间的相似性度量。
我正在寻找以上(或)解决方案 计算代表“男人+女人”(和)的向量的方式 使用gensim中的向量值计算两个向量之间的相似度 投影权重向量的简单均值的计算方法(即国王男人+女人)
答案 0 :(得分:1)
您应该查看gensim most_similar()
方法的源代码,该方法用于提出此类类比问题的答案。具体来说,当您尝试...
sims = wv_model.most_similar(positive=['king', 'woman'], negative=['man'])
...(在经过充分训练的模型中)最高结果通常是“ queen”或类似值。因此,在搜索所有已知向量以寻找最接近该目标的向量之前,您可以查看源代码以确切了解其如何计算wv('king') - wv('man') + wv('woman')
的目标组合。看到...
...并且请注意,局部变量mean
是提供的positive
和negative
值的组合。
您可能还会发现其他有用的方法,可以直接使用,也可以作为自己代码的模型使用,例如distances()
...
...或n_similarity()
...