天天看点

Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......

Generalizing and Improving Bilingual Word Embedding Mappings with a Multi-Step Framework of Linear Transformations

    • 知识点
    • 摘要
    • 知识扩展:
      • 零次学习(Zero-shot Learning)
      • 一次学习(One-shot Learning)
      • 少量学习(Few-shot Learning)
      • 传统 Learning
      • 白化
    • 引言
    • 相关工作
    • 本文方法框架
    • 实验设置
    • 结果讨论
    • 结论和未来工作

这是2018AAAI的一篇文章。

文章链接:

Generalizing and Improving Bilingual Word Embedding Mappings with a Multi-Step Framework of Linear Transformations

代码链接:

https://github.com/artetxem/vecmap

知识点

  1. 有监督的,使用了5k dict。
  2. 对以前有监督词对齐方法的一个总结和探讨,作者给出的代码可以实现以前的大部分方法。

摘要

使用字典将经过独立训练的单词嵌入映射到共享空间已被证明是学习双语单词嵌入的有效方法。在这项工作中,我们提出了一个线性变换的多步骤框架,该框架概括了以前的大量工作。该框架的核心步骤是正交变换,现有方法可以用其他方式比如归一化,白化,重新加权,去白化和降维等步骤解释。这使我们能够对现有方法的行为获得新的见解,包括反回归的有效性,并设计了一个新的变体,获得了 zero-shot 双语词汇抽取的最佳公共结果。

知识扩展:

零次学习(Zero-shot Learning)

训练集中没有某个类别的样本,但是如果我们可以学到一个牛逼的映射,这个映射好到我们即使在训练的时候没看到这个类,但是我们在遇到的时候依然能通过这个映射得到这个新类的特征。即: 对于 训练集 中 没有出现过 的 类别,模型能自动创造出相应的映射: XX -> YY。

注:既要马儿跑,还 不让 马儿吃草。

一次学习(One-shot Learning)

训练集中,每个类别 都有样本,但都只是 少量样本(只有一个或几个) 。此时,我们可以在一个更大的数据集上或者利用knowledge graph、domain-knowledge 等方法,学到一个一般化的映射,然后再到小数据集上进行更新升级映射。

注:既要马儿跑,还不让马儿 多 吃草。

少量学习(Few-shot Learning)

等同于 一次学习(One-shot Learning) 。关键就在于如何学到一个好的映射,能应用到没有看到的问题上。

传统 Learning

基于海量数据的学习。

白化

whitening (白化)这个词,可能在深度学习领域比较常遇到,其实whitening 是一个比PCA稍微高级一点的算法而已,所以如果熟悉PCA,那么其实会发现这是一个非常简单的算法。

假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所以用于训练时输入是冗余的;whitening (白化)的目的就是降低输入的冗余性。

输入数据集X,经过白化处理后,新的数据X’满足两个性质:

  (1)特征之间相关性较低;

  (2)所有特征具有相同的方差。

其实我们之前学的PCA算法时,给我们的印象是PCA一般用于降维操作。其实PCA并不是降维,而是仅仅使用PCA求出特征向量,然后把数据X映射到新的特征空间,这样的一个映射过程,其实就是满足了我们白化的第一个性质:除去特征之间的相关性。因此白化算法的实现过程,第一步操作就是PCA,求出新特征空间中X的新坐标,然后再对新的坐标进行方差归一化操作。

引言

双语词嵌入近年来引起了很多关注。大多数学习它们的方法都在文档级别使用某种双语信号,或者以文档对齐或标签对齐的可比较语料库的形式,或更常见的是以平行语料库的形式。

我们在本文中讨论的另一种方法是独立训练每种语言在单语语料库上的嵌入,然后将它们映射到基于双语词典的共享空间。与其他方法相比,这只需要最低限度的双语监督,同时允许利用大量的单语语料库,取得有竞争力的结果。此外,学习到的映射还可以应用于训练词典中缺失的单词,从而引导翻译,提高机器翻译质量。

