前言在这里插入图片描述

论文地址:https://aclanthology.org/D19-1071.pdf
代码地址:https://github.com/Imagist-Shuo/CMLM(空)

前人工作&存在问题

初始化对UNMT很重要,最近的预训练模型基于共享的BPE,以一种不显式、局限的方式学习跨语言信息,具体表现在:

  1. 以BPE为单位的预训练完成了BPE级别的对齐,n-gram可能不对齐
  2. 不同语种的BPE共享情况不同

本文贡献

使用外部的n-gram对齐工具创建n-gram对齐table;使用mask n-gram并预测对应翻译的预训练方法显式加强跨语言信息;使用IBM模型解决预测对应翻译长度不对等的损失函数问题。

具体方法

第一步:n-gram对齐表的构建

首先使用fastText分别获取语种X和语种Y的n-gram及其embedding;
然后用vecmap做n-gram的对齐,利用图1中的度量,为语种X中的最常见n-gram,找到top-k个候选翻译,完成对齐表的构建。

在这里插入图片描述

图1 相似度度量

隐含的第二步:

对X+Y学习共享的BPE,也用vecmap对BPE做对齐(?)

第二步:Cross-lingual Masked Language Model(CMLM)

文中说“in CMLM, we sample 15% BPE n-grams”,这和我的理解产生的冲突。我认为是随机挑选存在于词表中的source n-gram,直到覆盖了15%的BPE。再对70%的BPE做mask。
对于每一个masked source n-gram x 1 l x_1^l x1l,和它对应的target n-gram y 1 m y_1^m y1m单步的损失函数如下:

 图1 相似度度量

图2 loss function

其中:

  • 不知道叫什么的符号:表示给定 x 1 l x_1^l x1l,对应翻译长度为m的概率,可能是统计出来的
  • α使用归一化的token x i x_i xi和token y j y_j yj相似度代替(应该是对x做归一化)
  • p是模型的softmax输出

总的损失函数如下:

在这里插入图片描述

图3 whole loss function

第三步:

DAE + BT

第四步:

以上收敛之后,再开启一轮,使用bt产生伪并行句子,用GIZA++来抽取对齐的n-gram,更新n-gram对齐表,再次训练

具体实验

和baseline的比较

在这里插入图片描述

图4 和baseline的比较

decoder的初始化策略

考虑

  • 把预训练好的LM做decoder的初始化,将其作为一个feature extractor,在上面多加了几层transformer(随机初始化)
  • 固定pretrained LM,finetune新加的

结论:

  • 2、3行:随机初始化的参数不容易训练UNMT
  • 4、5行:pretrained LM虽然包含了大量的跨语言信息,但作为decoder的初始化不合适
    在这里插入图片描述
图5 decoder的初始化策略

单词对齐任务

在这里插入图片描述

图6 单词对齐任务

消融实验

考虑

  • 删去MLM
  • 不预测n-gram的对应翻译,而是预测n-gram本身
  • 不mask n-gram,而是mask BPE tokens(回退到MLM,也就是XLM模型)

结论:

  • MLM让模型学习单语的上下文建模
  • CMLM加强了跨语言信息的建模
    在这里插入图片描述
图7 消融实验
# 问题
  • 是否有两个对齐步骤:1. n-gram的对齐 2. BPE token的对齐
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