基于预训练双语词向量的神经机器翻译方法技术

技术编号:29791063 阅读:11 留言:0更新日期:2021-08-24 18:10
本发明专利技术公开了一种基于预训练双语词向量的神经机器翻译方法,将标注对齐的平行语料进行“源语言‑目标语言”拼接作为XLM模型的输入进行预训练;训练:取预训练得到的双语词向量矩阵初始化翻译模型;将源语言输入编码器,将源语言编码的向量表示及对应目标语言输入解码器输出预测序列,将其与相应的目标序列进行对比并计算损失值,输入优化器对翻译模型参数进行优化;预测:在某个时间步里,将源语言输入优化的编码器,编码器输出相应向量表示,将该向量表示以及上一时间步翻译的目标语言词输入解码器,解码器输出该时间步的目标词,将不同时间步翻译的目标词按时间顺序进行拼接,得到源语言翻译的结果。该方法提高了低资源语种的机器翻译效果。

【技术实现步骤摘要】
基于预训练双语词向量的神经机器翻译方法
本专利技术涉及神经机器翻译
,特别涉及一种基于深度学习和双语词向量的神经机器翻译方法。
技术介绍
神经机器翻译(Neuralmachinetranslation,NMT)是一种引入人工神经网络进行翻译的机器翻译技术。相较于传统的统计机器翻译(StatisticalMachineTranslation,SMT),神经机器翻译使用一种端到端的“编码器-解码器”架构。具体来说,这种架构又可被分为以下三类:(1)基于循环神经网络的神经机器翻译模型。该种模型使用长短期记忆(LongShort-TermMemory,LSTM)或门控循环单元(GatedRecurrentUnits,GRU)作为搭建“编码器-解码器”架构的单元。同时,其引入注意力机制,使得生成每个目标端词语时,解码器可以将“注意力”集中到源端的几个相关词语上,并从中获取有用的信息,从而获得更好的翻译表现。(2)基于卷积神经网络的神经机器翻译模型。该种模型使用卷积模块的叠加来搭建“编码器-解码器”架构。同时,其在词向量中加入位置编码使模型获得更丰富的信息,增强模型的表示能力;此外,其使用残差连接来缓解模型训练时的梯度消失问题。(3)Transformer神经机器翻译模型。该种模型创新性地使用了自注意力机制来对序列进行编码,其编码和解码器均由自注意力模块和前向神经网络构成。近年来的研究表明,在英语等单语中提出的自然语言理解生成性训练是十分有效的。仅仅针对单语进行语言模型预训练可以解决大量基于单语的自然语言处理任务,然而这对于机器翻译这种典型的基于双语处理的任务来说,针对单语的语言模型预训练收效甚微。于是,针对预训练语言模型在这方面也有着许多有意思的改进,一种有效的改进模型代表为XLM,其将预训练这种方法扩展到多种语言,并展示了跨语言预处理针对基于双语处理的自然语言处理任务的有效性。常见的神经机器翻译模型使用大量的标注平行语料作为监督信息源,源语言被切分为词或子词然后输入编码器中,(子)词经过编码器(子)词表的词向量矩阵被表示成为词向量,经过编码器的编码过程,最终得到源语言的最终向量表示。目标语言亦被切分为词或子词,(子)词经过解码器(子)词表的词向量矩阵被表示成为词向量,解码器将源语言被编码的向量和上一时间步解码的目标词的词向量作为解码器输入,经过解码器的解码过程,最终得到目标语言相应的词。这种方法存在以下缺点:(1)整个神经机器翻译模型的训练需要大量的标注平行语料作为监督信息源。对于不常见的语种,例如“罗马尼亚语—英语”、“拉脱维亚语—英语”翻译等,由于这些语言之间的标注平行语料特别稀缺,这些语言的神经机器翻译效果往往不如具有大量标注平行语料语种的神经机器翻译。(2)神经机器翻译模型的词向量矩阵往往是随机初始化,且随着训练过程的进行,词向量矩阵中的参数得到学习更新,这对于仅仅具有较少的标注平行语料的语种翻译来说,词向量矩阵的初始质量较差且训练更新过程中更容易过拟合。因此,亟待一种能够提高低资源语料的机器翻译效果的方法。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的目的在于提出一种基于预训练双语词向量的神经机器翻译方法。为达到上述目的,本专利技术实施例提出了基于预训练双语词向量的神经机器翻译方法,包括以下步骤:步骤S1,将标注平行语料进行源语言-目标语言拼接,利用拼接后的标注平行语料对XLM模型进行预训练,并使用交叉熵损失函数计算损失值,将所述损失值输入优化器Adam进行所述XLM模型参数的更新优化;步骤S2,取出预训练后的XLM模型的词向量矩阵,以初始化transformer模型的编码器的词向量矩阵和解码器的词向量矩阵;步骤S3,将所述拼接后的标注平行语料的源语言相继输入至所述transformer模型的编码器中进行词向量化操作,将源语言的向量表示以及对应的目标语言输入所述解码器,得到预测序列,将所述预测序列与预设目标序列进行对比,并使用交叉熵损失函数计算损失值,将该损失值输入优化器Adam进行所述transformer模型参数的更新优化,迭代该过程,当所述损失值达到最小时,停止参数的优化更新并输出此刻的transformer模型;步骤S4,在某个时间步里,将源语言输入所述transformer模型的编码器,编码器输出相应的向量表示,将该向量表示以及上一时间步翻译的目标语言词输入所述transformer模型的解码器,解码器输出该时间步的目标词,并将不同时间步翻译的目标词按时间顺序进行拼接,得到源语言翻译的最终结果,其中,同一时间步依赖源语言只能翻译得到目标语言中的一个词。本专利技术实施例的基于预训练双语词向量的神经机器翻译方法,通过预先用拼接后的标注平行语料对XLM模型进行预训练,初始化transformer模型的编/解码器词向量矩阵,缓解了低资源语种的翻译与大量标注的平行语料被用来训练的矛盾,给神经机器翻译模型的词向量矩阵找到合适的初始化,进而提高了低资源语种的机器翻译效果。另外,根据本专利技术上述实施例的基于预训练双语词向量的神经机器翻译方法还可以具有以下附加的技术特征:进一步地,在本专利技术的一个实施例中,所述预训练的任务包括随机语言建模、遮盖语言建模或翻译语言建模。进一步地,在本专利技术的一个实施例中,在所述步骤S1中,当所述XLM模型仅仅设置所述随机语言建模任务或所述遮盖语言建模任务进行预训练时,只需要对非平行语料的源语言或目标语言采样任意数量的句子进行拼接,并取拼接单句前256个词作为输入语句输入到所述XLM模型中;当XLM设置所述翻译语言建模时,需要将标注平行语料中的源语言和目标语言使用句子分隔符拼接,再将拼接的整句作为单句输入到所述XLM模型中。进一步地,在本专利技术的一个实施例中,所述步骤S1中所述XLM模型对所述输入语句或所述单句处理的具体过程为:当所述预训练的任务为所述随机语言建模任务时,给定句中词wt之前出现的词,建模wt出现在词w1,…,wt-1之后的概率P(wt|w1,…,wt-1,θ),即直接使用transformerencoder来预测下一个词出现的概率;当所述预训练的任务为所述遮盖语言建模任务时,按预设概率采样所述输入语句的词,同时将被采样的词按80%的概率被“[MASK]”替换,按10%的概率被随机替换成预设其他词,按10%的概率保持原词,在XLM在型的顶层预测被遮住的词;当所述预训练的任务为所述翻译语言建模任务时,随机遮盖所述单句的源语言部分和目标语言部分,所述XLM模型需要同时参考被遮盖词在源语言部分的周围词和目标语言部分的词,进而预测源语言部分被遮盖的词。进一步地,在本专利技术的一个实施例中,所述编码器由六层编码层构成,每层编码层包括多头自注意力网络、残差连接、层归一化和前馈神经网络堆叠,且每层编码层将上一编码层输出的结果作为输入。进一步地,在本专利技术的一个实施例中,所述步骤S3中将源语言输入所述编码器后的具体处理为:将所述源语言对所述transfo本文档来自技高网
...

