Nlp wmd(词移动距离)和基于wmd的相似性之间有什么区别?

Nlp wmd(词移动距离)和基于wmd的相似性之间有什么区别?,nlp,nltk,gensim,word2vec,word-embedding,Nlp,Nltk,Gensim,Word2vec,Word Embedding,我正在使用大规模杀伤性武器来计算句子之间的相似度。例如: distance = model.wmdistance(sentence_obama, sentence_president) 参考: 然而,也有基于WMD的相似性方法(WMD相似性)。 参考: 除了明显的一个是距离,另一个是相似性之外,两者之间的区别是什么 更新:两者完全相同,只是表示方式不同 n_queries = len(query) result = [] for qidx in range(n_queries): #

我正在使用大规模杀伤性武器来计算句子之间的相似度。例如:

distance = model.wmdistance(sentence_obama, sentence_president)
参考:

然而,也有基于WMD的相似性方法
(WMD相似性)。

参考:

除了明显的一个是距离,另一个是相似性之外,两者之间的区别是什么

更新:两者完全相同,只是表示方式不同

n_queries = len(query)
result = []
for qidx in range(n_queries):
    # Compute similarity for each query.
    qresult = [self.w2v_model.wmdistance(document, query[qidx]) for document in self.corpus]
    qresult = numpy.array(qresult)
    qresult = 1./(1.+qresult)  # Similarity is the negative of the distance.

    # Append single query result to list of all results.
    result.append(qresult)

我认为通过“更新”,你或多或少回答了你自己的问题

一个是距离,另一个是相似性,这是两个计算之间的唯一区别。作为笔记本,您可以在以下位置链接笔记:

大规模杀伤性武器是距离的一种度量。WMD相似性中的相似性只是负距离。小心不要混淆距离和相似性。两个相似的文档将具有较高的相似性分数和较小的距离;两个完全不同的文档的相似性分数较低,距离也较大


正如您摘录的代码所示,此处使用的相似性度量并不完全是“负”距离,而是按比例缩放的,因此所有相似性值都是从0.0(独占)到1.0(包含)。(也就是说,零距离变成1.0相似性,但更大的距离变得更接近0.0。)

当你说“还有大规模杀伤性武器相似性选项”时,你指的是什么?(我已经搜索了gensim word2vec.py和keyedvectors.py文件,不明白你的意思。只有词向量到词向量的相似性方法,这与词移动器对向量集的距离计算大不相同。)通常情况下,“相似性”度量只是(1.0-缩放的_距离),但最好能确定你在比较什么。@gojomo我是说单词移动者基于距离的相似性。我将为问题添加详细信息。感谢您提供准确的代码参考。