1. 问题描述
跨语言词向量解决什么问题呢?当我们有英文标注数据,在英文数据上训练好模型,但是我们没有中文标注数据去训练模型,怎么办?跨语言词向量就是将英文词向量和中文词向量映射到一个空间里,这样相当于中英文数据都只是整体数据的一部分,我拿整体数据中的一部分(即英文数据)做训练,拿整体数据中的另一部分(即中文数据)做测试,所以就不需要重新训练模型,解决了中文标注数据缺失的问题。啊说的有点多了,西湖的水我的泪。
对于跨语言词向量的文献,我看了两篇,一篇是16年EMNLP的《Learning principled bilingual mappings of word embeddings while preserving monolingual invariance》,用的是有监督的方法,另一篇是18年ACL的《A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings》,用的是无监督的方法。这篇博客介绍有监督的那一篇。
这篇文章主要是对之前的有监督方法训练跨语言词向量的文献做了一个总结,提出了一个通用框架,融合了之前一些算法的本质,我认为如果只是做个调研的话,看了这一篇之后,基本可以不用看之前的那些有监督的文献了。
2. 算法
和
分别表示两类语言中独立训练好的词嵌入矩阵,需要自己先训练好,或者拿别人现成的。其中每行代表一个词的词向量,每一列代表词向量的第几维。
的第
行和
的第
行对应的是一个词义,比如‘你好’和‘hello’。我们需要求一个转换矩阵
以使
近似于
,即
等价于求Frobenius 范数:
&nb