神经网络机器翻译训练方法、系统、介质、设备及应用与流程

文档序号:25483234发布日期:2021-06-15 21:43阅读:243来源:国知局
神经网络机器翻译训练方法、系统、介质、设备及应用与流程

本发明属于机器翻译技术领域,尤其涉及一种神经网络机器翻译训练方法、系统、介质、设备。



背景技术:

目前,机器翻译是利用计算机算法自动地将一种源语言句子翻译成为另一种目标语言句子的过程。机器翻译是人工智能的一个研究方向,具有十分重要的科研价值和实用价值。伴随着全球化进程的不断深化和互联网的迅速发展,机器翻译技术在国内外政治、经济、社会、文化交流等方面发挥着越来越重要的作用。

如英中、英法、英德等较大的语种的机器翻译质量已达基本可用的今天,人们对于机器翻译的认可度也越来越高了,一定程度上替代了翻译的角色,已经成为出国的必备工具。而世界交流越发紧密,对于小语种机器翻译的需求也越来越迫切,如普什图语、高棉语、波斯语等等。

训练一个可用的机器翻译模型,一般需要千万句对以上的质量较好的双语语料,语种不同会有部分差异。但是目前小语种的双语语料的数量和质量都不尽如人意,与大语种相比,无法训练得到一个可用的机器翻译模型。例如普什图语,互联网上搜集的双语语料仅仅百万级别但质量较差。经过处理后得到的也就二十万可用做机器翻译训练。因此,如何解决小语种双语语料稀少且质量差的问题是小语种机器翻译的重点探究问题。

其次,小语种的双语语料一般也是翻译至英文,也就是与英文组成双语句对,但国内更大的需求在于翻译为中文。一般采用间接语的方式,先从小语种翻译至英文,再从英文翻译至中文。然而这样的方式往往在中间丢失了很多信息,很多地道的词以及说法会出现问题。并且会出现错误累积的现象:小语种翻译至英文就出现了问题但还能阅读,紧接着英文翻译至中文就错上加错,导致无法阅读了。因此,如何解决小语种翻译至中文的问题需要重点探究。

通过上述分析,现有技术存在的问题及缺陷为:

(1)目前小语种的双语语料的数量稀少且质量较差,与大语种相比,无法训练得到一个可用的机器翻译模型,翻译质量差,无法使用。

(2)采用间接语的方式,在中间丢失了很多信息,很多地道的词以及说法会出现问题,并且会出现错误累积的现象。例如普什图语到英文中,把7月翻译成7days,再从英文翻译到中文时,原文7days其实已经错了,那么得到的中文译文的问题就更大了。

解决以上问题及缺陷的难度为:小语种双语语料十分稀少,互联网上难以寻找。

解决以上问题及缺陷的意义为:小语种(例如普什图语、波斯语等等)机器翻译也可以进行使用了,这对国际交流是有重大意义的,普通人也可以进行交流,减少了对于高成本的小语种人工翻译的需求。



技术实现要素:

针对现有小语种语料较少的问题,本发明提供了一种神经网络机器翻译训练方法、系统、介质、设备,尤其涉及一种多语言双向自回归变压器mbart预训练模型的神经网络机器翻译训练方法及系统。

本发明是这样实现的,一种神经网络机器翻译训练方法,所述神经网络机器翻译训练方法包括以下步骤:

步骤一,训练基于变压器的双向编码器bert的mbart模型;

步骤二,使用双语语料,基于已经训练好的mbart模型进行增量训练;

步骤三,使用步骤二训练得到的模型翻译单语,并构建伪平行数据;

步骤四,使用伪平行数据和双语语料,基于mbart模型继续进行增量训练;

步骤五,重复步骤二-步骤四,直到没有提升为止;

步骤六,使用最新的伪平行数据和双语语料,从零开始训练一个transformer结构的模型;

步骤七,使用步骤六构建得到的从零开始训练一个transformer结构的模型,翻译单语,构建新的伪平行数据;

