【问题标题】:How does word2vec work to find sentence similarity?word2vec 如何查找句子相似度?
【发布时间】:2019-01-25 06:24:46
【问题描述】:

我正在使用 word2vec/doc2vec 来查找两个文档的文本相似性。 我研究了 word2vec 有两种方法:

  • CBOW:根据上下文预测单词
  • Skipgram:根据单词预测上下文

但我一直在理解这两种方法在计算文本相似度方面的工作原理。 还有哪一个是当前任务的更好方法。

【问题讨论】:

  • 您是否已经拥有 word2vector 语料库并且想知道这个向量如何帮助提高相似度,或者您想知道这些向量是如何形成的?
  • 我知道向量是如何在提供的窗口大小中形成的。但我在理解这些向量如何用作文本相似性方面遇到了问题
  • 看看这个视频,应该会有所帮助youtube.com/watch?v=hjx-zwVdfjc

标签: nlp data-science word2vec


【解决方案1】:

词向量只是为单个词建模。

但是,您可以使用这些按词向量来为较大的文本创建向量,或在较大的文本之间进行相似度计算。

将文本转换为单个固定宽度向量的简单方法是对所有文本单词的词向量进行平均。 (这也可以是加权平均值,基于单个单词重要性的一些想法。)这种文本向量通常可以很好地用作快速和简单的基线。对于两个文本,两个所有单词向量的平均值的余弦相似度就是两个文本的相似度。

Doc2Vec(又名“段落向量”)这样的算法是获取文本向量的另一种方法。它没有严格组合词向量,而是使用类似于用于创建词向量的过程来创建每个文本向量。

如果只是使用词向量,文本到文本相似性的另一个选项是“Word Mover 距离”(WMD)。 WMD 度量不是将所有词向量平均在一起,而是为文本创建单个向量,而是将文本的所有词视为在其不同词向量坐标处的“意义堆”。文本之间的距离是将一个文本的词向量的质量“移动”到另一个文本需要多少努力。它很昂贵(因为每个这样的成对计算都是许多可能的单词到单词转换中的一个优化问题),但保留了比仅仅将文本折叠成单个摘要向量更多的区别。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-28
    • 2016-07-10
    • 2015-01-23
    • 2018-02-02
    • 2021-05-07
    • 2020-01-22
    • 1970-01-01
    • 2018-08-29
    相关资源
    最近更新 更多