利用循环翻译提高维汉机器翻译性能实践探究

2022-05-30 10:48敖乃翔郭锐宜年艾山·吾买尔
电脑知识与技术 2022年22期
关键词:相似度筛选

敖乃翔 郭锐 宜年 艾山·吾买尔

摘要:目前通常使用反向翻译来提升翻译模型的性能。因为通过反向翻译获得的伪造数据质量参差不齐,一般需要筛选反向翻译得到的句子,然后与真实数据混合使用。因此,该文在维汉机器翻译任务中,对利用BLEU值、MAS、BERT及多种相似度计算方法融合等进行深入对比分析,并提供详细的统计分析。通过实验发现循环翻译在很大程度上可以隐式地区分不同领域的数据。CCMT19维汉翻译任务上,通过将不同筛选方法的融合,翻译性能有1.95个bleu的提升。

关键词:反向翻译;循环翻译;筛选;相似度

中图分类号:TP183      文献标识码:A

文章编号:1009-3044(2022)22-0001-04

1 引言

在拥有大规模数据的语言对上,神经网络机器翻译(NMT) [1-2]获得了令人瞩目的巨大成功。但是,由于神经网络翻译的翻译质量在很大程度上依赖于训练数据的规模、质量以及与待翻译数据的相关性,导致了其在低资源语言对上难以达到与资源丰富的语言对上的相同效果。因此如何在低资源的情况下得到高质量的翻译性能仍然是急需解决的问题。Sennrich等[3]提出反向翻译方法,利用翻译模型将目标端单语数据翻译成伪造源端数据以获取额外的伪造平行数据来提升翻译模型的性能。该方法虽然可以带来一定的提升,但是对于低资源语言对来说,由于其翻译模型的翻译精度比较低,所得到的伪造语料的质量也比较差。

为了更好地提升神经网络机器翻译在低资源语言对上的翻译质量。一些研究人员在反向翻译的基础上通过过滤伪造语料来获取高质量的伪造语料。在这篇文章中,为了解决维汉翻译中数据缺失的问题,文章沿用Sennrich等人的方法,不过在筛选数据时,文章利用不同的相似度计算方法去评价伪造语料库中数据的质量高低。然后根据评价的结果设置不同的阈值对伪造数据库进行过滤,获取不同程度质量的数据。并根据这些数据训练翻译模型。通过模型的翻译质量来评价循环翻译对模型的影响。

文章研究的主要贡献有以下几点:

1) 通过实验,验证利用sent-bleu和循环翻译过滤伪造语料来提升维汉翻译模型性能的可行性。

2) 通过利用不同的相似度计算方法来过滤伪造语料库,从而验证利用循环翻译对维汉翻译模型的影响。

3) 通过实验,推测循环翻译可以隐式地区分不同领域的数据。

2 相关工作

为了解决数据稀缺问题,Ond?ej Bojar等[4]将目标端单语数据通过使用目标端到源端的翻译模型翻译成伪造源端数据,然后利用对齐工具进行词对齐获取新的翻译短语从而获得新的翻译信息。他们将这些新生成的翻译信息添加到翻译模型中以提升模型性能。Sennrich等提出反向翻译的方法,利用目标端到源端的基线翻译模型将目标端单语数据翻译为伪造源端数据,从而获得伪造平行数据。然后用伪造平行数据与人工标注的平行数据融合后的新数据来训练翻译模型,取得了比较客观的提升。

在低精度机器翻译系统中,单纯地使用反向翻译得到的伪造数据与人工标注的平行数据合并后训练得到翻译模型的性能比只利用平行数据训练得到的翻译模型性能要低一些。Imankulova等[5]提出来一种过滤伪造数据库的方法:利用反向翻译将目标端单语数据翻译为源端数据,然后再将伪造的源端数据翻译为目标端数据。通过sent-bleu[6]计算伪造的目标端数据与真实的目标端数据的相似度来进行过滤。Guanghao等[7]利用平行数据构建词向量,利用源端目标端词向量得到双语词向量,最后利用双语词向量构建伪造的源端句子的句子向量和目标端句子的句子向量。通过余弦相似度计算伪造语料的相似度。Aizhan等[8]通过迭代的使用翻译和反向翻译来不断地优化翻译结果。Moore等[9]通过语言模型对数据进行筛选,Axelrod等[10]在源端利用领域内的数据和领域外的数据训练得到源端的领域内语言模型和源端的领域外语言模型。

3 伪造语料过滤方法

