资源经验分享Generalizing and Improving Bilingual Word Embedding Mappings.......

Generalizing and Improving Bilingual Word Embedding Mappings.......

2019-10-08 | |  128 |   0

原标题:Generalizing and Improving Bilingual Word Embedding Mappings.......

原文来自:CSDN      原文链接:https://blog.csdn.net/weixin_38937984/article/details/102248719



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


这是2018AAAI的一篇文章。


文章链接:

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

代码链接:

https://github.com/artetxem/vecmap

知识点

摘要

使用字典将经过独立训练的单词嵌入映射到共享空间已被证明是学习双语单词嵌入的有效方法。在这项工作中,我们提出了一个线性变换的多步骤框架,该框架概括了以前的大量工作。该框架的核心步骤是正交变换,现有方法可以用其他方式比如归一化,白化,重新加权,去白化和降维等步骤解释。这使我们能够对现有方法的行为获得新的见解,包括反回归的有效性,并设计了一个新的变体,获得了 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 *和 Z_i *是第i个嵌入。我们的目标是学习变换矩阵W_X和W_Z,使映射后的嵌入XW_X和ZW_Z彼此靠近。

接下来,我们提出一个多步骤框架来学习这种映射,从而可以概括以前的工作。  框架的第 i 步将线性变换应用于
上一步在每种语言中的输出嵌入。这样,如果在步骤 i 中X_(i)表示源语言的输出嵌入,W_X(i)表示线性变换,则X_(i)= X_(i-1)W_X(i),

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

  1. Normalization (optional)(标准化)

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

  2. Whitening (optional)(白化)

    此可选步骤对每种语言的嵌入应用了白化或球形变换,这使得它们的不同成分具有单位方差并且彼此之间不相关,从而将其协方差矩阵转换为恒等矩阵。概括的说就是做白化处理。

  3. Orthogonal mapping(正交映射)

    此步骤将两种语言中的嵌入映射到共享空间。两个变换都是正交的,保留每种语言各自的点积。更具体地说,取W_X(2) = U, W_Z(2) = V,其中USV_T^ = X_T^ (1)Z(1)是X_T^ (1)z(1)的SVD分解。这使得映射嵌入
    在这里插入图片描述 的求和交叉协方差最大。映射嵌入的第i个分量对应与前一个分量正交的最大交叉协方差方向,S_ii是其对应的交叉协方差值。注意,当在步骤1应用白化时,所有方向的方差都是1,因此交叉协方差等于交叉关系。

  4. Re-weighting (optional)(加权)

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

  5. De-whitening (optional)(去加权)

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

    在这里插入图片描述

  6. Dimensionality reduction (optional)(降维)

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

    在这里插入图片描述
    这可以看作是重新加权的一种极端形式,其中前n个分量按1进行加权,其余n分量按0进行加权。

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

a7.png

  • Regression methods(回归方法)

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

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

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

  • Orthogonal methods(正交方法)

    对应于最简单的情况,没有进行任何白化,重新加权和去白化处理。等价直接由步骤3中学习的转换给出。类似于 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)已经详细分析了归一化的效果,我们在实验中没有考虑这个因素,而是使用他们推荐的配置,即先进行长度归一化,然后进行平均居中。此外,除非另有说明,否则我们使用标准最近邻的余弦相似度作为我们的检索方法,这使我们能够更好地评估映射本身的质量。对其余因素进行独立分析,然后将其最佳组合与最新技术进行比较。

结论和未来工作

在这项工作中,我们提出了一个学习双语嵌入映射的新框架,该框架概括了以前的大量工作(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学习场景中适应和评估我们的框架。

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:无监督机器翻译Bilingual Lexicon Induction through Unsupervised Machine Translation

下一篇:无监督机器翻译A robust self-learning method for fully unsupervised cross-lingual mappings of word embedding

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...