表示学习之跨语言表示学习

表示学习之跨语言表示学习

本文长4600余字,认真读完大约需要10分钟。

表示学习

在具体谈跨语言表示学习之前,我们首先来了解一下在表示学习领域经常出现的三个名词:表示学习(Representation Learning),分布式表示(Distributed Representation)和词嵌入(Word Embedding)。

表示学习:是一种通过学习数据的表示,使得其后续构建分类器或者其他预测任务时更容易提取有用信息[1]的任务。通俗来讲,就是将数据转换成向量表示,同时使得向量包含尽可能多的、对后续任务有用的数据信息。这意味着表示学习和后续的分类任务或其他预测任务是一种pipeline的关系,并且表示学习的效果也将很大程度影响最终任务的效果。表示学习任务涵盖相当广泛,可以说近些年来的无监督特征学习和深度学习的诸多进展均可以纳入表示学习的范畴。

分布式表示:是表示学习中的一种思想——采用神经网络中的隐层来表示数据,即通过神经网络得到数据在隐含空间内的表达,然后以隐含空间内的表达作为数据的向量表示[2],这样的向量表示不同于one-hot 向量表示,其向量的每一维不再具有实际意义。在实际使用中,分布式表示也多直接用来指代具备这样特征的向量表示。

词嵌入:是一种在自然语言处理领域,采用分布式表示思想,得到单词级别的向量表示(词向量)的方法。其经典之作是Bengio 等人于2013年提出的NNLM模型[3],其在训练语言模型的过程中“顺便”得到了词向量。而经过Mikolov等人的对NNLM模型改进,提出了性能更好、专为得到词向量的CBOW和Skip-gram模型[3],如图1.1。

CBOW和Skip-gram模型均是用来挖掘单词及其上下文的信息的神经网络,中间的隐含层就是要训练的词向量,不同的是两者的输入输出顺序相反,前者是在给定上下文的情况下预测当前词,而后者是给定当前词的情况下预测上下文。

得益于这两种词嵌入模型的广泛应用,目前的表示学习领域,提到表示学习或分布式表示也多用来指代词嵌入及通过词嵌入生成的词向量。同时,下文继续讨论的跨语言表示学习也多是在这两种词嵌入模型上的进一步工作,跨语言表示学习是表示学习在自然语言处理领域的一个子领域,其专注于将不同的自然语言在同一个向量空间中表示出来,从而打破不同自然语言之间的隔阂,为其后的学习任务提供更有效的向量表示。

Fig 1.1 Word Embedding

跨语言表示学习典型方法

作为自然语言处理领域的表示学习的一个小分支,跨语言表示学习有一个有趣的特点——基本上该分支上所有的研究都基于同一个前提假设:不同语言的词向量表示可以共享同一个向量空间,并且语义相似的词——无论是在单语言还是跨语言中——在该空间内的距离相近。举例解释这一假设,如图2.1,在同一坐标系(向量空间)中,具有相似语义的词,如德语中的tag和英语中的day(均表示“天”),在坐标系中的坐标相近。

Fig 2.1 A Shared Embedding Space Between Two Languages

参照Ruder等人的工作[4]并结合我对该领域的理解,我按照各类跨语言表示学习方法中使用上述假设的“时机”的不同,将目前主流的跨语言表示学习方法归为三类:

(1)Pseudo Cross-lingual

该类方法使用上述假设的“时机”是在构建和训练词嵌入模型之前,即就是将该假设用于对语料的处理。其基本思路是使用一定的策略,重新组织并混合平行语料,得到Pseudo Cross-lingual混合语料,并在混合语料上训练词嵌入模型。举一个简单的例子[5],首先通过谷歌翻译,得到源语言和目标语言之间词汇的“互译对”,然后每次以50%的概率选择“互译对”中的一个单词,将两种语言的语料组织串联起来,然后在混合语料上训练CBOW模型。

Pseudo Cross-lingual方法的跨语言表示学习从原理上来讲直观、容易理解,有一种简洁的美感,但其隐含了一个假设或者说是限制,即跨语言平行语料中具有相似语义的单词可以相互替换;同时,由于只是对语料中词汇的简单替换和排列,所以这种方法天然的难以挖掘跨语言语料间的更多复杂联系。

(2) Cross-lingual Joint Learning

该类方法使用上述假设的“时机”是在构建和训练词嵌入模型的时候,具体来讲就是将该假设体现在模型的目标函数之中,即就是将跨语言语料间的关系(约束)作为目标函数或者目标函数的一部分,然后利用平行语料进行优化。这类方法大体有如下三种典型的方法:

其一,仅以平行语料提供的跨语言的联系作为目标函数进行优化,如图2.2。通过模型将词向量组合产生句子向量,然后通过对齐句子向量,也就是将aroot和broot之间的距离作为目标函数进行最小化来训练模型[6]。

