一种机器翻译增强训练方法及系统与流程

专利2022-05-09  86


本发明涉及自然语言处理和机器翻译领域,具体涉及一种机器翻译增强训练方法及系统。



背景技术:

机器翻译是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程。经历了数十年的发展与进步,机器翻译从基于规则的方法到基于统计的方法,再到当前基于神经网络的机器翻译系统通过将源语言文字信息进行编码,再通过编码信息,递归地解码出目标语言文字,使得机器翻译能力得到极大的提升。但是目前机器翻译能力还没有达到专业译员的翻译水平,无法在实际多场景应用中完全替代人工翻译。而传统的语言服务行业采用人工翻译 校审的方式,过于依赖译员的翻译能力;同时在翻译、校审等过程中,存在着效率低下、成本高昂、人力浪费等问题,已逐渐无法满足迅速增长的翻译需求。

基于深度学习的神经网络机器翻译方法,在中英等资源丰富的语种上效果已达到接近人类翻译水平。但深度学习算法依赖海量训练数据,同时对训练数据的质量要求较高。而全世界目前现存超过5000种语言,绝大部分语言不具有或具有极少量的平行句对可供机器翻译进行训练,因此这些低资源语种的机器翻译效果较差。

为了解决上述问题,可采用机器翻译增强训练方法用于训练数据资源不足的场景,以提升因为数据稀缺导致机器翻译模型性能或鲁棒性差的问题。当前机器翻译增强训练一般包括两类技术方法:一是在数据方面进行加噪训练,根据实际应用场景可能出现的情况,人工设计规则对原始的训练数据进行加噪,例如对源句子中的单词或字符进行随机增加、随机删除或随机替换等,或根据键盘中字母间距离,将源句子中字母随机替换为在键盘中距离更近的字母,或根据同义词表、词嵌入表示等将句子中的单词替换为同义词或近义词,以达到数据增强的目的;二是在模型方面,采用如对抗训练、变分自编码器等技术,提升模型的鲁棒性。

但现有的增强训练方法依然存在着比较明显的缺点:一是数据增强方法一般由工程师人工确定规则并生成伪造的数据,并加入模型训练中。但规则是有限的,但语言是多样性的,这些具有规则特征的伪造数据无法提升模型对未知问题的鲁棒性,且替换方法可能破坏源-目标句子语义间的一致性,或源句子的流畅性。二是如对抗训练、变分自编码器等技术,在机器翻译或自然语言处理领域还没有得到充分的验证和实践检验,模型训练过程中存在着不稳定的情况,实际应用可靠性较弱。



技术实现要素:

为了解决上述技术问题,本发明提供一种机器翻译增强训练方法及系统,通过基于语言模型和机器翻译模型的预测、注意力匹配机制方法,对平行训练数据进行加噪和增强,从而提升低资源条件下机器翻译模型的训练效果和鲁棒性。

本发明技术解决方案为:一种机器翻译增强训练方法,包括:

步骤s1:获取训练数据,所述训练数据包括:源端句子和目标端句子;

步骤s2:分别使用所述源端句子和所述目标端句子训练源端语言模型和目标端语言模型;

步骤s3:随机选择所述源端句子中子词,并根据所述源端句子构造移位后的句子,输入所述源端语言模型,对所述移位后的句子中对应的所述子词进行预测,根据预测结果进行加权求和,实现对所述源端句子的增强;

步骤s4:根据所述源端句子和所述目标端句子的注意力权重分布,并根据所述源端句子中子词替换目标端句子中对应子词,利用所述语言模型和神经机器翻译模型联合预测结果,以实现对所述目标端句子的增强。

本发明与现有技术相比,具有以下优点:

本发明提供的方法针对性地提出了一种新的机器翻译增强训练方法,分别对源端句子和目标端句子进行动态增强,以达到增强训练的目的,提升模型的性能和鲁棒性。本发明提供的机器翻译增强训练方法能够保证增强后的数据在流畅性和语义匹配性上更好,减少现有数据增强技术带来的噪声问题。

附图说明

图1为本发明实施例中一种机器翻译增强训练方法的流程图;

图2为本发明实施例中一种机器翻译增强训练方法中步骤s3:随机选择源端句子中子词,并根据源端句子构造移位后的句子,输入源端语言模型,对移位后的句子中对应的子词进行预测,根据预测结果进行加权求和,实现对源端句子的增强的流程图;

图3为本发明实施例中语言模型和神经机器翻译模型的结构示意图;