利用平行数据[Dparallel=Xparallel|,|Yparallel]训练维汉和汉维基线模型,利用汉维翻译模型将大量汉语单语数据[Ymonolingual]通过反向翻译的方式来得到伪造的维语数据[Xpseudo],并与汉语单语数据[Ymonolingual]整合得到大量的伪造平行数据[Dpseudo=Xpseudo|,|Ymonolingual]。为了提高相似度筛选的精确度,利用同种语言进行筛选,因此通过循环翻译的方式将通过反向翻译得到的维语数据[Xpseudo],利用维汉翻译模型翻译为伪造的汉语数据[Ypseudo]。之后,利用不同的方法计算[Ymonolingual]和[Ypseudo]的相似度。通过设置一个相似度阈值来保留质量较高的伪造数据。其中sent-bleu计算方式通过mteval工具计算获得。

相似度计算方法。由于sent_bleu依据n-gram的方式判断字词是否相同来评价两个文本的相似程度,这使得某些长句子在缺失一定字词之后也有相当高的sent_bleu值。而缺失是关键性字词,就会导致句子的含义发生较大的变化。因此利用MAS(Maximum Alignment Similarity) 和ASS(Average Alignment Similarity) [11]这两种相似度计算方法对[Ymonolingual]和[Ypseudo]进行评价。在此次工作中,MAS的公式1所示。

[MAStureymonolingual,i|,|ypseudo,i=1nwjymonolingual,imaxwkypseudo,iwj|,|wk]     (1)

其中漢语句子[ymonolingual,i∈Ymonolingual];汉语伪造句子[ypseudo,i∈Ypseudo];[wj,wk]分别为句子[ymonolingual,i]和[ypseudo,i]中的字词;n为句子[ymonolingual,i]中字词数量。通过对[ymonolingual,i]中所有单词的余弦相似度的累加得到这对平行句子的相似程度。而单词的余弦相似度则是通过该单词的词向量与伪造汉语句子[ypseudo,i]中的最相近单词之间的余弦相似度。同样地也需要计算伪造目标句中所有单词与真实目标句中的最相近单词余弦相似度,之后求这些值的和后进行平均来得到最后的评估。

[MASymonolingual,i|,|ypseudo,i=12MAStrueymonolingual,i|,|ypseudo,i+12MASpseudoypseudo,i|,|ymonolingual,i] (2)

AAS计算方式是通过求汉语单语句子[ymonolingual,i]中所有单词的词向量与伪造汉语句子[ypseudo,i]中所有单词的词向量,都求一个余弦相似度累加之后求一个平均,其公式为:

[AASymonolingual,i|,|ypseudo,i=1nn'wkymonolingual,iwlypseudo,icoswk|,|wl]  (3)

其中[n,n']分別为[ymonolingual,i]和[ypseudo,i]句子中字词个数;[wk]和[wl]分别为句子[ymonolingual,i]和[ypseudo,i]中的第k个和第l个字词。

由于MAS和AAS都是基于词向量进行计算句子相似度,这种方法没有办法关注到词与词之间的关系。那么便无法得到句子的相对完整的语义信息。因此利用预训练的bert[12]模型来获得相对完整的语义信息。将汉语单语数据[Ymonolingual]输入到预训练的bert模型中,对bert模型中最后一层输出的向量进行平均作为整个句子的分布式表示。同理,对[Ypseudo]也进行相同的操作。之后通过余弦相似度计算这两伪造平行句子的相似程度。并设置阈值过滤伪造语料[Dpseudo]。

文章还对不同相似度计算得到值进行了不同方式的整合:1) 在合并不同相似度筛选的数据时,每一对平行句子计算的相似度值必须大于某一阈值的同时另一种相似度值也必须大于某一阈值。2) 利用线性差值将不同的相似度结合起来。

4 实验数据以及参数设置

4.1 实验数据

本文实验所用数据为CCMT2019机器翻译评测提供的维-汉平行语料和汉语单语语料。其中训练集17万条平行句对,验证集1000条平行句对。以及727万条汉语单语数据。

4.2 数据预处理

对维-汉平行语料和单语数据进行了编码转换、全角半角转换、乱码过滤等基础处理。利用哈工大LTP工具对平行数据和单语数据进行分词。除此之外对于单语数据,进行了简单的句长筛选。从727万条单语数据中筛选出句子长度在4个单词以上、140单词以下的句子。其次通过句子的单词频率之和进行筛选。具体操作为,计算17万数据的单词和频率,利用17万数据的单词和频率对700万数据进行计算相似度。用700万数据中每行的单词频率之和除以句子长度得到其与17万数据的相似程度。筛选后的单语数据有478万条。