不同的作者提出了不同的方法来学习这种词嵌入映射,但是它们的方法和动机常常是不同的,这使得很难对该主题有一个总体的了解。在这项工作中,我们解决了这个问题,并提出了一个概括以前工作的多步骤框架。该框架的核心步骤是使用正交变换将两种语言映射到一个共享空间,所有变体都共享该框架,并且从标准化,白化,重新加权和降维行为的方式专门解释了先前方法之间的差异。我们在实验支持下分析了每个步骤的效果,这使我们能够对现有方法的行为获得新的见解。基于这些见解,我们设计了一种新颖的变体,可以改善双语词典提取的效果。

我们的框架与 zero-shot 学习范式高度相关,在该范式中,通过标签子集进行训练的多分类器通过利用标签的公共表示来学习预测不可见的标签。在我们的场景中,这些标签与目标语言单词相对应,并且它们的通用表示由它们对应的嵌入提供。这是一个典型的zero-shot学习问题,并且类似的映射技术也已用于其他zero-shot任务中,例如图像标记和药物发现。

本文的其余部分安排如下。

  1. 第2节讨论相关工作。
  2. 第3节解释了本文的多步骤框架,并显示了与先前方法的等效性。
  3. 第4节介绍了实验设置。
  4. 第5节讨论了实验结果。
  5. 第六节总结论文。

相关工作

有时间可以看一下,介绍了一些基础的算法。

本文方法框架

假设X和Z是给定双语词典的两种语言中的词嵌入矩阵,那么它们的第 i 行 X I ∗ X_{I*} XI∗​和 Z I ∗ Z_{I*} ZI∗​是第i个嵌入。我们的目标是学习变换矩阵 W X W_{X} WX​和 W Z W_{Z} WZ​,使映射后的嵌入 X W X XW_{X} XWX​和 Z W Z ZW_{Z} ZWZ​彼此靠近。

接下来,我们提出一个多步骤框架来学习这种映射,从而可以概括以前的工作。 框架的第 i 步将线性变换应用于

上一步在每种语言中的输出嵌入。这样,如果在步骤 i 中 X I X_{I} XI​表示源语言的输出嵌入, W X ( I ) W_{X(I)} WX(I)​表示线性变换,则 X I X_{I} XI​= X I − 1 X_{I-1} XI−1​ W X ( I ) W_{X(I)} WX(I)​,

Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......

