1.本发明属于自然语言处理中的机器翻译领域,具体涉及提供一种神经机器翻译模型的训练方法。
背景技术:
2.神经机器翻译(英语:neural machine translation,缩写:nmt)是一种引入人工神经网络进行翻译的机器翻译方式。标签平滑(label smoothing)和词汇共享(vocabulary sharing)是神经机器翻译模型训练时两种常用技术。标签平滑是一种常用的提高模型泛化能力的手段,其通过将模型对正确标签的预测概率值减少一部分并平均分配给其他错误标签来减少模型过拟合的程度。词汇共享通过共享源语言和目标语言的词汇信息,充分利用了不同语言间的公共信息,降低了模型的大小,加强了不同语言间的语义共享。在机器翻译中,源语言和目标语言的词汇分布往往有较大差异,可以将词汇分成源端词汇,共享词汇,目标端词汇三类,现有的机器翻译方法将这三类词等同看待,并没有利用词汇端的先验信息,这会使得机器翻译性能效果不佳。
技术实现要素:
3.为了克服现有技术的不足,本发明的目的是提供一种利用源语言和目标语言词汇信息进行机器翻译模型训练的方法,其解决词汇共享和标签平滑两个技术潜在的冲突,可以提高神经机器翻译模型的性能。
4.为了实现上述目的,本发明提供一种基于加权标签平滑的神经机器翻译模型训练方法,具体流程图如图1所示,包括如下步骤:a:对源语言和目标语言的词汇表进行统计,计算出源端词汇,共享词汇和目标端词汇;a1:对源语言和目标语言的语料进行分词处理,得出两种语言各自的词汇表(源端词汇表和目标端词汇表),并根据上述词汇表的交集情况得出共享词汇表;a2:根据三个词汇表计算得到源端词汇,共享词汇和目标端词汇,即仅出现在源端词汇表不出现在共享词汇表中的词为源端词汇,仅出现在目标端词汇表不出现在共享词汇表中的词为目标端词汇,其余词为共享词汇; b: 通过下述公式生成训练的标签向量;其中, 表示的是真实的标签向量为一个1-hot向量,目标端词汇对应的值为1,其余的值为0; 表示的是进行加权后的标签向量,α表示的是标签平滑的参数,一般取0.1~0.3之间;β表示加权向量,具体为每个非目标端词汇分配的平滑概率的大小,为一个向量,向量的每个维度的值对应分配给对应词的概率值;
其满足以下两个约束条件1. 2. 其中为加权向量β中为第i个词分配的平滑概率,k为总词数,分别为目标端词汇,共享词汇,源端词汇中的第i个词, 为目标词汇,共享词汇和源端词汇的加权参数之比,加权向量β由所有的组成。
5.其中,约束条件1的含义是,在进行标签平滑的过程中,为所有非真实目标词分配的概率之和等于标签平滑的参数α,使得所有词汇的概率和为1。例如,若α值为0.1,当前的真实目标词为
ꢀ“
look”,则为除了“look”外其他词语分配的概率之和为0.1,为“look”分配的概率为0.9.约束条件2的含义是,在加权向量β中,为属于目标端词汇,共享词汇,源端词汇的分配的平滑概率和的比例应该满足设置的参数之比 ,其中t,c,s为步骤a求得的三个词汇集合, 设置为1(
±
0.5):1(
±
0.5):0,目的是防止模型在标签平滑的过程中受到源端词的干扰,因为源端词汇是没有可能出现在翻译中。
6.c: 使用步骤b)生成的标签向量进行序列到序列的神经机器翻译模型训练,即使用加权后的目标向量 代替真实目标向量进行神经机器翻译模型的训练。
7.本发明的技术效果:本发明提出的基于词汇信息的加权标签平滑通过计算源端词汇,共享词汇和目标端词汇,为模型注入额外的机器翻译任务相关的先验信息,加强模型在翻译任务上的表现;通过动态调节标签平滑时,避免了将平滑概率分配给仅属于源端词汇产生误差,增强模型了的性能。
附图说明
8.图1为本发明流程图;图2为源语言和目标语言的词汇表的示意图,分别对应中文-日语(左)和英语-德语(右)翻译方向;图3为计算目标端词汇,共享词汇,源端词汇t,c,s的流程图。
具体实施方式
9.下面参照本发明的附图,详细的描述出本发明的实施过程。
10.1. 使用transformer-base模型作为神经机器翻译模型的基础模型;2. 首先使用字节对编码算法(bpe)对源语言和目标语言进行编码,目的是压缩词汇表的大小,设置最低出现次数为5,对源语言和目标语言的词汇表进行统计,如图2所示,
获得源端词汇表a,目标端词汇表b和共享词汇表j;3.如图3所示,对源端词汇表,目标端词汇表和共享词汇表计算得到目标端词汇,共享词汇,源端词汇t,c,s,即仅出现在源端词汇表不出现在共享词汇表中的词为源端词汇,仅出现在目标端词汇表不出现在共享词汇表中的词为目标端词汇,其余词为共享词汇,图3中len(j)表示共享词汇表j内词的数量;4.通过下述公式生成训练的标签向量;其满足以下两个约束条件1.2.5.将加权参数设置为1:1:0,标签平滑参数α设置为0.1,根据t、c、s和加权向量β形成新的目标向量,加权向量β具体为每个非目标端词分配的平滑概率的大小,在wmt14en-de的翻译实验中,为目标端词汇,共享词汇,源端词汇分配的总概率分别为0.041,0.020,0.039;6.通过序列到序列的方法来训练神经机器翻译模型,神经机器翻译模型使用交叉熵作为损失函数进行端到端训练,并使用adam作为优化器。神经机器翻译模型学习率统一设置为7e-4。初始学习率为1e-7,在5000个warm-up更新布内线性增加到7e-4。权重衰减参数设置为1e-4,dropout设置为0.3,神经机器翻译模型共训练20epoch,选取在开发集上表现最好的checkpoint在测试集上进行测试,测试时使用beamsearch的方式进行文本生成,beamsize设置为5,经测试,本发明在wmt14en-de,iwslt14de-en数据集上相较原始的标签平滑手段取得了0.7bleu和0.8bleu的绝对性能提升。
11.上面描述的实施例并非用于限定本发明,任何本领域的技术人员,在不脱离本发明的精神和范围内,可做各种的变换和修改,因此本发明的保护范围视权利要求范围所界定。
技术特征:
1.一种基于加权标签平滑的神经机器翻译模型训练方法,其特征在于,包括如下步骤:a):对源语言和目标语言的词汇表进行统计,计算出源端词汇,共享词汇和目标端词汇;b):通过下述公式生成训练的标签向量;其中,表示的是真实的标签向量为一个1-hot向量,目标端词汇对应的值为1,其余的值为0;表示的是进行加权后的标签向量,α表示的是标签平滑的参数;β表示加权向量,具体为每个非目标端词汇分配的平滑概率的大小,该向量的每个维度的值对应分配给对应词的概率值;其满足以下两个约束条件1.2.其中为加权向量β中为第i个词分配的平滑概率,k为总词数,分别为目标端词汇,共享词汇,源端词汇中的第i个词,为目标词汇,共享词汇和源端词汇的加权参数之比,加权向量β由所有的组成;c: 使用生成的基于词汇信息的加权标签进行序列到序列的神经机器翻译模型训练。2.如权利要求1所述的基于加权标签平滑的神经机器翻译模型训练方法,其特征在于,步骤a)包括:a1:对源语言和目标语言的语料进行分词处理,得出源端词汇表和目标端词汇表,并根据上述词汇表的交集得出共享词汇表;a2:根据三个词汇表计算得到源端词汇,共享词汇和目标端词汇,即仅出现在源端词汇表不出现在共享词汇表中的词为源端词汇,仅出现在目标端词汇表不出现在共享词汇表中的词为目标端词汇,其余词为共享词汇。3.如权利要求1所述的基于加权标签平滑的神经机器翻译模型训练方法,其特征在于,的比例为1(
±
0.5):1(
±
0.5):0。4.如权利要求1所述的基于加权标签平滑的神经机器翻译模型训练方法,其特征在于,所述参数α取0.1~0.3之间。5.如权利要求1所述的基于加权标签平滑的神经机器翻译模型训练方法,其特征在于,所述源语言和目标语言的编码采用字节对编码算法。
技术总结
本发明公布了一种基于加权标签平滑的神经机器翻译模型训练方法,属于自然语言处理中的机器翻译领域。本发明为了解决词汇共享和标签平滑两个技术潜在的冲突,首先通过计算源端词汇,共享词汇和目标端词汇,生成新的训练标签向量,使用新生成的标签向量进行序列到序列的神经机器翻译模型训练。本发明为模型注入额外的机器翻译任务相关的先验信息,加强模型在翻译任务上的表现;通过动态调节标签平滑,避免了将平滑概率仅分配给源端词汇产生的误差,进一步提高了神经机器翻译模型的性能。进一步提高了神经机器翻译模型的性能。进一步提高了神经机器翻译模型的性能。
技术研发人员:常宝宝 陈亮 许润昕
受保护的技术使用者:北京大学
技术研发日:2022.02.08
技术公布日:2022/3/8