Artetxe - 2018ACL - A robust self-learning method for fully unsupervised cross-lingual mappings...

A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings

    • 知识点
    • 摘要
    • 引言
    • 本文方法
      • 实施流程
        • 3.1 预处理(词嵌入标准化)
        • 3.2 完全无监督初始化
        • 自学习(self-learning)
        • Symmetric re-weighting(对称重加权)
    • 结果分析

本文是来自巴斯克地区大学发表于ACL 2018会议的文章,主要做无监督的词嵌入跨语言映射,也就是词对齐。针对无监督跨语言映射词嵌入任务中初始化阶段中的不足,提出一种无监督的初始化方法,并结合一套强大的自学习算法来逐渐优化映射,在众多的知名测试场景中进行实验,并超越了先前的监督系统,证明了该方法的有效性。

文章链接:

A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings

代码链接:

https://github.com/artetxem/vecmap

知识点

  1. List item

摘要

最近的工作通过对抗训练将单语言嵌入映射到共享空间,从而设法在没有并行数据的情况下学习了跨语言单词嵌入。但是,他们的评估使用可比较的语料库或紧密相关的语言,将重点放在有利条件上,我们证明了它们在更现实的情况下经常会失败。这项工作提出了一种基于完全无监督的初始化的替代方法,该初始化显式地利用了嵌入的结构相似性,以及一种健壮的自学习算法,可以迭代地改进此解决方案。我们的方法在所有经过测试的场景中均获得成功,并且在标准数据集中获得了最佳的发布结果,甚至超越了之前的监督系统。

引言

跨语言嵌入映射已经被证明是双语词嵌入的有效方法。基本的想法是独立的使用不同语言训练嵌入单语语料库,然后通过线性变换将他们映射到共享空间。绝大多数的嵌入式映射方法依赖于小型种子字典,但是在最近对抗性的训练在完全无监督的环境中产生了较好的结果,然而先前的研究往往只能在关联较为密切的语言中获得较好结果,当进入更加现实的情景时却产生不出具有意义的结果。而后又有研究表明,迭代自学习方法能够从非常小的种子字典引导高质量的映射,但是当初始解决方法不够好时,自学习方法会陷入较差的局部结果,导致训练失败。

本文提出一种新的无监督方法来构建一个不需要种子字典的初始化解决方案。根据观察结果,给出词汇表中所有单词的相似度矩阵,每个单词都有不同的相似性分布值。两个不同语言的等价词应该拥有相似性的分布,本文基于这个事实来诱导初始的单词集配对。通过结合以上的初始化方法和强大的自学习方法,可以从弱初始解决方案开始并不断迭代改进映射。最终,通过两者的结合,本文提供一套完全无监督的在实际场景中有效的跨语言映射方法,在所有的测试案例中都收敛到一个好的解决方案,并在双语字典词典提取中设置了一种新的先进技术,超越了之前的监督方法。

Artetxe - 2018ACL - A robust self-learning method for fully unsupervised cross-lingual mappings..._第1张图片

本文方法

参数表示

X和Z分别表示两种语言中独立训练好的词嵌入矩阵。行代表一个词的词向量,列代表词向量的第几维。这里中Xj和Zj之间、Xi和Zi之间并没有任何的对应关系。这时就需要一个转换矩阵Wx、Wz来使XWx和ZWz在同一个向量空间。同时有叙述矩阵D,Dij = 1时代表目标语言中的第j个单词是源语言中第i个单词的翻译。

实施流程

3.1 预处理(词嵌入标准化)

我们的方法从进行预处理开始,该过程将嵌入的长度标准化,然后平均每个尺寸的中心,然后再次对其进行长度标准化。前两个步骤在先前的工作中被证明是有益的(Artetxe等人,2016),而第二个长度的归一化保证了最终的嵌入具有单位长度。结果,任何两个嵌入的点积都等于它们的余弦相似度,并且与它们的欧几里得距离直接相关,并且可以被视为它们相似度的量度。

概括起来就是首先对每个单词的词向量做归一化(把数据变为(0,1)之间的小数),再对词向量的每一列去均值(应该是标准化,均值为0,方差为1),最后再进行一次归一化处理。

3.2 完全无监督初始化

首先进行假设,目标语言和源语言词向量虽然是独立的,但是其分布的形态却十分相似。假设源语言和目标语言的字典大小一致,维度却不一致。

