Gensim doesnt_match 函数是如何工作的?

How is the Gensim doesnt_match function working?

Gensim 实现了一个名为 "doesnt_match" 的函数,该函数 return 是列表中的离群词。

该函数是在一个词向量对象上调用的。

model.wv.doesnt_match("breakfast cereal dinner lunch".split()) 'cereal'

文档没有具体说明这个函数是如何工作的(计算背景是什么)

有人知道吗?

您可以查看 doesnt_match() method's source code – 只有 11 行 – 了解全部详情。

但它的要点是...

  • 取所有词向量的平均值——对所有候选者'center'
  • 计算从该中心到每个单词的余弦距离——这是每个相关向量的单位标准化版本之间的点积
  • return 与该均值的余弦距离最大的单个词