【技术保护点】
1.一种基于预训练双语词向量的神经机器翻译方法,其特征在于,包括以下步骤:/n步骤S1,将标注平行语料进行源语言-目标语言拼接,利用拼接后的标注平行语料对XLM模型进行预训练,并使用交叉熵损失函数计算损失值,将所述损失值输入优化器Adam进行所述XLM模型参数的更新优化;/n步骤S2,取出预训练后的XLM模型的词向量矩阵,以初始化transformer模型的编码器的词向量矩阵和解码器的词向量矩阵;/n步骤S3,将所述拼接后的标注平行语料的源语言相继输入至所述transformer模型的编码器中进行词向量化操作,将源语言的向量表示以及对应的目标语言输入所述解码器,得到预测序列,将所述预测序列与预设目标序列进行对比,并使用交叉熵损失函数计算损失值,将该损失值输入优化器Adam进行所述transformer模型参数的更新优化,迭代该过程,当所述损失值达到最小时,停止参数的优化更新并输出此刻的transformer模型;/n步骤S4,在某个时间步里,将源语言输入所述transformer模型的编码器,编码器输出相应的向量表示,将该向量表示以及上一时间步翻译的目标语言词输入所述transformer模型的解码器,解码器输出该时间步的目标词,并将不同时间步翻译的目标词按时间顺序进行拼接,得到源语言翻译的最终结果,其中,同一时间步依赖源语言只能翻译得到目标语言中的一个词。/n...

