Python 3.x gensim.models.FatText.wv.wmdistance如何计算两个文档之间的距离?

Python 3.x gensim.models.FatText.wv.wmdistance如何计算两个文档之间的距离?,python-3.x,gensim,fasttext,Python 3.x,Gensim,Fasttext,我已经有了一个使用gensim的fastText培训模型, 我可以得到两个句子之间的距离,如下所述 sentence_1 = "Today is very cold." sentence_2 = "I'd like something to drink." print(model.wv.wmdistance(sentence_1.split(" "), sentence_2.split(" "))) # 0.8446287678977793 # for example 但是vm

我已经有了一个使用gensim的fastText培训模型,
我可以得到两个句子之间的距离,如下所述

sentence_1 = "Today is very cold."  
sentence_2 = "I'd like something to drink."    

print(model.wv.wmdistance(sentence_1.split(" "), sentence_2.split(" ")))
# 0.8446287678977793  # for example
但是
vmdistance
如何计算这个值呢?
我想知道公式

API文档:

函数
wmdistance()
计算两组单词之间的“单词移动器距离”

通过将运筹学中一个名为“地球移动者的距离”的古老理念应用到文本中,您可以在以下位置查看创造了“移动者距离”(WMD)测量值的学术论文:

,作者:Matt Kusner等人

您可以在以下位置查看gensim的
wmdistance()
函数使用的确切代码:

大规模毁灭性武器的计算相当耗时,因为它涉及到对“意义堆”中许多可能的“转移”进行搜索,以找到一种支出最低的方法。随着文本变长,它变得特别耗时。(短句比完整段落或文档更实用。)


通常情况下,文本被归纳为一个向量——通过对其词向量的平均,或像
Doc2Vec
这样的浅层文本到向量算法,或深度学习模型(BERT、ELMo等)。然后,通过简单的余弦相似性,可以更快地比较这些单个向量。(这就是gensim向量模型的简单的
相似性()
距离()
方法所做的。)

有趣!我想知道大规模杀伤性武器和单一载体之间的能力差异。我试试看。谢谢你善意的回答。