• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 其它相关 > 正文

    基于多种数据筛选的维汉神经机器翻译

    来源:六七范文网 时间:2022-12-19 17:15:04 点击:

    宜 年,艾山·吾买尔,买合木提·买买提,吐尔根·依布拉音

    (新疆大学信息科学与工程学院 新疆多语种信息技术重点实验室,新疆 乌鲁木齐 830046)

    目前,大多数从事机器翻译领域的研究人员将目光转向了神经机器翻译模型[1-5],尤其关注Transformer[2]神经机器翻译模型和基于卷积网络的神经机器翻译模型[4-5].Transformer和基于动态卷积的神经机器翻译不同于基于循环神经网络的方法[1]和基于注意力机制的方法[3],Transformer的编码器和解码器的网络结构完全基于自注意力机制,基于动态卷积的神经机器翻译模型则是基于动态卷积神经网络构成的,这使得两个模型能够节省大量的训练时间并显著的提升翻译质量.但基于动态卷积的神经机器翻译方法在某些翻译任务上与Transformer模型相比,仍有一定差距.因此,越来越多的研究者将目光转向Transformer机器翻译模型.

    由于神经机器翻译模型和任务的高复杂度,神经机器翻译往往需要大量的平行数据来拟合当前翻译任务,数据规模大小和质量的高低往往能决定神经网络机器翻译模型性能的好坏.然而,目前仍然存在大量缺少平行数据的语言对,这毫无疑问限制了神经网络机器翻译的发展.因此,如何提升低资源下机器翻译的性能成为了一个重要的研究方向,其中一部分研究人员利用数据增强[6-15]的方法通过大量的数据来提升低资源机器翻译的性能.Sennrich等[6]通过利用翻译模型将大量目标端单语数据翻译为源端语言构成大量的生成数据. 但Edunov等[7]通过研究不同情况下反向翻译对于模型的影响发现:在低资源情况下,数据增强方法因为生成数据质量低反而会降低模型的性能;
    采样和规则化集束搜索可提升反向翻译的效果.与 Edunov等[7]的方法类似,Imamura等[8]通过对生成数据添加噪声来提升反向翻译效果.而Caswell等[9]认为添加噪声方法是通过噪声让模型区分生成数据与真实数据,从而提升反向翻译的效果,因此他们通过在生成数据前添加标签的方法让模型区分不同数据并通过实验表明添加噪声与添加标签的方法不正交来验证他们的猜想.

    在数据量充足的情况下,可以得到有效的生成数据来提升翻译模型的性能,但是对于低资源翻译任务来说,反向翻译无法得到高质量的生成数据,造成该方法无法奏效.因此,如何过滤掉生成数据中质量差的数据变得尤为重要.Imankulova等[11]通过循环翻译将生成的源端数据再次生成为目标端数据,之后利用BLEU[12]对生成数据进行过滤来得到高质量的生成数据.Xu等[13]认为Imankulova等[11]所提方法需要额外的翻译模型将生成的源端数据再次翻译为目标端数据后才能计算BLEU值,因此他们利用目标端单语数据和生成的源端数据的词向量表示来计算生成数据的质量.Hoang等[14]在反向翻译的基础之上提出迭代翻译,通过循环重复反向翻译的过程来获取高质量生成数据提升翻译模型的性能.Imankulova[15]利用语言模型、ASS(average alignment similarity,真实目标句子与伪造的目标句子中所有词向量的平均余弦相似度)和MAS(maximum alignment similarity,真实目标句子与伪造的目标句子中最相似的词与合成目标句中每个词之间的余弦相似性)等方法过滤生成数据.

    针对维汉翻译任务,本文对多种数据筛选的方法进行研究,并使用加标签[9]的方法对这些方法过滤的数据进行比较,确定哪种方法最有效,并根据不同方法得到生成数据的分数,按比例的抽取生成数据混合到真实数据中.之后利用不同数据筛选方法得到的数据训练不同的模型,并将这些模型集成起来得到最好的翻译系统.通过对这些数据筛选方法获得的生成数据进行加标签处理,以便模型区分生成数据与真实数据,从而得到高性能的翻译模型.除此之外,本文为了得到更好的反向翻译模型,将知识蒸馏方法得到的数据添加到真实数据中,以此来增强汉维翻译模型的鲁棒性.并利用不同数据筛选方法获得生成数据,通过一种多分支模型训练方法得到翻译模型,最终得到性能较好的模型.

    本文所描述系统的整体训练流程如图1所示,在该过程中使用了反向翻译、数据过滤、知识蒸馏、微调等方法,接下来将会对这些方法进行介绍.

    1.1 模型结构

    神经机器翻译是目前主流的机器翻译模型方法,Transformer[2]翻译模型更是其中最受瞩目的方法,其不仅在机器翻译领域得到了极大的关注,也在自然语言其他任务上取得了不错的结果.本文中以Transformer模型作为维汉机器翻译模型的基础模型,Transformer模型的框架主要选用FACEBOOK团队研发的FAIRSEQ开源系统(https:∥github.com/pytorch/fairseq).

    1.2 知识蒸馏与微调

    知识蒸馏[16]是一种知识迁移的方法,针对机器翻译任务,本文主要是将一个翻译模型所学的知识通过生成的数据转移到另一个翻译模型里.针对本次评测的特点,采用句子级的知识蒸馏方法,具体的做法如图1中教师模型和数据蒸馏阶段.在训练教师模型阶段,本文针对句子序列是否为逆向,将汉语句子序列和维吾尔语句子序列的方向分为左到右(L2R)、右到左(R2L)、右到右(R2R),并根据这些情况训练了6个教师模型,之后利用这些教师模型对原有的平行语料进行翻译从而得到的6个蒸馏平行语料,将这些蒸馏平行语料与原平行语料进行随机合并,训练得到学生模型,并利用学生模型去翻译汉语单语数据来生成对应的维吾尔语句子.在实验中,由于生成的平行数据的数量远远大于真实数据的数量,为了防止生成的数据分布干扰真实数据,利用原本的平行数据去微调模型,以确保模型生成的结果更遵从原本的平行数据.

    1.3 反向翻译与伪造数据选择

    为了充分利用单语数据,本文对测评提供的汉语单语言文本进行反向翻译.该过程主要通过一个汉维方向的翻译模型自动地将汉语单语数据翻译为维语数据,与输入汉语单语数据组成平行数据用于训练模型.具体做法为:本文使用维汉翻译任务提供的维汉平行数据并利用知识蒸馏的方法得到一个性能较好的汉维、维汉翻译模型,并利用汉维和维汉模型循环翻译汉语单语数据从而构建{真实汉语句子、生成维语句子、生成汉语句子}的语料库DPseudo={Y,XPseudo,YPseudo}.为了评价所生成数据的质量,本文利用句子困惑度、Y和YPseudo的相似度、数据的领域相似度、Y和YPseudo的词语对齐值等方式对DPseudo进行评价.

    1) 句子困惑度:本文利用平行数据中的维语训练语言模型LM1,反向翻译生成的维语训练语言模型LM2,并使用这两个语言模型对生成的数据计算困惑度Sppl,将利用加权求和的方法得到的结果作为评判句子流畅度的值,其中训练语言模型的工具为KenLM(https:∥github.com/kpu/kenlm).

    2) 句子对齐程度:利用句子词语对齐工具fast_align(https:∥github.com/clab/fast_align)计算生成维汉句对基于对齐率的归一化句子对齐质量Salign.

    3) 句子级BLEU值:利用sacrebleu(https:∥github.com/mjpost/sacrebleu)计算真实汉语句子Y和生成的汉语句子YPseudo之间的句子级BLEU值SBLEU,并根据所得值进行筛选.

    4) 领域相似度:本文利用BERT预训练模型[17]来提取生成数据的特征向量,之后将向量输入到两层的全连接网络和softmax函数进行二分类,根据softmax函数输出的值来判断生成数据与训练数据的领域相似度.该过程的公式为:

    Xf=BERT(XPseudo),

    Ssimi=softmax(tanh(W1Xf+b1)W2+b2),

    其中,BERT为预训练模型,Xf为预训练模型提取的特征向量,W1和W2为全连接的参数,b1和b2则为全连接的偏置.本文将验证数据作为领域内数据,通过计算训练数据与验证数据的相似度来筛选领域外数据,相似度是通过BERT提取的特征向量利用余弦相似度来表示.领域相似度的值为该分类器其对汉语单语数据进行分类的概率.

    5) 数据筛选方法融合:本文希望通过融合筛选后得到的数据更加流畅、语义和领域更加相近,因此对生成句子通过不同的数据筛选方法得到的评分进行差值化.差值化的公式如下:

    S=α·Sppl+β·Salign+γ·SBLEU+ρ·Ssimi,

    其中,α,β,γ,ρ为权重,且和为1.

    本文将筛选后的生成数据与真实数据随机混合后训练新的翻译模型,发现即使经过了筛选,生成数据与真实数据之间仍存在差距.因此,本文使用Caswell等[9]提出的添加标签的方法,让模型学习到所输入数据的来源.

    1.4 后处理

    在通过模型集成的方式得到数据结果之后,对测试集进行分析,发现某些结果中只存在数字等非汉语字符的句子.因此本文对这种翻译结果进行了处理.具体流程为:1) 搜索翻译结果中汉语句子未包含汉语字符,但是对应的维语句子中有维语字符的结果;
    2) 将这些维语句子中的非维语数据删除,之后将句子重新输入到模型中进行翻译;3) 将非维语的字符替换到翻译的结果中.处理结果前后对比如表1所示,因为出现该问题的句子仅占测试集的0.005,该后处理对于结果的提升并不明显.

    表1 后处理举例

    对于本次评测任务,本文对双语数据和单语数据进行了全角转半角、转义、控制等特殊字符处理、分词等处理,其中维吾尔语分词工具为本课题组开发,汉语分词则为哈尔滨工业大学分词系统.本文还删除了平行句对中长度比大于3的句子对,通过长度比简单的过滤数据集.经过所有处理,最终保留16万维吾尔语和汉语句对和6×106条汉语单语数据.对于6×106条汉语单语数据,经过反向翻译和不同的数据筛选策略后,保留每个筛选策略中最好的3×106条数据进行实验.

    3.1 环境及模型参数

    训练模型所用服务器的操作系统为CentOS7.2,CPU为 E5-2640,内存为256 GB,使用4块 V100显卡.本次评测所训练的模型参数基于Transformer big model,所有模型的训练仅在一块GPU上进行,batchsize为 4 096个 token,每次训练迭代60 epoch,并平均后30个epoch的模型参数,dropout[18]设为0.3,使用Adam[19]优化模型参数,Adam中β1=0.90,β2=0.98,初始学习率设为0.001,warmup为4 000.在模型预测结果时,beamsize为24.数据预处理所采用的BPE[20]迭代次数为8 000,翻译结果使用Moses(https:∥www.statmt.org/moses/)中提供的评价脚本multi-bleu.perl计算得到词级的BLEU值.

    3.2 模型深广度对比

    为了得到性能更强的翻译模型从而翻译得到更好的生成数据,本文对比模型的深度与广度对于模型性能的影响.由于时间、设备等问题,这些对比实验在16万维汉平行数据集上进行,其结果如表2所示,其中基础模型采用Transformer base model参数.针对广度模型,本文采用Transformer big model参数.而针对深度模型,本文将Transformer base model 中编码器和解码器层数由6层变为8层.实验结果表明,在低资源情况下,广度模型的结果要优于基础模型和深度模型的结果.在低资源情况下,更深的模型可能并不能带来更好的结果.这可能是因为更深的模型需要在训练过程中不断地学习更高层的特征,而学习有效的高层特征需要更多的数据支持.本研究认为广度的模型可以细化句子的特征,并且因为dropout机制以及线性和非线性组合可以筛选这部分特征从而使模型性能得到更好的提升,下文在广度模型上进行实验.

    表2 模型广度和深度实验结果

    3.3 数据蒸馏

    针对知识蒸馏的方法,本文根据句子序列方向的不同,将教师模型分为以下几种:L2R、R2L、R2R.将不同教师模型生成的数据和维汉平行数据(L2L)合并之后得到数据蒸馏模型的结果如表3所示,其中数据蒸馏1为采用L2L、L2R方式得到的生成数据合并之后的模型结果,数据蒸馏2则是在其基础之上添加R2L,R2R方式得到的生成数据合并之后的模型结果.由于数据蒸馏方法是为了通过得到性能更好的汉维翻译模型以生成更好的生成数据,因此本文中给出该方法在汉维、维汉验证和测试集上的结果.

    表3 学生模型的实验结果

    从表3,可以看出知识蒸馏对维汉模型和汉维模型的性能均有提升.实验结果表明,通过添加不同教师模型的生成结果,可以有效的提升基线模型的结果.这可能与增加了平行数据的数量和数据的分布有关.

    3.4 数据增强与模型集成及微调

    为了充分利用汉语单语数据以及对不同数据筛选方法进行对比研究,本文使用不同的数据筛选方法对生成的数据进行处理,并在相同数据量的情况下对不同方法进行实验.相同数据量是指通过数据筛选方法从6×106条单语数据生成的数据集中筛选3×106条数据进行实验.实验结果如表4所示,其中加号均表示在基线模型上增加数据筛选方法,1∶4∶1∶4和4∶1∶4∶1为句子困惑度、领域相似度、句子级BLEU值、词对齐分数的不同插值化.从结果可知,不同数据筛选方法的实验结果都比较接近,且明显优于基线模型、数据蒸馏2和反向翻译.这种结果可能是因为本文在利用生成数据训练翻译模型时采用了添加标签的方法.该方法标明了哪些数据是生成数据,哪些是真实数据,因此使得不同数据筛选方法的结果相近.表中不同数据筛选方法的BLEU值为筛选的数据与真实数据混合训练后,再使用数据蒸馏的数据和真实数据微调模型之后得到的结果.本文主要针对维汉翻译,因此数据过滤方法以及模型集成和微调只在维汉验证集和测试集上进行了计算.

    表4 维汉翻译方向上不同数据筛选方式的实验结果以及模型集成和微调的结果

    本文通过真实的平行数据对数据增强方式得到的模型进行了微调和集成,其实验结果如表4所示.从实验结果可以看出,真实的平行数据对于模型进行微调之后,反而模型的结果降低了,这可能是因为在微调时,仅使用了训练集进行微调的问题.而使用模型集成的方法,将多个模型集成起来得到的结果远比单个的模型结果要好,表明通过将不同数据选择方法得到的模型集成起来可以得到性能更好的模型.

    3.5 提交结果

    在维汉翻译测评任务中,本次最终提交了3个系统的结果.提交系统在维汉测试集和验证集上的结果如表5所示,其中主系统为使用不同生成数据集训练模型集成之后采用后处理的结果,系统1为对不同模型输出使用重排序的结果,系统2则是集成多个微调后模型得到的结果.

    表5 在开发集和测试集上的实验结果

    3.6 集成不同模型结构

    为了验证不同模型架构集成对结果的影响,本文做了相应的实验.该实验所使用的模型结构为基于动态卷积的神经机器翻译模型[5]和基础模型(Transformer)[2],并且这些模型是通过16万维汉平行句对训练得到.其实验结果如表6所示.可以从实验结果中看出,不同模型结构的集成可以极大的提升低资源翻译模型的性能.而不同模型结构的集成之所以有更好地提升,可能是因为模型结构不同导致模型从不同角度提取特征,从而通过集成的方法来综合两个模型的结果.但是集成仅仅只是考虑两种模型翻译的结果而无法将不同角度提取的特征进行互补.

    表6 Dynamic模型与Transformer模型集成实验结果

    在本次评测系统的研究中,为了提升维汉翻译模型的性能,本文使用了反向翻译、知识蒸馏、微调、模型平均和集成等方法.同时本文也对不同的数据过滤方法进行了对比,希望通过这些对比实验,继续对数据增强方式进行研究.由于利用插值化的方法对于融合方法的不稳定,本文希望将领域相似度和数据质量过滤从根本上结合起来,而不是仅仅采用插值的方法进行不同方法的融合.同时本文在实验过程中发现Transformer模型会在每一层关注句子的整体信息,而基于动态卷积的翻译模型则是关注局部信息,全局信息是通过多层的方法间接关注,这两种方法各有优点,从而导致Transformer在低资源情况下可能没有基于动态卷积的翻译模型性能好,因此希望在接下来的研究中想办法将两个模型的优点结合起来,从而在低资源翻译任务上得到更好的结果,也会在Transformer模型上进行更深层模型的尝试以及集成不同结构的模型.

    猜你喜欢 汉语模型实验 记一次有趣的实验小猕猴智力画刊(2022年9期)2022-11-04适用于BDS-3 PPP的随机模型导航定位学报(2022年4期)2022-08-15学汉语金桥(2022年6期)2022-06-20自制空间站模型小天使·三年级语数英综合(2022年4期)2022-04-28轻轻松松聊汉语 后海金桥(2020年11期)2020-12-14追剧宅女教汉语课堂内外(高中版)(2017年9期)2018-02-24汉语不能成为“乱炖”华人时刊(2017年17期)2017-11-09模型小览(二)汽车导报(2017年5期)2017-08-03声波实验小溪流(画刊)(2017年5期)2017-06-15关于植物的小实验幼儿教育·父母孩子版(2017年4期)2017-06-13

    推荐访问:机器翻译 筛选 多种