论文导读-A simple but tough-to-beat baseline for sentence embedding

ICLR 2017
文章简介:文章提出了sif sentence embedding方法来得到句子的embedding,在计算文本相似度的任务中其表现超过了RNN和LSTM,并对其优秀的表现尝试给出理论解释。
原文
代码


如果你想5分钟内了解这篇文章的主旨,你可以:
码农场的笔记
笔记对应视频42:28开始
如果你还想再花10分钟深入了解下related work,你可以:
从词向量到句向量
如果你想继续精读这篇文章,则可以快速过一下以下的内容。


文章提出的模型可以得到句子的embedding,之后在文本相似度的数据集上实验证明其先进。先从结果开始

实验结果:

实验结果:准确率

这篇文章中做了不少实验的,我们就先围绕这张表展开。可以看到用的数据集主要是STS,同时将方法分为监督(Su.),无监督(Un.),半监督(Se.)。对于数据集和几种方法的区别想要仔细了解可以看文章中的4.1和4.2。

目前最常见的应该还是无监督的方法,Glove+WR即代表词向量用Glove完成嵌入,本文的WR算法完成句嵌入。W代表Weighted,使用预估参数给句中的每个词向量赋予权重,R表示Removal,使用PCA或SVD移除句向量中的无关部分。

同时这篇文章的方法在监督学习的数据集上也有尝试(见文章A.3):

SNLI数据集

对比SNLI的leader board和STS的leader board,只能说这两年NLP技术发展的太快了,tough-to-beat也撑不过1年的时间。

算法

算法流程

输入训练好的词向量,句子的集合S,参数a和词频p(w),模型就可以输出S中每一句句子的嵌入向量。
可以看出1~3步就是对应上文提到的W,对于词频p(w)越高的词,其权重向量就越小(所以作者在Introduction中提到"Of course, this SIF reweighting is highly reminiscent of TF-IDF reweighting from information retrieval ")。

4~6步就是对应上文提到的R,PCA和SVD的原理及作用在这里就不赘述了。

数学部分

算法第2步里这个式子怎么来的,文章里给出了细致的解释:

math warning

have fun :)

是基于latent variable generative model,Random Walk model加入了平滑项。

最后作者还将这个式子和word2vec的采样技巧联系在了一起:

double fun :-)

得出结论" Word2vec with sub-sampling gradient heuristic corresponds to a stochastic gradient update method for using our weighting scheme.",即从理论上解释了本文方法的优越性。

你可能感兴趣的:(论文导读-A simple but tough-to-beat baseline for sentence embedding)