WMD距离

上一篇讲到字符串的编辑距离:编辑距离,编辑距离还是从字符串字面含义来度量文本相似性,WMD则通过寻找两个文本之间所有词最小距离之和的配对来度量文本的语义相似度。

WMD(Word Mover's Distance,词移距离),是EMD(Earth Mover's Distance)在NLP领域的延伸。

EMD距离是一类运输问题:假设m个工厂需要将货物运输到n个仓库,每个工厂有一定数量的货物 P_{i} ,每个仓库的最大容量为 Q_{j} ,工厂与仓库间距离为 d(i, j) ,在运送量为 f_{i,j} 时其成本为 f(i,j) \times d(i,j) 。工厂内货物总量为 \Sigma P_{i} ,仓库总容量为 \Sigma Q_{j} 。则运输问题的优化目标是在运输货物总量为 min(\Sigma P_{i},\Sigma Q_{j}) 情况下最小化成本。

EMD距离示意图

WMD中将文本中的词嵌入到word2vec空间中来衡量语义相似度;工厂到仓库的距离则体现为两个词的余弦距离,通常对单词的数量进行归一化。

WMD距离的优化求解可采用标准的min-cost-flow最小代价最大流算法,一种图论中的常用优化算法,其平均时间复杂度为 O(p^{3} log(p))

由于WMD距离能够利用word2vec表达的词粒度的语义信息,因此在文本语义距离计算中可以取得较好的效果,但是WMD对于文本的编码方式本质上仍然是传统的BOW方式,因此仍无法利用好句式信息。

编辑于 2019-03-29