抑制维汉神经机器翻译代词性别偏见的方法
2021-06-22史学文黄河燕唐翼琨
史学文,黄河燕,鉴 萍,唐翼琨
(北京理工大学计算机学院,北京市海量语言信息处理与云计算应用工程技术研究中心,北京 100081)
近年来,端到端的神经机器翻译 (neural machine translation, NMT)[1-2]在诸多语言的翻译任务上取得了令人瞩目的成果[3-5].随着少数民族语言机器翻译在机器翻译领域越来越受关注,以及针对资源稀缺语言的 NMT 技术的发展[6-7],NMT 逐渐成为我国少数民族语言到汉语翻译的主要技术手段[8].
NMT模型的翻译表现通常与训练数据的特征密切相关,除数据规模外,语料中的一些数据不平衡也会对翻译结果产生影响[9-10].机器翻译训练集中的低频词相对于高频词更难以正确翻译[11-12].样本分布的不平衡是造成机器翻译性别偏见问题的重要原因,具体到维汉翻译,汉语端阴性样本出现频率较低,模型难以从中学习到更多关于性别区分的有效信息.Ott等[10]在针对数据集不确定性的研究中指出,性别等信息容易在翻译过程中丢失.此外,不同语言在语法上对性别的区分程度不同,也造成了翻译中难以正确使用性别代词.以维吾尔语(以下简称“维语”)到汉语的机器翻译为例,源语言维语端代词不区分阴阳性,而目标语言汉语的代词区分阴阳性(例如“她/他”),这给维汉机器翻译带来了很大的挑战.以第15届全国机器翻译大会(CCMT 2019)维汉新闻机器翻译任务[8]为例,该任务的训练数据中在目标语言(汉语)端出现阳性代词的频率远高于阴性代词,造成了代词的性别偏见问题,并最终反映在测试时的翻译结果上,如表1所示.表1中“训练集”指利用NMT模型重新翻译训练集语料而得到的数据,可以看出,在原始语料中,阴性代词与阳性代词的比例约为1∶5,而在模型输出的翻译结果中,该比例约为1∶15.产生这种现象的主要原因是数据中阳性代词出现的频率远高于阴性代词,造成NMT模型在解码时更倾向于给阳性代词分配更高的估计概率.
表1 原始与NMT生成的维汉数据集中不同极性代词的占比Tab.1 The proportion of different polatity pronouns in the original and NMT generated Uighur-Chinese dataset
近年来,机器翻译系统的性别偏见问题逐渐引起研究者们的重视[13-16],并且研究者们给出了专门针对机器翻译性别偏见问题的评价指标和测试数据[13-14].Michel等[16]提出了一种个性化翻译方法,该方法通过引入用户向量来控制不同用户输出的翻译特征,实现了调整性别、职业等相关信息翻译的目的.Vanmassenhove等[17]为10种欧洲语言翻译任务人工标记了源语言端的性别信息,将性别信息作为NMT的输入,以控制NMT生成的目标语言性别极性.Stanovsky等[14]研究了机器翻译语料中性别偏见的问题,设计了衡量性别偏见的方法,并利用数据集Winogender[18]和WinoBias[19]构建了用于评价机器翻译系统性别偏见情况的数据集WinoMT.类似地,Cho等[13]针对以韩国语为源语言的机器翻译提出了性别偏见问题的评价指标,并构建了相应的评测数据.Saunders等[15]将机器翻译中的性别偏见纠正问题视为领域适应问题,并构建了小规模的用于NMT领域自适应的语料,在WinoMT[12]数据集上的实验结果表明,该方法有效地缓解了部分机器翻译的性别偏见问题.
在目标语言汉语端,只在第三人称代词上区分性别使用,因此需要考虑的情况相对于前人的工作[5,14-15]更加简化和具体.本研究工作期望实现两个目的:1) 缓解NMT输出的目标语言端代词性别失衡问题;2) 利用有限的源语言信息自动地预测目标语言的代词性别,而不引入额外的控制信息.
经统计发现,语料中99%的句子中使用的代词性别是一致的(即只出现阳性代词或只出现阴性代词),因此本文将正确预测某一个代词性别的问题简化为预测目标语言句子性别的问题.首先,利用汉语单语语料构造伪数据对翻译训练数据进行扩展,引入的伪数据缓和了语料中代词性别不平衡的问题.同时提出两种NMT模型显式融合性别信息的方法:1) 在目标语言句首引入性别标记,在不改动模型本身的架构的前提下在NMT模型中显式地融入了性别信息,而解码时,句首的性别标记可以约束后面生成代词的选择;2) 对机器翻译任务和目标语言代词性别预测任务联合建模,使NMT模型的编码器可以显式地学习代词性别的相关上下文信息.
1 性别偏见抑制方法
由于翻译语料通常以句子为单位,很少出现多个句子组成的段落或多个主语的情况,所以大部分训练集句子中代词的性别在句内是一致的.通过对CCMT 2019维汉翻译训练集数据的统计发现,只包含单一性别代词的目标语言句子占所有包含代词的目标语言句子总数的99.07%.因此将词级别的代词性别预测问题简化为以句子为单位的性别预测问题.这相当于只考虑两种特殊情况:1) 句子中所有代词均指代同一对象;2) 句子语境中只关于一种性别,即只包含一种性别.这可避免引入指代消解等复杂的问题,同时也符合机器翻译语料以单个句子为主的内在特性.
1.1 伪数据构建
从表1可以看出,在CCMT 2019训练集数据中,不同性别的代词使用极不平衡,模型很容易受其影响.与此同时,包含有代词的句子总数相对于总数据占比很少,机器翻译模型很难得到充足的训练,且缺少可以有效评价代词性别是否翻译正确的测试数据.为解决上述问题,首先,从CCMT 2019的训练集数据中随机抽取出部分包含代词的数据,作为测试代词性别翻译准确性的开发集(PseDev)和测试集(PseTest)数据;然后利用语言数据联盟(linguistic data consortium,LDC)汉语语料和反向翻译方法[6]对其余的训练数据(ResTrain)进行扩展,并在此基础上构建了伪训练数据(PseTrain).具体的PseTrain构造流程如图1所示:首先,利用ResTrain训练一个基于Transformer[5]的汉维翻译模型;然后,从汉语语料中随机抽取出数量相等的只包含阳性代词或阴性代词的汉语句子,并利用训练好的汉维翻译模型将其翻译成维语,构成伪平行句对;最后,将伪平行句对融入ResTrain中,并随机打乱顺序,得到PseTrain.扩展后的数据统计信息见2.1节中的表2.
图1 PseTrain的构造流程示意图Fig.1 Schematic diagram of construction process of PseTrain
1.2 插入性别标志
在NMT中加入特殊标志是一种简单高效的融入附加信息的技术手段[7,20].这种方法不需要对模型进行改动,只需要在训练用的平行句对中加入所需要的标识符(token),即可达到融入附加信息的目的.本文在目标语言端引入了一个表示性别信息的标志(GenTok),用以标识汉语端句子的性别信息.引入3种性别标志:
1.3 性别预测与机器翻译联合建模
本文提出了性别预测与机器翻译联合建模的方法,将目标语言句子中使用的代词性别的分类融入到NMT模型的建模中.融合性别预测后,NMT模型输出的条件概率可表示为:
(1)
其中:x和y分别源端和目标端句子的向量表示;y 将NMT模型中编码器最顶层的输出状态H=[h1,h2,…,hTx]作为性别预测模型Dg的输入,使用单层基于注意力机制的多分类器进行性别分类. p(c|x;θ)=p(c|H;θg)=softmax(Wos), (2) 其中,模型参数Wo∈R3×d,s∈Rd.通过自注意力机制得到解码器状态: s=H×softmax(tanh(WaH+ba)), (3) 其中,模型参数Wa∈R1×d,偏置量ba∈R.对于分类器的损失函数,同样采用对数似然损失函数: Lgen(x,c;θ)=-logp(c|x;θ). (4) 最后,模型整体的损失函数为L=Lnmt+λLgen.其中:Lnmt为NMT模型的损失函数;λ用来调节Lgen的占比,在本文中系数λ设置为0.1. 在进行翻译解码时,由于性别预测模型Dg与NMT模型的解码器不产生关联,所以可以选择不执行性别预测步骤,这样模型解码的效率则同基线系统一致. 利用最大似然估计进行优化通常会受到类别不平衡问题的影响,即低频的类别由于在语料中占比小,造成该类别下的误差占比过小,影响模型训练的效果[21].Lin等[22]提出了焦点损失函数(focal loss),用来缓解图像目标检测任务中前景与后景类别不平衡造成的负面影响.本文参考焦点损失函数的方法,在式(4)中引入调节因子-(1-p)γ,其中γ≥0称为聚焦参数.将p(c|x;θ)简写为p,这样负对数似然损失函数Lgen则被修改为Lgen+focal: Lgen+focal=-(1-p)γlogp. (5) 当γ>1时,p越大则调节因子越趋近于0,这样容易预测的样本产生的损失在训练中的占比就会缩小;相反地,难以预测的样本的损失函数值缩小的程度相对较轻. 本文的维汉双语数据来自于CCMT 2019[8]维汉新闻翻译任务,而数据扩展使用的汉语单语语料来自于LDC语料库.语料的划分和扩充方法参见1.1节.语料中的汉语部分首先采用LTP中文分词工具[23]进行分词预处理;然后,维语和汉语部分均利用Moses[24]tokenizer.perl脚本进一步切分,其中维吾尔语部分采用了针对英文的切分规则;最后,分别对源语言和目标语言使用字节对编码(byte-pair encoding,BPE)[11].经过BPE处理后,在训练集上得到的词表(包含词和词切片)中维语约2.7万,汉语约3.2万.采用抽取得到的PseDev作为开发集,测试数据采用PseTest、第14届全国机器翻译大会(CWMT 2018)提供的开发集(CWMT 2018)以及CCMT 2019提供的开发集(CCMT 2019). 在构建伪数据时,采用的汉语语料来自于LDC语料库,具体的语料编号为LDC2005T10、DC2003E14、LDC2004T08和LDC2002E18.上述语料中选取汉语中包含代词且代词性别在句内一致的句子作为候选.最终选取的语料阴性和阳性比例为1∶1. 实验中使用到的各部分数据集的统计信息如表2所示,其中阴性和阳性分别代表目标语言句子中只包含阴性代词和阳性代词,而中性则表示其他情况. 表2 数据集统计Tab.2 The statistics of the datasets 基线系统采用6层编码解码器构成的Transformer[5]作为NMT的基线模型,每层网络输出维度为512,网络中的注意力模型包含8个注意力读写头,内部的全连接层神经元个数为2 048.为了验证扩展后得到的PseTrain的有效性,对比了在ResTrain上训练的基线模型,记为Transformer(ResTrain).训练时,将模型的失活率(dropout)设置为0.3,采用Adam算法[25]最优化模型,其中β1=0.9,β2=0.08,=10-9,学习率的设置方法和自适应变化策略与Transformer[5]文献中所提到的方法一致,热启动训练步骤设置为4 000. +Balanced:Saunders等[15]提出的伪数据构建方法之一,扩展后的伪数据除包含有性别指示代词的原始数据外,还包含与原始数据对应的经过性别反转的数据.根据Saunders等[15]的方法,NMT模型在原始数据集训练后,在伪数据上进行领域自适应调优.本文用于调优的数据为含阳性代词的数据及其经过性别反转后得到的数据共同构建的性别无偏的数据,共10 000条. +PosEdit:训练一个基于2层Transformer[5]架构的文本分类器Dg,用于预测目标语言的代词性别,再利用预测的性别对翻译结果进行译后编辑.分类器的输入为源语言句子,输出为目标语言性别.分类器除层数外,其他设置均与NMT基线模型的编码器相同.分类器在训练时,dropout设置为0.3,优化方法为Adam算法[25],其中=10-9,初始学习率为0.008.分类模型采用焦点损失函数的损失缩放方法,γ设置为2. 评价指标:本文机器翻译任务采用双语互译评估(bilingual evaluation understudy,BLEU)[26]值作为评价指标,利用Moses[27]工具中multi-bleu.pl脚本作为打分工具.为消除汉语分词对实验结果的影响,以汉字为单位进行打分(英文单词、阿拉伯数字等不进行拆分).对于目标语言性别预测任务,采用准确率(P)、召回率(R)、F1值作为评价指标. 表3为各模型在不同测试数据上的BLEU值. 对比表3的实验1和4可以发现,是否使用扩展后的语料对翻译模型进行训练,对BLEU值的影响并不大.其中,在针对代词性别的测试数据PseTest上,使用扩展后的训练集会对翻译表现稍有提升,因为扩展的语料均采用为代词性别预测选取的数据. 表3 机器翻译结果Tab.3 Machine translation results % Balanced方法更适合对于名词阴阳性的降偏执而不是其逆过程,与本文的应用场景不十分吻合,故在本文的测试集上提升并不明显.该方法的性别预测实验结果将在2.4节中给出. 实验6~8为本文提出直接融入目标语言性别信息的方法:GenTok对NMT模型和训练方式没有改动,模型在生成过程中要优先生成目标语言的性别标记;Lgen和Lgen+focal的解码过程则与NMT基线模型一致.从翻译结果上看,本文提出的方法在3个测试集上的BLEU值均有微弱提升.对于以汉字为单位的评价指标,代词性别正确与否对整个数据集的BLEU值影响并不不大,因此可以看到在不同的实验设置下翻译任务上的表现相近.然而,由于训练数据和训练目标的不同,各个模型在代词性别预测上的表现大相径庭,代词性别预测任务的实验结果将在2.4节中给出. 本节给出了各个实验设置下模型在目标语言性别预测上的实验结果.由于其他测试集包含的与代词性别相关的样本过少,所以实验仅在PseTest测试集上进行.表4分别给出了两种代词性别以及测试集总体的分类评价指标.由于测试集总体P值和R值相等,所以只给出P值. 表4 代词性别预测结果Tab.4 Prediction results of pronoun gender % 实验1采用的训练集代词性别偏差极大(阳性12 621,阴性1 127),因此模型解码输出以阳性代词为主,造成阴性代词的召回率极低.实验4的基线模型采用扩展语料进行训练,在代词性别预测的表现相对于实验1有大幅提升,证明引入代词性别平衡的伪数据确实可以改善性别偏见的问题. Balanced方法是NMT模型训练完成后,在人工构造的性别平衡的小规模数据上进行领域适应调优.从表4中可以看出,调优后的模型在性别平衡方面表现较好,阴性代词的召回率有较大的提升,同时阳性代词的召回率有所下降.但由于领域适应所用的数据是性别无偏的,该数据本身对代词性别推断的影响并不明确,这可能导致代词性别预测的精度损失. 实验3是译后编辑使用的分类器的结果,该分类器与实验4~7中的模型均在PseTrain训练集上训练.实验3中由于扩展后的语料性别比例仍有偏差,文本分类模型表现出比较明显的性别偏置问题.该现象说明单纯的文本分类更容易受到数据中性别不平衡的影响,F1值在两种类别中差异很大. 除语料扩展外,本文提出的其他方法均对性别预测问题有所改善,实验6引入焦点损失函数对于阴性代词的预测有所提升,但是对比实验6和7可以发现二者差别并不明显.值得注意的是,通过在PseDev和PseTest数据集上的实验结果观察发现,无论是“+GenTok”还是“+Lgen”方法,输出的性别标记或类别与翻译出目标语言句子所使用的代词性别都是一致的,并不需要根据模型本身预测的性别标记或类别对目标语言句子进行译后编辑. 本节抽取测试集中含代词的语料进行测试,主要分析NMT模型翻译过程中,对目标语言代词使用情况的正确预测与否同翻译结果的BLEU值之间的关系.表5给出了在不同测试集下,代词性别使用正确和错误两种情况下机器翻译的BLEU值.其中PseTest只包含阴阳两种目标语言类别,而CWMT 2018和CCMT 2019中均包含3种情况,并以中性为主(表2).从表5可以明显看出,被正确预测代词性别的翻译结果在整体上BLEU值明显高于目标语言性别预测错误的翻译.产生该现象的原因可能有两种:1) 使用了正确的代词性别,有利于对整体翻译质量的提升;2) 容易得到高分翻译的源语言样本,同时也容易被预测出目标语言性别种类.由于实验1和2中模型本身并没有显式的目标语言性别预测机制,所以认为产生该现象的原因更有可能是后者. 表5 代词性别预测结果与翻译结果BLEU值之间的关系Tab.5 The relation between the prediction results of pronoun gender and the BLEU values of translation results % 表6给出了测试数据集和模型输出的翻译结果在表示不同性别的代词上的数量对比,其中实验1是数据集本身的统计信息,实验2~6为不同设置下模型输出的结果.可以看出:翻译结果中两种性别的代词失衡问题在本文提出的方法(实验3~6)中有所缓解.在PseTrain数据集上,阴性阳性代词数量比例约为1∶1.7,本文模型在PseTest测试集上得到的该比例约为1∶3,说明模型仍存在放大性别偏见的问题. 表6 翻译结果在代词使用上的对比Tab.6 Comparison of translation results in the use of pronouns 本节给出了一个翻译案例,如表7所示.在该案例中,单从源语言信息容易推断句子中的代词指代对象为前文中提到的“母亲”,因此应该用阴性代词“她”.在给出的翻译例子中,代词部分用粗体字标记.可以看出,实验4~7采用了本文提出的方法,均在目标语言句子中使用了正确的代词,这说明在上下文信息明确的情况下,本文提出的方法均可以正确地预测出代词性别. 表7 翻译案例Tab.7 Case study of translation 本文研究了维汉翻译中代词性别使用不平衡的问题,以CCMT 2019维汉新闻翻译任务的数据为研究样本,提出了3种缓解代词性别问题的方法:1) 选取与代词性别相关的汉语单语语料,采用反向翻译方法对原始训练集进行扩展;2) 在训练数据的目标语言端引入代词性别标记,在不改动模型的情况下,将性别信息显式地融入翻译任务中;3) 同时对机器翻译和代词性别预测建模,使模型同时学习翻译和性别预测任务.构建了PseTrain维汉翻译伪训练数据,并将CWMT 2018、CCMT 2019以及本文构建的PseTest作为测试集以验证模型表现.实验结果表明,通过对数据进行扩展,可以有效缓解维汉翻译中的代词性别偏见问题.本文提出的显式融合性别知识方法可以进一步提升代词性别预测的精度. 在未来的工作中,将考虑句子中出现不同性别的代词情况,将代词预测方法从句子级别改进为词级别.另外将在更多与维汉翻译相似的语言上对本文方法进行验证.在很多情况下,源语言可能并未包含足够的上下文信息用以判断代词的性别,希望在未来的工作中能识别出这些情况,以改善训练集和测试集的构建方法.1.4 焦点损失函数
2 实 验
2.1 数据集
2.2 实验设置和评价指标
2.3 机器翻译结果
2.4 代词性别预测结果
3 分 析
3.1 性别预测结果对翻译结果的影响
3.2 翻译结果中的代词性别对比
3.3 翻译案例
4 结 论