Press "Enter" to skip to content

「国王-男人+女人=皇后」背后的词类比原理究竟为何?| ACL 2019

众所周知,词向量有一个神奇的特性,那就是:我们往往可以通过向量的算术来实现单词的类比。最着名的例子就是:

 

 

但这是为什幺呢?为什幺算术运算符适用于像「word2vec」这样的非线性模型生成的向量呢?在向量空间中,要想通过训练语料库使这些类比成立需要满足什幺条件?

 

令人惊讶的是,很少有理论试图解释这种现象,而那些现有的理论对词频或向量空间做出了很强的假设。在我们发表在 ACL 2019 上的论文「Towards Understanding Linear Word Analogies」( http://arxiv.org/abs/1810.04882 )中,我们在不做出这种强假设的条件下,针对「GloVe」和「基于负采样的skipgram」两种嵌入模型提出了词类比运算的正式解释。反过来,我们的理论也提供了:

 

1. 在 SGNS 和 GloVe 空间中关于欧几里得距离的第一个基于信息论的解释;

 

2. 使用加法构成 SGNS 词向量的新依据;

 

3. 「GloVe」模型原始论文( https://nlp.stanford.edu/pubs/glove.pdf )中提出的对于词类比的直观解释的正式证明。

 

最重要的一点是,我们的理论有实验论证的加持,比过去的解释更为可靠。

 

过去的解释的不足之处

 

在 2016 年 TACL 的一篇论文「A Latent Variable Model Approach to PMI-based Word Embeddings」中,论文作者提出了潜变量模型( https://arxiv.org/abs/1502.03520 ),这也是研究者首次尝试对词类比算术进行严格解释。Gittens 等人在论文「Skip-Gram – Zipf + Uniform = Vector Additivity」( https://www.aclweb.org/anthology/P17-1007 )中对此理论提出了批评,他们认为该理论假设词向量是一种先验概率,并且是通过随机地对从单位曲面上采样得到的向量进行放缩生成的(或者说具有与该过程一致的属性)。潜变量模型也依赖于单词向量的各向同性,即使已经有实证研究证明 SGNS 向量通常不具有这种性质(相关工作可参考: https://www.aclweb.org/anthology/D17-1308 )。

 

2017 年 ACL 的一篇论文「Skip-Gram – Zipf + Uniform = Vector Additivity」提出的释义模型(paraphrase model, https://www.aclweb.org/anthology/P17-1007 )认为,如果 p(w|c_1,…,c_m) = p(w|c) 成立,则上下文单词序列 C={c_1,…,c_m}在语义上与某个单词 c 等价。如果词频符合一个均匀分布,那幺我们可以将单词序列 C 的释义写作其上下文向量的和;向量的算术与该集合中的容斥(inclusion or exclusion)相对应。然而,该论文的作者承认该假设有些不切实际:词频往往遵循一个齐夫分布(Zipf distribution),该分布与标准分布相去甚远。最近一份发表在 ICML 2019 上的工作( https://arxiv.org/pdf/1901.09813.pdf )在完全不考虑 SGNS 中负采样的影响的情况下,对此假设进行变通。

 

词类比的结构

 

最广为接受的看法是,词类比是形如「a 之于 b,相当于 x 之于 y」的声明,也就是说 a 和 x 经过相同的变换后会分别得到 b 和 y,反之亦然。由于这是一个可逆变换,我们可以将其更形式化地定义为: 词类比 f 是一种在一组有序单词对 S 上成立的可逆变换,当且仅 。 当 f 可以表示为如 的形式时,我们就称其为一个线性词类比。我们将对这种线性词类比(例如, )进行进一步的解释。当它们恰好成立时,它们会(根据上述定义)在向量空间中形成一个平行四边形结构:

 

 

这样的平行四边形具备一些我们可以利用的实用属性。例如,一个四边形是平行四边形,当且仅当每一组对边长度都相等(而且在跟高维的空间中,所有四个顶点共面)。这意味着:

 

一个线性词类比在一组有序单词对 S 上成立,当且仅当对于每一对(x,y)单词对,有 等;对于每两对单词对(a,b)和(x,y)有 ,S 中所有的单词的向量共面。

 

解释内积

 

为了明确解释上述条件的意义,我们需要能够解释两个单词向量之间的内积(即点积)。

 

然而,现有的文献只告诉我们如何解释一个单词和一个上下文向量之间的内积。不妨回想一下,SGNS 和 GloVe 为每个单词创建了两种表征,其中一种保证针对于该单词是目标单词的情况,另一种表征针对于该单词是上下文单词的情况(即该单词在其它单词的上下文窗口中)。后一种表征被称为「上下文向量」,通常会在训练后被删除。

 

我们可以明确解释一个单词和上下文向量的内积,因为即使 SGNS 和 GloVe 实际上是迭代地学习向量,他们也会隐式地分解一个包含共现统计量的「单词-上下文」矩阵。当分解后的矩阵可以被完美地重建时, 为单词向量, 为相应的上下文向量:

 

 

第一个等式是 GloVe( https://nlp.stanford.edu/pubs/glove.pdf )的局部目标,其中 代表共现次数,b_x,b_y 代表学到的每个单词的偏置。第二个等式由 Levy 和 Goldberg 提出( https://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix-factorization.pdf ),他们证明了 SGNS 隐式地对「单词-上下文」对的点互信息(PMI, https://en.wikipedia.org/wiki/Pointwise_mutual_information )矩阵进行了分解,并减去了负样本个数 k 的对数。由于被分解的矩阵是对称的,我们有

 

 

上下文空间中的类比

 

利用这些等式和分解后的「单词-上下文」矩阵的对称性,我们证明了:任何在单词空间中成立的线性类比 f,都有一个相应的在上下文空间中成立的线性类比 g。具体而言:

 

一个在无重建误差的 SGNS 或 GloVe 单词空间中的有序对 S 上的线性类比 成立,当且仅当在相应的上下文空间中的有序对 S 上存在 ,使得

 

这意味着我们可以将 写作 的内积乘以 1/λ,从而使其更具有可解释性。

 

线性词类比何时成立?

 

现在,我们知道了线性类比在向量空间中成立所需要满足的条件,以及如何解释两个单词向量的内积。

 

这意味着我们现在可以使用上述的 SGNS 或 GloVe 的等式,重写这些关于训练语料库的统计量的条件。无论我们选择哪个等式,我们最终都会运用到 共现偏移点互信息定理(或简称 csPMI 定理) 。值得一提的是,即使 SGNS 和 GloVe 是完全不同的嵌入模型,类比现象在其向量空间中出现的条件是相同的!

 

共现偏移点互信息定理(csPMI)

 

令 W 为无重建误差的 SGNS 或 GloVe 单词向量空间,M 为 SGNS 或 GloVe 隐式分解得到的「单词-上下文」矩阵,S 为一组有序对,满足 |S|>1,且 S 中的所有单词都在 W 向量空间中有一个对应的向量。

 

一个线性类别 f 在单词对 S 上成立,当且仅当:

 

每个(x,y)单词对的 csPMI(x,y)相等

 

对于每两个单词对(x,y),(a,b),有 csPMI(a,x)=csPMI(b,y)

 

对于每两个单词对, 是线性相关的

 

例如,要使 在一个无噪声的 SGNS 或 GloVe 空间中成立

 

我们需要训练语料库满足下面的条件:

 

csPMI(king, queen) = csPMI(man, woman)

 

csPMI(king, man) = csPMI(queen, woman)

 

分解后的「单词-上下文」矩阵中的四个单词的行向量共面

 

对噪声的鲁棒性

 

实际上,即使在有噪声的情况下,线性词类比也是成立的。这是为什幺呢?

 

1. 向量相等的定义实际上较为宽松。一个类比任务「(a,?)::(x,y)」可以通过寻找最接近 的单词来解决(不包括 是可能的答案的情况)。即使最终找到的答案可能并不精确,也并不在由

 

定义的平面上,但是我们仍然可以找到正确的答案。

 

2. 尽管该定理假设所有的单词对都没有重建误差,如果我们不考虑共面性的约束,要想使得 f 在有序对 S上恰好成立,只有 需要被重建。

 

3. 类比只在频繁出现的单词对上成立,这样就可以使噪声更少。例如,在维基百科中,国家及其首都的类比的中位数为 3436.5,该类比的准确率高达 95.4%;而国家及其货币的类比的中位数仅为 19,期准确率则只有 9.2%。

 

影响

 

直觉一直都是正确的!

 

提出原始的 GloVe 模型的论文( https://nlp.stanford.edu/pubs/glove.pdf )推测:形如「a 之于 b,相当于 x 之于 y」的类比成立,当且仅当对于词汇表中的所有单词 ω,有:

 

 

尽管缺乏正式的证明,但这一直被认为是对词类比的直观解释。在我们的论文中,我们证明了这个推测确实是正确的(至少对于 SGNS 是正确的)。

 

向量加法形式的词类比

 

通过引入零向量φ(在任意空间中映射到模为零向量)的概念,我们可以将向量加法 设计成在 上的线性类比。如果 z 在单词表中,则有 ,其中 是与模型相关的常量。这反过来意味着:

 

 

这表明,增加两个 SGNS 向量隐式地降低了出现频率更高的词的权重,因为加权方案,例如 SIF( http://www.offconvex.org/2018/06/17/textembeddings/ )、TF-IDF 需要视情况而定。比如说,如果将代表「x=’the’」和「y=’apple’」的向量相加,从而创建一个代表「z=’the_apple’」的向量。而且如果这实际上是单词表中的一项,我们希望有 csPMI(‘the_apple’,‘apple’) > csPMI(‘the_apple’,‘the’)。尽管事实上,大多数双字词并不存在于单词表中,但这有助于解释经验性的观测结果( https://www.cs.cmu.edu/~jwieting/wieting2016ICLR.pdf ):平均单词向量是一种非常有效的组合单词的方法。

 

解释欧几里得距离

 

存在 ,使得对于任意两个在无噪声的 SGNS 或 GloVe 空间中的单词 x 和 y,有:

 

 

平方后的两个单词之间的欧几里得距离是他们的负 csPMI 的递减线性函数。这是很直观的:通过 csPMI 进行度量时,在训练语料库中越相似的两个单词的词向量之间的距离就越小。尽管如此,据我们所知,这还是第一次从信息论的角度解释单词向量空间中的欧几里得距离。

 

实验证据

 

正如前面提到的,之前的理论的一个关键问题是只有很少(如果有的话)的实验证据能够支撑它们。下面,我们展示了两个实验中的发现,这两个发现为我们的研究提供了证据。

 

估计 csPMI

 

根据 csPMI 定理,如果一个类比下号在一组无噪声单词向量空间中的单词对上成立,那幺每一对单词都具有相同的 csPMI 值。为了检验这一点,我们计算了维基百科中共现的词数,并计算了 word2vec 论文中必须成立的单词对的类比的平均 csPMI 值(例如,对于「首都-国家」单词对来说,有 {(Paris, France)、(Berlin, Germany)} 成立)。接着,我们试图使用在维基百科数据上训练的 SGNS 向量,通过传统的最小化余弦距离的方式,对这些类比进行求解。

 

在上面的表格中,我们可以看到:

 

1. 当 csPMI 的方差较小时,类比的解的准确率更高(皮尔逊相关系数 r=-0.70)。这是因为当几何平移性相同、并因此使得 csPMI 的值相同时,类比更有可能更有可能在一组单词对上成立。

 

2. 相似的类比(例如「首都-国家」和「首都-平民-国家」)具有相似的平均csPMI 值。我们的理论暗示了这一点(因为相似的类比有相似的平移向量)。

 

3. 平均 csPMI 的变化反映了类比类型的变化,从地理信息(红色)到时态(紫色)再到形容词(蓝色)。唯一的异常值是「currency」(货币),它具有很高的 csPMI 方差、非常低的准确率,而且单词对很少共同出现在维基百科中。还需注意的是,尽管类比于平均 csPMI 的变化情况非常一致,但是它们与平均 PMI 并没有关系。

 

欧几里得距离和 csPMI

 

为了检验 csPMI 定理对欧几里得距离的解释,我们绘制了在维基百科数据上训练的 SGNS 向量的以 为横坐标,以 为纵坐标的图像。

 

正如预期的那样,横纵坐标之间有一个较强的正相关关系(皮尔逊相关系数 r=0.502);两个单词越相似(正如 csPMI 定义的那样),二者词向量之间的欧几里得距离越小。在归一化单词空间中,相关性也有这幺强(皮尔逊相关系数 r=0.514)。

 

结语

 

在无噪声的 SGNS 或 Glove 空间中,线性类比在一组单词对上成立,当且仅当对于每个单词和任意两个单词对来说,它们在分解出的「单词-上下文」矩阵中的行向量共面的情况下,共现偏移点互信息(csPMI)相同。

 

反过来,这再次证明了人们长期以来对于「类比」现象为何成立的直觉,有助于解释为什幺向量加法是一种很好的组合单词的方法,并对词向量空间中的欧几里得距离提出了一种新的解释。于过去的词类比算法理论不同,本文有充足的实验证据支撑 csPMI 定理,从而使其更站得住脚。

 

via https://kawine.github.io/blog/nlp/2019/06/21/word-analogies.html

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注