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

Using Custom Word2Vec to find semantic similarity between technical questions?

我们可以通过应用 "SIF Embeddings".

使用 Google 新闻向量获得 "The boy is playing football" 和 "A kid is playing football" 两个句子的相似度

我想得到两个句子的相似度,这两个句子是技术性的,比如 "what is an abstract class?" 和 "what is a class?"。

我已经使用 Google-news Vectors 来获得相似度,但效果不佳。

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

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

您或多或少有以下选择:

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

创建句向量

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

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

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

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

一种这样的方法是移动距离:

这似乎是一种不错但昂贵的方法。

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