神经机器翻译中的关键技术

前言

由于从事神经机器翻译工作有一定时间了,也算对这个任务有了初步的认识和理解吧,因此开一篇文章总结一下机器翻译任务用到的一些基本算法和优化方法。旨在帮助新人们更快、更系统地入门;同时对于从事这个行业的人员来说,也作为一份方法大全,为算法人员提供指引,帮助巩固各种要点。

基本流程

语言学分析

总结不同语种的语言特性,包括分词形式、标点用法、特殊符号如’或-的用法等。

  1. 中日语类 这类语种的基本字符集庞大(如汉字、日文汉字),且没有明确的词边界。主要代表:汉语、粤语、日语。
  2. 英语类 这类语种的书写系统主要是拉丁字母,若干个拉丁字母组成一个单词,且单词之间使用空格等区分。代表:英语、法语等。
  3. 东南亚及韩语类 这类语种使用有限的字符集(字母),同时也不存在明确的词边界。代表:韩语、泰语、缅甸语等。

前处理(Pre-process)

正则化(Normalization)

正则化一般有以下三个目的:

  1. 统一标点符号,将汉语标点和全角标点统一为半角(句号等包含语义的除外);
  2. 统一全角字母、数字或特殊字符,如❶、①等,转换为一般的数字1;
  3. 过滤不可见且无意义的字符,如转义字符等。

对不同语种,正则化有不同策略:

  • 汉、粤等语种标点统一:将汉语标点的,?!:;等转换为英文标点,以降低标点语义的离散性,而“”。等包含语义相关信息,不做处理。
  • 特殊字符保留:很多语种包含不可见但具备语义的字符,例如传统蒙文中的\u202f、\u180e,僧伽罗语中的\u200d,因此不推荐使用NFKC方法。

全角转半角(Full-to-half)一般流程:

  • 全角空格(12288)转半角空格(32);
  • 全角字符(65281~65374)根据偏移量转换半角字符(33-126):
    C h a l f = c h r ( o r d ( C f u l l ) − 65248 ) C_{half}=chr(ord(C_{full})-65248) Chalf=chr(ord(Cfull)65248)

图中红框里的字符就是全半角转换时需要处理的部分:
在这里插入图片描述

Truecase

将每个单词的大小写形式转换为一般写法,便于文本统一处理,减少词分布的稀疏性。一般而言拉丁字母的所有语种都要涉及到truecase.
例如:

  • 一般表达如Okay需要小写为okay,其它He、We、Since等也要转换小写;
  • 特殊词如I、It、As等保持不变;
  • 专用词如January、U.S.、Google等保持不变(月份、NE等)。

预分词(Pre-tokenization)

预分词是指在正式分词前,根据一般语言学或句法知识,对句子进行前期分词的步骤,不同的语种对应不同预分词方案。
预分词的语种方案如下:

  • 根据具体语种的标点符号用法配置(如藏语的竖线།,缅甸语句号||,柬埔寨语句号 );
  • 对于1、3类语种(中粤日韩泰等),不存在词边界,一般不做处理。为更有效提升语义表示,可以使用词表或开源分词器预分词(jieba、pythainlp等);
  • 对于第2类语种,天然具备预分词状态,则需要考虑特殊用法,如英语中的It’s、I’m,不推荐直接将’分开;类似还有藏语的点 ་、法语的单引号、俄语的短横线等,使用Moses分词器即可对上述情况妥善处理。

分词(Tokenization)

分词是指将一整句话切成若干个子串,每个字串具有相对完整的语义,便于Embedding后模型捕捉特征关系。常用分词算法有BPE、WordPiece、Unigram和SentencePiece.

Subword(子词)

子词是介于句(Sentence)和词(Word)之间的成分,目的是平衡语义单元和词汇离散性之间的矛盾。处理原则:常用词或高频子串(前、后缀等)应该视作一个子词,不常用词应拆分,用常用词或单字token表示。

Byte-Pair Encoding (BPE)

  • BPE:字节对编码,思想是将最高频的子词对合并为更大的子词,直到词汇表达到预定大小时结束。
  • Byte-level BPE:字节级别的字符挖掘模式,解决Unicode下基本字符集太大的问题(比如汉字),统一用字节表示,基础字符集固定在256. 在带噪声数据或多语种NMT下效果有改善。
  • 代表模型:MBART、XLM、GPT-2等。

WordPiece

合并时不同:选择能够最大化语言模型似然值的子词对。语言模型似然值的改变量可以理解为相对熵的大小,假设句子语言模型似然等价如下:
l o g P ( S ) = ∑ i = 1 n l o g P ( t i ) log P(S)=\sum _{i=1}^n log P(t_i) logP(S)=i=1nlogP(ti)
假设考虑子词和子词的合并,则句子似然值的变化等于相对熵(即互信息PMI)的计算:
l o g P ( t z ) − ( l o g P ( t x ) + l o g P ( t y ) ) = l o g P ( t z ) P ( t x ) P ( t y ) log P(t_z)-(log P(t_x)+log P(t_y))=log \frac{P(t_z)}{P(t_x)P(t_y)} logP(tz)(logP(tx)+logP(ty))=logP(tx)P(ty)P(tz)
简而言之,WordPiece每次选择互信息最大的子词加入词表,因为它们更常相邻出现在语料。
代表模型:BERT.

