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

2024-03-29 00:03:43 发布

您现在位置:Python中文网/ 问答频道 /正文

利用Google新闻向量,通过SIF-Embeddings可以得到“男孩在踢足球”和“一个孩子在踢足球”两个句子的相似度。在

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

我曾使用谷歌新闻向量来获得相似性,但效果不佳。在

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


Tags: 利用google孩子抽象类相似性向量新闻句子
1条回答
网友
1楼 · 发布于 2024-03-29 00:03:43

Word2Vec是一种为单词生成向量的算法,对于相似的单词,向量往往是相似的。它本身不做句子。在

您或多或少有以下选项:

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

创建句子向量

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

除此之外,还有一些方法,比如连接所有单词向量(固定长度)。在

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

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

其中一种方法是移动距离:Pairwise Earth Mover Distance across all documents (word2vec representations)

这似乎是一个好的,但昂贵的方法。在

更新:您更新了您的问题,提到您使用的是“SIF Embeddings”(而不是word2vec):https://openreview.net/forum?id=SyK00v5xx

相关问题 更多 >