首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在gensim doc2vec中单词或文档向量之间几乎所有的余弦相似点都是正的?

为什么在gensim doc2vec中单词或文档向量之间几乎所有的余弦相似点都是正的?
EN

Stack Overflow用户
提问于 2017-06-03 15:29:31
回答 1查看 1.7K关注 0票数 3

我使用gensim中的Doc2Vec.docvecs.similarity()计算了文档的相似性。现在,如果gensim使用余弦的绝对值作为相似性度量,我希望余弦相似性在0.0,1.0之间,或者如果不使用,大约有一半是负的。

然而,我看到的是,有些相似之处是负面的,但它们是非常罕见的--在我的30000份文档中,只有不到1%的两两相似之处。

为什么几乎所有的相似之处都是积极的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-04 03:22:51

Word2Vec/Doc2Vec中没有固有的保证生成的向量集在原点周围对称分布。它们可能在某些方向不成比例,这会产生你所见过的结果。

在我刚刚在捆绑的gensim docs/notebooks/doc2vec-lee.ipynb笔记本中使用的玩具大小的数据集(“lee语料库”)上进行的几次测试中,检查了所有文档与第一份文档的余弦相似性,模糊地说:

  1. 使用层次-软最大值而不是负抽样(hs=1, negative=0)可以在>0.0和<0.0余弦之间取得平衡--这种相似性更接近(但还不是完全)一半和一半。
  2. 使用较少数量的负样本(如negative=1)会产生更均衡的结果集;使用更大的数目(如negative=10)则产生相对更多的>0.0余弦相似性。

虽然不是决定性的,但这是温和的暗示,向量的排列可能受到negative参数的影响。具体来说,典型的负采样参数,比如默认的negative=5,意味着单词作为非目标的训练次数要多于作为正目标的次数。这可能会在一个方向上推动最终坐标的优势。(需要对更大的数据集和模式进行更多的测试,更多地分析模型设置如何影响最终矢量位置,才能对这一想法有更大的信心。)

如果出于某种原因,你想要一个更平衡的向量安排,你可以考虑转换他们的位置,培训后。

最近在word2vec空间上有一篇有趣的论文,“最重要的是:简单有效的字表示后处理”,它发现一组训练有素的字向量不一定有0量级的平均值,它们平均是从原点的一个方向。此外,本文还指出,减去一般均值(使集合“重新中心”),并去除其他几个主导方向,可以提高向量在某些任务中的有用性。

直觉上,我怀疑这种“几乎是顶”的转换可能会增加结果向量中的差别性‘对比度’。

类似的过程可能对doc向量产生类似的好处,并且可能会使完整的余弦相似点,与任何doc向量相比,在>0.0值和<0.0值之间更加平衡。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44345576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档