目标语言类似。从最后一个表达式可以清楚地看出,几个线性变换的组成是另一个线性变换,因此我们框架的目的不是提高线性映射的表达能力,而是将它们分解为几个有意义的步骤。更具体地说,我们的框架包括以下步骤:

  • Step 0: Normalization (optional)(标准化)

    在此可选的预处理步骤中,将每种语言中的词嵌入独立标准化。这可能涉及长度归一化(使所有嵌入都具有单位欧几里得范数)和均值居中(使每个分量均具有零均值)。 请注意,这是作为预处理步骤完成的,它将获得初始嵌入矩阵 X 0 X_{0} X0​和 Z 0 Z_{0} Z0​,它们将由以下矩阵映射。概括的说就是词嵌入标准化。

  • Step 1: Whitening (optional)(白化)

    此可选步骤对每种语言的嵌入应用了白化或球形变换,这使得它们的不同成分具有单位方差并且彼此之间不相关,从而将其协方差矩阵转换为恒等矩阵。概括的说就是做白化处理。本文采用Mahalanobis或者ZCA白化,令 W X ( 1 ) = ( X T X ) − 1 2 W_{X(1)}= (X^{T}X)^{-\frac{1}{2}} WX(1)​=(XTX)−21​, W Z ( 1 ) = ( Z T Z ) − 1 2 W_{Z(1)}= (Z^{T}Z)^{-\frac{1}{2}} WZ(1)​=(ZTZ)−21​

  • Step 2: Orthogonal mapping(正交映射)

    此步骤将两种语言中的嵌入映射到共享空间。两个变换都是正交的,保留每种语言各自的点积。更具体地说,取 W X ( 2 ) = U W_{X(2)}= U WX(2)​=U, W Z ( 2 ) = V W_{Z(2)}= V WZ(2)​=V,其中 U S V T = X 1 T Z 1 USV^{T}= X_{1}^{T}Z_{1} USVT=X1T​Z1​是 X 1 T Z 1 X_{1}^{T}Z_{1} X1T​Z1​的SVD分解。这使得映射嵌入

    Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......
    的求和交叉协方差最大。映射嵌入的第i个分量对应与前一个分量正交的最大交叉协方差方向, S i i S_{ii} Sii​是其对应的交叉协方差值。注意,当在步骤1应用白化时,所有方向的方差都是1,因此交叉协方差等于交叉关系。
  • Step 3: Re-weighting (optional)(加权)

    这个可选步骤根据其相互关系对每个组件进行重新加权,从而增加最适合跨语言的组件的相关性。为了简化形式化,仅在之前应用步骤2的情况下,我们才考虑此步骤,在这种情况下,互相关对应于S中的奇异值(步骤2)。重新加权可以应用于源语言嵌入( W X ( 3 ) = S W_{X(3)}= S WX(3)​=S和 W Z ( 3 ) = I W_{Z(3)}= I WZ(3)​=I),也可以应用于目标语言嵌入( W X ( 3 ) = I W_{X(3)}= I WX(3)​=I 和 W Z ( 3 ) = S W_{Z(3)}= S WZ(3)​=S)。

  • Step 4: De-whitening (optional)(去加权)

    此可选步骤可恢复各个方向上的原始变化,因此仅在之前应用步骤2时才有意义。给定语言的嵌入可以相对于同一语言的原始差异而去白,也可以相对于另一种语言的原始差异而去白,因为两种语言在步骤2之后位于同一空间中。无论哪种情况,相对于B对语言A去白需要

    Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......
  • Step 5: Dimensionality reduction (optional)(降维)

    此可选步骤可保留所得嵌入的前n个成分,并删除其余的,通过以下公式得到:

    Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......
    这可以看作是重新加权的一种极端形式,其中前n个分量按1进行加权,其余n分量按0进行加权。

这个框架的一个有趣的方面是,两种语言到公共空间的映射被简化为由所有变体共享的单个步骤(步骤2)。此外,这种映射是正交的,因此,保持单语不变性。因此,不同的变体,包括现有的方法,只会在归一化、白化/去白化、重加权和降维等处理上有所不同,这更易于解释。更具体地说, 表1中详细列出了该框架与现有方法的等效性,如下所示

Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......
  • Regression methods(回归方法)

    与两种语言都白化的情况相对应,对源语言应用重新加权,并且两种语言相对于目标语言都去白化(或者相反,从目标语言到源语言做回归处理)。这种等效性是由非正规变量的普通形式最小二乘法(OLS)的闭式解决方案直接给出的,我们将在以后的工作中做L2正则化分析。

  • Canonical methods (CCA)(典型方法)

    对应于以下两种情况:两种语言都被白化,没有一种被去白化,不使用重加权,并且应用了降维。等效于CCA给出的SVD解决方案。

  • Orthogonal methods(正交方法)

    对应于最简单的情况,没有进行任何白化,重新加权和去白化处理。等价直接由步骤2中学习的转换给出。类似于 Artetxe, Labaka, and Agirre (2016) and Smith et al.(2017)的工作。

可以看出,我们的框架覆盖了所有的映射家族,除了基于边缘的映射,而基于边缘的映射只有Lazaridou, Dinu, and Baroni(2015)进行了探索,并且后续的工作超越了基于边缘的映射。

