注意:如果您正在查找调查报告,此博客文章也可作为arXiv上的一篇文章。
在过去的博客文章中,我们讨论了不同的模型,目标函数和超参数选择,这使我们能够学习准确的词嵌入。然而,这些模型通常只限于捕捉用他们所训练的语言表达的单词。资源,训练数据和基准的可用性导致对英语语言的过分关注,以及对世界各地其他语言的疏忽。 在我们这个全球化的社会,随着国家界限越来越模糊,互联网让所有人都能平等地获得信息,因此,我们不仅要设法消除在我们的日常交涉中固有的与性别或种族有关的偏见,而且还应旨在解决我们对语言的偏见。
为了弥补这一点,并在语言学领域取得平衡,我们希望利用我们现有的英语知识来使我们的模型具备处理其他语言的能力。 完美的机器翻译(MT)将实现这一点。但是,只要我们能够将如图1所示的例子投影到公共子空间中,我们实际上就不需要翻译例子。
最终,我们的目标是学习到所有语言中单词之间的共享嵌入空间。配备这样的矢量空间,我们能够利用任何语言的数据来训练我们的模型。通过将一种语言中可用的例子投影到这个空间中,我们模型同时获得了利用所有其他语言进行预测的能力(我们正在考虑这方面的一些事情;关于这些,请参考本节)。这是跨语言嵌入的承诺。
在这篇博客的过程中,我将概括介绍一些模型和算法,这些模型和算法已经越来越接近这个难以实现的目标,即在一个共同的嵌入空间中捕捉多种语言单词之间的关系。
注意:虽然神经MT方法通过针对MT目标进行优化的方式来隐式学习共享的跨语言嵌入空间,但我们依然将重点放在本博客文章中明确学习跨语言单词表示的模型。这些方法通常以比MT低得多的成本来实现,并且能像MT一样利用字嵌入模型(word2vec,GloVe等)来实现语言建模。
跨语言嵌入模型的类型
近年来,提出了各种学习跨语言表达的模型。在下面,我们将按照他们所采用的方法来运用他们。 请注意,尽管使用的并行数据的性质具有同等的偏见性,并且已被证明可以解释模型间的性能差异,但我们认为这几种类型的方法更有助于理解模型的假设以及其优点和缺点。 跨语言嵌入模型通常使用以下四种不同的方法:
- 单语映射:这些模型最初在大量语语料库中训练单语言嵌入。然后,他们学习不同语言的单语表达之间的线性映射,使他们能够将未知单词从源语言映射到目标语言。
- 伪交叉语言:这些方法通过混合不同语言的语境来创建跨语言伪语料库。然后,他们在创建的语料库上训练一个现成的单词嵌入模型。原理是跨语言语境允许用学习表达来捕捉跨语言关系。
- 跨语言训练:这些模型在平行语料库上训练它们的嵌入,并且优化不同语言嵌入之间的跨语言限制,从而使得相似词语的嵌入在共享向量空间中相互接近。
- 联合优化:这些方法在并行(可选单语言数据)上训练模型。他们共同优化单语言和跨语言损失的组合。
在并行数据方面,方法可以使用取决于所使用的数据类型的不同的监督信号。从最昂贵到最便宜:
- 字对齐数据:通常用于机器翻译的具有字对齐特点的平行语料库是目前使用的最昂贵的并行数据类型。
- 句子对齐数据:这是一个没有词对齐的平行语料库。如果没有特别说明,此模型将使用Europarl语料库,这个语料库由欧洲议会通常用来训练统计机器翻译模型的句对齐文本组成。
- 文档对齐数据:这是一个包含不同语言文档的文集。文档可以是主题对齐的(例如维基百科)或标签/类对齐的(例如情感分析和多类分类数据集)。
- Lexicon:双语或跨语言词典,包含不同语言的单词之间的翻译对照。
- 没有并行数据:没有任何并行数据。只从单语资源中学习跨语言表达从而实现跨语言的零点学习。
为了使区分更清晰,我们提供了下面的表格,它同样作为目录和跳板来深入探讨不同的跨语种模式:
途径 | 方法 | 并行数据 |
---|---|---|
单语语言映射 | 线性投影(Mikolov等,2013) | 词汇 |
通过CCA投影(Faruqui和Dyer,2014) | ||
归一化和正交变换(Xing et al。,2015) | ||
最大利润率和入侵者(Lazaridou等,2015) | ||
基于对齐的投影(Guo等,2015) | 字对齐 | |
多语种CCA(Ammar et al。,2016) | 词汇 | |
与对称种子词典的混合映射(Vulić和Korhonen,2016) | Lexicon,文档对齐 | |
正交变换,归一化和平均居中(Artetxe et al。,2016) | 词汇 | |
敌对自动编码器(Barone,2016) | - | |
伪跨语种 | 翻译到相同表示的映射(Xiao and Guo,2014) | 词汇 |
随机翻译替换(Gouws和Sogaard,2015) | ||
即时替换和多义处理(Duong等,2016) | ||
多语种聚类(Ammar et al。,2016) | ||
文件合并和洗牌(Vulić和Moens,2016) | 文件对齐 | |
跨语言培训 | 双语组合句子模型(Hermann和Blunsom,2013) | 句子对齐 |
双语袋自动编码器(Lauly等,2013) | ||
分布式词对齐(Kočiský等,2014) | 句子对齐 | |
双语成分文件模型(Hermann and Blunsom,2014) | ||
带有相关性的单词自动编码器(Chandar et al。,2014) | ||
双语段向量(Pham等,2015) | ||
平移不变的LSA(Gardner等,2015) | 词汇 | |
维基百科上的倒排索引(Søgaard等,2015) | 文件对齐 | |
联合优化 | 多任务语言模型(Klementiev等,2012) | 字对齐 |
双语矩阵分解(Zou等,2013) | ||
双语跳跃(Luong等,2015) | ||
双语袋没有字对齐(Gouws等,2015) | 句子对齐 | |
没有词汇排列的双语跳读(Coulmance et al。,2015) | ||
联合矩阵分解(Shi等,2015) | ||
双语稀疏表示(Vyas和Carpuat,2016) | 字对齐 | |
双语段向量(没有平行数据)(Mogadala and Rettinger,2016) | 句子对齐/ - |
在讨论了跨语言嵌入模型之后,我们还将探讨如何将视觉信息纳入词表示以及在学习跨语言表示时仍然存在的各种挑战,最后总结哪些模型的表现最好,以及如何评估它们。
单语映射
采用单语映射的方法是在大量语语料库上独立地训练单语词表征。然后,试图学习一种转换矩阵,将一种语言的表示映射到另一种语言的表示。它们通常采用一组彼此互译的源词 - 目标词对,作为学习映射的锚词。
请注意,以下所有方法均假设单语言嵌入空间已经过训练。如果没有另外说明,这些嵌入空间已经在大量单语语料库上使用word2vec变体,带负面取样的跳过词(SGNS)或连续词袋(CBOW)来学习。
线性投影
Mikolov等人已经普及了矢量空间可以编码单词之间有意义关系的概念。此外,他们还注意到,不同语言之间的词语之间的几何关系是相似的,例如英语中的数字和动物表现出与图2中的西班牙语相似的几何星座。
图2:英语和西班牙语中数字和动物之间的类似几何关系(Mikolov et al。,2013)
这表明,通过利用存在变换矩阵3W的线性投影,可能将一个语言的向量空间转换为另一个语言的向量空间。.
为了达到这个目的,他们翻译源语言中最常用的5000个单词,并将这5000个翻译对用作双语词典。然后他们使用随机梯度下降即通过最小化先前学习的单语言源词 wiwiw_i 的对应值xixix_i 和用3W来转换 ziziz_i 在双语词典中的对应表达之间的距离来学习3W:
minW∑i=1n∥Wxi−zi∥2minW∑i=1n‖Wxi−zi‖2minlimits_W sumlimits^n_{i=1} |Wx_i - z_i|^2 .
通过CCA投影
Faruqui和Dyer 提出使用另一种技术来学习线性映射。他们使用典型相关分析(CCA)将两种语言的单词投射到共享的嵌入空间中。不同于线性投影,CCA学习所有语言的变换矩阵,如图3所示,其中变换矩阵VVV被用来投射来自嵌入空间Σ的字表示来学习将ΣΣSigma转换到一个新的空间Σ∗Σ∗Sigma^ast,而3W从Ω转换单词ΩΩOmega到Ω∗Ω∗Omega^ast。请注意Σ∗S.∗Sigma^ast和Ω∗Ω∗Omega^ast 可以看作是相同的共享嵌入空间。
图3:使用CCA的跨语言投影(Faruqui和Dyer,2014)
类似于线性投影,CCA也需要Σ中对′Σ′Σ′Sigma'和Ω′Ω′Omega'其相关性最大化的多个转换。法鲁基(Faruqui)和戴尔(Dyer)通过为每个源词选择最经常的在平行语料库中对齐的目标词来获得这些词对。或者,他们也可以使用双语词典。 由于CCA对VVV和3W中的相关向量按照降序排列进行排序,Faruqui和Dyer只用顶3k相关的投影向量进行实验,并发现使用具有最高相关性的808080%投影向量通常产生最高的性能。
图4:“美丽”的同义词和反义词的单语(顶部)和多语言(底部;用撇号标记)投影(Faruqui和Dyer,2014)
有趣的是,他们发现使用多语言投影有助于分离源语言中的同义词和反义词,如图4所示,其中“美丽”的无保护反义词位于顶部的两个聚类中,而CCA投影的矢量同义词和反义词在底部形成两个不同的群集。
归一化和正交变换
Xing等人注意Mikolov等人的线性投影方法中的不一致性(2013)。回想一下米科洛夫等人在最初的学习单语言的嵌入之后,他们着手解决这个问题。为此,他们使用skip-gram目标,如下所示:
1N∑i=1N∑−C≤j≤C,j≠0logP(wi j|wi)1N∑i=1N∑−C≤j≤C,j≠0logP(wi j|wi)dfrac{1}{N} sumlimits_{i=1}^N sumlimits_{-C leq j leq C, j neq 0} text{log} P(w_{i j} :|: w_i)
其中CCC是上下文长度,而P(wi j|wi)P(wi j|wi)P(w_{i j} :|: w_i) 使用softmax来进行计算:
P(wi j|wi)=exp(cTwi jcwi)∑wexp(cTwcwi)P(wi j|wi)=exp(cwi jTcwi)∑wexp(cwTcwi)P(w_{i j} :|: w_i) = dfrac{text{exp}(c_{w_{i j}}^T c_{w_i})}{sum_w text{exp}(c_w^T c_{w_i})}.
然后他们学习了两个单语向量空间之间的线性变换:
min∑i∥Wxi−zi∥2min∑i‖Wxi−zi‖2text{min} sumlimits_i |Wx_i - z_i|^2
其中3W是应该学习的投影矩阵,而xixix_i 和 ziziz_i 分别是源语言和目标语言的词义,它们意义相近。
Xing等人认为用于学习词表示的目标函数(基于内积的最大似然),词向量的距离度量(余弦相似度)和用于学习线性变换的目标函数(均方误差)之间存在着不匹配,这可能会导致性能下降。
他们随后提出了一种解决这些不一致性的方法:为了解决在训练期间的内部产品相似性度量cTwcw′cwTcw′c_w^T c_{w'}和测试中具有余弦相似性度量cŤcTwc′w∥cw∥∥cw′∥cwTcw′‖cw‖‖cw′‖dfrac{c_w^T c_w'}{|c_w| |c_{w'}|} 的不匹配问题,内部产品也可以用于测试。然而,余弦相似性通常被用作NLP中的评估测量,并且通常表现比内积更好。为此,他们提出在训练期间将单词向量归一化为单位长度,这使得内积与余弦相似性相同,并将所有单词向量放置在超球面上作为副作用,如图5所示。
图5:词前(左)和后(右)标准化表示(Xing et al。,2015)
他们解决了现在用于训练的余弦相似性度量与用于学习变换的均方误差之间的不一致性,用均值相似度代替均方差来学习映射,这产生了:
maxW∑i(Wxi)TzimaxW∑i(Wxi)Tzimaxlimits_W sumlimits_i (Wx_i)^T z_i .
最后,为了使得投影向量WxiWxiWx_i 正则化为单位长度,他们通过求解一个单独的优化问题约束3W成为一个正交矩阵。
最大利润率和入侵者
拉扎里杜等人用Mikolov等人的线性转换目标来确定另一个问题。(2013):他们发现使用最小二乘法作为学习投影矩阵的目标会导致中心性,也就是说一些单词倾向于表现为许多其他单词的最近邻居。为了解决这个问题,他们使用基于边际(最大边际)的排序损失(Collobert et al。)来训练模型来排列源词xixix_i 的正确平移向量 yiyiy_i,其中yi^yi^hat{y_i}被预测为高于任何其他目标词 yjyjy_j
∑j≠ikmax{0,γ cos(yi^,yi)−cos(yi^,yj)}∑j≠ikmax{0,γ cos(yi^,yi)−cos(yi^,yj)}sumlimits^k_{jneq i} max { 0, gamma cos(hat{y_i}, y_i) - cos(hat{y_i}, y_j) }
其中3k是负数的例子而γçgamma 是保证金。
他们表明,选择最小平方损失的最大余量可持续改进性能并减少中心。另外,反面实例的选择,即与模型应该将正确翻译进行更高级别对比的目标词,是重要的。他们假设信息反面的例子是入侵者(在这个例子中是“卡车”),即它接近当前的投影向量yi^yi^hat{y_i} 但远离实际的平移向量 yiyiy_i ("cat"),如图6所示。
图6:入侵者“卡车”被选为“狗”作为“猫”的反面例子。(Lazaridou等,2015)
这些入侵者应该帮助这个模型找出这样一些情况:它不能很好地逼近目标函数,因此应该允许它纠正它自己的行为。在梯度下降的每一步,他们计算sj=cos(yi^,yj)−cos(yi,yj)sj=cos(yi^,yj)−cos(yi,yj)s_j = cos(hat{y_i}, y_j) - cos(y_i, y_j)对于所有向量 ytyty_t 在 j≠ij≠ij neq i并选择最大的矢量 sjsjs_j 作为x的负面例子 xixix_i。使用入侵者而不是随机的负面例子,他们的比较任务产生了2个百分点的小幅提高。
基于对齐的投影
郭(Guo)等人提出了另一种单纯依靠字对齐的投影方法。他们计算源语言中的每个单词与平行语料库中的目标语言中的每个单词对齐的次数,并将这些计数存储在对齐矩阵AAmathcal{A}.为了投射一个词 wiwiw_i 从源代表v(wSi)v(wiS)v(w_i^S) 到它在目标嵌入空间 v(wi)Tv(wi)Tv(w_i)^T
在目标嵌入空间中,他们只是取平均值的翻译v(wi)Tv(wi)Tv(w_i)^T ,通过与源词的对齐概率进行加权:
v(wi)T=∑i,j∈Aci,j∑jci,j⋅v(wj)Tv(wi)T=∑i,j∈Aci,j∑jci,j⋅v(wj)Tv(w_i)^T = sumlimits_{i, j in mathcal{A}} dfrac{c_{i, j}}{sum_j c_{i,j}} cdot v(w_j)^T
其中ci,jci,jc_{i,j} 是ithithi^{th}源字已经与目标词 jthjthj^{th}对齐的次数。
这个方法的问题是它只在参考平行语料库中分配对齐的单词的嵌入。Gou等人。因此通过使用编辑距离作为形态学相似性的度量来实现从词汇表到OOV词的对齐传播。他们设置了一个OOV源词v v(wTOOV)v(wOOVT)v(w_{OOV}^T) 作为编辑距离中与其相似的源词的投影向量的平均值:
v(wTOOV)=Avg(v(wT))v(wOOVT)=Avg(v(wT))v(w_{OOV}^T) = Avg(v(w_T))
当 C={w|EditDist(wTOOV,w)≤τ}C={w|EditDist(wOOVT,w)≤τ}C = { w :|: EditDist(w_{OOV}^T, w) leq tau }
。他们很有经验地将阈值ττtau设定为111。 尽管这种方法看起来很简单,但实际上在他们的实验里,我们能观察到通过CCA投影的重大改进。
多语言CCA
Ammar等人 将Faruqui和Dyer(2014)的双语CCA投影方法扩展到以英语嵌入空间为多语言嵌入空间基础的多语言环境。
他们学习英语和所有其他语言的两种投影矩阵。从每个目标语言空间ΩΩOmega 到英文嵌入空间ΣΣSigma可以通过将矢量投影到ΩΩOmega进入CCA空间Ω∗Ω∗Omega^ast使用变换矩阵3W如图3中作为Ω∗Ω∗Omega^ast和Σ∗Σ∗Sigma^ast位于相同的空间,向量在Σ∗Σ∗Sigma^ast可以投影到英文嵌入空间ΣΣSigma使用VVV.
与对称种子词典的混合映射
以前的映射方法使用双语词典作为他们模型的固有组成部分,但没有太注意字典条目的质量,使用自动翻译频繁的单词或单词对齐的所有单词。
Vulić和Korhonen 反过来强调用于学习投影矩阵的种子词典的作用。他们提出了一个混合模型,该模型首先基于现有的跨语言嵌入模型来学习第一共享双语嵌入空间。然后,他们使用这个初始向量空间,通过将它们投影到空间并使用目标语言中最近的邻居作为翻译来获得频繁源词表的翻译。用这些翻译对作为种子词,他们学习类似于Mikolov等人的投影矩阵。(2013年)。 此外,他们提出了一个对称性约束,它强制只有在第一个嵌入空间中的投影是相互邻近的情况下才包含这些单词。此外,可以保留第二个最近的邻居与第一个最近的邻居不太相似的对,达到某个阈值。 他们运行的实验表明,他们的模型具有对称性约束优于比较模型和0.010.010.01 或0.0250.0250.025 导致性能略有改善。
正交变换,归一化和平均中心
以前的方法已经引入了模型,对不同语言的单语言表达映射给不同的约束。然而,这些方法和限制之间的关系并不清楚。
Artetxe等人 因此建议推广以前在学习单向矢量空间之间的线性变换的工作:从基本的优化目标开始,他们提出了几个约束,应该直观地帮助提高学习的跨语言表示的质量。回想一下Mikolov et al。(2013)旨在找到一个参数矩阵3W 满足:
argminW∑i∥Wxi−zi∥2argminW∑i‖Wxi−zi‖2DeclareMathOperator*{argmin}{argmin} argminlimits_W sumlimits_i |Wx_i - z_i|^2
其中xixix_i和ziziz_i 分别是源语言和目标语言中的相似词语。
如果不想影响单语评估任务的嵌入性能,则映射后需要保留点积。这可以通过要求3W 是一个正交矩阵。
其次,为了确保所有嵌入对目标的贡献相同,可以将两种语言的嵌入归一化为单位矢量:
argminW∑i∥Wxi∥xi∥−zi∥zi∥∥2argminW∑i‖Wxi‖xi‖−zi‖zi‖‖2argminlimits_W sumlimits_i | W dfrac{x_i}{|x_i|} - dfrac{z_i}{|z_i|}|^2 .
正交矩阵的范数是111,如果3W是正交的,我们可以将其添加到分母并移动3W分子:
argminW∑i∥Wxi∥Wxi∥−zi∥zi∥∥2argminW∑i‖Wxi‖Wxi‖−zi‖zi‖‖2argminlimits_W sumlimits_i | dfrac{Wx_i}{|Wx_i|} - dfrac{z_i}{|z_i|}|^2 .
通过上述二项式的扩展,我们得到:
argminW∑i∥Wxi∥Wxi∥∥2 ∥zi∥zi||∥2−2Wxi∥Wxi∥Tzi∥zi∥argminW∑i‖Wxi‖Wxi‖‖2 ‖zi‖zi||‖2−2Wxi‖Wxi‖Tzi‖zi‖argminlimits_W sumlimits_i |dfrac{Wx_i}{|Wx_i|}|^2 |dfrac{z_i}{|z_i||}|^2 - 2 dfrac{Wx_i}{|Wx_i|}^T dfrac{z_i}{|z_i|} .
由于单位矢量的规范是111前两项减为111,这留给我们以下几点:
argminW∑i2−2Wxi∥Wxi∥Tzi∥zi∥)argminW∑i2−2Wxi‖Wxi‖Tzi‖zi‖)argminlimits_W sumlimits_i 2 - 2 dfrac{Wx_i}{|Wx_i|}^T dfrac{z_i}{|z_i|} ) .
现在后一项只是WxiWxiWx_i 和ziziz_i:
argminW∑i2−2cos(Wxi,zi)argminW∑i2−2cos(Wxi,zi)argminlimits_W sumlimits_i 2 - 2 : text{cos}(Wx_i, z_i) .
因为我们有兴趣找到参数3W最小化我们的目标,我们可以删除上面的常量:
argminW∑i−cos(Wxi,zi)argminW∑i−cos(Wxi,zi)argminlimits_W sumlimits_i - : text{cos}(Wx_i, z_i) .
最小化负余弦相似之和就等于最大化余弦相似之和,这给出了以下结论:
argmaxW∑icos(Wxi,zi)argmaxW∑icos(Wxi,zi)DeclareMathOperator*{argmax}{argmax} argmaxlimits_W sumlimits_i text{cos}(Wx_i, z_i) .
这等于Xing等人的目标。(2015年),尽管他们通过目标的不一致来激励它。
最后,Artetxe 等人认为随机选择的两个词通常预期不会相似。因为这个原因,它们在任何维度上的余弦以及它们的余弦相似度都应该是零。他们通过用居中矩阵C进行维数平均中心来捕捉这种直觉米CmCmC_m:
argminW∑i||CmWxi−Cmzi||2argminW∑i||CmWxi−Cmzi||2argminlimits_W sumlimits_i ||C_mWx_i - C_mz_i||^2 .
这就减少了最大化维数协方差的总和,只要3W与上述正交相似:
argminW∑i||CmWxi−Cmzi||2argminW∑i||CmWxi−Cmzi||2argminlimits_W sumlimits_i ||C_mWx_i - C_mz_i||^2 .
有趣的是,Faruqui和Dyer(2014)的方法类似于这个目标,因为CCA最大化了两个预测的维数协方差。这相当于这里的单个投影,因为它被限制为正交。唯一的区别是,虽然CCA改变单语言嵌入,使不同维度具有相同的方差,并不相关 - 这可能会降低性能 - Artetxe等。强制单语不变。
对抗式自动编码器
以前用于学习不同语言的单语表达之间的变换矩阵的方法需要字典或字对齐作为并行数据的来源。
与此相反,Barone 试图更倾向于创造没有平行数据的跨语言表征来实现目标。他建议使用对抗式自动编码器将源嵌入转换到目标嵌入空间。然后自动编码器被训练来重建源嵌入,而鉴别器被训练成将投影源嵌入与实际目标嵌入区分开来,如图7所示。
图7:使用对抗式自动编码器进行跨语言映射(Barone,2016)
有趣的是,在这种情况下学习语言之间的转换,而没有任何并行数据似乎是不可行的。然而,未来旨在通过越来越少的并行数据学习映射的方法可能会使我们更接近这一目标。
然而,更一般地说,投影能否可靠地将一种语言的嵌入空间转换成另一种语言的嵌入空间还不清楚。另外,对词典数据或字对齐信息的依赖是昂贵的。
伪跨语种
第二种跨语种模式试图构建一个伪跨语种语料库,用来捕捉不同语言中词语之间的相互作用。大多数方法的目的是识别可以在不同语言的单语语料库中彼此翻译的单词,并用占位符替换这些单词,以确保同一单词的翻译具有相同的矢量表示。
将翻译映射到相同的表示
Xiao和Guo 提出了第一种利用翻译对的伪跨语言方法:他们首先将出现在源语料库中的所有词翻译成使用维基词典的目标语言。由于这些翻译对仍然非常嘈杂,他们通过消除源语言和目标语言中的多义词以及不出现在目标语言语料库中的翻译来过滤它们。从这个双语词典中,他们现在创建一个联合词汇表,其中每个翻译对具有相同的向量表示。
对于培训,他们使用Collobert等人的基于边际的排名损失。(2008年)排名正确的字窗口高于损坏的,其中中间的单词被任意的单词取代。 与后来的方法相比,它们并没有明确地构建跨语言伪语料库。相反,他们在训练期间将源和目标语料库的窗口馈送到模型中,从而基本上内嵌入源语言和目标语言。 因此,为了便于训练,作者最有可能用占位符替换源语言和目标语料库中的翻译对,以确保共同的向量表示,类似于后续模型的过程。
随机翻译替换
Gouws和Søgaard又明确地创建了一个伪跨语种语料库:他们利用通过Google翻译获得的源语言和目标语言的翻译对。他们连接源语料库和目标语料库,并将每个翻译对中的单词替换为翻译对等词的概率为50%。然后他们在这个语料库上训练CBOW。 有趣的是,他们也尝试用不是基于翻译的单词进行替换,而是使用词性等同性,即不同语言中具有相同词性的单词将被相互替换。虽然基于词性的替换导致跨语言词性标注的小改进,但是基于翻译等价性的替换产生更好的任务性能。
即时替换和多义处理
Duong等人 对Gouws和Søgaard(2015)提出了类似的方法。他们也使用CBOW,它在给定周围的单词的窗口中预测中心词。他们不是在预处理过程中随机地替换语料库中的每个单词,而是在训练过程中用每个中心单词替换每个中心单词。
除了过去的方法,他们还寻求通过提出一种选择为替代翻译的EM-启发法明确处理多义词wi¯wi¯bar{w_i}其表征与源词v的表示组合最相似在一世 vwivwiv_{w_i}和上下文向量 hihih_i:
wi¯=argmaxw∈dict(wi)cos(vwi hi,vw)wi¯=argmaxw∈dict(wi)cos(vwi hi,vw)bar{w_i} = text{argmax}_{w : in : text{dict}(w_i)} : text{cos}(v_{w_i} h_i, v_w) 在哪里字典dict(wi)dict(wi)text{dict}(w_i)包含wiwiw_i 。然后他们共同学习预测这些词汇及其适当的翻译。他们使用PanLex作为双语词典,涵盖约1300种语言,约1200万个表达式。因此,翻译是高覆盖率,但往往嘈杂。
多语言群集
Ammar等人 (2016)提出了与Gouws和Søgaard(2015)以前的方法类似的另一种方法:他们使用双语词典来查找不同语言的同义词集群。然后,他们连接不同语言的单语言语料库,并使用群集ID替换同一个群集中的令牌。然后他们在连接的语料库上训练SGNS。
文件合并和洗牌
先前的方法都使用双语词典或翻译工具作为可用于替换的翻译对的来源。
Vulić和Moens 提出了一个没有翻译对的模型,只从文档对齐的数据中学习跨语言嵌入。与以前的方法相反,作者建议不要将两个单语语料库,而是两个不同语言的对齐文件合并成一个伪双语文件。
他们连接文件,然后通过随机排列文字来混洗文件。直觉在于,由于大多数方法依赖于基于其上下文来学习单词嵌入,所以对文档进行混洗将导致每个单词的双语上下文,从而能够创建强健的嵌入空间。因为混洗必然是随机的,可能会导致次优配置。 为此,他们提出了另一种合并策略,假设文档的结构是相似的:然后,他们交替地将每种语言的单词按其出现在单语文档中的顺序插入到伪双语文档中,并基于单声道语言文件的长度比率。
虽然伪跨语言方法由于其简单性和易于实施性而具有吸引力,但依靠天真的替换和置换不能使其捕捉更复杂的跨语言关系方面。
跨语言培训
跨语言培训方法专注于优化跨语言目标。这些方法通常依赖于句子对齐而不是双语词典,并且需要平行的语料库进行训练。
双语组合句子模型
第一种只优化交叉语言目标的方法是Hermann和Blunsom的双语组合句子模型。他们训练两种模式,以两种语言生成对齐句子的句子表示,并以两个句子表示之间的距离为目标。他们尽量减少以下损失:
Edist(a,b)=∥aroot−broot∥2Edist(a,b)=‖aroot−broot‖2E_{dist}(a,b) = |a_{text{root}} - b_{text{root}} |^2
其中arootaroota_{text{root}}和brootbrootb_{text{root}}是来自不同语言的两个对齐句子的表示。他们组成了一个根一个根arootaroota_{text{root}} 和brootbrootb_{text{root}} ,简单地说就是相应句子中单词嵌入的总和。完整的模型如图8所示。
图8:双语组合句子模型(Hermann和Blunsom,2013)
他们训练模型,然后输出一个更高的分数来正确的翻译比随机采样不正确的翻译使用Collobert等人的最大边缘铰链损失。(2008年)。
双语袋自动编码器
而不是最小化不同语言的两个句子表示之间的距离,劳利等人。旨在从原始源语句重构目标语句。他们从一个单语言自动编码器开始,将输入句子编码为词汇嵌入的总和,并尝试重构原始源语句。为了有效的重建,他们选择一个类似于分层softmax的基于树的解码器。然后他们用第二个解码器来扩充这个自编码器,第二个解码器从源语句的表示中重构对齐的目标语句,如图9所示。
图9:双语自动编码器(Lauly等,2013)
编码器和解码器具有语言特定的参数。对于一个对齐的句对,他们然后训练模型有四个重建损失:对于这两个句子中的每一个,他们都从句子到自身重建,在另一个语言中重建。
分布式字对齐
虽然以前的方法需要字对齐作为学习跨语言嵌入的先决条件,Kočiský等。同时学习单词嵌入和路线。他们的模型分布式字对齐(Distributed Word Alignment)将FastAlign的分布式版本(Dyer et al。)与语言模型相结合。类似于其他双语方法,他们使用对齐的句对的源语言句子中的词来预测目标语言句子中的词。
他们用能量函数代替FastAlign的标准多项式翻译概率,试图带来目标词f的表示Ff接近围绕单词e的上下文单词的总和eieie_i 在源句中:
E(f,ei)=−(∑s=−kkrTei sTs)rf−bTrrf−bfE(f,ei)=−(∑s=−kkrei sTTs)rf−brTrf−bfE(f, e_i) = - ( sumlimits_{s=-k}^k r^T_{e_{i s}} T_s) r_f - b_r^T r_f - b_f
其中,rei srei sr_{e_{i s}} 和rfrfr_f 是源词和目标词的向量表示 TsTsT_s是一个投影矩阵,brbrb_r 和 bfbfb_f 分别是代表性和目标偏好。为了计算翻译概率p(f|ei)p(f|ei)p(f|e_i) ,那么我们只需要将softmax应用于源词和目标语言中的所有词之间的翻译概率。
另外,作者通过使用与分层softmax类似的类因式分解策略来加速训练,并且预测基于频率的类表示而不是词表示。对于培训,他们也使用EM,但是修复了在E步骤中最初被训练5个时期的FastAlign学习的对准计数,并且仅在M步骤中优化了平移概率。
双语成分文件模型
Hermann和Blunsom 将他们的方法(Hermann和Blunsom,2013)扩展到文档中,递归地应用它们的组合和目标函数来将句子组合成文档。首先,如前所述计算句子表示。然后将这些句子表示馈送到文档级组合向量模型中,其以与图10中可见的方式相同的方式整合了句子表示。
图10:双语组合文档模型(Hermann和Blunsom,2014)
这种方法的优点是,可以使用文档级别对齐形式的较弱的监督来代替句子级别对齐或与其结合使用。作者在Europarl上运行实验以及在新创建的多语言对齐的TED演讲转录的语料库上,发现文档信号有相当大的帮助。
此外,他们还提出了另一个组合函数,它不是将表示求和,而是将非线性应用于二元对:
f(x)=∑i=1ntanh(xi−1 xi)f(x)=∑i=1ntanh(xi−1 xi)f(x) = sumlimits_{i=1}^n text{tanh}(x_{i-1} x_i)
他们发现这个组合稍微胜过加法,但在较小的训练数据集上表现不佳。
带有相关性的单词自动编码器
Chandar等人延伸Lauly等人的方法。(2013)的方法:如图11所示,不是使用基于树的解码器来计算重构损失,而是重建了一个稀疏的二元向量的单词出现。由于二进制单词向量的高维度,重建速度较慢。当他们使用小批量梯度下降法进行训练时,每个小批量包含相邻的句子,他们建议将小批量的词袋合并成一个单词袋,并根据合并的词袋。他们发现这样可以产生良好的性能,甚至胜过基于树的解码器。
图11:具有二进制重建错误的双语自动编码器(Chandar等,2014)
其次,他们建议增加一个词cor(a(x),a(y))cor(a(x),a(y))cor(a(x), a(y)) 到鼓励表示之间的相关性的目标函数a(x)a(x)a(x)
到a(y)a(y)a(y) 通过对这两个向量的所有维度之间的标量相关性求和。
双语段向量
类似于以前的方法,Pham等。学习句子表示作为学习跨语言文字的嵌入一种手段。他们通过强迫不同语言的对齐句子来将段落向量(Mikolov等人)扩展到多语言环境,以共享与图12中相同的向量表示。共享句子表示与前一个N的和相连接3N在句子和模型中的单词被训练来预测句子中的下一个单词。
图12:双语段落载体(Pham等,2015)
作者使用分层softmax来加速训练。由于模型仅学习在训练期间看到的句子的表示,在未知句子的测试时间,句子表示被随机地初始化,并且训练模型以仅预测句子中的词语。只有语句向量被更新,而其他模型参数被冻结。
平移不变的LSA
除了skip-gram之类的词嵌入模型之外,矩阵因式分解方法历来被成功地用于学习单词的表示。最流行的方法之一是LSA,加德纳等人。作为平移不变的LSA扩展到学习跨语言词嵌入。他们将多种语言的共生矩阵分解为它应该对翻译不变的限制,即,如果与相应的单词或上下文字典相乘,它应该保持不变。
在维基百科上倒置索引
以前所有的学习交叉语言表达的方法都是基于某种形式的语言模型或矩阵因式分解。相反,Søgaard等人 提出了一种方法,没有任何这些方法,而是依赖多语言知识库维基百科的结构,他们利用倒排索引。他们的方法是建立在直觉的基础上,相似的词将用于描述不同语言的相同概念。
在维基百科中,多种语言的文章涉及相同的概念。我们通常会用每个概念用不同语言来描述它的术语。为了学习跨语言词汇表征,我们现在可以简单地反转索引,而是用维基百科的概念来描述一个词汇。通过这种方式,我们直接提供了词汇的交叉语言表达,而无需进行任何优化。作为后处理步骤,我们可以对生成的文字表示进行降维处理。
虽然以前的方法能够有效地利用平行句子和文档来学习跨语言词汇表征,但忽略了学习表征的单一语言质量。最终,我们不仅希望将语言嵌入到共享的嵌入空间中,而且希望单语表达能够很好地完成手头的任务。
联合优化
使用联合优化的模型旨在做到这一点:他们不仅考虑了跨语言约束,而且还共同优化了单语言和跨语言的目标。
在实践中,对于两种语言l1l1l_1 和 l2l2l_2,,这些模型优化了单语损失MMmathcal{M} 对于每种语言和一个或多个ΩΩOmega 规范从语言转移l1l1l_1 到 l2l2l_2 (反之亦然):
Ml1 Ml2 λ(Ωl1→l2 Ωl2→l1)Ml1 Ml2 λ(Ωl1→l2 Ωl2→l1)mathcal{M}_{l_1} mathcal{M}_{l_2} lambda (Omega_{l_1 rightarrow l_2} Omega_{l_2 rightarrow l_1})
其中 λλlambda 是一个插值参数,用于调整跨语言正则化的影响。
多任务语言模型
第一个联合优化的学习交叉语言表达模型是由Klementiev等人创建的。。他们训练每种语言的神经语言模型,并联合优化每个语言模型的单语言最大似然目标,其中基于词语对齐的MT正则化术语作为跨语言目标。因此,单语的目标是最大化当前单词w的概率 wtwtw_t
鉴于其nnn 周围的话:
M=logP(wt|wt−n 1:t−1)M=logP(wt|wt−n 1:t−1)mathcal{M} = text{log} : P(w_t^ : | : w_{t-n 1:t-1}) ..
这使用Bengio等人的经典语言模型进行了优化。。跨语言正则化术语反过来又鼓励经常彼此对齐的单词的表示类似:
Ω=12cT(A⊗I)cΩ=12cT(A⊗I)cOmega = dfrac{1}{2} c^T (A otimes I) c
其中一个一个A是矩阵捕获对齐分数,III是身份矩阵,⊗⊗otimes是克罗内克产品,和ccc
是单词wtwtw_t..
双语矩阵因式分解
Zou等人 根据GloVe(Pennington等人)的精神,使用矩阵分解法来学习英语和中文的跨语言词汇表征。他们创建两个对齐矩阵Aen→zhAen→zhA_{en rightarrow zh} 和Azh→enAzh→enA_{zh rightarrow en}
使用从中文Gigaword语料库自动学习的对齐计数。在Aen→zhAen→zhA_{en rightarrow zh}中 ,每个元素aijaija_{ij} 包含i的次数iii-th 中国词与jjj-th 英文单词,每行归一化为111。 直观地说,如果源语言中的单词只与目标语言中的一个单词对齐,那么这些单词应该具有相同的表示。如果目标单词与多个源单词对齐,则其表示应该是其对齐单词的表示的组合。因此,作者将目标语言中的嵌入表示为源嵌入VenVenV_{en} 和他们相应的对齐计数Aen→zhAen→zhA_{en rightarrow zh} 。然后他们最小化这两个术语之间的平方差:
Ωen→zh=||Vzh−Aen→zhVen||2Ωen→zh=||Vzh−Aen→zhVen||2Omega_{enrightarrow zh} = || V_{zh} - A_{en rightarrow zh} V_{en}||^2
Ωzh→en=||Ven−Azh→enVzh||2Ωzh→en=||Ven−Azh→enVzh||2Omega_{zhrightarrow en} = || V_{en} - A_{zh rightarrow en} V_{zh}||^2
其中VenVenV_{en} 和VzhVzhV_{zh} 分别是英文和中文单词嵌入的嵌入矩阵。
他们采用Collobert等人的最大利润率铰链损失目标。(2008)作为单语目标M中号mathcal{M}并训练英文和中文单词的嵌入,最大限度地减少上述相应的目标和单语目标。例如,英语的培训目标是:
Men λΩzh→enMen λΩzh→enmathcal{M}_{en} lambda Omega_{zhrightarrow en} ..
有趣的是,作者使用课程学习嵌入,一次训练词汇的不同频带。整个训练过程需要19天。
双语跳读
Luong等人 将跳跃词扩展到跨语言环境,并使用跳跃词目标作为单语和跨语言目标。与其仅仅预测源语言中的周围词语,他们使用源语言中的词语来额外地预测其在目标语言中的对齐词语,如图13所示。
图13:双语跳过词(Luong et al。,2015)
为此,他们需要文字对齐信息。他们提出了两种预测对齐词的方法:对于他们的第一种方法,他们自动学习对齐信息; 如果一个单词不对齐,则其邻居的对齐被用于预测。在他们的第二种方法中,他们假设源句子和目标句子中的单词是单调对齐的,每个源词在位置iii在位置对准到目标字我 i⋅T/Si⋅T/Si cdot T/S 其中SSS 和TTT 是源句和目标句的长度。他们发现一个简单的单调对齐就像在性能上无监督地学习对齐。
双语袋没有字对齐的单词
Gouws等人 提出了一个没有词汇排列的双语词袋(BilBOWA),它利用了额外的单语数据。他们使用skip-gram目标作为单语目标和新颖的抽样l2升2l_2 作为跨语种正规化的损失,如图14。
图14:BilBOWA模型(Gouws等,2015)
更确切地说,不是依靠昂贵的单词对齐,而是简单地假设源句子中的每个单词在统一对齐模型下与目标句子中的每个单词对齐。因此,不是最小化彼此对齐的单词之间的距离,而是使对齐的句子中的单词表示的均值之间的距离最小化,如图15所示,其中s和小号和s^e和sF小号Fs^f 分别是源语言和目标语言的句子。
图15:使用统一比对的近似词汇排列(Gouws et al。,2015)
BilBOWA模型的交叉语言目标是:
Ω=∥1m∑wi∈sl1mrl1i−1n∑wj∈sl2nrl2j∥2Ω=‖1m∑wi∈sl1mril1−1n∑wj∈sl2nrjl2‖2Omega = |dfrac{1}{m} sumlimits_{w_i in s^{l_1}}^m r_i^{l_1} - dfrac{1}{n} sumlimits_{w_j in s^{l_2}}^n r_j^{l_2} |^2
其中 ririr_i 和 rjrjr_j 分别是语言l1l1l1和 l2l2l2在每句sl1sl1sl1和 sl2sl2sl2 在mmm 和 nnn 长度下的词 wiwiw_i and wjwjw_j 的嵌入。
双语跳字,无字对齐
Coulmance等人提出了skip-gram到学习交叉语言表示的另一个扩展。他们还使用常规的skip-gram目标作为单语目标。对于交叉语言的目标,他们做出了与Gouws等人相似的假设。(2015)假设源句子中的每个单词与目标句子中的每个单词均匀对齐。
在skip-gram表达式中,他们把目标句子中的每个单词作为源句子中每个单词的上下文,从而训练他们的模型来预测目标句子中的所有单词,并用下面的skip-gram目标来表示:
Ωe,f=∑(sl1,sl2)∈Cl1,l2∑wl1∈sl1∑cl2∈sl2−logσ(wl1,cl2)Ωe,f=∑(sl1,sl2)∈Cl1,l2∑wl1∈sl1∑cl2∈sl2−logσ(wl1,cl2)Omega_{e,f} = sumlimits_{(s_{l_1}, s_{l_2}) in C_{l_1, l_2}} sumlimits_{w_{l_1} in s_{l_1}} sumlimits_{c_{l_2} in s_{l_2}} - text{log} : sigma(w_{l_1}, c_{l_2})
其中,sss是相应语言的句子CC是句子对齐的语料库,www是字和CCC分别是上下文表示,和−logσ(⋅)−logσ(⋅) - text{log} : sigma(centerdot) 是标准的skip-gram损失函数。
图16:Trans-gram模型(Coulmance等,2015)
由于跨语言的目标是不对称的,他们使用一个跨语言的目标来源到目标和另一个目标到源头的方向。包括两个单语和两个跨语言skip-gram目标的完整Trans-gram目标显示在图16中。
联合矩阵因式分解
Shi等人使用联合矩阵因式分解模型来学习跨语言表示。与Zou等人 (2013年),他们还考虑到额外的单语数据。与前者相似,他们也使用GloVe目标(Pennington等,2014)作为单语目标:
Mli=∑j,kf(Xlijk)(wlij⋅clik bliwj blick bli−Mlijk)Mli=∑j,kf(Xjkli)(wjli⋅ckli bwjli bckli bli−Mjkli)mathcal{M}_{l_i} = sumlimits_{j,k} f(X_{jk}^{l_i})(w_j^{l_i} cdot c_k^{l_i} b_{w_j}^{l_i} b_{c_k}^{l_i} b^{l_i} - M_{jk}^{l_{i}})
其中wlijwjliw_j^{l_i} and clikcklic_k^{l_i} are the embeddings and MlijkMjkliM_{jk}^{l_{i}} the PMI value of a word-context pair (j,k)(j,k)(j,k) in language lilil_{i}, while bliwjbwjli b_{w_j}^{l_i} and blickbcklib_{c_k}^{l_i} and bliblib^{l_i} are the word-specific and language-specific bias terms respectively.
图17:通过矩阵因式分解学习跨语言词汇表达(Shi等,2015)
然后,他们对单语言表示放置了跨语言的约束,如图17所示。作者提出了两个跨语言正则化目标:第一个基于计算跨语言同现计数。这些共现可以使用Gouws等人的统一比对模型来计算,而没有比对信息。(2015年)。或者,也可以通过利用自动学习的字对齐来计算同现计数。然后将同现计数存储在矩阵XbiXbiX^{text{bi}} 每个条目XbijkXjkbiX_{jk}^{text{bi}} 源字j的次数jjj 与目标词kkk在平行语料库中的对齐的句对中。
为了优化,PMI矩阵MbijkMjkbiM^{text{bi}}_{jk} 可以根据X中的同现计数来计算XbiXbiX^{text{bi}} 。这个矩阵可以像在GloVe目标中一样被分解,在这里,上下文单词表示clikcklic_k^{l_i} 被替换为目标语言w中的单词的表示wl2kwkl2w_k^{l_2}
Ω=∑j∈Vl1,k∈Vl2f(Xl1jk)(wl1j⋅wl2k bl1wj bl2wk bbi−Mbijk)Ω=∑j∈Vl1,k∈Vl2f(Xjkl1)(wjl1⋅wkl2 bwjl1 bwkl2 bbi−Mjkbi)Omega = sumlimits_{j in V^{l_1}, k in V^{l_2}} f(X_{jk}^{l_1})(w_j^{l_1} cdot w_k^{l_2} b_{w_j}^{l_1} b_{w_k}^{l_2} b^{text{bi}} - M_{jk}^{text{bi}})
他们提出的第二个跨语言正则化术语利用了由机器翻译系统产生的翻译概率,并且涉及用相似度加权的两种语言中的相关单词的表示的距离最小化:
Ω=∑j∈Vl1,k∈Vl2sim(j,k)⋅||wl1j−wl2k||2Ω=∑j∈Vl1,k∈Vl2sim(j,k)⋅||wjl1−wkl2||2Omega = sumlimits_{j in V^{l_1}, k in V^{l_2}} sim(j,k) cdot ||w_j^{l_1} - w_k^{l_2}||^2
其中jjj 和kkk在源语言和目标语言词语sim(j,k)sim(j,k)sim(j,k) 是他们的翻译概率。
双语稀疏表示
Vyas和Carpuat提出了另一种基于矩阵因子分解的方法,与以前的方法相比,它允许学习稀疏的跨语言表示。他们首先独立地训练两个单语词表达XeXeX_e 和X_e和XfXfX_f 在两种不同的语言中使用GloVe(Pennington等,2014)在两个大的单语言语料库上。
然后他们通过分解X从这些密集表示中学习单语稀疏表示XX分成两个矩阵A一个A和DdD这样l2升2l_2重构误差被最小化,对A有额外的限制一个A 为了稀疏:
Mli=∑i=1vli∥AliiDTli−Xlii∥ λli∥Alii∥1Mli=∑i=1vli‖AliiDliT−Xlii‖ λli‖Alii‖1mathcal{M}_{l_i} = sumlimits_{i=1}^{v_{l_i}} |A_{l_ii}D_{l_i}^T - X_{l_ii}| lambda_{l_i} |A_{l_ii}|_1
其中vlivliv_{l_i} 是语言l中的密集词表示的 lilil_i 但是,上面的等式只会产生稀疏的单语言嵌入。为了学习双语嵌入,他们添加另一个基于自动学习的词对齐的约束,最小化l2升2l_2 在彼此强烈对齐的单词之间的重建错误:
Ω=∑i=1vl1∑j=1vl212λxSij∥Al1i−Al2j∥22Ω=∑i=1vl1∑j=1vl212λxSij‖Al1i−Al2j‖22Omega = sumlimits_{i=1}^{v_{l_1}} sumlimits_{j=1}^{v_{l_2}} dfrac{1}{2} lambda_x S_{ij} |A_{l_1i} - A_{l_2j}|_2^2
其中SSS是每个条目SijSijS_{ij} 包含源字X的对齐分数Xl1iXl1iX_{l_1i} 与目标词Xl2jXl2jX_{l_2j} .
完整的目标函数如下:
Ml1 Ml2 ΩMl1 Ml2 Ωmathcal{M}_{l_1} mathcal{M}_{l_2} Omega.
双语段向量(无并行数据)
Mogadala和Rettinger采用类似于Pham等人的方法。(2015),但扩展到没有并行数据的工作。他们使用段矢量目标作为单语目标MMmathcal{M} 。他们与跨语种正则化函数Ω共同优化这个目标ΩΩOmega 鼓励用语言表达词语 l1l1l_1 和l l2l2l_2 彼此接近。
他们的主要创新是交叉语言调节器ΩΩOmega 根据训练语料库的性质进行调整。除了使句子中的单词向量的平均值接近于类似于Gouws等人的对齐的句子中的单词向量的均值之外,(2015)(下面的等式中的第二项),他们也调整向量SPl1SPl1SP^{l_1} 和SPl2SPl2SP^{l_2} 语言中对齐的句子l1l1l_1 和 l2l2l_2
彼此接近。完整的跨语言目标然后使用弹性网络正则化来结合两个术语:
Ω=α||SPl1j−SPl2j||2 (1−α)1m∑wi∈sl1jmWl1i−1n∑wk∈sl2jnWl2kΩ=α||SPjl1−SPjl2||2 (1−α)1m∑wi∈sjl1mWil1−1n∑wk∈sjl2nWkl2Omega = alpha ||SP^{l_1}_j - SP^{l_2}_j||^2 (1-alpha) dfrac{1}{m} sumlimits_{w_i in s_j^{l_1}}^m W_i^{l_1} - dfrac{1}{n} sumlimits_{w_k in s_j^{l_2}}^n W_k^{l_2}
其中Wl1iWil1W_i^{l_1} 和Wl2kWkl2W_k^{l_2} 是词wiwiw_i 至wkwkw_k 每个句子 sjsjs_j 长度mmm和nñn用语言l1l1l_1 和 l2l2l_2分别。
为了利用不是句子对齐的数据,而是在文档层次仍然存在对齐的地方,他们提出了一个两步走的方法:他们使用Procrustes分析(统计形状分析的一种方法)为每个文档找到语言l1升1l_1语言l中最相似的文件2升2l_2。这是通过首先使用每个语料库上的段向量来学习每种语言中文档的单语表达来完成的。随后,Procrustes分析旨在通过翻译,旋转和缩放第一个空间中的嵌入,直到它们与第二个空间中的文档表示最接近地对齐,来学习两个向量空间之间的转换。 第二步,他们简单地使用前面描述的方法来学习对齐文档中的跨语言单词表示,这次将整个文档视为段落。
结合视觉信息
最近的一个研究分支提出结合视觉信息来改善单语或跨语言表现的表现。这些方法在比较任务上表现出良好的性能 他们额外地演示了零点学习的应用,因此最终可能有助于学习没有(语言)并行数据的跨语言表示。
挑战
功能建模
用于学习跨语言表征的模型与语言的其他向量空间模型共享弱点:虽然他们非常擅长对词义相似度任务中评估的意义的概念方面进行建模,但是他们未能正确模拟意义的功能方面,一个备注“给我一个铅笔”或“给我那笔”。
词序
其次,由于依赖于词袋表示,当前学习跨语言词语嵌入的模型完全忽略了词序。例如,对词序不重视的模型,即使它们在含义上完全不同,也将它们分配给下面的句子对(Landauer&Dumais ):它们包含相同的词组,
- “那天喝酒的办公室经理用瓶子把问题的销售人员打了出来,但事情并不严重。”
- “那天不是销售经理,谁打瓶子,而是喝酒问题严重的上班族”。
组合性
大多数学习交叉语言表达的方法都侧重于词汇表征。这些方法不能容易地组成词语表示来形成句子和文档的表示。即使是学习联合学习单词和句子表达的方法,也是通过简单地总结句子中的单词来实现的。在将来,看看能形成更多可组合语句表示的LSTM或CNN是否可以有效地应用于学习跨语言表示方面将是有趣的。
一词多义
尽管混合一个单词的多个感官对于学习单语言单词表示已经成问题,但是这个问题在跨语言嵌入空间中被放大:一种语言中的单音单词可能与另一种语言中的多义单词对齐,从而不能捕捉整体的跨语言关系。学习单语多义嵌入已经有了很有前景的工作。我们假设学习跨语言多义嵌入将变得越来越相关,因为它使我们能够捕捉到更细粒度的跨语言含义。
可行性
最后的挑战是关于学习跨语言嵌入本身的可行性:语言是非常复杂的人工制品。学习单语言嵌入空间已经很困难,在两种语言之间共享这样一个向量空间,期望语言间和语言之间的关系得到可靠的反映,这似乎是乌托邦式的。 另外,一些语言显示其他语言缺乏的语言特征。在语言之间构建一个共享的嵌入空间变得容易,因此跨语言转换的成功与语言的相似性直接成正比:西班牙语和葡萄牙语之间共享的嵌入空间倾向于捕捉更多语言上的细微差别,而不是嵌入空间英文和中文代表。此外,如果两种语言太不相似,跨语言转移可能根本就不可能 - 类似于在非常不相似的领域之间的领域适应中发生的负面转移。
评估
通过调查模型来学习跨语言词汇表达,我们现在想知道哪个是最好的方法来使用我们关心的任务。已经对跨语言表示模型进行了多种任务的评估,诸如跨语言文档分类(CLDC),机器翻译(MT),词语相似性以及以下任务的跨语言变体:命名实体识别,词性标注,超级意义标注,依赖性分析和词典归纳。 在Klementiev等人的CLDC评估背景下,(2012)404040学习三维跨语言词嵌入,以一种语言对文档进行分类,并对另一种语言的文档进行评估。由于CLDC是应用最为广泛的,所以我们在下面举例说明Mogadala和Rettinger(2016)对此任务的评估表:
代码语言:js复制 .tg {border-collapse:collapse;border-spacing:0;} .tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;} .tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;} .tg .tg-9hbo{font-weight:bold;vertical-align:top} .tg .tg-yw4l{vertical-align:top}
方法 | 和 - > | - >和 | en - > fr | fr - >一个 | in - >是 | 是 - > in |
---|---|---|---|---|---|---|
多数类 | 46.8 | 46.8 | 22.5 | 25.0 | 15.3 | 22.2 |
公吨 | 68.1 | 67.4 | 76.3 | 71.1 | 52.0 | 58.4 |
多任务语言模型(Klementiev等,2012) | 77.6 | 71.1 | 74.5 | 61.9 | 31.3 | 63.0 |
带有相关性的单词自动编码器(Chandar et al。,2014) | 91.8 | 74.2 | 84.6 | 74.2 | 49.0 | 64.4 |
双语成分文件模型(Hermann and Blunsom,2014) | 86.4 | 74.7 | - | - | - | - |
分布式词对齐(Kočiský等,2014) | 83.1 | 75.4 | - | - | - | - |
双语袋没有字对齐(Gouws等,2015) | 86.5 | 75.0 | - | - | - | - |
双语跳跃(Luong等,2015) | 87.6 | 77.8 | - | - | - | - |
没有词汇排列的双语跳读(Coulmance et al。,2015) | 87.8 | 78.7 | - | - | - | - |
双语段向量(没有平行数据)(Mogadala and Rettinger,2016) | 88.1 | 78.9 | 79.2 | 77.8 | 56.9 | 67.6 |
然而,这些结果不应该被认为是跨语种嵌入模型的一般性能的代表,因为根据方法的类型和所使用的数据的类型,不同的方法倾向于完成不同的任务。 Upadhyay等人评估需要对各种任务进行不同形式监督的跨语种嵌入模型。他们发现,在字词相似性数据集上,需要更便宜的监督形式(句子对齐和文档对齐数据)的模型几乎与以字对齐形式的更昂贵的监督模型一样好。对于跨语种分类和词典归纳,更多信息化的监督更好。最后,为了解析,具有字级对齐的模型能够更准确地捕获语法,从而总体上更好地执行。
Upadhyay等人的发现 进一步证明了直觉,数据的选择是重要的。Levy等人 (2016)在比较学习跨语言单词表示的模型和传统的词典归纳和词对齐任务的对齐模型上比这更进一步。他们认为,算法是否使用特定的特征集比选择算法更重要。在他们的实验中,使用句子ids,即创建句子的语言无关表示(例如使用doc2vec)可以获得比只使用源词和目标词更好的结果。
最后,为了便于评估跨语言词嵌入,Ammar等人 (2016年)建立了一个网站,可以上传学习表示,并自动评估广泛的任务。
结论
允许我们学习跨语言表达的模型已经在诸如机器翻译(解码和评估),自动双语词典生成,跨语言信息检索,并行语料库提取和生成以及交叉语言剽窃检测。看看未来会带来什么进一步的进展将是有趣的。
NLP 服务机器翻译编程算法数据分析NLP 服务机器翻译编程算法数据分析