我在gensim中使用Doc2Vec.docvecs.similarity()计算了文档的相似之处。现在,如果gensim使用余弦的绝对值作为相似性度量,我或者期望余弦相似度位于[0.0,1.0]的范围内,如果不是,那么大约一半是负值。
然而,我所看到的是某些的相似之处是否定的,但它们非常罕见 - 在我的30000份文档中,不到1%的成对相似性。
为什么几乎所有相似之处都是正面的?
答案 0 :(得分:0)
Word2Vec / Doc2Vec中没有固有的保证,生成的向量集对称地分布在原点周围。它们可能在某些方向上不成比例,这将产生您已经看到的结果。
在一些测试中,我刚刚对捆绑的gensim docs/notebooks/doc2vec-lee.ipynb
笔记本中使用的玩具大小的数据集(' lee corpus')进行了检查,检查了所有文档与第一个文档的余弦相似度文件,它隐约似乎:
hs=1, negative=0
)产生的平衡在&gt; 0.0和<0.0余弦相似度之间更接近(但尚未完全)的一半和一半negative=1
)会产生更平衡的结果集;使用较大的数字(例如negative=10
)会产生相对更多的&gt; 0.0余弦相似度虽然没有定论,但这有点暗示着向量的排列可能受negative
参数的影响。具体而言,典型的负采样参数(例如默认negative=5
)意味着单词将作为非目标训练的次数多于作为正目标的次数。那个可能在一个方向上推动最终坐标的优势。 (对更大的数据集和模式进行更多测试,以及对模型设置如何影响最终向量位置的更多分析,有必要对这个想法更有信心。)
如果由于某种原因你想要更平衡的矢量排列,你可以考虑改变他们的位置,训练后。
在word2vec空间"All-but-the-Top: Simple and Effective Postprocessing for Word Representations"中,最近发表了一篇有趣的论文,发现训练有素的单词集合并不一定具有0幅度的平均值 - 它们依旧来自原点的一个方向的平均值。此外,本文报告说,减去共同均值(重新集中设置),并删除一些其他主导方向,可以改善向量&#39;对某些任务有用。
直观地说,我怀疑这个&#39; all-but-the-top&#39;转型可能有助于增加歧视性和对比度。在结果向量中。
类似的过程可能会为doc-vectors带来类似的好处 - 并且可能会使任何doc-vector的全余余弦相似性在&gt; 0.0和<0.0之间更加平衡值。