图4为本发明实施例中一种机器翻译增强训练方法中步骤s4:根据源端句子和目标端句子的注意力权重分布,并根据源端句子中子词替换目标端句子中对应子词,利用语言模型和神经机器翻译模型联合预测结果,以实现对目标端句子的增强的流程图;

图5为本发明实施例中一种机器翻译增强训练系统的结构框图。

具体实施方式

本发明提供了一种机器翻译增强训练方法,分别对源端句子和目标端句子进行动态增强,以达到增强训练的目的,提升模型的性能和鲁棒性。

为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。

实施例一

如图1所示,本发明实施例提供的一种机器翻译增强训练方法,包括下述步骤:

步骤s1:获取训练数据,训练数据包括:源端句子和目标端句子;

步骤s2:分别使用源端句子和目标端句子训练源端语言模型和目标端语言模型;

步骤s3:随机选择源端句子中子词,并根据源端句子构造移位后的句子,输入源端语言模型,对移位后的句子中对应的子词进行预测,根据预测结果进行加权求和,实现对源端句子的增强;

步骤s4:根据源端句子和目标端句子的注意力权重分布,并根据源端句子中子词替换目标端句子中对应子词,利用语言模型和神经机器翻译模型联合预测结果,以实现对目标端句子的增强。

在一个实施例中,上述步骤s1:获取训练数据,训练数据包括:源端句子和目标端句子,具体包括:

对语言模型和神经机器翻译模型进行训练之前,为其收集训练数据。用于语言模型训练的源端句子和目标端句子,一般可通过互联网等途径获得;用于神经机器翻译模型训练的平行句对,一般可通过人工标注、互联网获取等途径构建。在数据处理时,语言模型训练数据和翻译模型训练数据需要采用相同的处理方式,以便于后续步骤在词表上保持一致。

在一个实施例中,上述步骤s2:分别使用源端句子和目标端句子训练源端语言模型和目标端语言模型,具体包括:

语言模型的训练是为了在后续的机器翻译增强训练中,通过语言模型的预测来选中需要修改的位置和子词。本发明对于语言模型的选择不做限制,本发明实施例采用基于lstm的语言模型进行训练,并能够实现对下一个词预测即可。本步骤需要利用步骤s1中的源端句子和目标端句子,同时对源端语言的语言模型和目标端的语言模型进行训练。

如图2所示,在一个实施例中,上述步骤s3:随机选择源端句子中子词,并根据源端句子构造移位后的句子,输入源端语言模型,对移位后的句子中对应的子词进行预测,根据预测结果进行加权求和,实现对源端句子的增强,具体包括:

步骤s31:按照预设概率,在源端句子中随机选择至少一个子词;

对训练中的某对源端句子和目标端句子,按预设的概率随机在源端句子中选择至少一个个位置的子词,此概率根据具体实验结果确定,本发明实施例中概率选择为p=15%。举例来说,如图3所示,本次源端句子中的x1和x3两个位置的子词被随机选中,在后续步骤将要被替换。

步骤s32:将源端句子平移,构造移位后的句子;

对于源端句子的平移位数以及平移的方向,可根据实际情况决定,本发明实施例将源端句子向右平移一位后,得到图3中所示移位后的句子。

步骤s33:将移位后的句子输入源端语言模型,得到子词的向量表示,如下述公式(1)所示;

其中,xi为子词;p|v|是预先设定的词表向量;pj(xi)是xi在词表向量中第j个词的概率;p(xi)是所述移位后的句子中对xi的向量表示;

在本步骤中,移位后的句子输入源端语言模型,根据预先设定的词表向量,通过公式(1)计算后,分别得到每个子词位置下一个词在词表维度上的概率分布,构成该子词的向量表示。举例来说,如图3所示,p(x1)是移位后的句子中对x1位置下一个词的预测结果的向量表示,即p(x1)是一个词表维的向量。同理,可得到p(x3)。

步骤s34:根据子词的向量表示,利用公式(2),计算子词的软性预测向量;

其中,ej是词表向量的第j个词的词嵌入矩阵;

在本步骤中,以pj(xi)为权重,利用公式(2),对所有词表向量的词嵌入矩阵e进行加权求和。

步骤s35:根据以下公式(3)~(4),从词表中选择出替换xi的新子词xi′;

其中,vtopn是指根据语言模型概率筛选得到的与xi最相似的前n个子词;sim是计算向量相似度函数;argmax求使得sim函数值最大的参数xi,即x′i;是对e(xi)的梯度向量;y是目标端句子,x是源端句子,θ为神经机器翻译模型中所有的参数;