步骤八,使用伪平行数据和双语语料,从零开始再次训练一个transformer结构的模型;

步骤九,重复步骤六-步骤八,直到没有提升为止;

步骤十,根据最新的伪平行数据和双语语料,利用零命中技术,训练直接到中文的模型;

步骤十一,翻译时,在原文前加入--to-zh--标签,即可直接翻译至中文。

进一步,步骤一中,所述训练基于变压器的双向编码器bert的mbart模型,包括:

(1)在基于变压器的双向编码器bert的基础上,添加自回归的解码器;

(2)使用多个语种训练,即可得到最后的mbart模型。

进一步,输入多语种的单语,在每个输入加入语种的识别标识。

进一步,输入处理包括词屏蔽、词删除、句子置换、文档置换和文本填充。

进一步,步骤十中,在训练前,在原文的句子前加入翻译至何种类型语种的标签;混合小语种的伪平行数据和双语语料与英中的语料进行训练transformer模型训练,得到最终的中文的模型。

本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

训练基于变压器的双向编码器bert的mbart模型;

使用双语语料,基于已经训练好的mbart模型进行增量训练;

使用训练得到的模型翻译单语,并构建伪平行数据;

使用伪平行数据和双语语料,基于mbart模型继续进行增量训练;

重复使用双语语料,基于已经训练好的mbart模型进行增量训练、使用训练得到的模型翻译单语,并构建伪平行数据、使用伪平行数据和双语语料,基于mbart模型继续进行增量训练,直到没有提升为止;

使用最新的伪平行数据和双语语料,从零开始训练并构建一个transformer结构的模型;

使用构建得到的模型,翻译单语,构建新的伪平行数据;

使用伪平行数据和双语语料,从零开始再次训练一个transformer结构的模型;

重复使用最新的伪平行数据和双语语料,从零开始训练一个transformer结构的模型、使用构建得到的模型,翻译单语,构建新的伪平行数据、使用伪平行数据和双语语料,从零开始再次训练一个transformer结构的模型,直到没有提升为止;

根据最新的伪平行数据和双语语料,利用零命中技术,训练直接到中文的模型;

翻译时,在原文前加入--to-zh--标签,直接翻译至中文。

本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

训练基于变压器的双向编码器bert的mbart模型;

使用双语语料,基于已经训练好的mbart模型进行增量训练;

使用训练得到的模型翻译单语,并构建伪平行数据;

使用伪平行数据和双语语料,基于mbart模型继续进行增量训练;

重复使用双语语料,基于已经训练好的mbart模型进行增量训练、使用训练得到的模型翻译单语,并构建伪平行数据、使用伪平行数据和双语语料,基于mbart模型继续进行增量训练,直到没有提升为止;

使用最新的伪平行数据和双语语料,从零开始训练并构建一个transformer结构的模型;

使用构建得到的模型,翻译单语,构建新的伪平行数据;

使用伪平行数据和双语语料,从零开始再次训练一个transformer结构的模型;

重复使用最新的伪平行数据和双语语料,从零开始训练一个transformer结构的模型、使用构建得到的模型,翻译单语,构建新的伪平行数据、使用伪平行数据和双语语料,从零开始再次训练一个transformer结构的模型,直到没有提升为止;

根据最新的伪平行数据和双语语料,利用零命中技术,训练直接到中文的模型;

翻译时,在原文前加入--to-zh--标签,直接翻译至中文。

本发明的另一目的在于提供一种应用所述的神经网络机器翻译训练方法的神经网络机器翻译训练系统,所述神经网络机器翻译训练系统包括:

mbart模型训练模块、模型增量训练模块、伪平行数据构建模块、二次增量训练模块、模型训练模块、伪平行数据二次构建模块、模型二次训练模块、零命中训练模块、翻译模块。

mbart模型训练模块,用于训练基于变压器的双向编码器bert的mbart模型;