Unigram

以一个预分词的较大词出发,每一次选择使预定义损失最小的词删除,直到词表满足预定义大小。提出预定义损失:
L o s s = − ∑ i = 1 N l o g ( ∑ x ∈ S ( x i ) p ( x ) ) Loss=-\sum _{i=1}^N log(\sum _{x \in S(x_i)}p(x)) Loss=i=1Nlog(xS(xi)p(x))

说明: 假设文档中的词为,对于词的所有可能的分词集合为,而集合中每种方案的概率为则损失定义为当前词的所有分词方法概率和的对数。

分析: 词表缩减的方法就是尽可能保留分词方案,删减时优先考虑为分词多样性带来贡献最小的词(通俗理解:如果一个词删除后,会影响到很多词的分词组合(不一定是数量,数量少但比重大的也要考虑),则该次权重较大,贡献值也较大,不能删减;反之词删除后不会为整体分词带来影响,则贡献较小,可以删减)。

代表模型: Albert、T5、XLNet等。

SentencePiece

  • Google开源的文本分词工具,一般与BPE或Unigram算法联合使用,模式有BPE、char、word和Unigram;
  • 符号处理上,对空格也视作一种字符,并用‘_’表示;
  • 具有可扩展性,可以指定文本从头训练。

最后给出主流模型及其分词器一览表:
在这里插入图片描述

后处理(Post-process)