映射问题的一个难点是:词向量矩阵X和Z在两个坐标轴上都没有对齐(横轴代表词向量,纵轴代表词向量的维度),下面是解决思路:

X和Z的相似度矩阵 M x = X X T M_{x}= XX^{T} Mx=XXT M z = Z Z T M_{z}= ZZ^{T} Mz=ZZT是与原词向量一致的, M x M_{x} Mx[i,j]代表了target 语言中第i个和第j个单词的相似度。假设词向量空间是等距的,那么相似度矩阵 M x M_{x} Mx M z M_{z} Mz等效于他们的行和列的排列(不懂)。实际上向量空间并不是等距的,但作者假设是等距的。最简单的方法是尝试行和列的所有可能的排列,来找到 M x M_{x} Mx M z M_{z} Mz之间的最佳匹配对,但是这会引起组合爆炸,所以不可取。(个人理解,求相似度矩阵是为了将X和Z的词向量维度变为一样大小。上面提到过两种语言单词个数相同,假设都为M,但维度不同,假设分别为N1、N2,那么X的词向量为M×N1,相似度矩阵为M×M,类似的Z的相似度矩阵也为M×M,这样就可以进行矩阵相似度计算了。)

为了克服这个问题,作者将 M x M_{x} Mx每一行的值进行排序,Z做类似处理,生成sorted( M x M_{x} Mx)和sorted( M z M_{z} Mz),在严格的等距条件下,等效单词(翻译对)将得到完全相同的跨语言词向量(实际上并不是完全等距的,所以词向量并不完全相同,但两向量乘积应该是该向量与其他所有向量相乘所得到的值中最大的,所以可以用最近邻等方法来筛选等效单词),因此,给定单词以及sorted( M x M_{x} Mx)中对应的行,可以通过最近邻从sorted( M z M_{z} Mz)的所有行中找到其对应的翻译词。这样就生成了初始词典。(个人理解为:如果B是A的翻译结果,那么如果A和自己的相似度A·A取值很大,那么B和自己的相似度B·B取值也很大。)

实际上没有没有用到sorted( M x M_{x} Mx),而是用到了sorted( M x \sqrt{M_{x}} Mx )原因为:词向量X的奇异值分解为 X = U S V T X= USV^{T} X=USVT,那么相似度矩阵 M x = U S 2 U T M_{x}= US^{2}U^{T} Mx=US2UT,那么它的平方根为: M x = U S U T \sqrt{M_{x}}= USU^{T} Mx =USUT,和原词向量X非常接近,因此我们计算sorted( M x \sqrt{M_{x}} Mx ),然后用上一节提到的方法来做预处理,产生两个矩阵 X ′ X^{'} X Z ′ Z^{'} Z,这两个矩阵随后用于构建self-learning的初始解。

在实际应用中,等距假设是足够强的,因此上述程序可以捕获一些跨语言信号。在我们的英意实验中,黄金标准翻译对的平均余弦相似度为:随机解为0.009,最优监督解为0.582,以及由初始化得到的映射为0.112。虽然后者本身并不是很有用(得到的字典的精度只有0.52%),但它实际上比碰运气要好得多,而且作为下面描述的自学习方法的初始解决方案,它工作得很好。

自学习(self-learning)

先前的研究表明,自学习可以从少至25个单词对开始学习高质量的双语嵌入映射(Artetxe等,2017)。 在此方法中,训练迭代以下两个步骤,直到收敛为止:

其实就是执行2018AAAI中所提到的 白化、正交映射、重加权、去白化、降维 等步骤来训练词典。

  1. 计算最佳正交映射以最大化当前词典D的相似性。
    Artetxe - 2018ACL - A robust self-learning method for fully unsupervised cross-lingual mappings..._第2张图片
  2. 在映射嵌入的相似性矩阵 X W X W Z T Z T XW_{X}W_{Z}^{T}Z^{T} XWXWZTZT上计算最佳字典。这通常使用从源语言到目标语言的最近邻检索,因此,如果 j = a r g m a x k ( X i ∗ W X ) ( Z k ∗ W Z ) j= argmax_{k}\left ( X_{i*}W_{X} \right )\left ( Z_{k*}W_{Z} \right ) j=argmaxk(XiWX)(ZkWZ),则 D i j = 1 D_{ij}= 1 Dij=1,否则, D i j = 0 D_{ij}= 0 Dij=0

