文献:A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SENTENCE EMBEDDINGS
在进行了词嵌入的研究后,我们往往会联想到这样一个问题:既然单词可以用向量表示,那么由一个个单词组成的句子,可不可以也用向量表示呢?如果可以的话,句子之间就可以进行向量的运算,计算它们之间的相似度,进而可以对句子进行聚类或者进行匹配。
因此,这篇文献提出了一种简单但又难以打败的计算句子嵌入的方法,使得句子向量计算的性能得到了提升。
Navigation
ABSTRACT
应用神经网络方法来计算单词嵌入的成功促进了对于较长段落(例如文本)语义嵌入的研究。而作者提出了这样一种句子嵌入方法:通过一种流行的方法对未标记的语料库(如 )计算词嵌入,通过词向量的加权平均值表示句子,然后使用 对其进行一些修改。
这种加权可将文本相似性任务的性能提高约 10% 到 30%,并且优于包括 和 在内的复杂的监督方法。这种简单的方法在将来的研究中应当作为 ,尤其是在带有标签的训练数据稀缺或不存在的情况下。
INTRODUCTION
使用多种方法计算的词嵌入是自然语言处理 ( ) 和信息检索 ( ) 的基本构建块。它计算词与词之间的相似性。而最近的工作尝试从单词向量的简单加总平均到复杂的方法(例如卷积神经网络和递归神经网络)来计算单词序列(短语,句子和段落)语义的嵌入。
在这里,作者提供了一种非常简单的句子嵌入方法:只计算句子中单词向量的加权平均值,然后删除平均向量在其第一个主成分上的投影(“公共成分去除”)。我们称它为平滑反频率 ( )。
(
) 单词
的权重表示为a / (a + p(w))
,a
是一个超参数,p(w)
是词频。我们发现,p(w)
越大,单词权重越小。是不是感觉与
原理有些相似,字词的重要性随着它在语料库中出现的频率成反比下降。
( ) 关于第一主成分,由于使用单词向量的平均的方法在沿语义上无意义的方向具有巨大的分量。因此我们删去这些公共成分,留下关键的信息。
的优越性体现在以下几点:
- well-suited for domain adaptation settings:对于各个领域的适应性较好
- fairly robust to the weighting scheme:使用不同的语料库计算的词频并不会影响它的性能
- a wide range of the parameters a can achieve close-to-best results:选择恰当的 ,可以达到最好的效果
METHOD
Latent Variable Generative Model
作者简要回顾了文本的潜在变量生成模型:该模型将语料库生成视为一个动态过程,在步骤 中生成第 个单词。这个过程是由一个 discourse vector 驱动的,表示为 ,意味着在这个时刻,句子的话题是什么,可以视为一个主题向量;同时,对于每一个单词 ,也有对应的词向量 (与时间无关)。二者之间的内积表示当前主题与词语的相关关系。
假定
时刻单词
产生概率为:
由于主题向量
做缓慢的随机漫步(slow random walk),即
只是在
基础上新增了移位向量,因此我们可以将相邻单词看成在相同
下产生。
Improve Random Walk Model
在之前的基础上,作者定义 sentence embedding 为:给定一个句子 s,利用最大后验概率估计 ( ) 产生这个句子的主题向量 。我们假定在一步步产生单词时,该句子的主题向量不会发生较大改变,因此用 来代替一个句子所有的 。
在模型的基础上,作者做了如下改进,引入了两个平滑项,用来解释 ( ) 有些词是在上下文之外出现 ( ) 某些高频词如 “ ” “ ” 是没有语境限制的。
α·p(w)
:其中 是标量, ( ) 是整个语料库中单词 的词频。这使得即使单词与当前主题 内积(相关性)很小,它也有一定的概率出现。- :公共话题向量,它代表着与语法相关的最频繁的主题向量,作用为校正项。它提高了沿 具有较高分量的单词的共现概率。
具体来说,给定主题向量
,在句子
中单词
的生成概率为:
和
都是超参数,
是归一化常数。我们看到该模型允许生成与主题向量
不相关的单词
,其原因有二:(
) 偶然地从项α·p(w)
产生 ;(
)
与公共话语向量
相关。
Compute Sentence Embedding
句子向量被定义为向量
的极大似然估计。
因此我们发现,
大致是句子中单词的向量的加权平均值。我们发现,越频繁的单词,权重越小。
为了估计 ,我们通过计算一组句子的第一主成分来估计方向 。通过将 的投影减去它们的第一主成分可以得到最终的句子嵌入。
整体流程如下: