Python Gensim和Have寻找相似的句子

Python Gensim和Have寻找相似的句子,python,nlp,gensim,Python,Nlp,Gensim,我在数据库中有大量的句子,我想找到与用户输入的单个句子最相似的句子 看起来我可能可以用它来做这件事,但我看到的所有例子都是使用word2vec,我相信它有助于找到单个相似的单词,但不适用于句子。但是,我注意到hatterIndexer()可以采用word2vec或doc2vec模型 这个过程是相同的,但将word2vec模型与doc2vec模型交换,并使用搜索语句的doc2vec向量,对吗 我是否需要以任何方式使用预先训练好的单词嵌入,或者我只是用数据库中的句子语料库来训练doc2vec模型 谢

我在数据库中有大量的句子,我想找到与用户输入的单个句子最相似的句子

看起来我可能可以用它来做这件事,但我看到的所有例子都是使用word2vec,我相信它有助于找到单个相似的单词,但不适用于句子。但是,我注意到hatterIndexer()可以采用word2vec或doc2vec模型

这个过程是相同的,但将word2vec模型与doc2vec模型交换,并使用搜索语句的doc2vec向量,对吗

我是否需要以任何方式使用预先训练好的单词嵌入,或者我只是用数据库中的句子语料库来训练doc2vec模型


谢谢大家!

Doc2Vec
不需要任何预先训练的词向量:您只需在语料库中训练它,它就可以了解它需要什么

为了比较句子,你也可以试着计算每个句子的向量,它是所有单词向量的总和或平均值

如果句子不是太长,你也可以考虑“Word Mever的距离”,可以从<代码> GunSimult/Cord> Word向量作为<代码> .WMListar(WorddListar,WorddListar)< /C>。(计算这些成对距离比计算两个固定长度向量之间的简单相似性要昂贵得多——但它可以更好地捕捉人类对相似性的感知。)


请注意,HARDE只是一个索引优化,它以精度为代价来提高速度。只有当查找
.most_similar()
的蛮力方法(计算所有相似度,然后排序以查找前N)太慢时,才有必要使用此方法。它将使用更多的内存进行索引,并承担有时无法找到准确的真实最近邻的风险,以提高速度。

Doc2Vec
不需要任何预先训练的词向量:您只需在语料库中训练它,它就会了解它需要什么

为了比较句子,你也可以试着计算每个句子的向量,它是所有单词向量的总和或平均值

如果句子不是太长,你也可以考虑“Word Mever的距离”,可以从<代码> GunSimult/Cord> Word向量作为<代码> .WMListar(WorddListar,WorddListar)< /C>。(计算这些成对距离比计算两个固定长度向量之间的简单相似性要昂贵得多——但它可以更好地捕捉人类对相似性的感知。)


请注意,HARDE只是一个索引优化,它以精度为代价来提高速度。只有当查找
.most_similar()
的蛮力方法(计算所有相似度,然后排序以查找前N)太慢时,才有必要使用此方法。它将使用更多的内存进行索引,并且为了速度,有时可能无法找到准确的最近邻。

相关:?相关:?感谢您的回复。是的,我知道烦恼的局限性。在我看来,速度是至关重要的,所以这似乎是一个不错的选择。昨天,我通过使用Doc2Vec成功地完成了一个简单的测试。非常感谢。谢谢你的回复。是的,我知道烦恼的局限性。在我看来,速度是至关重要的,所以这似乎是一个不错的选择。昨天,我通过使用Doc2Vec成功地完成了一个简单的测试。非常感谢。