【技术特征摘要】
1.一种基于预训练双语词向量的神经机器翻译方法,其特征在于,包括以下步骤:
步骤S1,将标注平行语料进行源语言-目标语言拼接,利用拼接后的标注平行语料对XLM模型进行预训练,并使用交叉熵损失函数计算损失值,将所述损失值输入优化器Adam进行所述XLM模型参数的更新优化;
步骤S2,取出预训练后的XLM模型的词向量矩阵,以初始化transformer模型的编码器的词向量矩阵和解码器的词向量矩阵;
步骤S3,将所述拼接后的标注平行语料的源语言相继输入至所述transformer模型的编码器中进行词向量化操作,将源语言的向量表示以及对应的目标语言输入所述解码器,得到预测序列,将所述预测序列与预设目标序列进行对比,并使用交叉熵损失函数计算损失值,将该损失值输入优化器Adam进行所述transformer模型参数的更新优化,迭代该过程,当所述损失值达到最小时,停止参数的优化更新并输出此刻的transformer模型;
步骤S4,在某个时间步里,将源语言输入所述transformer模型的编码器,编码器输出相应的向量表示,将该向量表示以及上一时间步翻译的目标语言词输入所述transformer模型的解码器,解码器输出该时间步的目标词,并将不同时间步翻译的目标词按时间顺序进行拼接,得到源语言翻译的最终结果,其中,同一时间步依赖源语言只能翻译得到目标语言中的一个词。


2.根据权利要求1所述的基于预训练双语词向量的神经机器翻译方法,其特征在于,所述预训练的任务包括随机语言建模、遮盖语言建模或翻译语言建模。


3.根据权利要求2所述的基于预训练双语词向量的神经机器翻译方法,其特征在于,在所述步骤S1中,
当所述XLM模型仅仅设置所述随机语言建模任务或所述遮盖语言建模任务进行预训练时,只需要对非平行语料的源语言或目标语言采样任意数量的句子进行拼接,并取拼接单句前256个词作为输入语句输入到所述XLM模型中;
当XLM设置所述翻译语言建模时,需要将标注平行语料中的源语言和目标语言使用句子分隔符拼接,再将拼接的整句作为单句输入到所述XLM模型中。


4.根据权利要求3所述的基于预训练双语词向量的神经机器翻译方法,其特征在于,所述步骤S1中所述XLM模型对所述输入语句或所述单句处理的具体过程为:
当所述预训练的任务为所述随机语言建模任务时,给定句中词wt之前出现的词,建模wt出现在词w1,…,wt-1之后的概率P(wt|w1,…,wt-1,θ),即直接使用transformerencoder来预测下一个词出现的概率;
当所述预训练的任务为所述遮盖语言建模任务时,按预设概率采样所述输入语句的词,同时将被采样的词按80%的概率被“[MASK]”替换...

【专利技术属性】
技术研发人员:朱聪慧赵铁军刘哲宁曹海龙杨沐昀徐冰
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1