2018 AAAI | 概括与提升双语词向量映射:线性转换的多步框架

笔者:王草
日期:2018年7月29日

1 背景知识

在讲述论文之前,笔者为大家简单地讲解一下论文要解决的核心问题。对跨语言词嵌入有了解的朋友可以直接跳过这一节。

2013年Mikolov等提出了分布式的词向量表征word2vec,即将一个词用一个低维向量来表示,词与词之间的相似性可以通过向量之间的相关性表示。随后word2vec在众多自然语言处理(NLP)的任务中大放光彩,备受青睐。

学者们发现不同语言中训练出来的词向量虽然是独立的,但是其分布形态却非常相似。如下图,左边红色的是英文,右边蓝色的是西班牙文,两种语言中意义一样的词在坐标上的分布非常相近
image_1cj7cffsi13oo163d1el119sacoh13.png-79.9kB

如此一来,可否通过某种线性或非线性的转换,将不同语言的词向量映射到同一个共享的空间中,打通语言与语言之间的隔阂,实现美美与共,天下大同。在研究与工作中,往往会发现英文的数据集都比较丰富,而其他语言比如中文的数据总是少之又少,而实现语言表征之大同:
1)可以将在训练数据丰富的语言上训练得到的模型,应用到数据集缺乏的语言上。
2)所有语言只需要训练一个模型,就能在各个国家各个语言的应用场景中使用。

我们称这种语言表征上的统一为cross-lingual embedding,即跨语言词嵌入。

那么问题来了:
1)如何去构建这样一种词嵌入?
2)如何去评估嵌入到共享空间后的词向量的效果?
针对这两点目前有很多研究,笔者也专门针对该领域的研究与近期的文献综述写了一篇系统的介绍文章(链接:),欢迎阅读与指正。

2 论文摘要

论文主要做了两个工作:
1)将前人的跨语言词嵌入研究方法做了归类与整合,提出一个线性转化的multi-step框架
2)对multi-step框架中的每一个step进行实验与比较,分析它们的有效性与贡献度
3)针对各个step的评估,提出了一个新的方案,实现了state of the art效果

我们按照作者的思路,以下章节依次介绍multi-step框架的构成,每一个step进行实验与比较,新的方案以及其实现的效果。

3 multi-step框架的介绍

首先约定一下下文符号的表示:

X Z 分别表示两类语言中独立训练好的词嵌入矩阵。
X i Z i 表示在相应的词嵌入矩阵中的第i个词的词嵌入向量。
我们的目标是要学习 W X W Z 这两个转换矩阵(transformation metrices),从而使得 X W X Z W Z 在同一个跨语言空间中。

X ( i ) 表示在第 i 步输出的词嵌入, W X ( i ) i$步的线性转换矩阵。

X ( i ) = X ( i 1 ) W x ( i )

Step 0: Normalization (optional) –词向量归一化或去均值

1) length normalization
将每个词嵌入矩阵中的元素除以词嵌入矩阵的向量长度: X i / | X i |,
即矩阵中每一行的元素除以该行的长度。

2) mean centering
将词嵌入矩阵中每一列进行0均值化

以上两个步骤标准化后得到新的词嵌入矩阵 X ( 0 ) X ( 1 )

Step 1: Whitening (optional) –白化

X ( 0 ) X ( 1 ) 的基础上,对embeddings做白化,使得不同列之间的方差为1,且互不相关。
此处采用Mahalanobis或者ZC whitening:
W X ( 1 ) = ( X T X ) 1 / 2
W Z ( 1 ) = ( Z T Z ) 1 / 2

Step 2: Orthogonal mapping –正交映射

Orthogonal mapping是核心步骤,将两个语言的embeddings映射到一个共享的空间中。
约束两个转换矩阵都是正交的。

将X和Z的cross-covariance(因为做了前两步的预处理,cross-covariance相当于是X和Z的点积)进行奇异值分解:
U S V T = X ( 1 ) T Z ( 1 )

W X ( 2 ) W Z ( 2 ) 分别为: W X ( 2 ) = U W Z ( 2 ) = V

这就相当于最大化了映射后的新的词嵌入的总的cross-covariance:
T r ( X ( 1 ) W X ( 2 ) W Z ( 2 ) T Z ( 1 ) T )

注意若做了step1的whitening,则cross-covariance = cross-correlation

Step 3: Re-weight(optional) – 词向量重打分

根据cross-correlation对每一个component重新进行打分。
若应用于source language,则:
W ( X ( 3 ) = S , W ( Z ( 3 ) = I
若应用于target language,则:
W ( X ( 3 ) = I , W ( Z ( 3 ) = S
S 为cross-covariance(Whitening后相当于cross-correlation)

Step 4: De-whitening – 再次白化

此时,经过step2,两个词嵌入已经转换到了同一个空间,拿step1中原向量的方差对此刻的跨语言词嵌入在进行一次whihtening。可以用source language的variance,也可以用target language的variance。

Step 5: Dimensionality reduction (optional) – 对词向量降维

只保留最前面的n个components。
W X ( 5 ) = W Z ( 5 ) = ( I n 0 ) T

在过去的研究中,可以分成OLS(将一种语言映射到另一种语言的空间), CCA(将两种语言映射到新的共享空间),orthogonal methods(step2),但其实这三者的核心方法都可以等同为step2。不同的是step0,1,3,4,5的处理方法略微不同而已。下图为3类方法对以上6个步骤的涉及情况:
image_1cj7i052k17nv3kg1jct14f411nm9.png-67.5kB

4 实验结果

4.1 评估模型的指标

4.2 分析各steps的效果

1)加了Whitening和De-Whitening之后效果改善不明显;而且在OLS和CCA中的应用还带来负面影响。

2)对target language的re-weighting还蛮有用的;但是对source language的re weighting效果降低。

3)dimensionality reduction的效果都是棒棒的呢;但是当使用了re-weighting之后,dimensionality reduction的效果上升小,说明两者的效果有重叠。

4.3 本文提出的新方案与比较

根据以上6个步骤的分析,本文构造一个新的变体:依次normalization, whitening, Orthogonal mapping, re-weighting on target language, de-weighting with respect the original language, and applying the dimentional reduction.

该方案与其他方案的对比:
image_1cj7iq6g1bg42h4g1115nn1g1j1m.png-106.4kB

猜你喜欢

转载自blog.csdn.net/sinat_33761963/article/details/81271525
今日推荐