2. 南通大学 信息科学技术学院, 江苏 南通 226019
2. School of Information Science and Technology, Nantong University, Nantong 226019, China
机器翻译研究如何将基于一种自然语言描述的文本自动翻译成基于另一种自然语言描述的文本, 是自然语言处理的一个重要研究问题.传统的机器翻译系统主要采用统计机器翻译模型[1].近年来, 随着深度学习的发展和应用, 基于序列对序列模型(sequence to sequence model)的神经机器翻译模型[2]在很多语言对的机器翻译任务上都超过了统计机器翻译模型.神经机器翻译模型不仅有很高的研究价值, 还有很强的产业化能力[3], 目前主流的翻译服务提供商(例如, 谷歌翻译、必应翻译、百度翻译、腾讯翻译等)都提供了在线神经机器翻译服务.
尽管神经机器翻译为机器翻译任务带来了极大的性能上的提升, 但仍存在一些问题.例如, 对长句子和低频词语的翻译效果不佳, 翻译结果和词对齐模型不符等[4], 并且, 这些错误出现的规律和原因往往难以被发现.与统计机器翻译模型相比, 神经机器翻译系统还存在更为显著的鲁棒性问题[4].Cheng等人[5]指出, 对输入语句做出的极小改变可能会引起翻译结果的剧烈改变, 如同“蝴蝶效应”.此外, 目前商用的神经机器翻译系统较多, 但由于神经网络模型结构和训练数据的差异, 各神经机器翻译系统的稳定性并不一样.图 1和图 2分别展示了谷歌和百度的神经机器翻译系统在翻译3个近似句子时的不同结果.3个待翻译英文句子在结构上完全相同, 在内容上仅句尾单词含义不同, 但是它们经过谷歌和百度的神经机器翻译系统翻译得到的翻译结果却出现了较大的差异.谷歌翻译在第2个和第3个句子上出现了翻译错误, 而百度翻译在第1个句子上出现了翻译错误.
显然, 对神经机器翻译系统进行翻译鲁棒性评估具有重要的现实意义和研究意义.目前在该领域还缺乏相关研究.传统的机器翻译质量评估通常采用基于参考译文的方法, 侧重翻译的正确性.而神经机器翻译系统采用的神经网络模型导致其与传统的统计机器翻译模型相比存在更为显著的翻译鲁棒性问题, 亟需合理的测试手段和评估指标.如何对神经机器翻译系统进行测试和质量评估具有一定的研究挑战性.目前, 这种挑战性主要体现在两个方面.
神经网络模型的测试困难性.神经机器翻译系统采用的神经网络模型缺乏可解释性和可理解性[6].在进行神经机器翻译时, 待翻译语句在神经网络结构中会被转换为多维向量, 这种转换涉及到的步骤繁杂, 参数众多, 很难理解每一个步骤的实际含义.另一方面, 神经网络模型对训练数据具有很强的依赖性, 相同的网络结构在不同的训练数据集下, 训练出的参数取值会存在较大差异, 造成输出的稳定性较低.
机器翻译任务的评估困难性.翻译质量通常基于参考译文进行评估, 即给定人工翻译结果, 与神经机器翻译系统输出的翻译进行比较, 并通过相似度指标进行量化.但这种方法完全依赖于参考译文的质量, 而高质量的参考译文获取的难度较大, 成本很高.
神经网络模型的测试困难性意味着采用白盒测试方法可行性较低, 而机器翻译模型的黑盒测试方法通常基于参考译文, 成本较高.为了解决上述研究挑战, 实现在没有参考译文情况下对神经机器翻译系统进行有效的翻译鲁棒性评估, 本文基于蜕变测试思想提出了一个多粒度的蜕变测试框架MGMT(multi-granularity metamorphic test).MGMT首次采用多粒度的蜕变测试方法进行质量评估, 分别在句子、短语和单词粒度上定义了蜕变关系以及相似度计算方法, 并基于蜕变关系对每一个句子进行3个粒度上的蜕变测试, 最后用蜕变关系满足率作为神经机器翻译系统的鲁棒性量化指标.同时, 我们基于MGMT框架开展了实证研究, 采用一个公开的中英翻译数据集UM-Corpus[7], 选取其中5个领域(教育、微博、新闻、口语、字幕)的英文句子集作为源数据集, 在MGMT测试框架下对现有的、使用广泛的大型神经机器翻译系统(包括谷歌翻译[8]、必应翻译[9]、百度翻译[10]、阿里巴巴翻译[11]、腾讯翻译[12]、搜狗翻译[13])进行质量评估.最后将数据集中的中文句子作为参考译文, 以基于参考译文的方法为基准, 与同类型的蜕变测试方法进行比较, 以证明MGMT相比于同类型方法在评估准确度上有显著的优越性.
本文第2节对已有的面向神经机器翻译系统的质量评估和测试工作进行总结.第3节介绍本文提出的多粒度蜕变测试框架, 描述测试流程、蜕变关系定义以及相似度计算方法.第4节针对6个主流商用神经机器翻译系统在一个多领域的翻译数据集上进行实验, 并用同类型蜕变测试工作与基于参考译文的测试方法进行对比, 以证明本文方法的有效性.第5节进行总结与展望, 对本文工作进行总结并阐明未来可能的工作方向.
2 相关工作传统的机器翻译系统质量评估并不区分正确性和鲁棒性, 通常用翻译质量来衡量系统质量.Eirini[14]总结了两类翻译质量评估方法.一类是人工评估, 即由专业译者来判断翻译质量的好坏.人工评估的优点是评估结果最接近实际, 但是时间成本和人力成本都较高.另一类方法是基于参考译文进行评估, 即给定翻译好的参考译文, 将机器翻译的输出结果与参考译文进行相似度指标计算, 最常用的指标有BLEU[15]、METEOR[16]、WER[17]等.基于参考译文的方法相对于人工方法成本有所降低, 但是高质量参考译文的获取难度较大, 成本仍然很高.
如何在没有参考译文的情况下对神经机器翻译系统进行质量评估是一项困难的任务.神经机器翻译系统采用的神经网络模型具有参数规模大、可理解性弱的特点, 且普遍存在测试预言问题.测试预言问题[18]是指在测试中对于某个输入需要给定预期的输出来判断系统实际输出的正确性.Wang等人[19]总结了目前常见的解决深度神经网络系统测试预言的方法, 将其分为两类.第1类基于差异测试[20], 即通过检测同一输入在基于相同规约的实现下的输出是否相同来判断是否出错.另一类基于蜕变测试[21], 即通过定义蜕变关系来描述系统的输入变化和输出变化之间的关系.在以往的神经机器翻译系统质量评估工作中, 基于蜕变测试的方法较为常见, 这种方法的关键在于蜕变关系的定义.
Milam等人[22]提出用往返翻译RTT(round-trip translation)在无需参考译文的情况下可以对机器翻译系统进行测试的有效性.基于RTT构造的蜕变关系是: 源语句通过神经机器翻译系统翻译到目标语言, 再翻译回源语言得到的翻译结果应该与源语句相同.
Daniel等人[23]提出了一种结合蒙特卡洛随机算法和蜕变测试的方法MCMT(Monte Carlo combined metamorphic test), 以此来衡量神经机器翻译系统的质量.它定义了一种类似RTT[22]的蜕变关系: 源语言经过神经机器翻译系统直接翻译到目标语言, 与源语言先使用蒙特卡洛算法随机翻译到一种中间语言, 再翻译到目标语言得到的两个翻译结果应该相同.
Zhou等人[24]在Daniel等人[23]工作的基础上提出了新的神经机器翻译系统质量评估方法MT4MT.该方法使用基于词替换的蜕变关系: 替换源语句中的一个单词, 不会影响翻译语句的结构.同时, MT4MT有针对性地设计了一些简单的替换规则.
此外, 有部分工作研究如何在无需参考译文的情况下进行机器翻译系统的翻译错误定位.He等人[25]提出了结构不变性测试(structure-invariant test, 简称SIT)以发现系统的翻译错误.结构不变的含义是指, 上下文含义相近的句子在结构上应该相同.具体做法是, 将源语句中的某个词通过BERT遮蔽语言模型[26]进行替换, 生成上下文相似的句子, 最后再比较这两个句子的结构相似度.Zheng等人[27]也提出了一种自动测试神经机器翻译系统的方法, 通过短语识别和联系学习可以自动发现神经机器翻译系统的过译(over-translation)和漏译(under- translation)错误.Shashij等人[28]提出了一种翻译错误的自动检测方法, 借助句子的成分句法分析树将句子中的短语独立出来, 通过比较短语在句子中和独立翻译的结果来自动发现系统的翻译错误.Sun等人[29]提出了一个结合测试与修复的框架TransRepair, 在测试阶段也采用了基于词替换的方法来生成上下文相似句子.
但是, 上述基于蜕变测试的工作仍然存在不足之处.MCMT [23]采用随机算法来选择中间语言, 但不同语言的翻译效果有较大差异, 会对实验产生干扰.MT4MT[24]设计的替换规则过于主观, 能被替换的词的范围较小.另外, 基于蜕变测试的已有工作都只采用了一种蜕变关系来进行蜕变测试, 实验结果缺乏说服力.
针对已有研究工作存在的不足, 本文提出了一个多粒度的蜕变测试框架MGMT, 可以在无需参考译文的情况下对神经机器翻译系统进行鲁棒性评估.MGMT与已有方法有较大区别.首先, MGMT与已有工作的目的不同.已有工作旨在利用蜕变测试思想对神经机器翻译系统的翻译性能进行评估(例如RTT[22]、MCMT[23])或定位翻译错误的样本(例如SIT[25]、TransRepair[29]), 主要关注翻译的正确性; 而MGMT的主要目的是借助蜕变测试对神经机器翻译系统的整体鲁棒性进行评估, 主要关注翻译的稳定性.具体来说, MGMT与RTT[22]、MCMT[23]、MT4MT[24]都基于蜕变测试对神经机器翻译系统进行整体性评估且不需要参考译文, RTT[22]、MCMT[23]、MT4MT[24]基于单一蜕变关系来评估翻译质量, 但MGMT旨在以合理的方式评估翻译系统鲁棒性, 因此使用了3种符合翻译直觉的蜕变关系(具体细节可参考第3.2节中的蜕变关系定义).MGMT中短语和单词粒度的测试样本生成思路受SIT[25]和TransRepair[29]的启发, 用替换的方式生成测试样本, 但SIT[25]的目的是尽可能地发现更多的翻译错误, 因此采用了尽可能多且独立于替换方法的相似度计算方法, 而MGMT为确保鲁棒性评估的合理性, 采用了一一对应的替换方法和相似度计算方法.
3 多粒度的蜕变测试框架在本节中, 首先介绍框架的整体架构和测试流程(见第3.1节).其次介绍框架中的主要模块设计, 包括句子粒度、短语粒度、单词粒度上的蜕变关系定义(见第3.2节).之后介绍MGMT框架中如何选择待替换成分并进行成分替换(见第3.3节)以及如何进行各粒度上的相似度计算(见第3.4节).
3.1 整体架构本文提出的面向神经机器翻译系统的多粒度蜕变测试框架MGMT大致可分为3个部分.图 3展示了从源语句输入到蜕变关系判定结果输出的主要流程.
(1) 选择源语句中的待替换成分.根据MGMT中定义的蜕变关系(见第3.2节), 对源语句进行句子、短语、单词粒度的替换.因此, 首先要在3个粒度上选择源句子中需要替换的成分.在MGMT的设计中, 源句子在句子粒度上的待替换成分即为整个句子.接着进行待替换单词和待替换短语的选择.我们对源语句进行成分句法分析, 得到句子的成分句法分析树, 再使用DeepSelect算法(见第3.1.1节)在成分句法分析树上进行选择.在图 3所示的例子中, 我们根据分析树选择了一个NNP(proper noun, singular)词性单词作为待替换单词和一个ADJP (adjective phrase)词性短语作为待替换短语.
(2) 对源语句进行成分替换.句子粒度上的替换基于RTT[22]思想.RTT包含正译(forward translation, 简称FT)和回译(backward translation, 简称BT), 正译是指将文本从源语言翻译到目标语言, 回译是指将正译得到的翻译结果翻译回源语言.我们先将源语句正译到目标语言, 再回译到源语言以得到句子粒度的替换结果.短语粒度和单词粒度上的替换基于BERT遮蔽语言模型[26].本文将上面(1)中选中的待替换单词和短语用遮蔽词替代, 再输入BERT遮蔽语言模型中, 该模型可以根据句子的语境预测被遮蔽位置的词.最后用预测出的结果替换源句子中相同位置的单词和短语以得到短语粒度和单词粒度的替换结果.
(3) 翻译并对翻译结果进行相似度计算.将源语句连同上面(2)中3个粒度的替换语句输入到神经机器翻译系统中得到4个目标语言翻译结果, 并分别对3个粒度上的替换语句和源语句的翻译结果进行相似度计算.在句子粒度上, 根据编辑距离[12]分别计算源语言句子对和目标语言句子对的相似度.在短语和单词粒度上, 考虑到选择待替换成分是基于成分结构分析树的, 因此在计算目标语言句子对相似度时也基于句子的成分结构分析树.最后根据相似度计算结果判断是否满足MGMT定义的蜕变关系(见第3.2节).
3.2 蜕变关系定义为了利用蜕变测试对神经机器翻译系统进行合理的翻译鲁棒性评估, 在本节中我们定义了句子、短语和单词3个粒度的蜕变关系.这3个蜕变关系的定义基于对翻译任务的常理性推断.句子粒度的蜕变关系基于: 源语句的直译结果与源语句经过多轮翻译得到的翻译结果应该接近.短语和单词粒度的蜕变关系基于: 改变源语句中的一小部分, 那么源语句其他部分的翻译结果应该不变.下文第3.2.1节、第3.2.2节和第3.2.3节分别详细介绍句子、短语、单词粒度的蜕变关系定义及判定方法.
3.2.1 句子粒度蜕变关系RTT[22]是在没有参考译文情况下的一种常用机器翻译系统测试手段.其测试流程是首先将源语言正译成目标语言, 再将目标语言翻译结果回译到源语言, 最后通过比较两个源语言句子来评估机器翻译系统的质量.本文在RTT“正译-回译”流程的基础上添加1次正译, 由此定义了句子粒度的蜕变关系MRsl.
定义1(句子粒度蜕变关系MRsl).设源语言句子为S, 将S经过神经机器翻译系统正译得到目标语言翻译结果St, 再将St通过神经机器翻译系统回译到源语言得到翻译结果S1, 最后将S1通过神经机器翻译系统再一次正译到目标语言得到St1, 那么S、S1、St、St1应满足:
$Similarity({S_t},{S_{t1}})/Similarity(S,{S_1}) \geqslant 1$ | (1) |
公式(1)的含义是, 用目标语言句子对与源语言句子对相似度的比值来评估基于句子粒度的翻译鲁棒性, 目的是排除回译对实验的影响.MGMT框架实际评估的是神经机器翻译系统在源语言到目标语言翻译(正译)上的翻译鲁棒性, 然而句子粒度的替换过程(如图 3所示)涉及到一次回译.回译采用的神经机器翻译模型是与正译采用的神经机器翻译模型相互独立的, 因此在回译阶段产生的翻译错误会影响第2次正译.例如, 在某次测试过程中, 正译的翻译质量极高而回译的翻译质量很低, 直接以Similarity(S, S1)或Similarity(St, St1)评估翻译质量都会导致评估值远高于真实值.因此, 我们在公式(1)中用Similarity(St, St1)/Similarity(S, S1)作为翻译质量的评估值, 意在为低质量的回译过程增加一个补偿因子: 如果某次回译过程翻译质量较差(Similarity(S, S1)较小), 那么正译翻译质量分数应得到部分补偿(即Similarity(St, St1)/Similarity(S, S1)的值会增大); 若回译过程翻译质量较好(即Similarity(S, S1)接近1), 那么翻译鲁棒性的真实值也更接近目标语言句子对的相似度Similarity(St, St1), 而此时公式(1)中的评估值Similarity(St, St1)/Similarity(S, S1)也更接近Similarity(St, St1).
3.2.2 短语粒度蜕变关系一个句子由单词构成, 不同的单词能够组成不同的短语结构.以英文句子为例, 短语结构可分为名词性短语(noun phrase, 简称NP)、动词性短语(verb phrase, 简称VP)、介词性短语(prepositional phrase, 简称PP)、副词性短语(adverb phrase)等.将源句子中某个短语结构替换为另一个近似的短语结构之后, 源句子和替换后句子经过神经机器翻译系统翻译得到的翻译结果的结构应该相同.本文由此定义了短语粒度的蜕变关系MRpl.
定义2(短语粒度蜕变关系MRpl). 设源语句为S, 替换S中的某个短语产生结构相似的替换语句Sp.再将S和Sp通过神经机器翻译系统翻译到目标语言得到结果St和Spt.那么, St和St应满足:
$StructureSimilarity({S_t},{S_{pt}}) = 1$ | (2) |
公式(2)的含义是源语句S和短语替换语句Sp经过神经机器翻译系统的翻译结果St和Spt在结构上应该相同.本文用基于成分句法分析树的相似度计算方法(见第3.3.3节)来计算St和Spt的结构相似度.结构相似度的取值范围在0~1之间, 取值为0时, 说明两个句子的句法分析树结构完全不同, 取值为1时, 说明两个句子的句法分析树结构完全相同.
3.2.3 单词粒度蜕变关系一个句子由单词构成, 不同的单词有着不同的词性, 处在不同的句子结构块中.将源句子中的某个单词替换为相同上下文的近似单词, 那么源句子和替换后的句子的翻译结果在结构上应该相同.本文由此定义了单词粒度的蜕变关系MRwl.
定义3(单词粒度蜕变关系MRwl). 设源语句为S, 替换S中某个单词产生结构相似的替换语句Sw, 再将S和Sw通过神经机器翻译系统翻译到目标语言得到结果St和Swt.那么, St和Swt应满足:
$StructureSimilarity({S_t},{S_{wt}}) = 1$ | (3) |
公式(3)的含义是源语句S和单词替换语句Sw经过神经机器翻译系统得到的翻译结果St和Swt在结构上应该相同.同样, 我们用基于成分句法分析树的相似度计算方法(见第3.3.3节)来计算St和Swt的结构相似度.结构相似度的取值范围为0~1, 取值为0时, 说明两个句子的句法分析树结构完全不同, 取值为1时, 说明两个句子的句法分析树结构完全相同.
3.3 替换 3.3.1 选择待替换成分根据MGMT定义的蜕变关系(见第3.2节), 对于一个测试样本要在3个粒度上进行基于替换的蜕变测试, 因此首先要在句子、短语、单词3个粒度上选择源语句中要被替换的成分.
句子粒度的待替换成分即整个源句子.短语和单词粒度的待替换成分是句子中的某个短语和单词.在MGMT中, 基于源句子的成分句法分析树来选择短语和单词粒度的待替换成分.图 4展示了一个英文句子经过BerkeleyParser[30]得到的成分句法分析树.可以看到, 句子根据单词词性和短语词性被组织成树状结构.成分句法分析树的节点都是由句子中的单词构成的, 每一棵子树都是某几个单词的组合.那么在句子中选择一个词或一个短语, 就等价于在句法分析树中选择到达某棵子树的路径.基于以上特点, 本文设计了一种基于成分句法分析树的选择算法DeepSelect来在短语粒度和单词粒度上选择要替换的成分.
算法1. DeepSelect.
输入: 源语句Sentence, 候选集大小Candidatenum, 短语词性集合PhrasePOS;
输出: 待替换路径finalpath.
1. 建立待替换路径的候选集Candidates, 初始化为空集
2. Tree=BerkeleyParser(Sentence)
3. 遍历Tree, 将Tree中的每一条路径(包含子路径)加入路径集合PathSet并将PathSet中的元素按路径长度降序排列
4. if当前粒度为单词粒度then
5. for each path in PathSet do
6. if length(Candidates) < Candidatenum then
7. Candidates.append(path)
8. elif 当前粒度为短语粒度then
9. for each path in PathSet dopath in PathSet
10. if length(Candidates) > Candidatenum and Tree[path] in phrasePOS then
11. Candidates.append(path)
12. Finalpath=random.choose(Candidates)
13. return Finalpath
DeepSelect算法旨在选择句子在短语和单词粒度下的待替换成分.首先, 采用BerkeleyParser[30]句法分析器来生成句子的成分句法分析树.由于处在成分句法分析树较深路径的节点的粒度一般较小, 选择这些节点更符合MGMT的蜕变关系定义(见第3.2节), 因此我们将句法分析树中的路径按从长到短排序收集到路径集合PathSet中.接着, 在单词粒度下, 我们直接往候选集中添加Candidatanum条路径; 在短语粒度下还需进行一个额外判断, 要求路径节点的词性必须是短语结构型.最后, 为了保证路径选择的公平性, 算法随机从候选集中选择一条路径作为最终的待替换路径.
3.3.2 成分替换句子粒度的成分替换采用的是基于往返翻译的方法.首先将源句子输入神经机器翻译系统得到目标语言的直译结果, 再将直译结果输入翻译系统翻译回源语言, 这样就得到了一个句子粒度的替换语句.
短语粒度和单词粒度的成分替换采用的是BERT[26]遮蔽语言模型.BERT模型是一个非常成功的自然语言理解模型, 在很多自然语言处理任务中通过微调都能达到SOTA(state of the art)效果.在BERT中每个词的词向量不是唯一的, 而是与词的上下文相关, 因此, 通过BERT可获得符合句子语义的词向量.模型主要通过遮蔽词预测和下一句预测这两个任务来进行训练.其中, 遮蔽词预测是指将一个句子中15%的词遮蔽, 把预测这些被遮蔽位置的词当作目标任务来进行损失计算和模型参数优化.BERT遮蔽语言模型是BERT的一部分, 用遮蔽词任务进行训练, 可以预测出句子中被遮蔽位置的词.
本文对短语粒度和单词粒度的成分替换采用一个预训练好的BERT遮蔽语言模型来实现, 图 5展示了预测遮蔽词的原理与流程.
(1) 将句子中待替换的部分置换为遮蔽词[MASK].
(2) 将遮蔽后的句子输入BERT遮蔽语言模型.句子经过BERT中的Transformer编码器转换成词向量, 并输出每个位置上对于词典中每个词的预测分数.
(3) 对被遮蔽位置上的预测分数进行argmax, 得到概率最大的词(需与源句子中的待替换词不同).
(4) 将得到的替换词代替原词, 得到替换后语句.
3.3.3 句子粒度的相似度计算句子粒度的蜕变测试涉及3次翻译和4个句子, 需分别计算源语言和目标语言的句子对的相似度.
在本文中采用的是编辑距离[31]的方法, 编辑距离属于文本相似度较常见的一种度量指标.通过计算从字符串A转换为字符串B最少需要操作的次数来衡量A和B的相似程度.编辑距离值越小, A和B越相似.句子粒度的相似度计算公式为
$Similarity({S_1},{S_2}){\rm{ = 1}} - \frac{{{\rm{2}} \times EditDistance({S_1},{S_2})}}{{length({S_1}) + length({S_2})}}$ | (4) |
在公式(4)中, S1和S2是需要计算相似度的两个句子.EditDistance计算的是两个句子间的编辑距离, 实验中采用的是NLTK(http://www.nltk.org/)实现的算法.length函数计算的是句子长度.相似度取值在0~1之间.
3.3.4 短语粒度和单词粒度的相似度计算对短语粒度和单词粒度的蜕变测试是基于源语句的成分句法分析树进行替换的, 因此, 这两个粒度的结构相似度计算也基于翻译结果的成分句法分析树.具体定义如下:
$StructureSimilarity({S_1},{S_2}) = 1 - \frac{{LostRate({S_1},{S_2}) + AddRate({S_1},{S_2})}}{2}$ | (5) |
$LostRate({S_1},{S_2}) = \frac{{PathSet(Tre{e_1}) - PathSet(Tre{e_2})}}{{PathSet(Tre{e_1})}}$ | (6) |
$AddRate({S_1},{S_2}) = \frac{{PathSet(Tre{e_2}) - PathSet(Tre{e_1})}}{{PathSet(Tre{e_{\rm{2}}})}}$ | (7) |
在公式(5)~公式(7)中, S1和S2为要计算结构相似度的两个句子.Tree1和Tree2分别是S1和S2的成分句法分析树.PathSet是句法分析树的所有路径(包含子路径)的集合.S1和S2两个句子的结构相似度StructureSimilarity在数值上定义为丢失率LostRate和新增率AddRate的平均值的补数.LostRate计算的是Tree1相对于Tree2中的路径丢失率, AddRate计算的是Tree2相对于Tree1的路径新增率.结构相似度的取值在0~1之间.
4 实验为了验证本文提出的多粒度蜕变测试框架MGMT的有效性, 我们尝试回答以下3个问题.
问题1:MGMT能否在无需参考译文的情况下对神经机器翻译系统进行质量评估?
问题2:MGMT质量评估的结果是否具有合理性和说服力?
问题3:MGMT与其他同类型的蜕变测试方法相比是否具有优越性?
实验问题1的目的是检验MGMT的可用性, 需要基于MGMT框架在无参考译文的情况下对神经机器翻译系统进行质量评估, 并给出量化的评估结果.实验问题2的目的是检验MGMT实验结果的合理性, 需要将MGMT实验结果与基于参考译文的质量评估结果进行比较.实验问题3的目的是比较MGMT与同类型方法的评估准确度, 需要将MGMT实验结果与同类型的蜕变测试实验结果进行比较.
4.1 实验设计为了回答上述3个实验问题, 本文进行了如下实验设计.
首先是数据集和实验对象选择.我们选择一个公开的中英对照数据集UM-Corpus[7]作为数据来源, 选取了其中5个领域(教育、微博、新闻、口语、字幕), 每个领域数据集中的前1 000个中英句子对, 总共5 000个句子对作为实验数据集.然后, 本文选择了6个使用广泛、多语种覆盖的产业界神经机器翻译系统(阿里翻译、百度翻译、必应翻译、谷歌翻译、腾讯翻译、搜狗翻译)作为质量评估对象.
针对问题1, 本文将实验数据集中的5 000个英文句子作为源语句, 使用本文提出的多粒度蜕变测试框架MGMT对6个神经机器翻译系统在5个领域下的翻译鲁棒性进行了评估, 记录了各神经机器翻译系统在句子粒度、短语粒度和单词粒度的蜕变关系满足率, 将用于评估的句子集在3个粒度上的蜕变关系满足率平均值作为神经机器翻译系统的最终翻译鲁棒性分数.由于我们提出的用于短语粒度和单词粒度蜕变替换的DeepSelect算法(见第3.3.1节)具有随机性, 总共进行了3次翻译鲁棒性分数测定实验, 采用3次实验数据的平均值作为最终实验结果, 以确保实验结果的可靠性.
针对问题2, 需要检验MGMT的测试结果是否符合实际.机器翻译系统的翻译鲁棒性没有专门的评估指标, 在过往工作中通常是根据翻译质量来加以衡量.基于参考译文计算文本相似度是翻译质量评估的最常见手段, 大部分翻译质量评估任务采用的都是这种方法.基于参考译文的方法具有较高的合理性和说服力, 因此要证明MGMT的合理性, 只需将其实验结果与基于参考译文的文本相似度计算结果进行比较.由此, 本文选择了3个使用广泛且具有代表性的文本相似度指标: 基于编辑距离的WER[17]、基于精确率的BLEU[15]以及基于召回率的METEOR[16].本文利用这3个相似度指标设置了一个基于参考译文的参照实验, 选择实验数据集中的5 000个中文句子作为参考译文, 与5 000个英文语句通过神经机器翻译系统得到的直译结果作比较, 计算出各神经机器翻译在各领域数据集上翻译结果的BLEU、METEOR、WER数值, 与MGMT的实验结果进行比较.
针对问题3, 需要将MGMT的实验结果与同类型方法作比较.用蜕变测试对神经机器翻译系统进行质量评估的方法主要有RTT[22]、MCMT[23]及MT4MT[24]这3种, 由于MT4MT的实验方法只适用于特定类型的数据, 因此本文选择了RTT和MCMT作为对比方法进行实验, 将RTT、MCMT、MGMT对各神经机器翻译系统的评估结果与实验问题2中基于参考译文的BLEU、METEOR、WER数值进行比较.与基于参考译文的评估结果越接近, 说明方法的准确性更高.但是, 各组实验结果的量纲不同, 对实验结果进行绝对数值上的比较不具备一定的参考意义, 因此, 本文选择皮尔逊相关系数(Pearson correlation coefficient, 简称PC)[32]和斯皮尔曼等级相关系数(Spearman rank correlation, 简称SRC)[33]作为实验结果相似度的评测指标.
4.2 实验结果与分析 4.2.1 针对问题1的结果分析针对问题1, 本文基于MGMT开展了大规模的实证研究, 在5个领域的数据集上对6个神经机器翻译系统进行了翻译鲁棒性评估.对于每个领域数据集中的1 000个英文句子, MGMT生成了句子、短语、单词3个粒度上共3 000个替换语句, 输入神经机器翻译系统得到4 000个目标语言翻译结果, 并根据源语句和翻译结果进行相似度计算和蜕变关系判定.我们用蜕变关系满足率作为系统翻译鲁棒性的量化指标.对于每个测试样本, MGMT会基于第3.2节中定义的3个蜕变关系进行句子、短语、单词粒度上的蜕变测试.当测试样本满足某个粒度的蜕变关系时, 该粒度下的蜕变关系满足率记为1, 否则, 记为0.测试样本违背某个粒度的蜕变关系, 说明神经机器翻译系统对于测试样本在该粒度上的翻译鲁棒性较差.我们用各神经机器翻译系统在3个粒度上的平均蜕变关系满足率作为最终的系统质量评估分数, 分数越高, 说明该系统的整体翻译鲁棒性越好.
表 1展示了基于MGMT框架对6个神经机器翻译系统(阿里翻译、百度翻译、必应翻译、谷歌翻译、腾讯翻译、搜狗翻译)在5个领域(教育、微博、新闻、口语、字幕)的中英文翻译数据集上测得的翻译鲁棒性分数.表中加粗数据代表同一领域不同神经机器翻译系统的最高质量分数或同一神经机器翻译系统在不同领域中的最高质量分数.根据表 1, 可以分析得到以下结论.
(1) 各神经机器翻译系统存在鲁棒性差异.阿里翻译系统在微博、新闻和字幕3个领域数据集中的质量分数都排名第1, 在口语和教育领域排名第2, 总体鲁棒性最好.必应翻译和谷歌翻译在5个领域数据集上的排名都在第5位和第6位, 与其他神经机器翻译系统在质量上有显著差异, 总体鲁棒性最差.百度翻译、腾讯翻译、搜狗翻译在各领域的鲁棒性差异不大.
(2) 不同领域数据上系统鲁棒性存在差异.在微博领域, 各神经机器翻译系统表现出的鲁棒性最好, 平均质量分数在5个领域中最高.而在新闻领域的质量分数较低, 质量分数平均值没有超过40, 说明各神经机器翻译系统在新闻领域的鲁棒性较差.
综合各领域数据集上的评估结果, 可以得出在MGMT方法下各神经机器翻译系统翻译鲁棒性排名如下:
1.阿里翻译2.百度翻译3.搜狗翻译4.腾讯翻译5.必应翻译6.谷歌翻译
以上的实验结果和结论可以回答问题1, 说明本文提出的评估框架MGMT无需参考译文即可对神经机器翻译系统进行鲁棒性评估.
4.2.2 针对问题2的结果分析针对问题2, 本文使用实验数据集中的5 000个中文句子作为参考译文, 以BLEU[15]、METEOR[16]、WER[17]作为相似度度量指标, 计算各神经机器翻译系统的质量分数.另外, BLEU、METEOR数值与句子的翻译质量成正比, 而WER值与翻译质量成反比, 因此, 为了直观比较实验数据, 实验中用于比较的WER数值为实际WER数值的补数.
为了进一步证明MGMT评估结果的合理性, 本文对每个源语句的评估结果进行了更加具体的统计.在MGMT实验中, 对每个源语言句子进行句子、短语和单词3个粒度上的蜕变测试, 并根据相似度计算结果判定是否满足3个粒度的蜕变关系.为了分析句子层面的评估结果, 本文将每个句子的蜕变关系满足率分为4个等级.0代表该句子的翻译结果无法满足任何粒度的蜕变关系, 1/3代表满足1个粒度的蜕变关系, 2/3代表满足2个粒度的蜕变关系, 1代表满足所有粒度的蜕变关系.据此将所有句子按评估结果的蜕变关系满足率等级分为4组, 并计算每组句子基于参考译文的BLEU、METEOR、WER数值, 与蜕变关系满足等级进行比较.比较结果见表 2.由表 2所示数据可知, 在教育、微博、新闻、口语、字幕这5个领域的数据集上, 中英文句子对的平均BLEU、METEOR、WER数值是随着句子的蜕变关系满足率等级的提升而逐级提高的.也就是说, 对于一个源语句, 在MGMT下测得的蜕变关系满足率和基于句子参考译文计算出来的BLEU、WER、METEOR数值呈正相关性.真实翻译分数越低的句子对, 在MGMT下测得的蜕变关系满足率也就越低.相关工作——SIT[25]和TransRepair[29]利用蜕变测试来发现翻译错误, 而MGMT除了衡量神经机器翻译系统的整体鲁棒性之外, 也可用于发现翻译错误的样本.在实际操作中可以根据样本的蜕变关系满足率来加以判断, 一个样本的蜕变关系满足率越低, 那么它是一个翻译错误的可能性就越大(由于实验数据集过大, 我们将在下一步工作中采用人工验证的方式对上述操作的可行性进行验证).
综上所述, MGMT的评估结果与基于参考译文的BLEU、METEOR、WER的评估结果相似度较高, 可以证明, MGMT对各神经机器翻译系统的评估结果具有合理性和说服力.
4.2.3 针对问题3的结果分析针对问题3, 本文用评测指标PC和SRC, 将基于蜕变测试的方法RTT[22]、MCMT[23]、MGMT与基于参考译文的基准指标BLEU[15]、METEOR[16]、WER[17]进行比较.PC和SRC衡量的是两组数据在变化方向和数据排名上的相关度, 取值均在–1到1之间, –1代表完全负相关, 1代表完全正相关.实验中的PC值和SRC值通过Python语言的Scipy[34]包进行计算.
在进行RTT实验时, 本文完全参照Milam等人[22]的方法, 先经过FT(forward translation)得到目标语言翻译结果, 再将目标语言翻译结果通过BT(backward translation)得到源语言翻译结果, 最后用BLEU指标计算源语言翻译结果与源语句的相似度, 并以此作为各神经机器翻译系统的质量分数.在进行MCMT实验时, 我们在Daniel[23]等人方法的基础上进行了微小变动.原方法中MCMT在7种语言(法语、日语、韩语、西班牙语、俄语、葡萄牙语、瑞典语)中随机选一个作为中间语言, 但本文实验中并不是所有神经机器翻译系统都支持瑞典语的翻译, 所以在本文复现的MCMT实验中, 中间语言选择范围调整为6种语言(法语、日语、韩语、西班牙语、俄语、葡萄牙语).
我们将基于蜕变测试的RTT、MCMT、MGMT这3种方法测得的质量分数与第4.2.2节中实验得到的基于参考译文的BLEU、METEOR、WER数值按照神经机器翻译系统进行分组, 每组数据包含该神经机器翻译系统在5个领域上测得的质量分数.之后我们计算基于蜕变测试方法的每一组数据与基于参考译文的质量分数的PC值和SRC值.PC值、SRC值及相应的p值(p-value)的计算结果见表 3和表 4.
PC指标反映的是两组实验结果在数据变化方向上的相关程度.从表 3可以看出, 在BLEU、METEOR和WER这3个基准指标上, MGMT的PC值在各领域都显著高于RTT和MCMT.MGMT与BLEU指标平均相关系数为0.85, p值为0.05;与METEOR和WER指标的相关系数平均值为0.85, p值为0.05.从各领域平均值来看, MGMT与3个基准指标的PC值都显著高于RTT和MCMT(比RTT高约83%, 比MCMT高约130%), 且p值较低, 说明PC值较为可信.以上数据说明, MGMT的实验结果在数据变化方向上与3个基准指标的相关性更高, 更接近基于参考译文的方法.
SRC指标反映的是两组实验结果数值在数据集中排名的相关程度.从表 4可以看出, 在基准指标BLEU和WER上, MGMT的SRC值在教育、新闻、口语3个领域上最高, 在微博领域上低于RTT, 在字幕领域上低于MCMT.在基准指标METEOR上, MGMT的SRC值在5个领域都达到最高.从各领域平均值来看, MGMT与3个基准指标的SRC值都略高于RTT(高约20%), 显著高于MCMT(高约100%), 说明MGMT的实验结果在数据排名相关性上更接近基于参考译文的方法.
综上所述, MGMT与RTT、MCMT相比, 在两个相关系数PC和SRC上都更高.从PC值来看, MGMT在5个领域数据集上的PC值都显著高于RTT和MCMT, 从SRC值来看, MGMT在微博领域低于RTT, 在字幕领域低于MCMT, 但5个领域上的平均SRC值为最高.说明无论从数值角度还是将数值转化为排名后比较各神经机器翻译系统的质量, MGMT的评估结果都更接近基于参考译文的方法, 评估准确度比RTT和MCMT更高.
4.3 扩展讨论 4.3.1 蜕变粒度之间的关系首先我们对蜕变粒度之间是否存在相关性进行研究.从表 5可以看出, 子粒度与单词粒度和短语粒度的SRC值都很低, 分别为0.027和0.041, 说明句子粒度的判定结果与短语、单词粒度都不具有相关性.而短语粒度和单词粒度的SRC值为0.274, 说明这两个粒度的判定结果具有一定的相关性.短语粒度和单词粒度具有相关性是由于短语粒度和单词粒度都基于依存句法分析树和BERT模型进行蜕变测试.而句子粒度的蜕变测试流程相对独立.
在第4.2节中, 我们证明了MGMT方法能够在没有参考译文的情况下对神经机器翻译系统进行质量评估, 且优于同类型的RTT和MCMT方法.MGMT方法的关键在于单词、短语和句子3个粒度的蜕变关系.为了探究哪个粒度的判定结果更具重要性, 我们进行了消融实验.首先将句子根据满足的蜕变关系进行分类, 计算出每一组句子的真实BLEU、METEOR、WER值, 并采用控制变量的方式进行比较.如表 6所示, 不满足任何一个蜕变关系的句子的平均BLEU值为0.178 9, 而只满足单词粒度蜕变关系的句子的平均BLEU值为0.190 7, 相对质量分数提升了0.011 8, 看作单词粒度对真实质量分数的贡献值.在BLEU、METEOR和WER这3个基准指标上, 句子粒度带来的平均增加值分别为0.118 3、0.150 4、0.196 7, 都远大于单词粒度(0.014 8、0.017 8、0.020 2)和短语粒度(0.023 6、0.026 2、0.033), 说明与单词粒度和短语粒度的蜕变测试相比, 句子粒度蜕变测试对句子真实翻译质量的影响更大.我们由此得出结论: 在对真实质量分数的影响程度上, 句子粒度的蜕变测试最高, 其次是短语粒度, 最后是单词粒度.
4.3.2 MGMT准确性原理分析由第4.2.2节和第4.2.3节我们得出结论: 用MGMT测量神经机器翻译系统鲁棒性具有一定的合理性和说服力, MGMT与基于参考译文的方法正相关性较高, 且显著优于同类型的RTT和MCMT方法.我们尝试分析其中的原因.首先, RTT中涉及了一次正译和一次回译, 正议和回译是独立的两个翻译过程(可以看作两个独立的神经机器翻译系统).回译过程可能影响机器翻译系统质量的测定; 在MGMT的句子粒度蜕变关系中也涉及回译, 为了降低回译过程中的翻译错误对整体鲁棒性测量带来的影响, 我们设计了基于相对相似度的蜕变关系: 当回译质量过低时, 正译的质量分数应该得到一定的补偿.而MCMT通过中间语言来构造蜕变关系, 但不同语言间的翻译差距也会影响机器翻译系统质量的测定.MGMT方法在句子粒度蜕变关系设计过程中对非正译过程的影响进行了补偿处理, 并结合单词粒度和短语粒度进一步提高了评估准确性, 因此优于RTT和MCMT.
4.4 有效性影响因素分析
本节我们来分析有可能影响实验有效性的影响因素.
(1) 内部有效性主要涉及影响实验结果正确性的内部因素.本文中的内部有效性影响因素是句法分析器的性能.我们使用的英文和中文句法分析器是BerkeleyParser, 该句法分析器在WSJ测试集上的F1值可达95.17, 在CTB5.1测试集上的F1值可达91.69.可以将因句法分析错误导致的实验影响降到最小.
(2) 外部有效性主要涉及实验结果是否具有一般性.本文选择了机器翻译常用的一个公开中英文数据集UM-corpus, 并选取了其5个领域(包括教育、微博、新闻、口语和字幕)的翻译数据, 翻译数据覆盖的领域较为全面, 具有代表性.因此, 基于该数据集的实验结果也具有可靠性和代表性.
(3) 结论有效性主要涉及评测指标的选择是否合理.本文为了评估基于蜕变测试和基于参考译文的实验结果的相似度, 选择了两个相关系数指标——PC和SRC.PC计算的是两组实验结果在数据变化方向上的相似度, SRC计算的是数据排名的相似度.由于基于蜕变测试和基于参考译文的质量分数计算方法量纲上不同, 基于绝对数值的比较不具备意义, 因此, 使用PC和SRC作为评测指标可以保证评估的合理性.另一个影响因素是文本相似度度量指标的选择是否合理.在实验中我们选择了BLEU、METEOR、WER作为文本相似度度量指标, 这3个度量指标都被广泛使用且评估原理不同(BLEU侧重精确率, METEOR侧重召回率, WER基于编辑距离), 因此可以保证文本相似度度量的合理性.最后, 在句子粒度蜕变关系(见3.2.1节)定义中涉及到了不同语言的相似度比较.相似度分布可能因不同的语言特性产生差异, 这种差异无法避免.因此, 我们对同一语言使用相同的分词工具, 再将分词后的句子对基于编辑距离计算相似度, 从而能够有效降低相似度分布差异对实验带来的影响.
5 总结与展望基于神经网络结构的神经机器翻译系统应用广泛, 许多翻译服务提供商的翻译服务都基于神经机器翻译系统, 对其所进行的测试和质量评估也具有较高的研究和现实意义.本文提出了一个多粒度的蜕变测试框架MGMT.该测试框架能够在没有参考译文的情况下对神经机器翻译系统进行质量评估.MGMT首次使用了多粒度的蜕变关系对神经机器翻译系统进行整体性的翻译鲁棒性评估.从实验结果来看, MGMT与已有的同类型方法相比, 与基于参考译文的BLEU、METEOR、WER评估结果都更接近, 评估准确度更高.
未来工作可以基于如下3个方面展开.首先, 研究人员可以继续改进和优化本测试框架中的各个流程以达到更合理的质量评估效果, 例如在替换阶段可以针对替换模型的缺陷设计有针对性地替换约束.其次, 研究人员可以更改MGMT的部分设计, 将其与错误定位任务结合起来, 用于自动判定神经机器翻译系统的翻译错误.最后, 我们将对本文中的实验数据和结果进行清理并共享, 以方便研究人员针对翻译系统的鲁棒性展开后续研究.
[1] |
Brown PF, Cocke J, Pietra SD, Pietra VJD, Jelinek F, Lafferty JD, Mercer RL, Roossin PS. A statistical approach to machine translation. Computational Linguistics, 1990, 16(2): 79-85.
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6283745& |
[2] |
Sutskever I, Vinyals O, Le QV. Sequence to sequence learning with neural networks. In: Proc. of the NIPS. 2014. 3104-3112.
|
[3] |
Li YC, Xiong DY, Zhang M. A survey of neural machine translation. Chinese Journal of Computers, 2018, 41(12): 100-121(in Chinese with English abstract).
https://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201812007.htm |
[4] |
Koehn P. Rebecca knowles: Six challenges for neural machine translation. In: Proc. of the NMT@ACL. 2017. 28-39.
|
[5] |
Cheng Y, Tu ZP, Meng FD, et al. Towards robust neural machine translation. ACL, 2018(1): 1756-1766.
|
[6] |
Ma L, Xu FJ, Xue MH, Hu QG, et al. Simon see: Secure deep learning engineering: A software quality assurance perspective. CoRR abs/1810.04538, 2018.
|
[7] |
Tian L, Wong DF, Chao LS, Quaresma P, Oliveira F, Yi L. UM-Corpus: A large English-Chinese parallel corpus for statistical machine translation. In: Proc. of the LREC. 2014. 1837-1842.
|
[8] | |
[9] | |
[10] | |
[11] | |
[12] | |
[13] | |
[14] |
Chatzikoumi E. How to evaluate machine translation: A review of automated and human metrics. Natural Language Engineering, 2020, 26(2): 137-161.
|
[15] |
Papineni K, Roukos S, Ward T, Zhu WJ. Bleu: A method for automatic evaluation of machine translation. In: Proc. of the ACL. 2002. 311-318.
|
[16] |
Banerjee S, Lavie A. METEOR: An automatic metric for MT evaluation with improved correlation with human judgments. In: Proc. of the IEEvaluation@ACL. 2005. 65-72.
|
[17] |
Nießen S, Och FJ, Ney GLH. An evaluation tool for machine translation: Fast evaluation for MT research. In: Proc. of the LREC. 2000.
|
[18] |
Barr ET, Harman M, McMinn P, Shahbaz M, Yoo S. The Oracle Problem in software testing: A survey. IEEE Trans. on Software Engineering, 2015, 41(5): 507-525.
[doi:10.1109/TSE.2014.2372785] |
[19] |
Wang Z, Yan M, Liu S, Chen JJ, Zhang DD, Wu Z, Chen X. Survey on testing of deep neural networks. Ruan Jian Xue Bao/Journal of Software, 2020, 31(5): 1255-1275(in Chinese with English abstract).
http://www.jos.org.cn/1000-9825/5951.htm [doi:10.13328/j.cnki.jos.005951] |
[20] |
McKeeman WM. Differential testing for software. Digital Technical Journal, 1998, 10(1): 100-107.
http://www.freepatentsonline.com/5754860.html |
[21] |
Segura S, Fraser G, Sánchez AB, Cortés AR. A survey on metamorphic testing. IEEE Trans. on Software Engineering, 2016, 42(9): 805-824.
[doi:10.1109/TSE.2016.2532875] |
[22] |
Aiken M, Park M. The efficacy of round-trip translation for MT evaluation. Translation Journal, 2010, 14: 1.
http://www.researchgate.net/publication/228387542_The_Efficacy_of_Round-trip_Translation_for_MT_Evaluation |
[23] |
Pesu D, Zhou ZQ, Zhen JF. Dave Towey: A Monte Carlo method for metamorphic testing of machine translation services. In: Proc. of the MET@ICSE. 2018. 38-45.
|
[24] |
Zhou ZQ, Sun LQ. Metamorphic testing for machine translations: MT4MT. In: Proc. of the ASWEC. 2018. 96-100.
|
[25] |
He PJ, Meister C, Su ZD. Structure-invariant testing for machine translation. In: Proc. of the ICSE. 2020. 961-973.
|
[26] |
Devlin J, Chang MW, Lee K, et al. BERT: Pre-training of Deep bidirectional transformers for language understanding. NAACL-HLT, 2019(1): 4171-4186.
|
[27] |
Zheng WJ, Wang WY, Liu D, et al. Testing untestable neural machine translation: An industrial case. In: Proc. of the ICSE (Companion Volume). 2019. 314-315.
|
[28] |
Shashij G, He PJ, Clara M, et al. Machine translation testing via pathological invariance. In: Proc. of the ESEC/SIGSOFT FSE. 2020. 863-875.
|
[29] |
Sun ZY, Zhang JM, Harman M, et al. Automatic testing and improvement of machine translation. In: Proc. of the ICSE. 2020. 974-985.
|
[30] |
Kitaev N, Klein D. Constituency parsing with a self-attentive encoder. ACL, 2018(1): 2676-2686.
|
[31] |
Zhang SN, Hu Y, Bian GR. 2Research on string similarity algorithm based on Levenshtein distance. In: Proc. of the IEEE 2nd Advanced Information Technology, Electronic and Automation Control Conf. (IAEAC). 2017. 2247-2251.
|
[32] |
Benesty J, Chen J, Huang Y, et al. Pearson correlation coefficient. In: Noise Reduction in Speech Processing. Berlin, Heidelberg: Springer-Verlag, 2009. 1-4.
|
[33] |
Zar JH. Spearman rank correlation. Encyclopedia of Biostatistics, 2005, 7.
|
[34] | |
[3] |
李亚超, 熊德意, 张民. 神经机器翻译综述. 计算机学报, 2018, 41(12): 100-121.
https://www.cnki.com.cn/Article/CJFDTOTAL-JSJX201812007.htm |
[19] |
王赞, 闫明, 刘爽, 陈俊洁, 张栋迪, 吴卓, 陈翔. 深度神经网络测试研究综述. 软件学报, 2020, 31(5): 1255-1275.
http://www.jos.org.cn/1000-9825/5951.htm [doi:10.13328/j.cnki.jos.005951] |