基金项目:国家重点研发计划(2016QY02D0303); 国家自然科学基金(U1836221); 北京市科技计划(Z181100008918017)
通信作者:jjzhang@nlpr.ia.ac.cn
(1.中国科学院自动化研究所,模式识别国家重点实验室,北京 100190; 2.中国科学院大学,北京 100049)
(1.National Laboratory of Pattern Recognition,Institute of Automation,Chinese Academy of Sciences,Beijing 100190,China; 2.University of Chinese Academy of Sciences,Beijing 100049,China)
DOI: 10.6043/j.issn.0438-0479.201908034
传统的机器翻译评价方法往往需要参考译文,利用机器双语互译评估(BLEU)值等方法比较翻译结果与参考译文之间的相似性.但是,在现实生活中却很难为每一句待翻译的句子找到参考答案,因此,不使用参考译文的译文质量估计(quality estimation,QE)方法有着更加广泛的应用场景.在该文中,基于多语言的预训练语言模型,利用联合编码的策略完成句子级的QE任务,在WMT 2018的QE任务德语→英语语言方向上的评测数据集上取得了最佳的实验结果.同时,对比了微调过程中不同网络结构对于该任务的影响,并探究了平行语料联合编码二次预训练在句子级跨语言任务上的效果.
In recent years,neural machine translation has advanced greatly.Traditional machine translation evaluation methods generally require references,such as BLEU(bilingual evaluation understudy).These methods aim to compare similarities between candidate and reference.However,in practice,it is difficult for us to find a reference for each source sentence.Therefore,the quality estimation(QE)application scenario is more extensive.In this paper,we use the multi-language pre-trained language model,with the joint-encoding strategy to complete the sentence-level QE task.Experiments show that our model can obtain outstanding results in WMT 2018 QE Shared Task German→English language direction.At the same time,we also compare the impact of different network structures on the task.Finally,we explore the effect of the secondary pre-trained of parallel corpus on the cross-lingual sentence tasks.
随着神经机器翻译(neural machine translation, NMT)的发展,在线机器翻译平台可以给用户提供更合适、更流畅的翻译体验.不同的翻译模型结合不同种类的解码方法[1-2],如循环神经网络(recurrent neural network,RNN)[3]、卷积神经网络(convolutional neural network,CNN)[4]、Transformer[5]等,在不同句子上取得的翻译效果也不尽相同[6].机器翻译的译文质量估计(quality estimation,QE)任务[7-8]旨在无参考译文的前提下,对翻译结果的质量进行评估.
目前,机器翻译QE常用基线模型为QuEst++[9].随着深度学习的发展,越来越多的研究人员开始使用神经网络来解决这一问题.2014年,Zhang等[10]提出双语短语嵌入方法用于短语级别的译文QE任务.2015年,Kim等[11]提出了一种基于RNN的预测-估计框架POSTECH用于词级别和句级别的QE任务.UNQE(the unified neural network for sentence-level QE tasks)[12]是由POSTECH修改而来的,它将预测和估计结合在一起,帮助其特征提取器获得更多有用的信息.目前,Bilingual Expert[13]是QE任务上的最佳模型,其特征提取器基于双向Transformer,通过一个单向Transformer解码重构目标句子,并在大规模双语语料上进行预训练.DeepQuEst[14]则是一种简单快速的神经网络模型,主要解决句子级和篇章级的QE问题.
当前,大部分句子级的QE任务的目的在于预测翻译结果需要人工后编辑的工作量,WMT每年举办的QE评测任务就是针对该问题.在数据构建过程中,往往需要专家对翻译结果进行后编辑,之后通过计算翻译结果与后编辑标准译文的编辑距离(WMT往往使用TERp[15]进行计算)来代表工作量的大小.
POSTECH[11]、UNQE[12]、Bilingual Expert[13]、DeepQuEst[14]等基于神经网络的特征提取器考虑了源语句信息,但它们的主要模块是关于目标语言的语言模型.显然,源语句中的词汇和其翻译结果中的词汇的交互程度小,信息传递不充足,而这种交互在QE任务中可能会更加有效.
随着EMLo(embeddings from language models)[16]、GPT[17]、BERT(bidirectional encoder representations from Transformers)[18]等预训练语言模型的出现,多语言预训练语言模型,如Multilingual BERT(下文简称Multi-BERT)、XLM[19]等也吸引了人们的注意.这些模型都基于一种能使输入句子内词汇(token)之间进行充分交互,以得到更好的词汇表示与句子表示的神经网络结构Transformer.因此,本研究提出了一种基于Multi-BERT和联合编码的预训练语言模型来完成句子级的QE任务,并使用多种不同的网络结构进行微调,以探究其对于BERT隐层状态的应用效率.
虽然Multi-BERT是多语言的,但在其预训练过程中仍然是一种语言接着一种语言的训练.为了调整模型,使其对源句和目标句组合的输入更加熟悉,本研究采用跨语言联合编码的方法,使用少量平行语料对Multi-BERT进行二次训练.
模型架构和输入方式与Mulit-BERT的方式保持一致,其中,层数L=12,隐层状态H=768,多头注意力头数Nhead=12.输入表示也与原始模型相同.本研究并未像XLM[19]那样改变位置嵌入,以强调源句相较于译文的优先顺序.
预训练任务同BERT一样,包括被遮蔽符号[MASK]遮蔽的词汇的预测和是否互为译文的预测两部分.与BERT的预训练过程不同,本研究强制要求[MASK]只能出现在目标句中,使该模型能够捕获所有的源信息,从而能够方便地预测目标句中带[MASK]标记的单词块.整个过程可以用图1描述.
本节将简要介绍本研究提出的基于Multi-BERT预训练语言模型的QE方法的网络结构.正如前文提到的,本研究使用了多种不同的网络结构对预训练语言模型进行微调,其中主要的几类网络结构描述如下.
为了处理长距离依赖关系,在BERT后面应用了一个单层的双门循环单元(gate recurrent unit, Bi-GRU)[20]对BERT进行微调.具体计算方法如下:
h→GRU-i=GRU^→(hLBERT-i⊕αLBERT-i),(1)
h←GRU-i=GRU^←(hLBERT-i⊕αLBERT-i).(2)
其中:hLBERT-i为BERT第L层第i个位置词汇的隐层向量; αLBERT-i为BERT第L层第i个位置词汇的注意力向量; ⊕为拼接符号,将两个向量拼接在一起; h→GRU-i和h←GRU-i分别为通过前向和后向GRU之后第i个位置词汇的隐层向量.
将两个方向最终状态进行拼接,并通过权重矩阵得到分数
Sq=W[h→T⊕h←T],(3)
其中,W为权重矩阵,T为句子长度,hT→和hT←分别为前向和后向两个方向的最后一个GRU单元的隐层向量.图2是该模型的示意图.
“BERT+信息交互”将原文和译文组成的句对看作一张图,先通过BERT学习到的注意力作为图中节点与节点之间的连接权重,每个词汇为图中的节点,再根据类似于图卷积网络(graph convolutional networks,GCN)[21]的思想,即通过额外的信息交互来得到更好的词汇(节点)向量表示和句子向量表示.具体计算方法如下:
Hj+1=ReLU(A×ReLU(AHjW0)W1),(4)
αki=1/(Nhead)∑Nheadd=1αki,d,(5)
Hj=[hj1; hj2; …; hjTT].(6)
其中:A∈RT×T为BERT最后一层的注意力权重矩阵,其每个元素αki为第i个词汇对第k个词汇的注意力权重,是多头注意力αki,d的平均值; Hj∈RT×D为第j次信息交互中每个节点表示hji(i=1,2,…,T)组成的矩阵,D为该层节点表示的维度; W0、W1∈RD×E为权重矩阵,E为输出的节点向量维度,本研究选择使用ReLU(rectified linear unit)作为微调结构中的激活函数.
对图中所有词汇的向量表示求取平均值hgraph,作为当前句子的向量表示.通过权重矩阵得到QE分数,计算方法如下:
hgraph=1/T∑Ti=1hi,(7)
Sq=Whgraph,(8)
其中hi为最后一次信息交互中每个节点的隐层向量.
该模型如图3所示,融入了多种特征,包括通过BERT得到的隐层表示,通过多语言模型LASER(language-agnostic sentence representations)[22]得到的跨语言相似度特征以及WMT提供的Baseline特征等.具体计算方法如下:
h→GRU-i=GRU^→(hLBERT-i⊕hLASER),(9)
h←GRU-i=GRU^←(hLBERT-i⊕hLASER),(10)
hLASER=MLP(hL-source⊕hL-target).(11)
其中,hLASER是源语句的LASER隐层向量hL-source和翻译结果的LASER隐层向量hL-target通过多层前馈神经网络MLP得到的相似性度量特征,并将其拼接到每一个位置词汇的BERT隐层表示上,共同输入Bi-GRU中.
在得到Bi-GRU的隐层表示之后,拼接上归一化的Baseline特征,进行质量分数的估计.如下式所示:
Sq=W[h→T⊕h←T⊕hB],(12)
其中hB表示17维常用Baseline特征组成的向量.
图3 基于Multi-BERT的BERT+Bi-GRU+LASER+Baseline模型示意图
Fig.3 BERT+Bi-GRU+LASER+Baseline model based on Multi-BERT
除了上述模型外,本研究还在BERT上套接了单层长短时记忆(LSTM)网络、直接使用BERT最后一层中[CLS]位置对应的隐层向量、分立编码简单拼接等模型上进行了对比实验,在此不再赘述其公式计算方法.
最后采用Sq最小化均方误差进行参数优化,公式如下:
RMSE=1/n∑ni=1(lhter,i-Sq_i)2,(13)
其中,lhter,i为第i个样本的QE标签,Sq_i为模型对第i个样本的预测分数,n为样本数量.
本节实验在WMT 2018 QE任务中的德语→英语语言方向上进行,其中,测试集包含原文和翻译结果,未公布分数标签,用户需要将测试集打分结果提交至CodaLab方可查看比赛结果.
训练集、验证集和测试集中的句对数分别为26 032,1 000和1 254,其中,训练集和验证集均包含原文、翻译结果、分数标签和标准翻译答案,测试集仅包含原文及其对应的翻译结果.
在实验中,Multi-BERT在104种语言上进行训练,具有12层双向Transformer,参数总量为1.1×108.训练过程中,限制训练轮数为3,学习率为2×10-5,批量大小为 32,序列最大长度为128.
将模型得到的测试集打分结果提交至CodaLab,表1是网上公布的评测结果.Pearson表示皮尔逊相关系数,Spearman表示斯皮尔曼相关系数,用来评价译文的质量估计.
表1 WMT 2018 QE Shared Task德语→英语测试集实验结果
Tab.1 The official result of WMT 2018 QE Shared Task German→English test dataset
表格中的模型简写具体描述如下:
Parallel Trained Multi-BERT+Bi-GRU+LASER+Baseline为使用平行语料二次训练Multi-BERT后进行Bi-GRU+LASER+Baseline微调;
Original Trained Multi-BERT+Bi-GRU+LASER+Baseline为使用原始的Multi-BERT作为基础模型进行Bi-GRU+LASER+Baseline微调;
UNQE为基于RNN,将特征提取与评估打分两个部分融合起来的QE模型,在德语→英语方向上取得最佳的效果;
Blingual Expert为利用双向Transformer进行特征提取,单向Transformer做解码重构,基于超大规模语料训练得到的高质量特征表示的QE模型,在WMT 2018 QE多个语言方向的评测中均取得最佳效果;
Baseline-QuEst++为基线模型,QuEst++基于规则的方法做特征提取,使用支持向量回归(support vector regression,SVR)方法进行打分.
通过对比可以发现,基于平行语料二次训练之后的Parallel Trained Multi-BERT+Bi-GRU+LASER+Baseline模型在任务上取得最好的效果,明显超过当前的最佳模型,并且该模型不需要额外通过超大规模的平行语料进行预训练,仅需一定规模的平行语料对Multi-BERT进行联合编码的适应性训练即可达到非常好的效果.
本节主要探究使用不同种类的神经网络结构微调的实验结果差异.由于测试集标准分数标签未公布,为了方便实验,本节的结果比较均在验证集上完成,本节的实验设置同3.2.1节.
实验结果如表2所示,其中,BERT-CLS模型是使用BERT作回归任务的基础结构,BERT+Bi-GRU+Split模型表示使用Multi-BERT对原文和译文单独编码之后拼接送入Bi-GRU中.可以发现不同种类的神经网络应用在微调阶段取得的效果差别不大.相比之下,融合外部特征的模型,如BERT+Bi-GRU+LASER+Baseline和BERT+Bi-GRU+LASER能够在相关性上取得更大的提升.
其中,值得注意的是BERT+Bi-GRU-Split模型
表2 神经网络结构对WMT 2018 QE任务中德语→英语验证集上实验结果的影响
Tab.2 The influence of neural network architecture on WMT 2018 QE Shared Task German→English valid dataset's result
的效果非常差,相关性很低.这是由Multi-BERT本身的性质决定的,预训练的语言模型会根据上下文改变词向量,原文和译文单独编码,二者之间无法交互,产生的句子表示之间没有关联,最终拟合得到的分数也不可靠.因此,针对句对任务,推荐将其直接拼接送入BERT之中,让BERT模型内部去完成交互的过程.
本节实验仍然在WMT 2018 QE任务中德语→英语语言方向的验证集上进行.用于联合编码二次预训练的平行语料来源于WMT 18新词翻译任务中的Europarl v7.从中随机挑选了2×106个平行句对,使用BERT构造训练样本的方法,对于每一句原文的向量表示x,将其与翻译结果的向量表示y拼接作为正例,同时随机从语料中挑选4句目标语言的句子作为负例; 在拼接好的句子中的目标语言部分(y)中随机遮蔽15%的词汇进行词预测任务.
通过这种方法构造约9.7×106个训练样本,拼接起来输入到Multi-BERT中进行联合编码的二次预训练.在1块GPU上训练了不到7 d的时间,最终在是否互为译文任务上能够达到98%~100%的准确率.其余实验设置与3.2.1节一致.
表3为3个主要模型在验证集上的实验结果,Parallel Trained Multi-BERT表示使用平行语料二次预训练Multi-BERT得到的模型为基础进行微调,Original Trained Multi-BERT表示以原始训练的Multi-BERT作为基础模型进行微调.
可以发现,相比于以Original Trained Multi-BERT作为基础模型,以Parallel Trained Multi-BERT为基础模型的相关系数能够取得1.4~3.5个百分点的提升.这说明,使用平行语料联合编码预训练的方式一方面可以使模型熟悉这种输入方式,同时也能够获得更好的跨语言词汇表示,进而在QE任务上有更加突出的表现.
值得关注的是,BERT+信息交互的模型对于基础模型的变化非常敏感.相比于以Original Trained Multi-BERT作为基础模型,在Parallel Trained Multi-BERT上微调能够在Pearson相关性上取得近4个百分点的提升.
任务上的优势
本节对Parallel Trained Multi-BERT的优势进行简要分析.为了使读者更加明确看出规律,这部分的分析实验使用中文→英文的平行语料对Multi-BERT进行联合编码训练,分析过程也都在中文→英文上进行,获得的结果与使用德语→英语获得的结果大体一致.
虽然预训练语言模型能够使得同一词在不同句子中具有不同的向量表示,但如果将跨语言的句子对组合起来输入到Multi-BERT中,就不能保证词汇表示仍然具备较高的质量.本研究认为联合编码的二次训练策略可以在一定程度上改变单词的嵌入空间.
在两种不同的语言中,语义相似的词可以相互接近.为了验证该假设,采用多语言无监督和有监督嵌入(multilingual unsupervised and supervised embeddings,MUSE)[23]中的双语词典,将单词输入Original Trained Multi-BERT和Parallel Trained Multi-BERT中,得到单词的向量表示.当每个单词被分割成单词块时,计算所有单词块嵌入的平均值作为该单词的表示.
之后计算每个词对的余弦相似度,包括内部语言词和外部语言词.表4中列出了最相似的5个单词中出现其翻译词汇的数量统计.对于中文或英文单词,使用Parallel Trained Multi-BERT得到单词嵌入进行相似度计算,其在相对语言中的翻译词出现在最相似词汇表前5(Top@5)中的比例为41.73%,比Original Trained Multi-BERT的高出很多.可见拉近跨语言词汇的空间距离,能够从细粒度刻画翻译质量的优劣,因此能够在QE任务上带来一定的提升.
通过观察从源语言句子到目标语言句子的注意力权重情况,发现在两种语言中具有相似语义的单词可以在使用Parallel Trained Multi-BERT中相互注意到,如图4(a)所示; 而Original Trained Multi-BERT则只为单词提供了大致平均的注意力权重,如图4(b)所示.
图4 不同语言模型的跨语言注意力权重可视化
Fig.4 Cross-lingual attention weight visualization in different language models
本研究发现联合编码的预训练还可以帮助不同语言间有关系的单词相互注意,尤其是具有相似语义的单词.
结合在3.4节中的发现,利用信息交互对Parallel Trained Multi-BERT进行微调取得了最佳的效果,相比于对Original Trained Multi-BERT进行微调,模型QE性能提升明显.结合图神经网络的思想,不难发现,平行语料联合编码使跨语言的句对词汇间的注意力变得明确,这意味着该句对形成的有向图的邻接权重矩阵A有了更加准确的数据支持,通过信息传递使词汇的表示更加有效.
本研究提出了一种基于Multi-BERT跨语言联合编码预训练的语言模型的译文QE方法,该方法利用跨语言联合编码的策略,使用平行语料改进跨语言词汇的表示,在WMT 2018 QE评测德语→英语语言方向上取得了最佳的效果,相比于之前的模型均有明显的提升.
进一步的研究工作将从以下两个方面展开:1)在其他语言方向上进行相关实验,验证模型在其他语言方向上的效果; 2)设计满足多语言方向的QE模型,减少实际应用过程中因为语言方向不同而带来模型众多的问题,进而减少资源的浪费.