实验设置

为了更轻松地与相关工作进行比较,我们在Dinu,Lazaridou和Baroni(2015)提出并供后续作者使用的双语词典提取场景中进行了实验。他们的公共英语-意大利语数据集包括两种语言的单语单词嵌入以及在训练集和测试集中划分的双语词典。Artetxe,Labaka和Agirre(2017)将此数据集扩展到了英语-德语和英语-芬兰语,我们也在实验中使用了它们。在所有情况下,都使用带有CBOW和负采样的word2vec工具包对嵌入进行了训练(Mikolov等,2013)。 训练和测试集源自Europarl单词对齐所建立的词典,可在OPUS上获得(Tiedemann 2012),将均匀分布在5个频点中的1,500个随机条目作为测试集,将剩余单词对的5,000个最频繁的对作为训练集。 语料库包含28亿个英语单词(ukWaC +Wikipedia + BNC),意大利语(itWaC)为16亿字,德语(SdeWaC)为9亿字,芬兰语为28亿字(2016年WMT上的Common Crawl)。

除了这些语言之外,我们还使用与上述完全相同的设置将数据集扩展到了英语-西班牙语。 为此,我们使用了WMT News Crawl 2007-2012 corpus7作为西班牙语,它包含3.86亿个单词。使用标准的Moses工具进行分词。请注意,生成的西班牙语语料库与以前的语料库具有不同的域(新闻与网络爬虫),并且域也较小,这解释了下一节中准确性较低的数字。

我们实验的目的有两个。一方面,我们希望分析框架的每个步骤各自的影响,并根据前面方法的行为解释结果。另一方面,我们希望找出我们的框架的最佳变体,并将其与文献中提出的现有方法进行比较。考虑到Artetxe、Labaka和Agirre(2016)已经详细分析了归一化的效果,我们在实验中没有考虑这个因素,而是使用他们推荐的配置,即先进行长度归一化,然后进行平均居中。此外,除非另有说明,否则我们使用标准最近邻的余弦相似度作为我们的检索方法,这使我们能够更好地评估映射本身的质量。对其余因素进行独立分析,然后将其最佳组合与最新技术进行比较。

结果讨论

从第5.1节到第5.4节,我们分别分析了白化/去白化,重新加权,降维和检索方法的效果。 然后,第5.5节将本文的系统与文献中的其他方法进行了比较。

5.1 Whitening and de-whitening (steps 1 and 4)

如前所述,现有方法在白化方面的处理各不相同。尽管正交方法不执行任何白化操作,但CCA和OLS都会对两种语言都进行白化处理,根据回归的不同,后一种语言也会对它们中的一种进行去白化处理(见表1)。

Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......

表2显示了不同白化/去白化策略的结果。除了现有方法隐含使用的变体之外,它还包括我们提出的变体:相对于同一语言中的原始变体,对每种语言进行去白的更直观的选择。

Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......

结果表明,对于大多数语言对来说,白化和去白化每种语言本身都比不白化有一个小的改善。唯一的例外是英语-芬兰语,它的正确率比不使用任何白化或去白的正确率下降了近1分。合理的白化和去白之所以有帮助,一个可能的解释是一种假设的偏见,否则它会将具有高方差的方向推到一起。

但是,更重要的是,结果表明,CCA和OLS的增白/去白行为不仅是反直觉的,而且是有害的。在前一种情况下,简单地对两种语言进行白化会导致7-9个百分点的巨大准确率下降,这表明原始嵌入的方差是相关的,无论如何都不应该被忽略。在后一种情况下,对任何一种语言进行去白化都会导致准确率下降2-4分,这表明这种去白化策略比完全不去白化要好,但比自然选择的去白化效果更差。

5.2 Re-weighting (step 3)

从第3节中可以看出,正交方法和CCA都不使用重新加权,而OLS则根据回归方向重新加权源语言或目标语言。表3显示了所有这些不同的重新加权策略获得的结果。

Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......

