基于词向量替换数据增强的机器翻译模型训练方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 11:19:16
技术领域
本发明涉及人工智能领域,尤其涉及一种基于词向量替换数据增强的机器翻译模型训练方法、装置、电子设备及存储介质。
背景技术
近年来,随着人工智能的发展,特别是深度学习技术的日益成熟,人工智能在各行各业中得到了广泛应用,极大地提高了生产效率。在自然语言处理领域中的机器翻译领域,基于神经网络的神经机器翻译也取得了较好的效果。机器翻译是一种利用计算机实现语言对之间相互转换的方式。随着深度学习发展,基于深度学习的神经机器翻译(NeuralMachine Translation,NMT)的发展取得了较大的进展,网络结构从循环神经网络发展到卷积神经网络,再到完全基于自注意力机制的网络。在这些不同的网络结构中,基于自注意力机制而又高度并行化的Transformer取得了非常好的效果。神经机器翻译逐步取代了统计机器翻译,成为了目前主流的翻译系统。
目前的神经机器翻译模型在面对英法、英中等拥有大规模平行语料的资源丰富语言对时,取得了较好的翻译效果,但是在一些低资源语言机器翻译任务中效果却不尽人意。作为数据驱动的一种翻译方法,神经机器翻译严重依赖于平行数据的质量、规模。在一些资源稀缺性语言的机器翻译任务中,由于大规模高质量平行语料资源的匮乏以及缺少有效的分析工具,其对应的神经机器翻译系统性能并不理想。因此在低资源的条件下如何构建并提升翻译性能成为维汉机器翻译任务中的主要问题。
为了使限定数据集表现出更多的内容,依据图像数据增强的基本思想,可以通过对平行句对中的某一部分词进行处理来实现数据增强。Zhang X等人通过利用存在的同义词林来查找并替换文本中选定需替换的内容来进行数据增强。Fadaee等人首次提出利用语言模型将文本序列中的高频词用低频词来替换,同时替换对应的译文。这种方式虽然能够有效地提升机器翻译的效果,但其只关注了词表中的部分单词(低频词)。然而高频词之间的替换同样也会提升机器翻译的效果,同时存在很多可以用来进行替换的单词,上述方法不能生成所有可能性的替换。
随着词向量的提出,其通过将词转化为连续稠密的向量来对词与词之间的关系进行描述。相似语义的单词会得到相近的向量表示,因此可以通过词向量来捕捉具有相似语义的词汇。但具有相同语义的词汇在真实数据集中出现的概率并不相同,因此本发明在提供一种基于词向量替换数据增强的机器翻译模型训练方法、装置、设备以及存储介质。
发明内容
本发明目的在于,针对上述现有技术的不足,提供了一种基于词向量替换数据增强的机器翻译模型训练方法、装置、电子设备及存储介质,该方法获取训练样本数据集;对所述的样本数据集进行预处理;针对已有的源语言或目标语言语料,分别训练基于Transformer结构的正向语言模型和逆向语言模型;通过正向语言模型、逆向语言模型来获得句子中任意位置的词在整个词表上的概率分布;根据概率分布以及整个词表的词向量来确定最终词向量,利用最终词向量替换该位置的单词;利用替换后的双语平行语料训练神经机器翻译模型,得到翻译的结果;同时可以将单语数据融入本方法以得到更好的翻译效果。实验结果表明,本发明所述的方法可以显著提高机器翻译模型的翻译质量。以提高机器翻译模型的翻译效果。
本发明所述的一种基于词向量替换数据增强的机器翻译模型训练方法,所述方法包括以下步骤:
a、针对已有的平行语料,利用源语言分别训练一个基于Transformer结构的正向语言模型和逆向语言模型,所述模型中,在给定所有单词词向量矩阵E,正向语言模型产生的单词w
其中,f
其中,b
b、通过正向语言模型和逆向语言模型来获得句子中任意位置的词在整个词表上的概率分布,即通过用概率分布来替代单词的独热编码来表示该位置所有可能性的替换;
c、根据概率分布以及整个词表的词向量确定最终词向量,任意位置的词的最终词向量表示为:
e
再利用最终词向量替换该位置的单词;
d、利用替换后的双语平行语料训练神经机器翻译模型;
e、将单语语料进行反向翻译,得到伪平行语料,将其加入训练数据中,重复a-d步骤得到最终翻译结果。
步骤a中需要的平行语料作为训练的样本数据集,对所描述的平行语料进程预处理:
过滤语料中的噪声符号;使用切分工具对语料进行切分;如果有必要,对语料进行大小写还原,全角-半角的转化;过滤长度比例过大或者过小的平行语言对;对所述的语料通过字节对编码技术进行预处理;将所述的语料中的词转换为独热编码表示;将所述的语料划分为不同的训练批次;对于较长的语料进行截取,对于较短的语料用0值进行填充,以使得同一批次的所述语料调整为相同长度的表示。
步骤e中所述单语语料为在训练语料的基础上添加更多的领域相关单语数据集来训练更为优异的语言模型;加入反向翻译的数据;加入带有标签的反向翻译数据,在源语言的译文数据中加入标签,来区分源端的不同数据。
本发明还提供一种基于词向量替换数据增强的机器翻译模型训练装置,该装置包括:样本数据集语料预处理模块,正向语言模型模块,逆向语言模型模块,词嵌入模块,概率分布确定模块,最终词向量确定模块,模型训练模块和单语语料融入模块,其中:
样本数据集语料预处理模块:用于对双语平行语料数据集或单语语料集进行预处理;
正向语言模型模块:用于获得正向的语言模型,所述语言模型为从左至右根据上文预测下文的语言模型;
逆向语言模型模块:用于获得逆向的语言模型,所述语言模型为从右至作根据下文预测上文的语言模型;
词嵌入模块:用于输入到机器翻译模型之中,作为所述模型的输入;
概率分布确定模块:用于通过正向语言模型、逆向语言模型来获得句子中任意位置的词在整个词表上的概率分布;
最终词向量确定模块:用于根据概率分布以及整个词表的词向量来确定最终词向量,利用最终词向量替换该位置的单词;
模型训练模块:用于利用替换后的双语平行语料再结合单语数据迭代地训练神经机器翻译模型;
单语语料融入模块:用于利用单语数据集进行反向翻译,并将得到的伪平行语料加入训练数据集语料之中。
模型训练模块包括:
编码器模块,用以将源语言编码为特定维度的语义特征;
解码器模块,用以将语义特征解码为目标语言。
所述样本数据集语料预处理模块包括:
噪声符号过滤单元:用于过滤语料中的噪声符号;
语料切分单元:用于对语料进行切分;
转化单元:用于对语料进行大小写还原,全角-半角的转化;
长度过滤单元:用于过滤长度比例过大或者过小的平行语言对;
编码单元:用于对所述的语料通过字节对编码技术进行预处理编码;
数值转化单元:用于将所述的语料中的词转换为独热编码表示;
语料划分单元:用于将所述的语料划分为不同的训练批次;
长度调整单元:用于对较长的语料进行截取,对较短的语料用0值进行填充,以使得同一批次的所述语料调整为相同长度的表示。
本发明还提供了一种电子设备,其中,包括:至少一个多核处理器;至少一个GPU计算卡,以及与所述至少一个多核处理器通信连接的存储器,其特征在于,所述存储器存储有可被所述至少一个多核处理器执行的指令,所述指令被所述至少一个多核处理器执行或所述至少一个GPU计算卡执行,以使所述至少一个多核处理器能或所述至少一个GPU计算卡能够实现机器翻译模型训练方法中任一项所述的方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机指令被处理器执行时实现机器翻译模型训练方法中任一项所述的方法的步骤。
本发明所述的基于词向量替换数据增强的机器翻译模型训练方法、装置、电子设备及存储介质,其有益效果为:
本发明提出一种基于词向量替换数据增强的机器翻译模型训练方法、装置、电子设备及存储介质。首先通过正向语言模型、逆向语言模型来获得句子中任意位置在整个词表上的概率分布;然后根据概率分布以及整个词表的词向量来确定最终词向量,利用最终词向量替换该位置的单词。最后利用单语数据来进一步提升该方法的效果,在多个语言对上的实验证明可以有效提高机器翻译模型的翻译效果。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本发明的工作流程图;
图2为本发明装置样本数据集语料预处理模块图;
图3为本发明装置的原理图;
图4为本发明装置单语语料融入模块图;
图5为本发明训练方法的框架图;
图6为本发明电子设备的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本发明所述的一种基于词向量替换数据增强的机器翻译模型训练方法,所述方法包括以下步骤:
a、针对已有的平行语料,利用源语言分别训练一个基于Transformer结构的正向语言模型和逆向语言模型,所述模型中,在给定所有单词词向量矩阵E,正向语言模型产生的单词w
其中,f
其中,b
所述的平行语料进程预处理:
过滤语料中的噪声符号;
使用切分工具对语料进行切分;
如果有必要,对语料进行大小写还原,全角-半角的转化;
过滤长度比例过大或者过小的平行语言对;
对所述的语料通过字节对编码技术进行预处理;
将所述的语料中的词转换为独热编码表示;
将所述的语料划分为不同的训练批次;
对于较长的语料进行截取,对于较短的语料用0值进行填充,以使得同一批次的所述语料调整为相同长度的表示。
b、通过正向语言模型和逆向语言模型来获得句子中任意位置的词在整个词表上的概率分布,即通过用概率分布来替代单词的独热编码来表示该位置所有可能性的替换;
c、根据概率分布以及整个词表的词向量确定最终词向量,任意位置的词的最终词向量表示为:
e
再利用最终词向量替换该位置的单词;
d、利用替换后的双语平行语料训练神经机器翻译模型;
e、将单语语料进行反向翻译,得到伪平行语料,将其加入训练数据中,重复a-d步骤得到最终翻译结果;所述单语语料为在训练语料的基础上添加更多的领域相关单语数据集来训练更为优异的语言模型;加入反向翻译的数据;加入带有标签的反向翻译数据,在源语言的译文数据中加入标签,来区分源端的不同数据;
一种基于词向量替换数据增强的机器翻译模型训练装置,该装置包括:样本数据集语料预处理模块,正向语言模型模块,逆向语言模型模块,词嵌入模块,概率分布确定模块,最终词向量确定模块,模型训练模块和单语语料融入模块,其中:
样本数据集语料预处理模块:用于对双语平行语料数据集或单语语料集进行预处理;
正向语言模型模块:用于获得正向的语言模型,所述语言模型为从左至右根据上文预测下文的语言模型;
逆向语言模型模块:用于获得逆向的语言模型,所述语言模型为从右至作根据下文预测上文的语言模型;
词嵌入模块:用于输入到机器翻译模型之中,作为所述模型的输入;
概率分布确定模块:用于通过正向语言模型、逆向语言模型来获得句子中任意位置的词在整个词表上的概率分布;
最终词向量确定模块:用于根据概率分布以及整个词表的词向量来确定最终词向量,利用最终词向量替换该位置的单词;
模型训练模块:用于利用替换后的双语平行语料再结合单语数据迭代地训练神经机器翻译模型;
单语语料融入模块:用于利用单语数据集进行反向翻译,并将得到的伪平行语料加入训练数据集语料之中。
模型训练模块包括:
编码器模块,用以将源语言编码为特定维度的语义特征;
解码器模块,用以将语义特征解码为目标语言。
所述样本数据集语料预处理模块包括:
噪声符号过滤单元:用于过滤语料中的噪声符号;
语料切分单元:用于对语料进行切分;
转化单元:用于对语料进行大小写还原,全角-半角的转化;
长度过滤单元:用于过滤长度比例过大或者过小的平行语言对;
编码单元:用于对所述的语料通过字节对编码技术进行预处理编码;
数值转化单元:用于将所述的语料中的词转换为独热编码表示;
语料划分单元:用于将所述的语料划分为不同的训练批次;
长度调整单元:用于对较长的语料进行截取,对较短的语料用0值进行填充,以使得同一批次的所述语料调整为相同长度的表示;
一种电子设备,其中,包括:至少一个多核处理器;至少一个GPU计算卡,以及与所述至少一个多核处理器通信连接的存储器,其特征在于,所述存储器存储有可被所述至少一个多核处理器执行的指令,所述指令被所述至少一个多核处理器执行或所述至少一个GPU计算卡执行,以使所述至少一个多核处理器能或所述至少一个GPU计算卡能够实现权利要求1至4中任一项所述的方法的步骤;
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机指令被处理器执行时实现如权利要求1至4中任一项所述的方法的步骤;
如图1所示,以提高现有机器翻译模型的翻译效果,该方法具体包括以下步骤:
S1,获取训练样本数据集,所述的训练样本数据集包含若干双语一一对齐的平行语料及若干单语的源语言语料或者若干单语的目标语言语料,所述语料还应携带对应的语言类型;
S2,对所述的样本数据集进行预处理。具体包括:过滤所述语料中的噪声符号;使用切分工具对所述语料进行切分;如果有必要,对所述语料进行大小写还原,全角-半角的转化;过滤长度比例过大或者过小的平行语言对;对所述的语料通过字节对编码技术(byte-pair encoding,BPE)进行预处理;将所述的语料中的词转换为独热编码表示(one-hot embedding);将所述的语料划分为不同的训练批次;对于较长的语料进行截取,对于较短的语料用0值进行填充,以使得同一批次的所述语料调整为相同长度的表示;
S3,针对已有的源语言或目标语言语料,分别训练一个基于Transformer结构的的正向语言模型和逆向语言模型;
在神经机器翻译系统中,每个单词都被赋予唯一的ID值并且用热独编码(one-hotembedding)来进行表示;例如词表中的第i个单词可以表示为|V|维的词向量(0,0,…,1,…,0);其中|V|为词表的大小,向量的第i维度为1,在训练过程中,每个单词w
给定源语言或目标语言句子s=(x
f
b
其中LM
S4,通过过正向语言模型、逆向语言模型来获得句子中任意位置的词在整个词表上的概率分布;
以前向语言模型为例,当在得到词表中每个单词概率分布f
PF(w
其中,f
S5,根据概率分布以及整个词表的词向量来确定最终词向量,利用最终词向量替换该位置的单词;
在机器翻译模型当中,在给定所有单词词向量矩阵E,正向语言模型产生的单词w
其中,f
其中,b
最后将获得正向、逆向词向量进行平均处理,则最终的词向量可由下述公式计算得到,任意位置的词的最终词向量表示为:
e
S6,利用替换后的双语平行语料再结合单语数据训练神经机器翻译模型,得到翻译的结果;
S7,由于部分语言对存在着大量的单语语料,在平行数据缺乏时起到了十分重要的作用;因此在上述方法的基础上,本发明将单语数据有效地进行融入来进一步提升机器翻译的性能;本发明包含三种将单语数据进行融入的方式:
S71,训练性能更优的语言模型:上节提到的方法在训练语言模型时只利用原始训练数据集;因此在原始语料的基础上添加更多的领域相关单语数据集来训练性能更为优异的语言模型;
S72,加入反向翻译数据:反向翻译这种方式在诸多语言对上证明十分有效,但添加限定规模的单语数据集对模型提升是有限的,因此在反向翻译方法的基础上通过上节提到的方式进一步提升机器翻译的效果;
S73,加入带有标签的反向翻译数据:在加入反向翻译数据时,源端的部分数据为翻译后的译文数据。这部分数据会包含着部分的噪音,可能会对语言模型产生不好的效果。因此在源端的译文数据中加入标签(Tag),来区分源端的不同数据,如表1所示:
表1反向翻译数据添加标签(Tag)实例:
为了验证该方法的有效性,本发明在IWSLT2014英德翻译任务(EN-DE)以及CWMT2017(UY-CH)维汉机器翻译任务上进行了实验;英德翻译任务包含着160k平行句对,可以用来模拟低资源翻译任务。从中随机选择选择5%的句子作为验证集,验证集的规模大约为7200句;将IWSLT14.TED.dev2010、IWSLT14.TED.dev2012以及2010年到2012年所有的测试集进行合并来测试模型的性能,测试集的规模大小为6750句;维汉机器翻译任务选择2017年CWMT的评测数据集,为了更好的验证模型的性能,测试集选取于2015年以及2017年的评测任务;每个测试集存在4个不同参考译文,在测试时仅选用一个参考译文用来进行打分;所有数据集都采用moses框架提供的预处理工具进行处理;对于单语数据集,从TED语料库选择部分英语、德语语料;对于维吾尔语、汉语单语语料,从维吾尔语、汉语新闻的网站上进行爬取来获得相应的单语数据选择部分单语数据,具体统计信息如表2所示:
表2单语语料统计信息
为了明显的进行实验之间的对比,本发明将多种数据增强方式(Otto E等)与本发明提到的数据增强方法在德语-英语翻译任务上进行对比,具体内容如下:
Base:基于初始数据训练的翻译模型,没有使用任何数据增强策略;
Swap:在窗口大小K内随机交换邻近的单词;
Dropout:随机丢弃句子中的单词;
Blank:随机将句子中的单词用占位符(placeholder token)来替代;
LM
在英德翻译任务中(DE-EN),采用Transformer算法作为训练框架并使用其默认参数配置:编码器与解码器的参数都为6层;隐藏层的维度设置为512;feed-forward层的参数为1024;注意力头数为4;Dropout率设置为0.3;标签平滑率设置为0.1;模型直到拟合才停止训练;在解码过程中,设置柱搜索的大小为5,长度惩罚为1;对于语言模型,同样也使用Transformer算法;所采用的模型参数为Transformer_based的参数设置;为了能够将语言模型与神经机器翻译结合,语言模型与机器翻译采用相同的词表;在机器翻译训练过程中,语言模型的参数不发生任何改变;所有数据增强的模型采用相同的实验设置并设置在训练过程中有0.15的概率将词进行替换;
表3德语-英语翻译结果
表3的实验结果表明:与基线系统相比,本发明提出的方法能在不利用任何单语数据的情况下有效的提升机器翻译的性能。在德语-英语(DE-EN)翻译任务中,翻译性能得到了1.20BLEU值的提高。在对不同数据增强方法进行对比后发现,基于交换的方式会降低模型的性能。除此之外所有的数据增强方式都有利于提升机器翻译的性能;在所有数据增强方法中,本章提出的方法得到了最优的性能;结果表明本发明提出的基于词向量替换的数据增强方法能够为模型提供多样性的句子信息;
本发明在维吾尔语-汉语翻译任务上验证了该方法的有效性:对于维吾尔语-汉语翻译实验,同样选择基本的Transformer算法作为模型结构;模型参数如下所示:解码器、编码器的层数都为6层;feed-forward层的维度设置为2048,隐藏层的维度为512;attentionheads的个数为8;使用Adam算法作为模型的优化算法,学习率设置为0.001,Dropout率设置为0.3;4000步进行一次warm-up。在解码步骤,平均最后的5个检查点进行解码,设置Beamsearch大小为5且长度惩罚设置为1;语言模型同样也使用Transformer算法且词表与神经机器翻译相同。维吾尔语-汉语翻译任务在不同测试集的表现如表4所示:
表4维吾尔语-汉语翻译结果
表4中的结果分析可得:维吾尔语-汉语机器翻译任务中,本发明提出的方法与基线系统相比有着较为明显的提升。在不同的测试集上提高了0.71、0.44个BLEU值,这直接证明了基于词向量替换技术的数据增强方法同样在维吾尔语-汉语低资源翻译任务上有着显著的效果;
对于加入单语数据的实验,按照上文描述的方法进行了5组对比实验,具体内容为:OurModel_big_LM:使用原始训练集以及上文提到的全部单语数据训练语言模型;训练NMT的数据集不发生任何改变;Back-translation:直接向原始数据中添加反向翻译数据,不使用任何数据增强方法;OurModel_back-translation:训练反向翻译模型对目标端的单语数据进行解码,直接加入到原始数据中;语言模型基于新训练语料来进行训练;OurModel_back-translation_tag:在加入反向翻译数据时,对源端的反向翻译数据添加
表5添加单语语料后德语-英语翻译结果
表6添加单语语料后维吾尔语-汉语翻译结果
表5、表6所示:与基线系统相比,所有添加单语数据的方法都会产生正面的影响;其中在添加不带标签的反向翻译数据并使用基于词向量替换的数据增强方法取得了最优的翻译结果;编号2实验与编号3实验相比,发现使用性能更优的语言模型对机器翻译模型的影响不大;这是由于神经机器翻译与语言模型的词表是相同的,在生成概率分布时,更优的语言模型所产生的概率分布不会发生太大的变化;与基线系统相比,编号3实验在添加反向数据后会提升机器翻译的性能;实验5、实验6与实验4相比,说明将词向量替换数据增强方法与反向翻译方法相结合能够进一步提升机器翻译的性能,其原因在于基于词向量替换的数据增强方法能够优化反向翻译数据并且使反向翻译数据获得更多样性的表达;而实验5与实验6相比,在添加Tag标签后,模型的性能略微降低,在维汉翻译中尤为明显;这是由于维吾尔语形态复杂,采用tag标签后在生成多样性过程中会使反向翻译数据产生更多的噪音;
本实施例还提供一种基于词向量替换数据增强的机器翻译模型训练装置,如图2,图3,图4所示,以提高现有机器翻译模型的翻译效果;该装置具体包括:样本数据集语料预处理模块11、正向语言模型模块12、逆向语言模型模块13、词嵌入模块14、概率分布确定模块15、最终词向量确定模块16、模型训练模块17和单语语料融入模块18;
下面分别对每个模块进行详细描述:
样本数据集语料预处理模块11用于对双语平行语料数据集或单语数据集进行预处理,具体包括:噪声符号过滤单元111,用于过滤语料中的噪声符号;语料切分单元112,用于对语料进行切分;转换单元113,用于对语料进行大小写还原,全角-半角的转换;长度过滤单元114,用于过滤长度比例过大或者过小的平行语言对;编码单元115,用于对所述的语料通过字节对编码技术(byte-pair encoding,BPE)进行预处理编码;数值转化单元116,用于将所述的语料中的词转换为独热编码表示(one-hot embedding);语料划分单元117,用于将所述的语料划分为不同的训练批次;长度调整单元118,用于对较长的语料进行截取,对较短的语料用0值进行填充,以使得同一批次的所述语料调整为相同长度的表示;
正向语言模型模块12用于获得正向的语言模型,所述语言模型为从左至右根据上文预测下文的语言模型;
逆向语言模型模块13用于获得逆向的语言模型,所述语言模型为从右至作根据下文预测上文的语言模型;
词嵌入模块14用于输入到机器翻译模型之中,作为所述模型的输入;
概率分布确定模块15用于通过正向语言模型、逆向语言模型来获得句子中任意位置的词在整个词表上的概率分布;
最终词向量确定模块16用于根据概率分布以及整个词表的词向量来确定最终词向量,利用最终词向量替换该位置的单词;
模型训练模块17用于利用替换后的双语平行语料再结合单语数据迭代地训练神经机器翻译模型;所述训练模块包括编码器模块,用以将源语言编码为特定维度的语义特征;解码器模块,用以将语义特征解码为目标语言;
单语语料利用模块18用于利用单语数据集来进一步提高本发明的翻译效果,包括在训练语料的基础上添加更多的领域相关单语数据集来训练更为优异的语言模型;加入反向翻译的数据;加入带有标签的反向翻译数据,在源语言的译文数据中加入标签,来区分源端的不同数据。
在神经机器翻译装置中,每个单词w
给定源语言或目标语言句子s=(x
f
b
其中LM
通过过正向语言模型、逆向语言模型来获得句子中任意位置的词在整个词表上的概率分布;
以前向语言模型为例,当在得到词表中每个单词概率分布f
PF(w
其中f
根据概率分布以及整个词表的词向量来确定最终词向量,利用最终词向量替换该位置的单词;
在机器翻译模型当中,在给定所有单词词向量矩阵E,正向语言模型产生的单词w
其中,f
其中,b
最后将获得正向、逆向词向量进行平均处理,则最终的词向量可由下述公式计算得到;任意位置的词的最终词向量表示为:
e
利用替换后的双语平行语料再结合单语语料训练神经机器翻译模型,得到翻译结果;
由于部分语言对存在着大量的单语数据,在平行数据缺乏时起到了十分重要的作用;因此在上述方法的基础上,将单语数据进行融入来进一步提升机器翻译的性能,单语语料融入模块18包含如下三个单元:
扩展语言模型模块181:上节提到的方法在训练语言模型时只利用原始训练数据集。因此在原始语料的基础上添加更多的领域相关单语数据集来训练性能更为优异的语言模型;
反向翻译数据增添模块182:反向翻译这种方式在诸多语言对上证明十分有效。但添加限定规模的单语数据集对模型提升是有限的,因此在反向翻译方法的基础上是否可以通过上节提到的方式进一步提升机器翻译的效果;
带有标签的反向翻译数据增添模块183:在加入反向翻译数据时,源端的部分数据为翻译后的译文数据。这部分数据会包含着部分的噪音,可能会对语言模型产生不好的效果,因此在源端的译文数据中加入标签(Tag),来区分源端的不同数据;
综上所述,本装置对传统基于词替换技术的数据增强方式进行改进,提出一种基于概率分布的词向量替换技术的装置。通过语言模型根据上下文生成输入单词的概率分布,然后根据在所有词上的概率分布来生成新的词向量来替换原始词向量。在德语-英语、维吾尔语-汉语两个语言对上进行了实验,验证了方法的有效性。同时,将单语数据与这种数据增强方式相结合。实验结果表明,在通过反向翻译技术添加单语数据能够显著提升模型的性能;
本实施例提供一种电子设备,电子设备指各种各样的现代电子数字计算机,包括如:个人计算机、便携式计算机、各种服务器设备。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例1提供的基于词向量替换数据增强的机器翻译模型训练方法;
如图6所示,所述电子设备包括:
一个或多个多核处理器401、一个或多个GPU计算卡402、存储器403,存储器403包括易失性存储器,例如随机存取存储器(RAM)404和/或高速缓存存储器406,还可以进一步包括只读存储器(ROM)405;
为使电子设备产生交互,还应包括:输入设备408、输出设备409,各种设备之间通过总线410进行互联通信;
其中,所述存储器存储有可由至少一个多核处理器或至少一个GPU计算卡执行的指令,以使本申请所提供的基于词向量替换数据增强的机器翻译模型训练方法被执行。本申请的存储器403存储计算机指令,该计算机指令用于使计算机执行本申请所提供的基于词向量替换数据增强的机器翻译模型训练方法;
输入设备408,提供并接受用户输入到电子设备中的控制信号,包括产生数字或字符信息的键盘以及用来控制设备产生其他关键信号的鼠标,输出设备409提供用户电子设备的反馈信息,包括打印执行结果或过程的显示器;
本实施例提供的电子设备还可以通过网络适配器407与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信,网络适配器407通过总线410与所述的电子设备的其它模块通信;应当明白,尽管图中未示出,可以结合所述电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等;
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化,反之,文中描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化;
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例基于词向量替换数据增强的机器翻译模型训练方法的步骤;
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合;
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1基于词向量替换数据增强的机器翻译模型训练方法的步骤;
其中,以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
综上所述,本发明对传统基于词替换技术的数据增强方式进行改进,提出一种基于概率分布的词向量替换方法;通过语言模型根据上下文生成输入单词的概率分布,然后根据在所有词上的概率分布来生成新的词向量来替换原始词向量。在德语-英语、维吾尔语-汉语两个语言对上进行了实验,验证了方法的有效性。同时,将单语数据与这种数据增强方式相结合。实验结果表明,在通过反向翻译技术添加单语数据能够显著提升模型的性能。
需要说明的是,对于前述实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行;其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必须的。
本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。应当理解的是,本公开并不局限于已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
- 基于词向量替换数据增强的机器翻译模型训练方法、装置、电子设备及存储介质
- 机器翻译模型的训练方法、装置、电子设备及存储介质