对Word Mover‘s Distance的理解 WMD

https://zhuanlan.zhihu.com/p/88788961

https://blog.csdn.net/sinat_24330297/article/details/102738810

 

 

一、简要概括

本文提出了一个新的度量两个文档语义的distance,叫做Word Mover's Distance(WMD)。它主要基于两个点:(1)两个文档中的word都表示成word2vec;(2)对于文档A中的每一个词,我们都可以在文档B中找到一个对应的词,使得A的所有词”移动“到B的所有词(移动距离与它们之间word2vec的欧式距离相关)的移动距离之和最小,即WMD。这个距离的定义与著名的交通运输问题”Earch Mover's Distance“是一致的。WMD没有超参数,实现简单直接,运用于文本分类问题,能够比其他通用的度量方法取得更好的效果。

如下图所示,document1中的每一个词都找到了document2中对应的词,然后所有这些词之间的距离和即为两个文档之间的WMD。

二、背景回顾

文本的表达是解决一切文本相关问题的基石,比如文本分类,文本提取,文本聚类等等。第一代文本表达方式是BOW或者TF-IDF。这种方法的主要缺点就是词语维度的”正交性“,也就是不同的词之间距离总是为0,即便它们之间可能存在某种语义相似性(比如hotel和motel)。第二代文本的表达方式是LSA或者LDA,将BOW空间投射到低纬度的”隐含主题“空间,从而比BOW能更好的捕捉词语之间的语义相似度。第三代文本表达方式是word2vec,是一种基于浅层网络的表达学习机制,与LSA和LDA类似也能够把BOW投射到低纬度的隐空间,但是与LDA的学习机制不同。word2vec还有一个独特的地方是能够学习到词语之间的analogy:比如vec(柏林)-vec(德国)=vec(北京)-vec(中国)。

三、Word Mover's Distance定义(核心)

对于一个长度为 [公式] 的词汇表,每一个词都有一个word2vec的embedding表示,构成一个 [公式] 矩阵,其中每一列 [公式] 代表一个第i个单词的d维embedding向量。WMD的计算有以下三个步骤:

  1. 计算每个单词的nBOW权重: [公式] 其中 [公式] 表示第i个词在文中出现的次数。很明显, d表征的是单个词的一个权重分布。
  2. 计算pair-wise的单词距离: [公式]
  3. 综合1和2计算document之间的距离:用dd'表示两个文档的nBOW向量,我们允许d中的任何一个词i转移到d'中的任何一个词j,转移的代价就是c(i,j)。定义一个转移矩阵 [公式] ,其中 [公式] 表示单词i有多少的权重要转移到单词j。为了保证将d全部转移到d‘,必须满足d中从某单词i流出的权重之和等于该单词在d中的nBOW的权重,即 [公式] ;同理d’中流入某单词j的权重之和等于该单词在d'中的nBOW的权重,即 [公式] 。

最终,我们只需要找到一个单词匹配方式,使得累加带权重求和距离最小,这个最小距离就是最终俩个文本的相似度。

以上这个问题是一道典型的线性规划问题,也是EMD运输问题的一个特殊例子。从一个比较通俗易懂的角度来理解WMD就是:在计算这两个句子的相似度的时候,该算法会尽量匹配两篇文章中语义最为相近的词,那么他们之间的距离之和就是WMD。比如下图 [公式] 和 [公式] 通过与 [公式] 中的词一一匹配计算得出相应的WMD; [公式] 和 [公式] 存在一个词语和多个词对应的关系。(具体如何计算如何匹配我还不是太清楚??)

 

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值