本文主要用于记录华盛顿大学发表于2015年的一篇论文(引用量500+),该论文主要提出了一种计算文本(语句)相似度的方法论,很多神经网络模型也是由此衍生出来的~本笔记主要用于方便初学者快速入门,以及自我回顾。
论文链接:http://proceedings.mlr.press/v37/kusnerb15.pdf
基本目录如下:
- 摘要
- 核心思想
- 总结
------------------第一菇 - 摘要------------------
1.1 论文摘要
本文主要提出了一种基于词移动距离(Word Mover's Distance, WMD)的文本相似度的计算方法。其主要工作都是基于词在句子中的共现概率而训练的词向量来展开的(其实就是用了word2vec训练出来的词向量)。WMD的距离计算方法简单理解就是,针对一篇文章中的每一个词,我们都能在对比文章中找到一个词,使得该词“移动/转移”到该词的“代价/距离”最小(其实就是俩个词向量的距离最小),而两篇文章的相似度就是,一篇文章中的所有词转到另一篇文章的词的“总代价/距离”。这个距离的度量方法其实与著名的交通运输问题“Earth Mover's Distance”思路是一样的。这种度量的方法的一个好处就是,其没有超参数需要去优化,计算直接了当。然后,本文所做的实验也论证了这种(WMD)的度量方法确实简单有效,且在当时击败(用最小k近邻误差来衡量)了其他7种主流的文本相似度度量算法。
------------------第二菇 - 核心思想------------------
2.1 论文提出背景
在深入了解该算法计算思路之前,还是先提两句15年那个时候计算文本相似度的方法。自从word2vec在12年被提出以后,这一词向量训练方法几乎就是nlp工作者的标配,其强大的词向量表达能力,让大家经常就是无脑加数据训练更好的词向量表达(更别提12年之前还是用词袋或是tf-idf),然后计算文本相似度的时候就是累加所有词的词向量再求和(其实word2vec本身的词向量相加也是有意义的,比如那个经常的等式,king - man = queen - women)。但这种累加求和的计算方式,往往就会在累加求和的过程中渐渐磨平那些关键词的距离特征。因此,本论文提出的方法,其核心思想就是突出词与词之间的距离特征映射关系(仔细一想,是不是就是后面nlp里面attention的基本思路呢?毕竟attention的核心也是分配给关键词更多的权重)。
2.2 WMD计算方法
本段将详细阐述论文提出的计算方法。首先假设我们有一个词向量矩阵,其中是词典库的大小,是词向量的维度。然后,一篇文章可以被表示成被归一化后的词袋向量。每一维就是该词在文章中出现的次数(归一化除以总数后),显然这个词袋向量是非常稀疏的,因为大量的词不会出现在一篇文章中。
当我们将两篇文章都用词袋向量表示以后,如果两篇文章表义相近,且用词相近可以得出这俩个向量的距离肯定也是相近的,但是如果两篇文章表义相近,但用词不同,这俩个向量但距离就飘了~而这就是我们不希望看到的。
然后我们还是定义俩个词(分属两篇文章)的距离度量是利用word2vec计算出的向量,表示为。定义一个转移矩阵,其上的每一个值代表单词有多少权重要流入到单词,我们只需要保证,该单词流出的权重等于该单词在词袋向量中所有的权重即可,而对于流入方单词同理,其流入的权重等于其在词袋向量中的权重!最终我们只需要找到一个累加求和距离最小权重分配比,就是最终俩个文本的相似度。上述文字,可以用数学公式表达为,
上面的表述可能有点绕,我就用一个最简单例子,比如说这两句话,
A - “学习 使 我 快乐”,
B - “我 觉得 学习 有乐趣”。
那他们的词袋向量表达可能就是(与词相对应)
A - [0.25, 0.25, 0.25, 0.25]
B - [0.25, 0.25, 0.25, 0.25]
那显然,在计算转移距离的时候,为了得到最小的距离,A中的学习/我,会全部转移到B中的学习/我(距离代价为0),而快乐与有乐趣(觉得,使)最接近,会全部转移过去。即,本质上来说,在计算这俩个句子的相似度的时候,该算法就会考虑计算两篇文章中最相近的词之间的距离,而不是,考虑整体,增加的算法鲁棒性。当然,以上的情况是最简单的,因为其是一一对应的,论文还举了不是一一对应的例子,这里也贴上原图,大家应该看了就秒懂了~
2.3 WMD优化思路
至此,大家应该对最初始版本的WMD计算方法有所了解了,而敏锐的同学肯定也已经觉察到了该算法的复杂度很高,。因此论文里还提了几个简单的优化思路(取下限)。
其中一种优化的思路是WCD(Word Centroid Distance),即之前最暴力的一种解法是把所有的词向量都相加(权重一样),这里不是简单的相加,而是带权重的相加(weighted word vector,其实也很暴力)。其实这里跟后期的神经网络的attention的优化思路是一样的,我们也更关注训练出俩个句子或文章中,到底哪几个词的相似度是起最关键的作用的(不管是local还是global的思想)。
另一种就是取消一下WMD中的限制,即我们不严格要求流入词的权重是与词在文章中的权重是一致的,那相当于就是尽可能多的词去做匹配而不做严格的限制,具体的推导论述大家看文章中,这里就不作展开探讨了~
2.4 论文实验结果分析
具体的实验结果大家可自行参考论文,这里不作展开探讨。
------------------第三菇 - 总结------------------
3.1 总结
到这里,整篇论文的核心思想及其创新点已经说清楚了。本论文主要集中在于阐述一种新的计算文本相似度的方法,并且做了优化的延伸扩展,为后续的文本相似度计算奠定了基础。
简单总结一下本文就是先罗列了一下该论文的摘要,再具体介绍了一下论文中的WMD算法的原理和实现过程,并后续介绍了一些可优化的点。总的来说,这篇论文可以说是文本相似度计算深入研究的开山之作。希望大家读完本文后能进一步加深对该论文的理解。有说的不对的地方也请大家指出,多多交流,大家一起进步~😁