Artetxe - 弱监督双语词嵌入学习Learning bilingual word embeddings with (almost) no bilingual data

@[TOC](Learning bilingual word embeddings with (almost) no bilingual data)

这是2017ACL的一篇文章。这是一种弱监督的方法,使用了少量的平行语料来学习双语词嵌入。

文章链接:

Learning bilingual word embeddings with (almost) no bilingual data

代码链接:

https://github.com/artetxem/vecmap

摘要

双语词嵌入的学习大多依赖于大型的平行语料库,这对于大多数语言对来说是很难获得的。这激发了一个活跃的研究线来放宽这一要求,使用的方法是使用文档对齐的语料库或只有几千个单词的双语词典。在这项工作中,我们使用一种非常简单的自学习方法,结合任何基于字典的映射技术,进一步减少了双语资源的需求。我们的方法利用了嵌入空间的结构相似性,使用最少的双语证据,如25个单词的字典,甚至自动生成的数字列表,获得的结果可与使用更丰富资源的系统相媲美。

引言

在这项工作中,我们将大型双语词典的需求减少到了较小的种子词典。我们的方法最多可以使用25个单词对,而只要假设对所涉及语言有一些基本知识,就可以直接获得。该方法还可以使用简单生成的数字种子词典(即1-1、2-2、3-3、4-4 …),从而无需任何实际的双语数据就可以学习双语单词嵌入。在任何一种情况下,我们都能获得非常有竞争力的结果,与使用其他更为丰富的双语资源的其他最新方法相媲美。
所提出的方法是对现有映射技术的扩展,其中词典用于学习嵌入映射,而嵌入映射用于以自学习的方式迭代生成新词典(请参见图1)。尽管简单,但我们对隐式优化目标的分析表明,该方法正在利用独立训练的嵌入的结构相似性。文章结构如下:

  1. 第2节中分析先前的工作。
  2. 第3节介绍了自学框架。
  3. 第4节介绍了实验。
  4. 第5节分析了基本的优化目标。
  5. 第6节介绍了错误分析。

在这里插入图片描述

相关工作

2.1 Bilingual embedding mappings

诱导双语映射的方法是通过使用单语语料库独立地学习每种语言的嵌入,然后基于双语词典来学习从一种嵌入空间到另一种嵌入空间的转换。

这种方法中的第一种是由于Mikolov等人(2013a)的缘故 ,他们学习了线性变换,该变换最小化了字典条目的欧几里德距离的平方和。Zhang等人(2016)使用了相同的优化目标。 将变换矩阵约束为正交。邢等(2015年)将长度归一化纳入单词嵌入训练中,并最大化余弦相似度,从而实施正交性约束以保留映射后的长度归一化。最后,Lazaridou等(2015)将最大边距优化与入侵者否定采样一起使用。

Faruqui和Dyer(2014)没有学习从源语言到目标语言的线性转换,而是使用规范相关分析将两种语言映射到共享语言。向量空间。 Lu等 (2015)扩展了这项工作,并应用深度规范相关分析来学习非线性变换。

Artetxe等人(2016)提出了一个通用框架,该框架阐明了Mikolov等人(2013a),Xing等人(2015),Faruqui和Dyer(2014)和Zhang等人(2016)之间的关系是同一核心优化目标的变体。 ,并表明一个新的变体可以超越它们。尽管大多数以前的方法都使用梯度下降,Artetxe等人(2016)为那些相同的方法提出了一种有效的分析实现方法,Smith等人(2017)最近对其进行了扩展以纳入降维。

双语嵌入映射的一个突出应用是直接在机器翻译中的应用(Zhao等人,2015),它是双语词典提取,这也是主要的评估方法。更具体地说,虽然Dinu等(2015年)和Smith等(2015年),通常通过根据余弦相似度采用目标语言中最接近的邻居单词,从而将学习到的映射用于诱导原始词典中缺少的源语言单词的翻译。 al(2017)提出了替代的检索方法来解决中心度问题。

2.2 Unsupervised and weakly supervised bilingual embeddings

如前所述,我们的方法只能使用25个单词对,而前面讨论的方法却使用了数千个单词对。在这方面唯一的例外是Zhang等人(2016)的工作,他们仅使用10个单词对在词性标注的转移学习中取得了良好的效果。我们的实验将表明,尽管他们的方法捕获了粗粒度的关系,但是在诸如双语词典归纳之类的细粒度任务上却失败了。

以前已经为传统的基于计数的向量空间模型提出了类似于我们的自举方法(Peirsman和Pado,2010; Vulic和Moens,2013)。但是,虽然以前的技术逐步建立了一个高维模型,其中每个轴都用一个特定的单词及其在另一种语言中的等效单词对共现进行编码,但我们的方法适用于低维的预训练单词嵌入,如今​​这种嵌入更加广泛。

减少双语监督需求的实际方面是种子词典的设计。 Vulic和´Korhonen(2016)对此进行了深入分析,他们建议使用文档对齐的语料库来提取训练词典。一种更常见的方法是依靠共享的单词和同源词(Peirsman和Pado´,2010; Smith等,2017),从而在实践中消除了双语数据的需求。我们对共享数字的使用采用了相同的基本思想,但是依赖于更少的双语证据,因此应该更好地推广到遥远的语言对。