在这篇文章中,对于维到汉方向翻译,使用BPE字符到char字符的对应关系,即维语用BPE处理,汉语使用char字符进行处理。而对于汉到维方向,源端和目标端都使用BPE字符进行训练。通过对比两种不同的处理方式得到的结果,如表1所示。选定在训练维到汉方向时,通过BPE到char的方法进行训练。其中源语言和目标语言词表大小均为32K,BPE粒度的迭代论述均为24K。本实验以bleu[13]为主要的评价指标。具体为基于字符的评价方式。

4.3 实验环境和参数

所有实验都是在centos7操作系统上进行的。使用openNMT搭建的transformer模型进行所有实验。其具体参数如下:每个模型只在一块V100上进行训练,每个batch大约含有4096个token,词向量维度为768,隐层状态维度为768,全连接隐状态维度为4096,编码器与解码器均为6层,多头注意力机制使用16个头,dropout设为0.3,使用Adam梯度优化算法来训练模型,其中[β1=0.90,β2=0.998]。初始学习率为1.0,warmup步数设定为4000。

4.4 实验结果

从CCMT提供的700多万单语数据中筛选478万数据做了一系列新的实验。

其中表2、表3和表4分别是通过MAS、sent-BLEU与bert筛选得到的数据混合真实数据得到的结果。这些实验结果都比未过滤的实验结果好。之所以bert的阈值之间设置的比较紧,是因为通过余弦相似度计算BERT得到的文本向量后的相似度值都比较相近。

表5过滤的三个实验里,Mix_2是将MAS相似度大于0.9的数据与sent-bleu大于0.5的数据合并之后与17万数据整合而成的训练数据。Mix_3是将MAS、AAS和sent-bleu得到最好结果时的数据合并后与17万数据整合。Mix_and也是MAS与sent-bleu最好结果时用的数据的整合,但是在整合过程中,MAS相似度大于0.9的数据的sent-bleu值必须大于0.4,sent-bleu相似度大于0.5的数据的MAS值必须大于0.8。之所以不使用两者的交集,是因为两者交集之后数据丢失太多。这也从侧面表明,使用MAS相似度过滤的数据与sent-bleu过滤的数据差别还是挺大的。表6的实验是使用不同相似度进行线性差值之后进行过滤的。其中Line_2表示使用MAS和sent-bleu两个相似值进行线性差值。Line_3表示使用MAS、sent-bleu和AAS这三个相似度值进行线性差值。之所以不使用AAS与sent-bleu进行线性差值,是因为AAS的结果比起sent-bleu的结果差距比较大。从所用实验来看,使用AAS、MAS和sent-bleu合并的数据结果最好。比基线模型高出3.59个bleu,比未筛选数据的实验高出1.95个bleu。

4.5 分析

实验结果表明,面对维汉这种低资源语言对,利用循环翻译结合数据过滤的方法能有效地提升翻译的性能。为了能了解到在循环翻译的过程中损失的高质量数据的数量,利用sent-bleu分别计算了将汉语翻译成维语再翻译成汉语时,真实汉语与循环翻译得到汉语sent-bleu值。将它与维语翻译成汉语与真实汉语计算sent-bleu值进行对比,得到在不同sent-bleu值区间里句子的个数,如图1所示,其中zh2uy2zh为将汉语翻译成维语再翻译成汉语的循环翻译,uy2zh为将维语翻译成汉语,横坐标为sent-bleu值的不同区间,纵坐标为句子个数。通过图1可以清晰地看到循环翻译相对于翻译来说,损失了一部分质量比较高的数据。但是换个思路,在循环翻译时,将汉语翻译成维语后,再将维语翻译成汉语时,汉语仍能保持较好的结果,那么中间产生的维语的质量也不会太差。因此循环翻译可以在某种程度上起到一些筛选的作用。这种筛选不能直接使用,而是需要结合数据过滤的方法。而且这种过滤并不仅仅针对数据的质量进行的,而且对于真实训练数据所属领域不同的数据也有一定的筛选作用。因为数据领域的不同,在循环翻译的前半部分即汉语翻译成维语时,由于缺少相应的领域知识,使得翻译结果会丢失领域相关的词汇和信息。因此在循环翻译的后半部分即将翻译的维语变为汉语时,由于缺少信息和词汇,使得句子信息不完整从而翻译成汉语的质量比较低。同时也可以观察到,在对于低资源语言对,翻译时产生的质量较低的数据占整体数据的比较较高。因此过滤是一种必要的方法去提升反向翻译后数据的质量。