在本发明实施例中,采用向量间的余弦相似度进行计算,利用上述公式将计算得到与当前xi在梯度方向上差别最大但依然具有一定相似度的x′i。

步骤s36:根据xi′可得到其硬性预测向量

步骤s37:将子词xi的软性预测向量和新子词xi′的硬性预测向量进行平均,最终得到xi的新子词表示从而实现对源端句子的增强。

通过语言模型预测,可以利用上文信息对当前位置所有可能的词进行预测,同时通过结合软性预测向量和硬性预测向量对当前位置进行增强。既能保障源端句子的语义完整性、流畅性,梯度向量的引进也保证了最终的增强是对当前翻译模型训练最有效的。

在一个实施例中,上述步骤s4:根据源端句子和目标端句子的注意力权重分布,并根据源端句子中子词替换目标端句子中对应子词,利用语言模型和神经机器翻译模型联合预测结果,以实现对目标端句子的增强,具体包括:

步骤s41:计算源端句子中子词xi与目标端句子中每个词的注意力权重,选择目标端句子中对应的子词yi;

本步骤中注意力权重的计算可通过神经机器翻译模型,或词对齐模型进行训练和计算得到,此处不再赘述。

步骤s42:根据语言模型,得到目标端句子中子词向量p(yi)、软性预测向量和硬性预测向量

与上述步骤在源端句子使用语言模型进行预测相同,在目标端句子同样使用语言模型先进行预测,得到每个子词位置下一个词在词表维度上的向量表示p(yi)、软性预测向量和硬性预测向量具体细节可参考步骤s3,此处不再赘述。

步骤s43:根据子词向量,利用神经机器翻译模型,计算目标端句子中子词的软性预测向量以及对应的新子词yi′的硬性预测向量

本步骤中,计算目标端句子中子词的软性预测向量以及对应的新子词的硬性预测向量与上述步骤相同,所不同的是使用神经机器翻译模型进行预测,具体细节此处不再赘述。

步骤s44:利用下述公式(5),计算最终yi新的子词表示从而实现对目标端句子的增强;

其中,w1、w2、w3和w4为模型参数。

步骤s45:利用下述公式(6),对训练中的参数进行更新:

其中,lclean(θmt)是数据增强前的神经机器翻译模型训练loss函数,lnew(θmt)是基于数据增强后得到的训练loss函数,分别是源端和目标端语言模型的训练loss函数。

在模型训练过程中,本方法实施例所使用的语言模型参数会同时更新;而且会将增强前的神经机器翻译模型和增强后的神经机器翻译模型同时计算loss函数,用于参数的更新。

本发明提供的方法针对性地提出了一种新的机器翻译增强训练方法,分别对源端句子和目标端句子进行动态增强,以达到增强训练的目的,提升模型的性能和鲁棒性。本发明提供的机器翻译增强训练方法能够保证增强后的数据在流畅性和语义匹配性上更好,减少现有数据增强技术带来的噪声问题。

实施例二

如图5所示,本发明实施例提供了一种机器翻译增强训练系统,包括下述模块:

训练数据采集模块51,用于获取训练数据;

训练源端和目标端语言模型模块52,用于分别使用所述源端句子和所述目标端句子训练源端语言模型和目标端语言模型;

源端句子增强模块53,用于随机选择所述源端句子中子词,并根据所述源端句子构造移位后的句子,输入所述源端语言模型,对所述移位后的句子中对应的所述子词进行预测,根据预测结果进行加权求和,实现对所述源端句子的增强;

目标端句子增强模块54,用于根据所述源端句子和所述目标端句子的注意力权重分布,并根据所述源端句子中子词替换目标端句子中对应子词,利用所述语言模型和神经机器翻译模型联合预测结果,以实现对所述目标端句子的增强。

提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。


技术特征:

1.一种机器翻译增强训练方法,其特征在于,包括:

步骤s1:获取训练数据,所述训练数据包括:源端句子和目标端句子;

步骤s2:分别使用所述源端句子和所述目标端句子训练源端语言模型和目标端语言模型;

步骤s3:随机选择所述源端句子中子词,并根据所述源端句子构造移位后的句子,输入所述源端语言模型,对所述移位后的句子中对应的所述子词进行预测,根据预测结果进行加权求和,实现对所述源端句子的增强;

步骤s4:根据所述源端句子和所述目标端句子的注意力权重分布,并根据所述源端句子中子词替换目标端句子中对应子词,利用所述语言模型和神经机器翻译模型联合预测结果,以实现对所述目标端句子的增强。

