使用自定义Word2Vec查找技术问题之间的语义相似性?

时间:2017-10-31 07:02:04

标签: python nlp semantics word2vec

我们可以通过应用“SIF嵌入”使用谷歌新闻媒介获得两个句子的相似性,如“男孩正在踢足球”和“小孩正在踢足球”。

我想得到两个句子的相似性,这两个句子的技术类似于“什么是抽象类?”和“什么是班级?”。

我使用Google-news Vectors来获得相似性,但效果并不好。

我想知道训练数据应该如何?

1 个答案:

答案 0 :(得分:1)

Word2Vec是一种为单词生成向量的算法,对于相似的单词,它们往往相似。它不会自己做句子。

您或多或少有以下选项:

  • 创建句子向量
  • 比较两个句子中单词向量的相似性

创建一个句子向量

您可以构建句子,段落或文档向量。有不同的方法。例如,您可以组合单个单词的word2vec。如果您只是想要一个解决方案,那么您可以选择gensim的doc2vec:https://radimrehurek.com/gensim/models/doc2vec.html

除此之外,还有连接所有单词向量(固定长度)的方法。

类似的问题: How to calculate the sentence similarity using word2vec model of gensim with python

比较两个句子中单词向量的相似性

其中一种方法是Movers Distance:Pairwise Earth Mover Distance across all documents (word2vec representations)

这似乎是一种很好但又很昂贵的方法。

更新:您已经更新了自己的问题,因为提到您正在使用" SIF嵌入" (而不是word2vec):https://openreview.net/forum?id=SyK00v5xx