同时为了进一步说明低资源数据过滤的必要性,将反向翻译的结果(即中文翻译成维文) 与真实的维语进行了sent-bleu计算。其结果如图2所示,其中zh2uy为将汉语翻译成维语,横坐标为sent-bleu值的不同区间,纵坐标为句子个数。结果显示,翻译质量低的数据占了整体数据的一半以上。

为了验证循环翻译是否可以过滤掉与训练数据领域不同数据。做了以下的工作,根据Shiqi[14]中使用的方法,将利用bert将训练集中所有的句子向量化后,将所有的句子向量的求和后平均,以得到的向量作为整个训练集的特征。把478万条句子里sent-bleu值在0.5以上的句子利用bert获得向量后,与整个训练集的特征做余弦相似度计算。从而获得每句话与训练集的相似程度。如图3所示,其中横坐标维句子个数,纵坐标为相似度。从统计的柱状图可以看出,在筛选后的数据与训练数据相似度在0.8以上的占绝大部分。由此相信,循环翻译确实可以隐式地筛选不同领域的数据。其效果类似领域自适应里面语言模型的作用。

5 结束语

本文中,为了解决维汉翻译中数据缺失的问题,沿用了Imankulova等人的方法,通过利用不同的相似度计算方法去验证循环翻译对翻译模型的影响。实验也表明利用循环翻译结合数据过滤可以有效地提升模型效果。除此之外,根据实验结果和数据信息统计,推测这种方法可以隐式地过滤掉领域外的数据,从而在筛选高质量数据时,这些高质量数据很大程度上是与训练数据所属领域相近的数据。因此之后的工作会深入研究循环翻译对领域自适应的影响。除此之外,会进一步研究通过bert提取句子特征进行数据筛选的方法。在这篇文章中,对bert的使用过于简单,可能并将句子的信息完全利用。另外,还希望利用不同粒度的信息去筛选数据。

参考文献:

[1]Bahdanau D,Cho K H,Bengio Y.Neural machine translation by jointly learning to align and translate[EB/OL].[2021-11-15].https://arxiv.org/pdf/1409.0473.pdf.

[2] Sutskever I,Vinyals O,Le Q V.Sequence to sequence learning with neural networks[C]//Advances in Neural Information Processing Systems,2014,27.

[3] Sennrich R,Haddow B,Birch A.Improving Neural Machine Translation Models with Monolingual Data[C]//Annual Meeting of the Association for Computational Linguistics(Volume 1:Long Papers),2016:86-96.

[4] Bojar O,Tamchyna A.Improving translation model by monolingual data[C]//Proceedings of the Sixth Workshop on Statistical Machine Translation,2011:330-336.

[5] Imankulova A,Sato T,Komachi M.Improving low-resource neural machine translation with filtered pseudo-parallel corpus[C]//Workshop on Asian Translation(WAT2017),2017:70-78.

[6] Chen B,Cherry C.A systematic comparison of smoothing techniques for sentence-level bleu[C]//Proceedings of the ninth workshop on statistical machine translation,2014:362-367.

[7] Xu G H,Ko Y J,Seo J Y.Improving neural machine translation by filtering synthetic parallel data[J].Entropy,2019,21(12):1213.

[8] Imankulova A,Sato T,Komachi M.Filtered pseudo-parallel corpus improves low-resource neural machine translation[J].ACM Transactions on Asian and Low-Resource Language Information Processing(TALLIP),2019,19(2):1-16.

[9] Moore R C,Lewis W.Intelligent Selection of Language Model Training Data[C]//meeting of the association for computational linguistics,2010:220-224.

[10] Axelrod A,He X,Gao J,et al.Domain Adaptation via Pseudo In-Domain Data Selection[C]//empirical methods in natural language processing,2011:355-362.

[11] Song Y,Roth D.Unsupervised Sparse Vector Densification for Short Text Similarity[C]//Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies,2015.

[12] Kenton J D M W C,Toutanova L K.BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding[C]//Proceedings of NAACL-HLT,2019:4171-4186.

[13] Papineni K,Roukos S,Ward T,et al.Bleu:a Method for Automatic Evaluation of Machine Translation[C]//meeting of the association for computational linguistics,2002:311-318.

[14] Zhang S,Xiong D.Sentence weighting for neural machine translation domain adaptation[C]//Proceedings of the 27th International Conference on Computational Linguistics,2018:3181-3190.

【通聯编辑:谢媛媛】

猜你喜欢
相似度筛选
改进的协同过滤推荐算法
模糊Petri网在油田开发设计领域的应用研究
晋北豇豆新品种鉴定筛选与评价
不同西瓜嫁接砧木的筛选与研究