Fig 2.2 The Bilingual Compositional Sentence Model

其二,利用自编码器的思想,对源语言进行编码,然后不但解码出源语言同时解码出目标语言,如图2.3。利用平行语料进行训练时,不但要优化减少源语言语料v(x)的reconstruction loss,同时还要将cor(v(x), v(y))——源语言和目标语言的相关性作为目标函数的一部分进行优化[7]。

Fig 2.3 A Bilingual Auto-encoder with Binary Reconstruction Error

其三,不但考虑当前词与源语言中的上下文的联系,同时考虑当前词与目标语言中的对齐词的上下文的联系。如图2.4,图中分别是德语(上一行)和英语(下一行),这两句话表达的是一个意思,同时“handels-”和“trade”是一个意思。这整体是一个双语的Skip-gram模型,它包含一些子模型:首先有两个单语的Skip-gram模型,分别是图中上下两侧的曲线箭头,代表用当前词来预测同语言中的上下文;然后有一个虚线代表“handels-”和“trade”是对齐的;最后,图中文本中间的直线箭头是跨语言的Skip-gram模型,代表用当前词来预测其在另一语言中对应的对齐词的上下文。这样,一个双语的Skip-gram模型就够建好了,利用平行语料可以进行关联训练[8]。

Fig 2.4 Bilingual Skip-gram

从以上叙述的过程中清楚地感觉到,这类方法均依赖于大量的、高质量的平行语料,而平行语料的不易获得是该方法天然的局限之一;另外,该类方法虽然将跨语言的联系加入到模型训练中去给了我们一种统一的美感,但其关联学习的难度却对其广泛的应用在一定程度上形成了阻碍。

(3)Monolingual Mapping

该类方法使用上述假设的“时机”是在构建和训练好词嵌入模型之后,也就是说该假设被用于寻找分别训练单语言语料得到的词嵌入空间之间的联系。通俗来讲,这类方法认为各种语言分别训练得到词向量后,虽然各种语言之间对齐词(如英语中的four (-0.05, 0.14)和西班牙语中cuatro (-0.1, 0.2))的词向量之间的距离直接计算它们不一定相近,但是这些词向量在各自的向量空间内构成的几何形状却很类似,如图2.5,在英语中表示数字(左上)的词向量之间构成的几何形状与西班牙语中表示数字(右上)的词向量构成的几何形状就很类似,同样表示动物的词向量(图中左下和右下)也有如此的类似的现象。

于是这类方法认为可以通过一些映射操作,将源语言的词向量映射到目标语言的向量空间中,并且使得具有相似语义的词的距离相近。这就类似于让两个人分别在A4纸上画中国地图,由于没有在纸上规定方向和比例尺,所以两张中国地图画好后必然不能够直接重合,但是通过旋转、缩放等操作就可以让两张中国地图重合。

Fig 2.5 Similar Geometric Relations in English and Spanish

该工作虽然不再依赖大量的高质量的平行语料,但是仍需要高质量的双语词典;同时线性映射的假设也存在较大的局限。之后有一些工作是对该工作的扩展和改善,例如利用深度神经网络训练非线性的映射关系,或者通过同时对源语言和目标语言的词向量训练映射矩阵,从而将两种语言的词向量都映射到一个第三方空间中等等。

跨语言表示学习最新进展

上一节的内容基本上总结归纳了跨语言表示学习的主流方法和思路,这一节主要同大家分享一下这一领域最近两年我个人感觉比较有意思的进展。

一,Vulić等人在2017年的工作[10]中假设在自然语言中,句法依存关系很大程度上独立于语言本身,并且能够互相翻译的单词扮演相似的句法成分(角色),如图3.1中的“Scientist”和“scienziato”、“stars”和“stelle”,同时,在两种语言中的两个词,如果经常和相似的词共同出现在相同的依存关系中,那么这两个词也可以认为是相似的,如图中的“discover”和“scopre”。

Fig 3.1 An Example of Extracting Mono and Cross-lingual Dependency Relations

这篇工作按照第二节的分类是属于Pseudo Cross-lingual方法,但是它的亮点在于:其根据假设试图向模型中加入更多更复杂的词汇间的关系,如句法依存关系以及利用假设派生的“相似词”关系等,来弥补Pseudo Cross-lingual方法天然的局限性。

二,Vulić等人在2016年的工作[11]中,提出一个“曲线救国”的假设:在不同语言中表示同一概念的单词,其描述的概念在感知系统(perceptual system)中是相似的。举例理解一下就是,意大利语的“bicicletta”和英文的“bicycle”都是自行车的意思,而“自行车”这个概念出现在感知系统(图片或者视频)中都差不多是我们脑海中那个样子。于是,这篇文章的工作便是利用搜索引擎,用不同的语言去检索图片,然后用神经网络去学习图片的表示,然后用图片的表示来作为词的表示。