可以看出,对目标语言重新加权非常有益,在所有情况下都可以提高3-5分,而对源语言重新加权总是有害的。有趣的是,在使用点积时,应权衡哪一方不是相关因素,因此必须通过余弦相似度执行的长度归一化来解释此差异。请注意,在对源语言重新加权时,此长度归一化将自动应用于每个源语言单词,但它的最近邻居列表不会受到任何影响,因为它与所有目标语言单词的相似性仅由恒定的归一化因子进行缩放。因此,为了使余弦相似度的长度标准化在最近邻检索中有效,必须在目标语言中应用重新加权,这可以解释为什么我们为此获得了更好的结果。

这种行为也与Shigeto等人(2015)关于回归方向的发现一致。回想一下这些作者声称将目标语言映射到源语言比将源语言映射到目标语言更好,后者分别对应于根据我们的框架对目标语言和源语言进行加权(请参见表1)。而Shigeto等 (2015年)在随后的最近邻检索中枢纽的出现方面,

解释了回归方向的相关性,我们的工作确定此问题的根源在于隐式重加权方向,并且它与余弦相似度执行的长度归一化有关。

5.3 Dimensionality reduction (step 5)

如前所述,CCA总是与降维一起使用,而OLS却从未如此。降维通常也不应用于正交方法,尽管Smith等人(2017)最近首次引入了它。

表4列出了尺寸减小和不减小的结果。在执行降维时,我们总是选择在训练词典中产生最高准确性的维数,然后在测试集中进行评估。正如在第3节中所讨论的,降维可以被看作是重新加权的一种极端形式,因此我们对目标语言进行了重加权和不重加权的实验,以便更好地理解这两个步骤是如何相互作用的。

Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......

可以看出,降维在所有情况下都具有积极作用。但是,使用目标语言重新加权时,其影响很小(最好情况下提高0.20点),而在不使用任何重新加权时(则提高2-3点)则影响更大。这表明重新加权和降维具有重叠的作用,这加强了我们的解释,即降维只是重新加权的一种极端形式,它删除了具有最小互相关的分量。与此相关,值得注意的是,与单纯的降维相比,重加权的结果要好得多,这可以归因于它对嵌入组件进行了平滑的重新排序,而不是通过降维来进行二进制丢弃。在这方面唯一的例外是英语-德语,仅在降维方面的结果稍好一些。

总而言之,我们可以得出这样的结论:尽管有联系,由于其平滑的特性,重加权比降维的效果要好得多。此外,将它们组合在一起有一个小而积极的影响,应该是使用的首选配置。

5.4 Retrieval method

之前的工作大多使用标准的最近邻法进行双语词汇提取(见第2节),但也提出了其他检索方法来解决与之相关的中心度问题(Dinu, Lazaridou, and Baroni 2015;Smith等人,2017)。表5报告了每种方法的结果。在inverted softmax的情况下,我们调整反向温度来优化训练集的准确性,我们发现这比Smith等人(2017)最初提出的最大化对数似然效果更好。为了加快计算速度,我们在调优期间随机抽取1500个单词来估计softmax的partition函数,但是在测试集中使用整个源词汇表。类似地,在使用inverted nearest neighbor时,我们使用整个源词汇表作为枢轴。

Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......

从图中可以看出,除了英语和意大利语外,对于所有语言对,inverted softmax的检索与标准的最近邻检索一样,提高了1.27分。请注意,这个数字比Smith等人(2017)报道的近5分要小得多。 同时,在我们的实验中,inverted 最近邻比标准最近邻表现更差。这表明替代检索方法不能与我们框架带来的改进完全互补。我们假设这与我们之前关于权重调整的讨论有关。回想一下我们的工作,我们解释说,为了使余弦相似度所执行的长度归一化在最近邻居检索中有效,重加权应该在相反的一边执行。然而,以往的研究大多没有正确地应用重加权,替代检索方法可以通过改变最近邻的方向来缓解这一问题。因此,请注意,替代方法在检索期间减轻了映射方法的固有缺陷,而我们的框架可以更好地学习映射。