底层优化目标独立于初始字典,并且保证算法收敛到局部最优。但是,如果从完全随机的解决方案开始,则该方法不起作用,因为在这种情况下,它倾向于陷入不良的局部最优状态。因此,我们使用3.2节中的无监督初始化程序来构建初始解决方案。但是,在我们的初步实验中,简单地插入这两种方法是行不通的,因为这种初始方法的质量不足以避免不良的局部最优。出于这个原因,我们接下来在字典归纳步骤中提出一些关键的改进,以使自学习更加强大并学习更好的映射:

简单的说就是在生成字典的过程中使用下面的trik来做优化。

  • 随机字典归纳

    为了鼓励更广泛地探索搜索空间,我们以概率p将相似性矩阵中的某些元素随机保留并将其余元素设置为0,来使字典归纳成为随机的。结果表明,p的值越小,则每次迭代之间字典的变化越大,因此可以避免不良的局部最优。为了在算法进入良好区域后找到细粒度的解决方案,我们在训练过程中类似于模拟退火增加了该值,从p = 0.1开始,每次均将其加倍,上面步骤1的目标函数50次迭代的提高不会超过ǫ= 10 -6。

  • 基于频率的词汇cutoff

    相似度矩阵的大小相对于词汇表的大小呈二次方增长。这不仅增加了计算它的成本,而且还使得可能的解决方案的数量呈指数增长,可能会使优化问题变得更加困难。我们建议将字典归纳过程限制为每种语言中k个最常用的单词,其中我们发现k = 20,000在实践中运作良好。

  • CSLS检索

    Dinu等人表明最近邻居受到hubness问题的困扰。文章采用Conneau等人的跨域相似性局部缩放(CSLS)来解决此问题。

  • 双向字典归纳

    当字典从源语言被引入目标语言时,并非所有目标语言单词都会出现在其中,并且一些将出现多次。文章作者认为这可能会加剧局部最优的问题,为了缓解这个问题并鼓励多样性,作者引入双向字典。从两个方向归纳字典,并进行相应的连接, D = D X → Z + D Z → X D = D_{X→Z} + D_{Z→X} D=DXZ+DZX

为了构建初始字典,我们按照第3.2节中的详细说明计算X′和Z′,并对它们应用上述过程。唯一的区别是,该第一个解决方案未在相似性矩阵中使用随机归零,因为不需要鼓励分集(X′和Z′仅使用一次),并且词汇切除的阈值设置为k = 4000,因此X′ Z’可以容纳在内存中。计算出初始字典后,将丢弃X’和Z’,并在原始嵌入X和Z上执行其余迭代。(第一步的X’和Z’只用到了上面四步中的最后两步,而后面的过程中用到了上面的四步。)

Symmetric re-weighting(对称重加权)

作为其多步骤框架的一部分,Artetxe(2018AAAI)表明,根据每个组件中的互相关性对目标语言嵌入进行加权,可以极大地提高归纳词典的质量。

U S V T = X T D Z USV^{T}= X^{T}DZ USVT=XTDZ X T D Z X^{T}DZ XTDZ的奇异值分解,最好的解决办法是:
W X = U W_{X}= U WX=U W Z = V W_{Z}= V WZ=V

Artetxe(2018AAAI)令 W X = U W_{X}= U WX=U W Z = V S W_{Z}= VS WZ=VS

Artetxe - 2018ACL - A robust self-learning method for fully unsupervised cross-lingual mappings..._第3张图片

而本文的方法在两种语言中对称地应用重新加权:
W X = U S 1 2 W_{X}= US^{\frac{1}{2}} WX=US21 W Z = V S 1 2 W_{Z}= VS^{\frac{1}{2}} WZ=VS21
这种方法在映射方向上是中立的,并且可以得到良好的结果。

结果分析

Artetxe - 2018ACL - A robust self-learning method for fully unsupervised cross-lingual mappings..._第4张图片
表2的结果所用的数据是Dinu et al.(2015)中的en.emb.txt、it.emb.txt和作者自己训练得到的de.emb.txt、fi.emb.txt、es.emb.txt。
Artetxe - 2018ACL - A robust self-learning method for fully unsupervised cross-lingual mappings..._第5张图片
表3跟表2中的结果是一样的,只是做了更多的对比实验。

你可能感兴趣的:(神经机器翻译,自然语言处理)