machine-learning - Word Mover 计算两个文档的词对之间的距离

标签 machine-learning nlp word2vec word-embedding wmd

根据大规模杀伤性武器paper 、旅行成本或单词对之间的欧氏距离的计算方式如下图所示。

enter image description here

这个距离是按特定顺序成对计算的吗?如图所示,每个文档中的第一个、第二个等等 或者奥巴马的距离是根据 D0 中的所有四个单词计算出来的,然后这四个单词中的最小值仅显示在图中。

有人可以解释一下这是如何工作的吗?

另外,为什么 D3 中的所有三个词与 D0 中的 President 相比?

最佳答案

WMD 的计算需要找到将第一个文本中的词权重配置转移到第二个文本的词权重配置中的最便宜的移动。

词序无关。一个文本中任何单词的质量都可以转移到另一文本中任何单词的位置。因此,找到最佳换档的优化过程将考虑许多可能的配对。找到最佳解决方案后,最终的单个 WMD 数就是该最佳解决方案中的总行进距离。

由于字数差异,单词可能不会一对一地移动,而是按照全文质量的比例移动。因此,请考虑您所包含的图形中的底部示例:顶部文本 D0 有 4 个重要单词,底部文本 D3 只有 3 个重要单词。因此,顶部文本的 4 个单词中的每一个都可以被认为具有 0.25 质量,而底部文本的每个单词可以被认为具有 0.33 质量。

因此,“Obama”可能与“President”非常接近地映射 - 但即使将“Obama”质量的 0.25 移动到“President”,也会留下 0.08 个质量,必须传送到另一个 D0 单词。与“伊利诺伊州”和“芝加哥”类似 - 即使将“伊利诺伊州”质量的 0.25 移动到“芝加哥”,仍会留下 0.08 的质量,必须传输到另一个 D0 单词。所选择的路径和比例的精确组合将是最好的可能,但通常会涉及一些单词在多个其他单词之间进行小数移位。

关于machine-learning - Word Mover 计算两个文档的词对之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46202308/

相关文章:

java - 是否可以在 deeplearning4j.word2vec 中使用 gensim word2vec 模型?

python - 您如何根据 Python 中的相似性或重叠性来比较两个集群分组?

opencv - 人脸图像中的眼镜检测

machine-learning - 我如何将 bool 张量输入到 tf.cond() 而不仅仅是一个 bool 值?

Python:从日期、分数、百分比等字符串中提取数字

Python - 从标记列表到词袋

machine-learning - 当我使用经过训练的caffemodel进行回归时,预测值没有方差

python - tokenizer.texts_to_sequences Keras Tokenizer 给出几乎全零

python - 更新 spaCy 词汇表

python - 如何在tensorflow中给word2vec模型一个特定的词