5.5 Comparison with the state-of-the-art

在分析了所提出框架的不同步骤之后,我们接下来将分析它与文献中所提出的其他方法相比的执行情况。为此,我们选择了本节中讨论的框架的推荐变体,即使用白化、调整目标语言的权重、在原语言的基础上去白并应用降维(见表1)。表6中给出了获得的结果。请注意,我们仅尝试了动机良好的步骤的有限组合,并且鉴于我们已经使用几种语言进行了测试,因此我们认为我们的结论得到很好的支持。此外,请注意,如5.4节所述,我们实现的inverted softmax优化了准确性,并在测试时使用整个源词汇表来计算partition函数,其性能优于Smith等人(2017)报道的变体。 如表格中相应行所示(EN-IT为43.1 vs. 44.53)。

Artetxe - 2018AAAI - Generalizing and Improving Bilingual Word Embedding Mappings.......

可以看出,我们的系统在四对语言中都取得了最好的结果。而且,即使使用标准的最近邻检索,它也超越了以往的技术水平,显示了映射方法本身的优越性。

结论和未来工作

在这项工作中,我们提出了一个学习双语嵌入映射的新框架,该框架概括了以前的大量工作(Mikolov,Le和Sutskever,2013; Faruqui和Dyer,2014; Shigeto等,2015; Xing等,2015;张等。 2016; Artetxe,Labaka和Agirre 2016; 史密斯等。 2017)。我们的框架的一个关键方面是将公共空间的映射简化为所有变量共享的单一正交变换,并从它们的标准化、白化、重加权、去白和降维行为方面专门解释它们之间的差异。这让我们对现有的映射方法有了新的认识:

  • 白化可以带来小的改善,但前提是必须适当地白化。

    我们的工作表明,OLS方法(Mikolov,Le和Sutskever 2013)和CCA方法(Faruqui和Dyer 2014)的隐式去白化行为都是有缺陷的。

  • 重新加权是很有帮助的,但是,与之前的大多数工作相反,它应该在目标语言中执行,因为余弦相似度执行的长度归一化在最近邻检索中是有效的。这解释了为什么在回归方法中,将目标语言映射到源语言要比将源语言映射到目标语言要好。
  • 降维是重新加权的一种极端形式。 即使使用CCA方法和正交方法也是有益的,平滑重加权也可以提供更好的结果。将它们一起使用无害,在某些情况下会带来进一步的改进,应该将其作为默认配置。

此外,我们还介绍了在导出双语词典时映射方法与检索方法之间的关系。

  • 使用最近邻的替代检索方法缓解了以前映射方法的隐式重加权行为中的不足。当在目标语言中适当地应用重加权时,反向softmax在大多数情况下与标准最近邻的表现相当,而反向最近邻的结果却相当糟糕。

基于这些见解,我们提出了一个新的变体,该变体在所有测试的四种语言对的双语词典提取中均能获得最佳结果。我们将实现作为一个开源项目发布,该项目可以复制以前的几种方法以及改进后的方法(Mikolov,Le和Sutskever 2013;Faruqui和Dyer,2014年; Dinu,Lazaridou和Baroni,2015年;Shigeto等。 2015; 邢等。 2015; 张等。 2016;史密斯等。 2017; Artetxe,Labaka和Agirre,2016年)。将来,我们希望将L2正则化合并到我们的框架中,并将我们的分析扩展到最大余量方法和非线性映射。此外,我们想引入超参数来控制白化/去白化和重新加权的强度,我们相信通过适当的调整可以带来进一步的改善。最后,我们想在其他zero-shot学习场景中适应和评估我们的框架。

继续阅读