首页 文章

gensim Doc2Vec是否区分具有正面和负面背景的相同句子 .

提问于
浏览
1

在学习Doc2Vec库时,我遇到了以下问题 .

Do gensim Doc2Vec distinguish between the same Sentence with positive and negative context?

例如:

句子A:“我喜欢机器学习”

句子B:“我不喜欢机器学习”

如果我用doc2vec训练句子A和B并找到它们的向量之间的余弦相似性:

  • 模型是否能够区分句子并使余弦相似度远小于1或为负值?

  • 或者模型是否代表向量空间中非常接近的句子并且使余弦相似度接近1,因为除了否定词之外,大多数词都是相同的(不) .

另外,如果我只训练句子A并尝试推断句子B,那么两个向量在向量空间中是否会彼此接近 .

我会请求NLP社区和Doc2Vec专家帮助我理解这一点 .

提前致谢 !!

1 回答

  • 2

    从本质上讲,gensim Doc2Vec 背后的所有算法都是找到一个矢量(与神经网络一起)擅长预测文本中出现的单词 . 所以是的,具有几乎相同单词的文本将具有非常接近的向量 . (在某些地方,某些词语具有很大的逆转效应,没有句法上的理解 . )

    然而,即使这样的向量在情绪分析中也可能是好的(尽管不是最先进的) . 最初的论文评估向量可用性的方法之一是估计短片评论的情绪 . (这些长于一个句子 - 数百个单词 . )当训练分类器上的doc-vectors时,分类器在评估评论的否定性/积极性方面做得非常好,并且比其他基线技术更好 .

    你的单个,微小的,人为的句子可能会更难 - 它们之间存在差异,因此向量将非常接近 . 但是那些不同的词(尤其是 'not' )往往非常能表明情绪 - 所以微小的差异可能足以将载体从'positive'区域转移到'negative'区域 .

    所以你必须尝试它,有一个真实的训练语料库,里面有成千上万的不同文本例子(因为这种技术在玩具大小的数据集上不能很好地工作)和后矢量化分类器步骤 .

    另请注意,在纯 Doc2Vec 中,在训练期间添加已知标签(如'positive'或'negative')(旁边或代替任何基于文档ID的唯一标签)有时可以帮助最终的矢量空间对您想要的区别更敏感 . 而且,其他变体技术如'FastText'或'StarSpace'更直接地将已知标签以可能有帮助的方式整合到矢量化中 .

    但是,短句的最佳结果可能会考虑到单词的相对排序和语法分析 . 您可以在斯坦福大学NLP研究小组的页面上看到这种更先进技术的演示:

    http://nlp.stanford.edu:8080/sentiment/rntnDemo.html

    虽然在那里看一下它仍然在努力解决的各种困难案例 .

相关问题