模型增量训练模块,用于使用双语语料,基于已经训练好的mbart模型进行增量训练;

伪平行数据构建模块,用于使用构建得到的mbart模型翻译单语,并构建伪平行数据;

二次增量训练模块,用于使用伪平行数据和双语语料,基于mbart模型继续进行增量训练;

模型训练模块,用于使用最新的伪平行数据和双语语料,从零开始训练一个transformer结构的模型;

伪平行数据二次构建模块,用于使用构建得到的transformer结构的模型翻译单语,构建新的伪平行数据;

模型二次训练模块,用于使用伪平行数据和双语语料,从零开始再次训练一个transformer结构的模型;

零命中训练模块,用于根据最新的伪平行数据和双语语料,利用零命中技术,训练直接到中文的模型;

翻译模块,翻译时,用于在原文前加入--to-zh--标签,即可直接翻译至中文。

结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的神经网络机器翻译训练方法,基于mbart模型,有效利用单语的信息,使得小语种到英语的模型提升到可用的程度。同时,使用零命中(zero-shot)技术,训练得到直接到中文的模型,减少使用中间语模型的错误积累问题,能够使得小语种机器翻译达到可用的程度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的神经网络机器翻译训练方法流程图。

图2是本发明实施例提供的神经网络机器翻译训练系统结构框图;

图中:1、mbart模型训练模块;2、模型增量训练模块;3、伪平行数据构建模块;4、二次增量训练模块;5、模型训练模块;6、伪平行数据二次构建模块;7、模型二次训练模块;8、零命中训练模块;9、翻译模块。

图3是本发明实施例提供的多语言双向自回归变压器示意图。

图4是本发明实施例提供的输入处理示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对现有技术存在的问题,本发明提供了一种神经网络机器翻译训练方法、系统、介质、设备,下面结合附图对本发明作详细的描述。

如图1所示,本发明实施例提供的神经网络机器翻译训练方法包括以下步骤:

s101,训练基于变压器的双向编码器bert的mbart模型;

s102,使用双语语料,基于已经训练好的mbart模型进行增量训练;

s103,使用s102训练得到的模型翻译单语,并构建伪平行数据;

s104,使用伪平行数据和双语语料,基于mbart模型继续进行增量训练;

s105,重复s102-s104,直到没有提升为止;

s106,使用最新的伪平行数据和双语语料,从零开始训练一个transformer结构的模型;

s107,使用s106构建得到的从零开始训练一个transformer结构的模型,翻译单语,构建新的伪平行数据;

s108,使用伪平行数据和双语语料,从零开始再次训练一个transformer结构的模型;

s109,重复s106-s108,直到没有提升为止;

s110,根据最新的伪平行数据和双语语料,利用零命中技术,训练直接到中文的模型;

s111,翻译时,在原文前加入--to-zh--标签,即可直接翻译至中文。

本发明提供的神经网络机器翻译训练方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的神经网络机器翻译训练方法仅仅是一个具体实施例而已。

如图2所示,本发明实施例提供的神经网络机器翻译训练系统包括:

mbart模型训练模块1,用于训练基于变压器的双向编码器bert的mbart模型;

模型增量训练模块2,用于使用双语语料,基于已经训练好的mbart模型进行增量训练;

伪平行数据构建模块3,用于使用构建得到的mbart模型翻译单语,并构建伪平行数据;

二次增量训练模块4,用于使用伪平行数据和双语语料,基于mbart模型继续进行增量训练;

模型训练模块5,用于使用最新的伪平行数据和双语语料,从零开始训练一个transformer结构的模型;

伪平行数据二次构建模块6,用于使用构建得到的transformer结构的模型翻译单语,构建新的伪平行数据;

模型二次训练模块7,用于使用伪平行数据和双语语料,从零开始再次训练一个transformer结构的模型;

零命中训练模块8,用于根据最新的伪平行数据和双语语料,利用零命中技术,训练直接到中文的模型;