三,以上所有提到的工作均依赖于双语词典或者平行语料,而Conneau等人在2018年发表的工作[12]提出的方法则不依赖于任何特定的资源。如图3.2,X分布表示英语单词的词嵌入,而Y分布表示意大利语单词的分布。

Fig 3.2 Toy Illustration of the Method

这篇工作的方法本质上还是属于Monolingual Mapping类型,首先它利用对抗生成网络(Generative Adversarial Network, GAN)学习映射矩阵W,先使用生成器生成映射矩阵W,然后用判别器判断WX究竟是不是属于Y分布,迭代多轮之后,粗略的对齐两种语言的词嵌入向量空间(如图中B子图);

GAN训练的难度众所周知,我想这大概也是这篇工作没有使用GAN一步到位的原因之一。

最后,利用最终得到的映射矩阵W将X分布中所有单词映射到Y分布中(如图中D子图)。

小结

文章开篇在解释表示学习概念中提到,表示学习和后续的分类或者其他任务是一个pipeline的关系,而作为表示学习的一个小分支,跨语言表示学习与其后的任务也是同样的关系,这就意味着对跨语言表示学习的效果评价均依赖于其后执行的任务,而不同的方法必然有其擅长和不擅长的场景,也正是因为这样的原因,这篇文章中没有提到任何一种方法的效果如何,仅仅是分享了在这一领域已有的解决思路。

虽然说方法难以评估,但对于各种解决思路,我个人隐约感觉有这两大趋势:

一是研究如何向跨语言表示学习中添加更多的额外信息。添加句法依存关系和利用图片数据均是这一趋势下诞生的产物;

二是研究如何摆脱对高质量资源的依赖,因为高质量意味着高昂的代价。而从使用双语平行语料到使用双语词典,甚至最终无监督的不使用平行语料和双语词典,可见这一趋势下的工作成果还是不错的。同时摆脱对大量的、高质量的平行语料或者双语词典的依赖,其对无法或难以得到高质量平行语料的小语种的跨语言表示学习将很有裨益。

写在最后

由于我个人并不钻研这一领域,仅仅是出于兴趣和激发灵感的需求,以及顺便完成课程作业的目的,对这一领域进行了一定程度的了解和学习,所以文中难免有理解有误和叙述有失偏颇的地方,恳请大家不吝指教。同时也希望文中提到的各种方法能一定程度对大家各自的工作产生价值,谢谢。

参考文献

[1] Bengio Y, Courville A, Vincent P. Representation learning: A review and new perspectives[J]. IEEE transactions on pattern analysis and machine intelligence, 2013, 35(8): 1798-1828.

[2] Hinton G E. Proceedings of the Eighth Annual Conference of the Cognitive Science Society[J]. 1986.

[3] Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space[J]. arXiv preprint arXiv:1301.3781, 2013.

[4] Ruder S, Vulić I, Søgaard A. A Survey of Cross-lingual Word Embedding Models. arXiv preprint arXiv:1706.04902. 2017 Jun.

[5] Gouws S, Søgaard A. Simple task-specific bilingual word embeddings[C]//Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2015: 1386-1390.

[6] Hermann K M, Blunsom P. Multilingual distributed representations without word alignment[J]. arXiv preprint arXiv:1312.6173, 2013.

[7] Chandar, S., Lauly, S., Larochelle, H., Khapra, M. M., Ravindran, B., Raykar, V., & Saha, A. (2014). An Autoencoder Approach to Learning Bilingual Word Representations. Advances in Neural Information Processing Systems.

[8] Luong T, Pham H, Manning C D. Bilingual word representations with monolingual quality in mind[C]//Proceedings of the 1st Workshop on Vector Space Modeling for Natural Language Processing. 2015: 151-159.

[9] Mikolov T, Le Q V, Sutskever I. Exploiting similarities among languages for machine translation[J]. arXiv preprint arXiv:1309.4168, 2013.

[10] Vulić I. Cross-lingual syntactically informed distributed word representations[C]//Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 2, Short Papers. 2017, 2: 408-414.

[11] Vulić I, Kiela D, Clark S, et al. Multi-modal representations for improved bilingual lexicon learning[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. ACL, 2016: 188-194.

[12] Conneau A, Lample G, Ranzato M A, et al. Word translation without parallel data[J]. arXiv preprint arXiv:1710.04087, 2017.

作者简介:

张程博,软件工程专业

研究方向:1.知识图谱构建及应用

2.日志增强技术

博士研究生一年级

快,关注这个公众号,一起涨姿势~

转载请联系

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180626G0M2WH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券