这篇论文产生sentence embedding的方法非常简单,但是效果并不差。整个方法完全避免了深度模型,个人认为在工业界会有好的前景。由于简单易操作,尽管过去一些论文自称为hard/tough-to-beat的baseline,作者仍然把它称为一个much harder-to-beat baseline。从实际效果看,此言不虚。
最简单的求sentence embedding的方法是对句子里所有的单词embeddings求平均,但是效果差,尤其是不能和复杂的模型比(比如第一篇文章介绍的InferSent)。在这篇文章里,作者把“对word embedding求平均”的操作泛化为p-mean的一类操作,进而推广到使用不同的p值产生不同的特征。
具体的,power-means定义为:
仅仅对一种embedding采取不同的power-means还不够。作者使用了多种embeddings(Word2Vec,Glove等等),每一种embedding上都进行了power-means操作。把这些来自不同embedding spaces的 si s i 连接起来得到:
这个就叫做”Concatenated p-mean Word Embeddings”,作为一个多维度的向量,成为logistic regression的input。
上图每一列代表不同的NLP的任务。为了和InferSent这样的经典工作对标,这些任务和InferSent的实验基本上一致的。第一列是各项任务的加权平均。实验中用到的算法主要分为三大类: 最简单的算术平均(即 p=1 p = 1 ), p−mean p − m e a n (最大,最小,及平均),过去的经典算法(比如前文介绍过的SIF,InferSent等等)
从实验结果可以得到几个结论:
综上,作者自我标榜为hard-to-beat的baseline的说法是可以成立的。
另外作者还进行了Cross-lingual的实验,这里的效果比InferSent还要好。篇幅所限,这里略过。以后有空专门写一下cross-lingual。
关于 p p 的取值带来的影响,如下图所示:
第二列是在Cross-lingual上的结果。第三列是在英语上的各任务的综合成绩。
注意 p=−1 p = − 1 时算法受到了负面的影响。这说明只有额外提供了有用的,互补的信息的 p p 值才有帮助。 p>0 p > 0 时影响是正面的,其中 p=3 p = 3 时边际效应最高。
有实验结果就得有相应的分析。作者主要讨论了两点:
说下我个人的想法。这个工作的成功之处主要在于利用了两点。第一是利用了不同的embeddings的信息的互补。过去的研究常建议多个embeddings混用,这就是一个成功的例子。这些互补信息的embeddings直联以后增大了输入的维度,更加方便logistic regression去找到separating hyper-plane。 第二是利用了不同的简单操作。比如取平均是简单操作,取最大和最小值都是简单操作,多个简单操作放在一起(concatenation)就是复杂操作。这个复杂操作的结果就是对句子整体信息的有效压缩,可以看到这种做法成功了。
产生句子embedding的方法未必就非要经过LSTM和CNN之类的深度学习模型,这篇文章展示了不用深度模型也一样可以做好。在工业界,假设使用3种embeddings,每种就算300维,再利用平均,最大和最小对应的3种 p p 值,总共的输入维度也就是 300×3×3=2700 300 × 3 × 3 = 2700 而已,这么一点维度对于熟练使用logistic regression算法的工业界根本就是小菜一碟。