翻译模块9,翻译时,用于在原文前加入--to-zh--标签,即可直接翻译至中文。

下面结合实施例对本发明的技术方案作进一步的描述。

实施例1

针对现有技术存在的问题,本发明提供了一种多语言双向自回归变压器(下面称为mbart)预训练模型的神经网络机器翻译训练方法和系统。如图1所示为mbart模型结构,以下为整个流程:

(1)训练mbart模型:mbart模型是基于来自变压器的双向编码器(bert),在bert基础上,加上一个自回归的解码器,并且使用多个语种训练,得到最后的mbart模型。模型结构如图3所示。

其中,对输入进行多样化处理,如图4所示。

此外,由于输入多语种的单语,在每个输入加入语种的识别标识,如在句末加入<en>标识这是英文的输入。

(2)使用双语语料,基于已经训练好的mbart模型进行增量训练。

(3)使用步骤(2)得到的模型,翻译单语,构建伪平行数据。

(4)使用伪平行数据和双语语料,继续基于mbart模型进行增量训练。

(5)重复步骤(2)-步骤(4),直到没有提升为止。

(6)使用最新的伪平行数据和双语语料,从零开始训练一个transformer结构的模型。这里的词表是基于单语构建得到的。

(7)使用步骤(6)得到的模型,翻译单语,构建新的伪平行数据。

(8)使用伪平行数据和双语语料,再从零开始训练一个transformer结构的模型。这里的词表是基于单语构建得到的。

(9)重复步骤(6)-步骤(8),直到没有提升为止。

(10)使用最新的伪平行数据和双语语料,使用零命中(zero-shot)技术,训练直接到中文的模型。在训练前,在原文的句子前加入翻译至什么语种的标签,如翻译至英文即加入__to_en__这样的标签。混合小语种的伪平行数据和双语语料与英中的语料进行训练transformer模型训练,得到最终的中文的模型。

(11)翻译时,需要在原文前加入__to_zh__标签,即可直接翻译至中文。

本发明针对小语种语料较少的情况,提出了一种方案,基于mbart模型,有效利用单语的信息,使得小语种到英语的模型提升到可用的程度。同时,使用零命中(zero-shot)技术,训练得到直接到中文的模型,减少使用中间语模型的错误积累问题。

实施例2

本发明实施例提供的训练一个普什图语到中文方向的神经网络机器翻译模型,包括:

(1)训练mbart模型:准备普什图语、英语和中文的单语,根据要求进行预处理,然后训练mbart模型。

(2)使用普什图语到英文的双语语料,基于已经训练好的mbart模型训练普什图语到英文和英文到普什图语的模型。

(3)使用最新的模型,分别翻译英文单语到普什图语和普什图语到英文,构建普什图语和英文的伪平行数据。

(4)使用伪平行数据和双语语料,继续基于mbart模型训练普什图语到英文和英文到普什图语的模型。

(5)重复步骤(2)-步骤(4),直到没有提升为止。

(6)使用最新的伪平行数据和双语语料,从零开始训练一个transformer结构的模型。这里的词表是基于普什图单语和英文单语得到的。

(7)使用步骤(6)得到的模型,分别翻译英文单语到普什图语和普什图语到英文,构建普什图语和英文的伪平行数据。

(8)使用伪平行数据和双语语料,再从零开始训练一个transformer结构的模型。这里的词表是基于普什图单语和英文单语得到的。

(9)重复步骤(6)-步骤(8),直到没有提升为止。

(10)使用最新的伪平行数据和双语语料,使用零命中(zero-shot)技术,训练直接到中文的模型。混合普什图语和英文的伪平行数据和双语语料以及英中双语语料。在普什图语到英文语料的原文中,即普什图语前加入__to_en__标签。在英文到中文语料的原文中,即英文前加入__to_zh__标签。训练得到最后的模型。

(11)翻译时,需要在普什图语前加入__to_zh__标签,即可直接翻译至中文。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1