去除冗余空格

  • 标点等符号前/后的空格(如~!@#$%^&*()_+{});
  • $、%与数字之间的空格;
  • 跨语言词与词之间的空格(如汉语和英语);
  • Jieba等分词空格;
  • 连续两个及以上的空格,过滤保留一个。

标点校正

  • 汉语、粤语等语种的标点需英文转中文。

翻译效果评价

BLEU

BLEU是NMT中较为经典的评价指标,能够有效衡量翻译结果与人工译文的接近程度;BLEU采用修正的一元语法准确度(Modified Unigram Precision)衡量词的翻译质量,计算如下:

c o u n t c l i p = m i n ( c o u n t , m a x _ r e f _ c o u n t ) count_{clip}=min(count, max\_ref\_count) countclip=min(count,max_ref_count)

然后将所有词的 c o u n t c l i p count_{clip} countclip相加,除以Translation中的词数,得到当前准确率。

将上述算法扩展为N-Gram形式,可以同时保证适当性(短Gram)和通顺性(长Gram),N-Gram准确率计算如下:
在这里插入图片描述
通常要加入长度惩罚项BP(因为分母以Trans词数为总量,会导致保守翻译所带来的分数虚高):
在这里插入图片描述
举个例子来证明MUP的优势,如下例句:

  • Reference: The cat is on the mat.
  • Translation: The The The The The The The

首先对各个词的 c o u n t c l i p count_{clip} countclip统计如下:

请添加图片描述
按查准率计算:2/2 = 100%
按MUP计算:2/7 ≈ 28.57%
对比之下,MUP的结果更能反应译文真实水平,证明其有效性。

最终,BLEU值的完整计算公式如下:
在这里插入图片描述

BLEU改进方案—NIST

认为不同词的重要性不同,更富信息量的N-Gram应该更重要,而常用词(如功能词)分配较低权重。因此根据N-Gram频数确定信息权重,权重乘积代替BLEU的计数方法,同时使用算术平均值聚合各N-Gram准确率。NIST计算如下:
在这里插入图片描述
在这里插入图片描述
B P = e l o g 1 2 ∗ l o g 2 r / l o g 2 3 2 BP=e^{log \frac {1}{2} * log^2 r / log^2 \frac {3}{2}} BP=elog21log2r/log223

其中 L s y s L_{sys} Lsys为翻译译文词数, L ˉ r e f \bar L_{ref} Lˉref为参考译文词数,N通常为5. BP由译文长度决定,当译文长度大于参考长度时,BP为1.0,否则按下式计算(其中 r r r为译文长度 / 参考译文长度):
B P = e l o g 1 2 ∗ l o g 2 r / l o g 2 3 2 BP=e^{log \frac {1}{2} * log^2 r / log^2 \frac {3}{2}} BP=elog21log2r/log223

BLEU的tokenize处理

Sacrebleu:内置多国语种的分词模块,有效对译文切分以方便计算N-Gram单元,解决了分词标准不一致带来的分数差异。WMT一般使用该标准。
手动切分—按语种类别划分方案

  • 二类语种(有分词边界):按空格切分,对I’m等进行特殊考虑(一般用Moses处理);
  • 一、三类语种(无分词边界):按单字符切分,而对译文中的字母或数字连续捕捉。

数据增强/优化

主动学习

基本概念

定义:监督学习问题中,存在标记成本较为昂贵且标记难以大量获取的问题。 主动学习(Active Learning, AL)尝试通过选择性的标记较少数据而训练出表现较好的模型。
概念:

  • 问题:通过以某种策略构建较小训练集来减少标记成本的机器学习方式;
  • 策略:对未标记样本进行重要性评估;
  • 训练:一种交互式的标记、训练、评估流程。

场景:在分类和回归两类问题下,AL主要有三种场景:

  • Pool-based:提供无标签数据池,通过策略选取样本进行标记;
  • Stream-based:数据以流式输入,策略需要确定进行标记或直接模型预测;
  • Query synthesis:通过数据池自行生成新样本进行查询。

查询策略:包括不确定性采样(Uncertainty Sampling)、委员会(Query-By-Committee)、模型变化期望等(Expected Model Change)。

  • 不确定性采样:低置信度(Least Confident)、边缘采样(Margin Sampling)、熵(Entropy)等;

  • 委员会查询:多模型投票的方式,但具体查询还是依赖不确定性采样或平均KL散度(模型预测之间的差异,有点方差的意思);
    在这里插入图片描述

  • 模型变化期望:针对已被标记的数据,通过BP产生梯度,选择梯度变化最大的样本。

NMT中的AL

现有工作

文献[4]提出词频相关的多种模型查询函数用于单语料,包括Least Confident、Minimum Margin、Token Entropy,具体计算如下图。同时提出基于log词频的句子重要性衡量,改善了模型不确定性查询不能考虑数据分布的问题。
在这里插入图片描述

文献[5]指出模型类查询需要翻译预测,带来低效问题,而有些句子通过判断关键词即可反映重要性,因而提出短语级主动学习策略,首先确定在集外单语料中包含频率较高且在集内数据中未出现的N-Gram,
在这里插入图片描述

同时为解决短语级查询对长句子带来不良影响,提出混合句子级选取方案,句子级查询有Random Sampling、句间余弦相似性(CSSE)等,CSSE衡量集外数据与集内数据之间的余弦相似性,选择相似性最远的句子(mBERT编码)。句间相似性计算如下:
在这里插入图片描述
在这里插入图片描述

N-Gram主动学习方案

N-Gram主动学习方法:

  1. 统计集内数据N-Gram(1-4);
  2. 统计集外数据N-Gram(1-4),删除低频词;
  3. 平滑N-Gram的覆盖(字Gram频数低于当前Gram的2倍时);
  4. 从集外N-Gram词集中删除集内N-Gram出现的词;
  5. 分别计算N-Gram的比率:

在这里插入图片描述
请添加图片描述

  1. 判断是否大于等于(1-coverageRatio),如果是则选取当前句子为主动学习样本,否则丢弃。

意义 计算句子中不出现在集内、且在集外也较为重要的N-Gram数量占比,如果比例较高说明模型大概率不会见过,需要添加到主动学习语料中。
词粒度方案:

  1. 原则:保证词的多样性,但也不能过于离散。
  2. 一类语种:没有词边界,且字符集较多,直接按字符分词;
  3. 二类语种:有词边界,且词表较大,因此与原始分词一致;
  4. 三类语种:没有词边界,且字符集较少(一般是字母表),不能直接按字符拆分,也不能分句(会过于离散),因此使用预置分词器(pythainlp、 pyidaungsu等)分词,再按词切分。
Beam Search熵值评估法:

目前采用同一位置seq_ids的局部熵计算:

  1. 首先统计每个time上各Beam序列的token分布,并统计词频;

  2. 根据词频计算不确定概率;

  3. 计算当前时刻i的局部熵,方式如下:
    请添加图片描述
    其中B代表Beam大小,M代表当前时刻不同Beam解码出的id集合大小,代表每个id的频率。

  4. 计算序列熵,将所有时刻的局部熵求和,并取均值,如下:
    在这里插入图片描述

在这里插入图片描述

回译(Back Translation)

概念 将A语种句子使用A→B翻译模型向B语种翻译,获得B’,再将B’使用B→A翻译模型向A语种翻译,获得A’. 文献[8]使用类似的数据增强技术有效地扩充了训练语料,并提升翻译质量。

回译增强 现有平行语料(A, B),取子集(a, b)通过回译分别获得伪语料(a’, b’),其中b’是由a通过A→B翻译模型得到, a’是由b通过B→A翻译模型得到,再扩充到原语料中得到(A+a+b,B+b’+a’)实现数据增强。

在维汉模型优化上,回译获得约11MB语料,构建新语料后模型翻译效果提升如下:
请添加图片描述
Noise-based BT 为待回译数据中的较长句子(大于10)加入一定比例的噪声,再执行回译,能够有效提升模型鲁棒性;文献[9]在回译的同时为解码句子增加噪声,更好提升模型抗噪能力。同时据组内《中英数字翻译和抗干扰优化》的研究指出,为标点增加噪声能够有效提升模型抗干扰能力。噪声添加的主要手法如下:

  • 删除 随机删除部分语句(限制次数,一般替换3次即可);

  • 掩盖 随机掩盖部分语句(与1类似,只是删除变为替换[mask]);

  • 替换 以正态分布确定词位置,并选择前后临近词交换。

    (1) 以正态分布生成0-1随机数,乘以序列长获得目标位置;
    (2) 随机选择目标位置前/后三个词中的一个,与当前词交换。如果不足三个则放弃当前位置,随机从序列选取两个词交换。
    噪声添加流程:Pipeline方式执行上述三种操作,每项按10%概率选择执行,否则跳过。

迭代式回译

迭代式回译(Iterative BT) 既然执行一次双向回译能获得句对(A’,B’),很自然(A’,B’)也可以再次回译,获得(A’’,B’’),如此多次执行,就是迭代式回译。迭代式回译能够获得更多样化的数据。

请添加图片描述
注意事项 基于回译做数据增强时尽量使用反向模型的回译数据增强前向模型训练,即训练A→B翻译时,使用现有B→A模型回译,获得数据a’,再构建用于A→B训练的增强数据集(A+a’,B+b),同理B→A也如此。

平行句对挖掘(Parallel Corpus Mining)

LASER 跨语言句向量工具,支持90+个语种,将全部语种句子嵌入到共享向量空间中,使含义相近的句子分布邻近。使用LASER可以通过语义相似度有效对比跨语言的句子差异,挖掘对齐句子。
Faiss 大规模向量聚类和相似性搜索库,两项技术:倒排索引和乘积量化(Cluster + Assign)。

FaceBook M2M:百种语言多对多平行语料构建技术:

  • CCMatrix 对一个待匹配的源语言句子,将目标语言中所有句子与其比较,以获得质量更好的译文;
  • CCAligned CCMatrix会造成效率低的问题,因此先使用语种识别或规则等查找可能包含译句的文档,再进行CCMatrix的算法;
  • 桥梁语言(Bridge Language)挖掘策略
    (1)直接在百种语言中一对一挖掘会涉及大量计算,提出基于语系的桥梁语言挖掘以减少匹配量。首先将100个语种划为14个语种组(按地域、语言相似度、文化差异等),每个语种组内的所有语种互相匹配挖掘,能够获得高质量句对;
    (2)在每个语种组内指定1-3个桥梁语言(通常是高资源语言),所有桥梁语言之间互相挖掘;
    (3)所有100个语种与英语之间互相挖掘。

通过上述方法,最终获得包含2200个翻译方向的75亿挖掘句对。
在这里插入图片描述

M2M语种分类关系表如下:
在这里插入图片描述
相比英语为中心的挖掘,桥梁挖掘策略的优势如下:
在这里插入图片描述
实验效果对比如下:
在这里插入图片描述

句对优化

使用统计或经验等方法过滤掉非译文关系的句对。

  • 按长度比过滤 对源句和目标句计算字符长度,对长度比在2-3以上的句对舍弃,因为长度差异过大可能造成句子不对齐;
  • 按数字过滤 如果其中一句包含数字(日期、数值等),查找另一句是否也包含一样的数字(可能有误差,因为数字的表示也因语言而异);
  • 低词对齐过滤 使用开源平行语料词对齐工具(GIZA++等)或模型查询句对中的对齐词,将对齐比例低于阈值的句对删除。

词对齐

词对齐是机器翻译任务的衍生问题,目的是找出一对平行句子中所有互译的词对应关系。这种关系一般用相关矩阵来表示,矩阵上每个值的大小反映了词相关性。
分类:软对齐和硬对齐

  • 软对齐(Soft Alignment) 一般产生关系矩阵距离,反映对齐关系;
  • 硬对齐(Hard Alignment) 直接从句对中匹配出对齐词对,找出所有词对组合。实现时一般需要提供对齐词典。
    在这里插入图片描述

在这里插入图片描述

词对齐相关工作

现有词对齐方法:
  • 基于统计方法/工具 使用大规模对齐语料库统计得到关系表,如IBM Model 1-5,开源工具有MarianNMT、fast-align、GIZA++等;
  • 无监督方法 MUSE: 在两种语言的词典间建立一个映射W,使用procrustes问题求解W;
  • 基于NMT模型 NMT模型的Attention用于指导当前时刻的译词需要参考源句中哪个词,因此也存在词对齐特征,可以使用Attention矩阵表示词关系。
基于统计的词对齐方法—互信息法:

点互信息(PMI) 用于衡量两个变量之间的相关性,可以是两个词或句子。
在这里插入图片描述

统计语料中任意两个词在句对中的共现比率,并计算点互信息,可以有效反应两词间的相关性。

基于模型的词对齐主要有以下方法:
  • Attention Score 将句对(S,T)送入带Attention的NMT模型中,对T的每一个词j,查询模型翻译j时对S各词的Attention分数,能够获取相关词信息;
  • 掩盖差异 对齐的源词和目标词往往存在翻译上的粘合性,为检查T中词j的对齐源词,对于要计算的词j概率,用删除或替换方式为增加噪声,并计算加噪后的概率变化。
    在这里插入图片描述
    在这里插入图片描述

开源词典:Word2word工具,根据共现、PMI和CPE( Controlled Predictive Effects ,在PMI基础上考其它词影响,增加混淆计算)挖掘词对齐,支持62种语言。

在这里插入图片描述
在这里插入图片描述

现有技术方案

检查点平均

检查点平均是指将同一模型在不同时刻保存的参数进行平均,通常选择收敛后的last N个时刻的参数,通过以同等的权重对N个检查点的参数进行平均,有效防止引入其他噪声,得到鲁棒性更强的模型参数。算法如下:

输入:模型检查点集合C,包含N个检查点
输出:均值化后的新模型参数P
N ← len(C)
P ← {}
for each(c) in C do
	state_dict_c ← load_params(c)
	for each(key) in state_dict_c do
		if key not in P then
			P[key] ← state_dict_c[key].clone() / N
		else
			P[key] ← P[key] + state_dict_c[key] / N
		end if
	end for
end for
return P

文献[3]认为不同时期的检查点存在特征不均衡的问题,并将这种不均衡视作一种噪音,检查点平均有助于模型噪音的抵消,从而减轻训练不均衡问题。此外文中也提出了一种补偿性的在线蒸馏学习,帮助模型巩固可能遗忘的历史信息。
在这里插入图片描述

预训练参数

通常翻译模型参数初始化采用符合某一分布(normal等)的随机初始化,可以更快收敛到最优值。而研究发现使用已有基础模型作为初始参数训练,能够使模型更快地收敛,同时效果也有效提升。基础模型有如下方案:

  • 使用开源mBERT、XLM等预训练模型作为初始参数。文献[6]将XLM-R跨语言模型参数初始化NMT模型,并在WMT的10个语种对上训练,取得较好效果。由于XLM是编码器模型,因此需要同时对Transformer的Encoder和Decoder初始化,特别指出Decoder的Cross-Attention可以随机初始化或拷贝Self-Attention参数;
  • 使用已有翻译模型参数。但要遵循一个原则:基础模型的源或目标语言至少一种需与任务模型一致,且词表也相应一致;
  • 实验证明目标语言一致的基础模型会带来更快收敛速度、更好效果。

举例: 维吾尔语→汉语翻译任务,使用英语→汉语翻译模型初始化,且维汉模型的汉语词表必须使用英汉的。右图对比了随机初始化和英汉模型初始化模型在测试集上的效果。
请添加图片描述

多源/目标语言翻译

一般思路是使用单/多源语种翻译到单/ 多目标语种的训练方法。文献[6]使用基于温度因子的多语句对采样方法,设置T为温度参数对不同语言的规模比例放缩,得到作为采样比。同时为防止在低资源语种上过拟合,设置一个较低上的初始温度迭代线性提升。
在这里插入图片描述
在这里插入图片描述

使用法、德、捷克语等10种语言和英语之间展开任务,分别进行One2En、Many2En、Many2Many(Many2En和En2Many的合并)之间的对比,如表一所示,多个语种上表现出了不等的提升;其次进行En2One、En2Many、Many2Many之间的对比,如表二所示,在部分语种上同样有提升,但是整体不如Many2En;随后对比了OPUS-100数据上 的低、中、高资源语种的效果,结果表明Many2En和En2Many方案在较低资源的语种效果提升更明显。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

语种识别

语种识别也是NMT的基础任务之一,给定某个语种的句子,句子中包含足够比例的该语种词汇或语法特征,语种识别的任务是将该句正确判断为目标语种。
开源工具:langid、langdetect、fasttext,输出都是ISO标准语种代码(ISO639-1等)。
Fasttext: 常用的文本分类库,Fasttext语种识别模块支持176个语种的分类。
问题:Fasttext对相似的语种(使用相同字母等)区分能力并不好,如波斯语和阿拉伯语经常混淆,汉语、粤语使用共有汉字也难以区分,对拉丁字母的语种(英语、印尼语、马来语等6个语种)也容易混淆。
分析:Fasttext分错的语种类别都有“聚合特性“,例如Fasttext将波斯语错识别为阿拉伯语,但不会错识别为其它语种,或将马来语错认为印尼语、乌兹别克语错认为英语。因此根据Fasttext的源语种和识别语种的聚合分布,划分出几个子集:①汉、粤语;②波斯语、阿拉伯语;③英语族(英语、印尼语、土耳其语、土库曼语、马来语、乌兹别克语)。分别开发子模型优化各子集效果:

  • 汉-粤:2.4k大小粤语词表,查询时判断是否命中;
  • 波-阿:CNN二分类模型;
  • 英语族:CNN六分类模型。

工作流程:Pipeline方式。首先使用Fasttext识别当前句子,如果识别为上述划分所包含的任意一个语种,则发送给相应子模型进一步分类,否则直接输出语种识别结果。
在这里插入图片描述
请添加图片描述
请添加图片描述

NMT中的预训练

MBART:大规模降噪自编码通用语言模型

  • 采用降噪自编码方式(DAE)训练,破坏原始输入并还原作为目标,设计联合连续掩码和句子重排的重构目标函数;
  • 连续编码使用λ为3.5的Poisson分布决定抽取跨度,并MASK抽取部分;
  • Noise function:使用重排序破坏原始句子,目标是恢复句子顺序;
  • Instance format:使用LID作为区分不同语言的标志作为结束符,也作为生成模块的bos token id;
  • 分别提出MBART25、MBART06和MBART02, MBART06使用六种欧洲语言, MBART02为双语版MBART模型,采样时使用平滑因子α均衡;
  • 训练配置:mBART25训练500k步,256 * V100,bs=128k,约2.5周。

在这里插入图片描述

在这里插入图片描述
NMT实验结果如下,能够看出在低资源语种翻译上提升更加明显;
在这里插入图片描述

下图对比了6个不同资源的语种效果提升情况,在很高资源语种下效果相比非预训练反而降低。
在这里插入图片描述
mBART06、25与双语的对比结果表明,对于低资源语种(My) ,增加相似语种的预训练会有效果提升;将02和06尝试微调到非预训练语种上( Ar、De和Nl ),结果表明即使预训练阶段没有相关语言知识,02、06依然能够表现出显著提升。

同时还发现,阿拉伯语的字母与02、06的语种都无任何关联,但这不影响NLU、NLG能力的获得,表明预训练阶段,模型确实能够捕捉跨语种关系,通过已知语种的语言特征推广到未知语种,在不同语种的相似词、语义之间建立映射。

分析:未知语言的翻译依靠模型对通用语言表征的学习程度,语言数量增加时模型的语言表征更加无偏,减轻了模型对单一语言或语种的过度拟合,对未知语言的翻译自然也提升了。

在这里插入图片描述
在这里插入图片描述

MBART50:扩展至更多语种

MBART25对语种的泛化依然不够,将语种数量扩大一倍,使其支持50种语言,减少了NMT模型需要从零训练的代价;微调阶段也采用多语种模式(Multilingual finetuning, ML-FT),即多对多微调,并设计三个方案:Many-to-one, one-to-Many , Many-toMany . 实验表明X→En相比双语带来了平均3.6%的提升;均衡采样使用温度因子而不是平滑因子;结果表明Many-to-one的效果提升更大,多源语言时模型可以有效构建多语表征,提升源语言的NLU能力,同时目标端的语言资源也得到了扩充。

作者验证了新增语言是否对原语言带来负面效果,实验表明并未出现下滑。
在这里插入图片描述

在这里插入图片描述

MBART应用于藏汉翻译优化

使用约200M中文单语料、150M藏语单语料;按Mbart方法训练双语预训练模型,复现相同配置的噪声函数;使用λ为3.5的Poisson随机抽取跨度;设置汉、藏两个语种LID ,代替原始NMT模型的eos_token,并应用于各自语种的句子。

训练步数370k,分别在100k、500k、5M、10M训练数据上微调(藏汉方向)至收敛,测试结果如下:
请添加图片描述

DeltaLM:联合单语和平行降噪提升跨语言对齐表示

使用预训练编码参数InfoXLM初始化编解码器;将编码器作为off-the-shelf的解码器,并使用编码器参数初始化,同时为解码器中的Self-Attention添加额外的FFN以有效对齐参数;使用单语和双语两种训练语料,分别设计span corruption和translation corruption任务,其中span corruption task用于促进多语语言知识迁移,而translation span corruption task是给定句对做span mask,有效促进双语料中的语义对齐;模型在机器翻译、问答、文本摘要等任务上有较大改善。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用6TB单语料、涵盖100种语言,以及88GB双语料(CCAligned and OPUS)、涵盖77种语言作为预训练语料;模型结构:(12 enc, 12 dec, 12 heads, 768 hid, 3072 ffn),训练600k步;
Span corruption中的掩盖比例是0.15,平均长度为3,translation corruption中的掩盖比例是0.5,平均长度为3;将英法、英德等10个语种的双语料整合训练;在En→X方面,文章工作也表现出最好效果,但提升幅度较X→En偏低。

在这里插入图片描述
在这里插入图片描述

联合文本重建与掩词预测的跨语言预训练方法

我们基于DeltaLM的一项改进,效果还是不错的。它以双语句对拼接作为模型输入,Poisson方法施加噪声破坏;我们提出两种降噪函数:

  • 文本重建:掩盖第二句的部分片段为单一MASK,目标是还原完整句子;
  • 掩盖预测:掩盖第二句的部分片段为单一MASK,目标是预测被掩盖部分(其它位置填充缺省值);
    其中掩盖预测的目标函数更偏重破坏位置的预测,使模型更着重于噪声还原;训练时联合单句+句对双模式进行,单句破坏类似双句中第二句处理方式;训练初期使用较大的跳跃步s和较小的泊松λ,然后逐渐降低s并增大λ.

在这里插入图片描述
效果改进如下:
请添加图片描述

MRASP:词级别跨语言知识迁移

一种多语平行语料的预训练方法;提出对齐替换(RAS)技术:通过对齐词或短语的替换更好拉近跨语言关系,使用MUSE获得其它随机语种译词,并执行当前词替换,构建code-switched句对,按翻译目标预训练。RAS提出的动机是解决跨语言词表之间的离散问题,尤其对于不相似语种。

算法打破高资源限制,大规模语料上依旧能提升;同时研究Exotic Directions(四种场景):预训练阶段模型未见过的语种支持度较好:

  • Exotic Pair 源、目标语种预训练阶段见过,但都只是单语料;
  • Exotic Source 只有目标语种预训练阶段见过;
  • Exotic Target 只有源语种预训练阶段见过;
  • Exotic Full 源、目标语种预训练阶段都没见过。

在这里插入图片描述
在这里插入图片描述
仅对源句中的词按30%概率执行RAS;在14个不同资源的语种上微调并测试,语种按资源量划分。

在这里插入图片描述
Exotic Directions 探讨,针对不同的未见场景测试,结果表明在所有场景下都有明显提升,尤其是Full下资源极低的语种对(NI-Pt),对其他低资源语种对提升幅度也较大。

在这里插入图片描述
对RAS进行消融实验,首先选择en-zh和en-af分别进行RAS消融对比,并绘制可视化词分布散点图,图中情况表明RAS确实拉近了跨语言同义词的距离:
在这里插入图片描述
选择MUSE中的top-1000个常用词,计算不同语种间的同义词余弦距离,对比如下:
在这里插入图片描述

同时进行机器翻译实验对比,结果如下:
在这里插入图片描述

专用词翻译

介绍

专用词翻译是指给定专用词参照,要求译文中必须包含该参照词,且位置准确合理。另一篇文章《机器翻译专用词开发实践》中我已经详细介绍了其原理、采样、匹配和查全等方法,有兴趣的可以移步去看。这里简要介绍Lexical- constrain方法。

Lexical-Constraint-Aware NMT

现有方法问题:采用替换源句中部分词为约束词的方法,对平行词典的质量要求较高;
对此提出一种自动词约束的方法,无需指定对齐词关系。方法如下:

  • Random sampling:从参考译文中随机选择词或短语,作为一种伪约束;
  • Packing together:添加到源句并使用sep符间隔。

在术语领域迁移翻译场景下,按术语在源句中的顺序依次拼接术语表的对应译词,但允许这些译词在未来的译文中顺序不同;
评价指标:BLEU值和CSR(Copy success rate),其中CSR指追加约束词在译文中成功翻译的比率。

专用词翻译效果如下:请添加图片描述
拼接词模式的目标函数(1是正常机器翻译目标函数,2是拼接模式):
在这里插入图片描述

用<sep>分隔每一项约束;使用位置编码(Positional Embedding),约束部分的编码大于源句最大长度;也使用分段编码(Segment Embedding),为源句和所有约束编号(效果如下图)。同时加入Pointer Network:解码步的预测分布为预测模式(predict mode)和拷贝模式(copy mode)的分布加权和。其中预测模式是Decoder softmax,即一般的翻译预测;拷贝模式分布来自Decoder最后一层的多头跨注意力权重均值。训练时采用如下方式:如果当前输出的词y作为约束存在源句中,则拷贝模式的概率分布正常计算,如果不作为约束则概率直接置0。

在这里插入图片描述

Pointer Network的目标函数计算方式:
在这里插入图片描述
g t g_t gt的计算如下:
在这里插入图片描述
g t g_t gt通过一个FFN计算,输入Encoder最终隐层输出的Attention加权和(Decoder最后一层多头attention weights均值)以及Decoder最终隐层输出 z t z_t zt;为确保机器翻译质量,保留一部分源句不约束。最终按[0.4; 0.1; 0.2; 0.2; 0.1]分布决定约束词数量(数量为选中位置的下标),实验效果(BLEU和CSR)对比如下:
在这里插入图片描述
而约束词翻译准确率如下(笔者认为这里叫召回率更贴切,因为CSR以约束词设定数为分母):
在这里插入图片描述
然后对Ptr、位置编码和分段编码进行消融实验,对比如下:
在这里插入图片描述

作者分析认为encoder具备关联约束与源句中对应词的能力;对于decoder翻译约束词时,跨注意力状态也表明了对encoder约束部分的权重较大。注意力可视化如下:
在这里插入图片描述

测试效果

借鉴论文中自动词约束的方法(不引入位置编码、分段编码和Ptr),训练NMT模型,并使用不同的约束词测试;在我们自己的通用英中翻译测试结果(hotwords 1k)如下表:

方向一般模型词约束
英汉59.6%84.05%
汉英55.65%92.49%

然后对单一case进行约束测试,测试结果表明encoder会自动将约束词关联到源句中含义最相近的词,比如当约束词为“飞速”时,受限定的为“快速”,而约束词为“取得”或“获得”时,则受限定的为“得到”。效果如下:
在这里插入图片描述
能够看出根据不同的拼接,模型具备了准确定位槽位的能力,而没有乱加词。

QE任务

任务描述: 在不依赖任何参考译文的情况下预测机器翻译质量的任务。

TransQuest

在这里插入图片描述

所有模型以XLM-R Large为初始参数,覆盖104个语种;工作分为MonoTransQuest和SiameseTransQuest两个框架:MonoTransQuest 输入源句+目标句的拼接,尝试了3种pooling策略:[CLS]、输出向量mean、输出向量max,输出到softmax层进行分数预测,实验发现[CLS]效果最好;SiameseTransQuest 源句和目标句分别送入两个不同的XLM框架,同样尝试上述三种策略,最终采用mean. 分数计算方法是两个向量的余弦相似度。

评价指标:HTER、Direct Assessment (DA)

  • HTER:基于翻译到译文的编辑次数,由两位人工翻译员同时给出;
  • DA:由3位专家通过分析句对直接给出分数,考虑了不同词或语义的错误严重性。

QE系统整体评价: Pearson相关系数,估算参考分数和模型预测的分布相似度。计算如下:在这里插入图片描述
实验结果如下:
在这里插入图片描述
在这里插入图片描述

Multi-TransQuest

认为现有QE模型会过多关注句对本身的语法、流畅度,不能充分考虑含义是否相近,此问题即partial input bias;对于句子本身合理的句对倾向于打高分(如下图);目标是Bias mitigation,提出多任务训练框架,两项支持辅助任务(Support auxiliary task)+两项对抗任务(Adversarial task):混合语种多任务训练;增强语料多任务训练;对抗训练;debiased focal loss. 训练偏差模型,通过仅译文就给出高分,再将分数权重化后衡量QE模型损失。
在这里插入图片描述

分别说明上述四种任务:

  • 混合语种多任务训练: 使用低偏差的语种(如RO-EN)训练集加入到待优化语种中(EN-DE或EN-ZH);
  • 增强语料多任务训练:扩大低质量句对数量( bad translations,人工实现partial input bias );
  • 对抗训练:为模型评价的target-only行为施加逆向梯度;
  • debiased focal loss:由偏差模型计算分数并转化为绝对误差,再转换为权重w,样本偏差越大则MSE越小(即weigh down)。

文献[24]使用debiased focal loss应用于多标签场景的NLI任务,函数设计如下:
在这里插入图片描述
而在Multi-TransQuest中形式如下:
在这里插入图片描述
多任务下单次训练执行一种任务,并采用单独AdamW和统一两种策略。
系统总体架构:
在这里插入图片描述
实验结果如下:
在这里插入图片描述
然后进行跨语种Zero-shot对比实验,分别使用EN-DE和EN-ZH(高偏差)训练,在RO-EN(低偏差)上测试,对比MonoTransQuest:
在这里插入图片描述

相关链接

  1. Wang C , Cho K , Gu J . Neural Machine Translation with Byte-Level Subwords[J]. 2019. (Byte-Level BPE)
  2. Doddington, G. (2002, March). Automatic evaluation of machine translation quality using n-gram co-occurrence statistics. In Proceedings of the second international conference on Human Language Technology Research (pp. 138-145). (NIST)
  3. Shao C, Feng Y. Overcoming catastrophic forgetting beyond continual learning: Balanced training for neural machine translation[J]. arXiv preprint arXiv:2203.03910, 2022.
  4. Zhao Y, Zhang H, Zhou S, et al. Active learning approaches to enhancing neural machine translation[C]//Findings of the Association for Computational Linguistics: EMNLP 2020. 2020: 1796-1806.
  5. Hu J, Neubig G. Phrase-level active learning for neural machine translation[J]. arXiv preprint arXiv:2106.11375, 2021.
  6. Ma S, Yang J, Huang H, et al. Xlm-T: Scaling up multilingual machine translation with pretrained cross-lingual transformer encoders[J]. arXiv preprint arXiv:2012.15547, 2020.
  7. Sennrich R, Haddow B, Birch A. Neural Machine Translation of Rare Words with Subword Units[C]//In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2016: 1715-1725. (BPE)
  8. Zhang J, Zong C. Exploiting source-side monolingual data in neural machine translation[C]//Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. 2016: 1535-1545.
  9. Edunov S, Ott M, Auli M, et al. Understanding back-translation at scale[J]. arXiv preprint arXiv:1808.09381, 2018.
  10. 张一鸣, 刘俊鹏, 宋鼎新, 等. 融合数据增强与多样化解码的神经机器翻译[J]. 厦门大学学报 (自然科学版), 2021.
  11. Fan A, Bhosale S, Schwenk H, et al. Beyond english-centric multilingual machine translation[J]. The Journal of Machine Learning Research, 2021, 22(1): 4839-4886. (M2M)
  12. Zouhar V, Pylypenko D. Leveraging neural machine translation for word alignment[J]. arXiv preprint arXiv:2103.17250, 2021.
  13. Choe Y J, Park K, Kim D. word2word: A collection of bilingual lexicons for 3,564 language pairs[J]. arXiv preprint arXiv:1911.12019, 2019. (Word2Word)
  14. https://github.com/facebookresearch/LASER/tree/master/tasks/ (CCMatrix)
  15. http://www.statmt.org/cc-aligned. (CCAligned)
  16. Liu Y, Gu J, Goyal N, et al. Multilingual denoising pre-training for neural machine translation[J]. Transactions of the Association for Computational Linguistics, 2020, 8: 726-742. (MBART)
  17. Ma S, Dong L, Huang S, et al. Deltalm: Encoder-decoder pre-training for language generation and translation by augmenting pretrained multilingual encoders[J]. arXiv preprint arXiv:2106.13736, 2021.
  18. Tang Y, Tran C, Li X, et al. Multilingual translation with extensible multilingual pretraining and finetuning[J]. arXiv preprint arXiv:2008.00401, 2020. (MBART50)
  19. Guillaume Lample, Alexis Conneau, Marc’Aurelio Ranzato, Ludovic Denoyer, and Herve J ´ egou. 2018b. ´ Word translation without parallel data. In 6th International Conference on Learning Representations, ICLR 2018, Vancouver, BC, Canada, April 30–May 3, 2018. (MUSE)
  20. Lin Z, Pan X, Wang M, et al. Pre-training multilingual neural machine translation by leveraging alignment information[J]. arXiv preprint arXiv:2010.03142, 2020. (MRASP)
  21. Chen G, Chen Y, Wang Y, et al. Lexical-constraint-aware neural machine translation via data augmentation[C]//Proceedings of the Twenty-Ninth International Conference on International Joint Conferences on Artificial Intelligence. 2021: 3587-3593.(Lexical-Constraint-Aware NMT
  22. Ranasinghe T, Orasan C, Mitkov R. TransQuest: Translation quality estimation with cross-lingual transformers[J]. arXiv preprint arXiv:2011.01536, 2020. (TransQuest)
  23. Behnke H, Fomicheva M, Specia L. Bias mitigation in machine translation quality estimation[C]//Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2022: 1475-1487. (Multi-TransQuest)
  24. Rabeeh Karimi Mahabadi, Yonatan Belinkov, and James Henderson. 2020. End-to-End Bias Mitigation by Modelling Biases in Corpora. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pages 8706–8716, Online. Association for Computational Linguistics. (Debiased focal loss应用于NLI)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值