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

Python 使用自定义Word2Vec查找技术问题之间的语义相似性?,python,nlp,semantics,word2vec,Python,Nlp,Semantics,Word2vec,通过应用SIF嵌入,我们可以使用Google新闻向量获得两个句子的相似性,比如男孩在踢足球和孩子在踢足球 我想得到两个句子的相似性,它们是技术性的,比如什么是抽象类?什么是班级 我曾使用谷歌新闻向量来获取相似性,但效果不好 我想知道训练数据应该是怎样的?Word2Vec是一种为单词生成向量的算法,对于相似的单词,向量往往是相似的。它自己不造句子 您或多或少有以下选项: 创建一个句子向量 比较两个句子中词向量的相似性 创建一个句子向量 您可以构建句子、段落或文档向量。对此有不同的方法。例如,您可以

通过应用SIF嵌入,我们可以使用Google新闻向量获得两个句子的相似性,比如男孩在踢足球和孩子在踢足球

我想得到两个句子的相似性,它们是技术性的,比如什么是抽象类?什么是班级

我曾使用谷歌新闻向量来获取相似性,但效果不好


我想知道训练数据应该是怎样的?

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

您或多或少有以下选项:

创建一个句子向量 比较两个句子中词向量的相似性 创建一个句子向量 您可以构建句子、段落或文档向量。对此有不同的方法。例如,您可以组合单个单词的word2vec。如果您只是想要一个解决方案,可以购买gensim的doc2vec:

除此之外,还有一些方法,比如连接固定长度的所有字向量

类似问题:

比较两个句子中词向量的相似性 其中一种方法是移动距离:

这似乎是一个不错但代价高昂的方法


更新:您已经更新了您的问题,因为您提到您正在使用SIF嵌入而不是word2vec:

您应该给出一个最小的工作示例,否则这种类型的通用问题更适合于理论环境而不是应用环境:我对问题进行了一些编辑。我的问题是如何处理技术性的句子,而不是如何使用word2vec来获得句子向量你试过了吗?我看不出技术性句子与其他句子有多大不同。你可能只需要在正确的语料库上对它进行训练。我试过解决技术问题,但效果不好。我看到很多oov标记在这种情况下,你应该真正澄清你的问题,并提供确切的例子,你尝试了什么,如何以及用什么训练它,等等,并提供一些代码示例。单是你的标题似乎就包括两个问题——word2vec是否可以用来表示句子之间的相似性,然后你就有了“技术”这个词。我不明白为什么它不适用于技术问题,因为谷歌培训的数据是不同的。我需要知道数据的特征来训练自定义word2vec