Miceli Barone(2016)和Cao等人(2016)进一步尝试在没有任何双语证据的情况下学习双语嵌入。前者使用对抗性自动编码器(Makhzani et al 2016),将将源语言嵌入映射到目标语言的编码器,将原始嵌入重构的解码器和将映射的嵌入与实际目标语言嵌入区分开的鉴别器相结合,而后者在单词嵌入的训练中增加了正则化术语使不同语言中每个维度的均值和方差彼此接近。尽管很有希望,但与其他方法相比,在两种情况下报告的性能均较差。

最后,从单语语料库中获得双语知识与解密情景密切相关,为此,还提出了结合词嵌入的模型(Dou等人,2015)。但是,译码仅涉及将文本从一种语言翻译成另一种语言,并且依赖于专门为此目的设计的复杂统计模型,而我们的方法则更为通用,可以学习与任务无关的多语言嵌入。

Proposed self-learning framework

如第2.1节所述,双语嵌入映射的常见评估任务(和实际应用)是引入双语词典,即获取训练词典中缺少的源词的翻译,然后将其与标准测试字典进行评估。这样,可以说种子(序列)字典用于学习映射,然后用于生成更好的字典(至少在更大的意上)。
算法1总结了这个框架。

在这里插入图片描述
在这里插入图片描述
根据这一观察结果,我们建议以自学习的方式将算法1中的输出字典用作同一系统的输入,假设输出字典确实比原始字典更好,则该字典应该用来学习更好的映射和,否则,第二次词典更好。然后可以迭代地重复该过程,以每次都获得希望更好的映射和字典,直到满足某些收敛标准为止。算法2总结了我们提出的替代框架。

我们的方法可以与任何嵌入映射和字典归纳技术结合使用(请参阅第2.1节)。但是,出于多种原因,效率变得至关重要。首先,通过将学习逻辑封闭在一个循环中,总的训练时间将随着迭代次数增加。更重要的是,我们的框架要求在每次迭代时明确构建整个字典,先前的工作往往会在以后的运行时按需诱导各个单词的翻译。此外,从第二次迭代开始,必须使用此诱导的完整字典来学习嵌入映射,而不是通常完成的较小的种子字典。在接下来的两个小节中,我们分别描述了我们在考虑这些效率要求的情况下采用的嵌入映射方法和字典归纳法。

3.1 Embedding mapping

如第2.1节所述,学习嵌入映射的大多数先前方法都使用梯度下降的变体。在更有效的精确替代方案中,我们决定采用Artetxe等人(2016)的替代方案,因为其简便性和良好的结果。接下来,我们介绍他们的方法,根据我们的自学习算法的要求,采用形式化以明确地合并字典。

令X和Z表示两种语言的词嵌入矩阵,从而 X i X_{i*} 对应于第i个源语言词嵌入,而 Z i Z_{i*} 对应于第 j 种目标语言嵌入。而Artetxe等 (2016)假设这两个矩阵根据字典对齐,我们放弃了这个假设,将字典明确表示为二进制矩阵D,因此如果第 i 个源语言单词与第 j 个目标语言单词对齐,则Dij = 1。然后,目标是找到最佳映射矩阵W*,以使字典条目Dij的映射源嵌入 X i X_{i*} W和目标嵌入 Z i Z_{i*} 之间的平方欧几里得距离之和最小。
在这里插入图片描述
按照Artetxe等人(2016)的方法,我们在预处理步骤中对嵌入矩阵X和Z进行长度归一化并平均居中,并将W约束为正交矩阵(即WW ^T = W ^TW = I),以强制执行单语言不变性, 防止单语性能下降,同时产生更好的双语映射。 在这种正交性约束下,最小化平方欧几里德距离就等于最大化点积,因此可以将上述优化目标重新构造为:
在这里插入图片描述
其中Tr(·)表示跟踪算子(主对角线中所有元素的总和)。W* = UV ^T给出了此问题的最佳正交解,其中X ^T DZ =UΣV ^T是X ^TDZ的奇异值分解。由于字典矩阵D是稀疏的,因此可以相对于字典条目的数量在线性时间内有效地计算出它。

3.2 Dictionary induction

如第2.1节所述,几乎所有以前的工作都基于嵌入映射将最近邻检索用于单词翻译归纳。在最近邻居检索中,为每个源语言单词分配了目标语言中最接近的单词。在我们的工作中,我们将映射的源语言嵌入和目标语言嵌入之间的点积用作相似度度量,大致等于余弦相似度,因为我们将长度归一化然后平均居中作为预处理步骤(请参阅第3.1节)。这样,按照第3.1节中的表示法,我们将Dij设置为1,如果 j = a r g m a x k ( X i W ) Z k j = argmax_{k}\left ( X_{i*}W \right )\cdot Z_{k*} ,否则Dij = 0。

尽管我们发现独立地计算所有单词对之间的相似性度量速度非常慢,但是可以使用流行的线性代数库轻松地对整个相似性矩阵XW Z ^T的计算进行向量化,从而获得较大的性能提升。但是,使用大词汇量时,所得的相似度矩阵通常太大而无法容纳在内存中。因此,我们无需一步一步地计算整个相似矩阵XW Z^T,而是使用矢量化矩阵乘法迭代地计算其子矩阵,每次都找到它们对应的最大值,然后将结果合并。

发布了52 篇原创文章 · 获赞 7 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_38937984/article/details/102457407