2.根据权利要求1所述的机器翻译增强训练方法,其特征在于,所述步骤s3:随机选择所述源端句子中子词,并根据所述源端句子构造移位后的句子,输入所述源端语言模型,对所述移位后的句子中对应的所述子词进行预测,根据预测结果进行加权求和,实现对源端句子的增强,具体包括:

步骤s31:按照预设概率,在所述源端句子中随机选择至少一个子词;

步骤s32:将所述源端句子平移,构造移位后的句子;

步骤s33:将所述移位后的句子输入所述源端语言模型,得到所述子词的向量表示,如下述公式(1)所示;

其中,xi为所述子词;p|v|是预先设定的词表向量;pj(xi)是xi在所述词表向量中第j个词的概率;p(xi)是所述移位后的句子中对xi的向量表示;

步骤s34:根据所述子词的向量表示,利用公式(2),计算所述子词的软性预测向量;

其中,ej是所述词表向量的第j个词的词嵌入矩阵;

步骤s35:根据以下公式(3)~(4),从所述词表中选择出替换xi的新子词xi′;

其中,vtopn是指根据所述语言模型概率筛选得到的与xi最相似的前n个子词;sim是计算向量相似度函数;argmax求使得sim函数值最大的参数xi,即x′i;是对e(xi)的梯度向量;y是所述目标端句子,x是所述源端句子,θ为所述神经机器翻译模型中所有的参数;

步骤s36:根据xi′可得到其硬性预测向量

步骤s37:将所述子词xi的软性预测向量和所述新子词xi′的硬性预测向量进行平均,最终得到xi的新子词表示从而实现对所述源端句子的增强。

3.根据权利要求1所述的机器翻译增强训练方法,其特征在于,所述步骤s4:根据所述源端句子和所述目标端句子的注意力权重分布,并根据所述源端句子中子词替换目标端句子中对应子词,利用所述语言模型和神经机器翻译模型联合预测结果,以实现对所述目标端句子的增强,具体包括:

步骤s41:计算所述源端句子中所述子词xi与所述目标端句子中每个词的注意力权重,选择所述目标端句子中对应的子词yi;

步骤s42:根据所述语言模型,得到所述目标端句子中所述子词向量p(yi)、软性预测向量和硬性预测向量

步骤s43:根据所述子词向量,利用所述神经机器翻译模型,计算所述目标端句子中所述子词的软性预测向量以及对应的新子词yi′的硬性预测向量

步骤s44:利用下述公式(5),计算最终yi新的子词表示从而实现对所述目标端句子的增强;

其中,w1、w2、w3和w4为模型参数;

步骤s45:利用下述公式(6),对训练中的参数进行更新:

其中,lclean(θmt)是数据增强前的所述神经机器翻译模型训练loss函数,lnew(θmt)是基于数据增强后得到的训练loss函数,分别是所述源端和目标端语言模型的训练loss函数。

4.一种机器翻译增强训练系统,其特征在于,包括下述模块:

训练数据采集模块,用于获取训练数据;

训练源端和目标端语言模型模块,用于分别使用所述源端句子和所述目标端句子训练源端语言模型和目标端语言模型;

源端句子增强模块,用于随机选择所述源端句子中子词,并根据所述源端句子构造移位后的句子,输入所述源端语言模型,对所述移位后的句子中对应的所述子词进行预测,根据预测结果进行加权求和,实现对所述源端句子的增强;

目标端句子增强模块,用于根据所述源端句子和所述目标端句子的注意力权重分布,并根据所述源端句子中子词替换目标端句子中对应子词,利用所述语言模型和神经机器翻译模型联合预测结果,以实现对所述目标端句子的增强。

技术总结
本发明涉及一种机器翻译增强训练方法及系统,其方法包括:S1:获取训练数据,训练数据包括:源端句子和目标端句子;S2:分别使用源端句子和目标端句子训练源端语言模型和目标端语言模型;S3:随机选择源端句子中子词,并根据源端句子构造移位后的句子,输入源端语言模型,对移位后的句子中对应的子词进行预测,根据预测结果进行加权求和,实现对源端句子的增强;S4:根据源端句子和目标端句子的注意力权重分布,并根据源端句子中子词替换目标端句子中对应子词,利用语言模型和神经机器翻译模型联合预测结果,以实现对目标端句子的增强。本发明通过对平行训练数据进行加噪和增强,从而提升低资源条件下神经机器翻译模型的训练效果和鲁棒性。

技术研发人员:张为泰;宋彦;刘俊华;魏思;刘聪
受保护的技术使用者:中国科学技术大学
技术研发日:2021.05.13
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-7758.html

最新回复(0)