基于数据增强的低资源神经机器翻译方法及系统

文档序号:1861772 发布日期:2021-11-19 浏览:30次 >En<

阅读说明:本技术 基于数据增强的低资源神经机器翻译方法及系统 (Low-resource neural machine translation method and system based on data enhancement ) 是由 刘洋 米尔阿迪力江·麦麦提 栾焕博 孙茂松 于 2021-07-28 设计创作,主要内容包括:本发明提供一种基于数据增强的低资源神经机器翻译方法及系统,其中方法包括:确定待翻译的真实数据;将所述待翻译的真实数据输入至神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果;其中,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的。本发明实施例实现了将稀疏数据应用到低资源神经机器翻译的神经机器翻译模型,能够高效、准确地解决低资源神经机器翻译中的资源匮乏问题。(The invention provides a low-resource neural machine translation method and system based on data enhancement, wherein the method comprises the following steps: determining real data to be translated; inputting the real data to be translated into a neural machine translation model to obtain a neural machine translation result output by the neural machine translation model; the neural machine translation model is obtained by training the low-resource neural machine translation model after data enhancement is carried out on original real data including parallel linguistic data and monolingual linguistic data on a low-resource language pair. The embodiment of the invention realizes the application of sparse data to the neural machine translation model of low-resource neural machine translation, and can efficiently and accurately solve the problem of resource shortage in low-resource neural machine translation.)

基于数据增强的低资源神经机器翻译方法及系统

技术领域

本发明涉及机器翻译技术领域,尤其涉及一种基于数据增强的低资源神经机器翻译方法及系统。

背景技术

低资源语言和汉语之间的翻译是目前迫切而重要的工作。为了实现自动的机器翻译,目前常用的技术包括基于统计和基于神经网络的方法,前者为统计机器翻译,后者为神经机器翻译。为了获得可靠的翻译模型,需要收集大规模高质量的平行语料,高质量的平行语料往往只存在于少数几种语言之间,并且受限于某些特定的领域,比如政府文件、新闻等,而其他领域的语料则相对匮乏。除了特定领域的语料以外,有些语言本身就资源匮乏,非常难以从互联网上找到或者获取可用的平行语料。目前神经机器翻译在翻译质量上已经超越传统的统计机器翻译,但是主要存在的缺点是翻译模型的训练高度依赖大规模平行语料。

互联网上大量的语料,使得覆盖多种语言、领域的平行语料获取成为可能。但是从网上获取的语料中,属于特定领域的语料很少,例如新闻语料比较容易获取,但政府、电影、贸易、教育、体育、文艺、医疗等特定领域的语料很难获取。如果训练集、开发集(用于调优已训练完的模型)和测试集属于同一个领域,那么(在领域内语料上的)翻译结果非常好,否则(在领域外语料上的)翻译结果很差。面向高资源语言的神经机器翻译研究虽然取得了卓越的成绩,但是在低资源语言的机器翻译任务中,平行语料本身就很难获取,更不用说是特定领域的平行语料了。其导致的问题是数据稀疏(Data Sparsity),如果翻译模型没有得到充分训练,即使是目前面向高资源语言对的最受欢迎的、最有效的神经机器翻译的方法,也难以用到低资源机器翻译上。因此,低资源机器翻译是目前特别需要尽快解决的问题之一。

发明内容

本发明实施例提供一种基于数据增强的低资源神经机器翻译方法及系统,用以解决目前存在由于数据稀疏导致神经机器翻译模型无法应用到低资源神经机器翻译的问题。

第一方面,本发明实施例提供一种基于数据增强的低资源神经机器翻译的数据增强方法,包括:

确定待翻译的真实数据;

将所述待翻译的真实数据输入至神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果;

其中,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的。

进一步地,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的,包括:

获取包括低资源语言对上的平行语料和单语语料在内的原始真实数据,并对所述原始真实数据进行负采样得到负样本数据;

基于所述原始真实数据和所述负样本数据训练判别器子模型,得到评价模型;

基于编辑距离的数据增强将所述原始真实数据构建成伪数据,并基于所述评价模型对所述伪数据进行筛选得到筛选数据;

将所述筛选数据和所述原始真实数据合并构建增强数据,利用所述增强数据并基于注意力机制的编码器/解码器翻译框架训练低资源神经机器翻译模型,得到所述神经机器翻译模型。

进一步地,所述原始真实数据来自公开的数据集或人工准备的数据;

所述低资源语言对为平行语料规模小于预值的语言对,来自公开的数据集;

所述单语语料为低资源语言中的源语言或目标语言的单语语料,来自人工准备的数据;

所述对所述原始真实数据进行负采样得到负样本数据,包括:通过对所述原始真实数据进行随机丢弃或随机添加生成负样本数据。

进一步地,所述获取包括低资源语言对上的平行语料和单语语料在内的原始真实数据之后,还包括:

对包括源语言或目标语言在内的所述原始真实数据进行清洗数据的预处理以及包括清洗数据、消除空行、消除非法字符和目标端的非英文字符在内的二次预处理。

进一步地,基于编辑距离的数据增强将所述原始真实数据构建成伪数据,包括:

基于编辑距离子模型对所述原始真实数据进行编辑距离采样;

基于位置子模型及采样的编辑距离选择替换单词的位置;

基于替换子模型在所述替换单词的位置处替换新词,得到伪数据。

进一步地,所述编辑距离子模型表示如下:

其中,τ表示温度超参数,c(d,I)表示与长度为I的句子编辑距离为d(d∈{0,1,2,3,…,I})的句子数量;

所述位置子模型表示如下:

所述替换子模型表示如下:

P(wj|x,d,p)=P(wi|wi-1,pi);

其中,wj为第j步的采样新单词,pj为采样位置。

进一步地,所述判别器子模型,用于区分原始真实数据的分布和伪数据的分布,包括判别器损失函数,其表示如下:

其中,为损失函数,为判别器,Pr(x)为原始真实数据的分布。

第二方面,本发明实施例提供一种基于数据增强的低资源神经机器翻译系统,包括:

数据确定单元,用于确定待翻译的真实数据;

机器翻译单元,用于将所述待翻译的真实数据输入神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果;

其中,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所提供的任一项所述基于数据增强的低资源神经机器翻译方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所提供的任一项所述基于数据增强的低资源神经机器翻译方法的步骤。

本发明实施例提供的一种基于数据增强的低资源神经机器翻译方法及系统,通过将真实数据输入至神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果;其中,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的。本发明实现了将稀疏数据应用到低资源神经机器翻译的神经机器翻译模型,能够高效、准确地解决低资源神经机器翻译中的资源匮乏问题。

附图说明

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

图1是本发明提供的一种基于数据增强的低资源神经机器翻译方法的流程示意图;

图2是本发明提供的神经机器翻译模型的训练流程示意图;

图3是本发明提供的基于编辑距离约束采样的数据增强架构图;

图4是本发明提供的生成负样本过程样例图;

图5是本发明提供的伪数据的构建流程示意图;

图6是本发明提供的词级别的数据增强方法示意图;

图7是本发明提供的一种基于数据增强的低资源神经机器翻译系统的结构示意图;

图8是本发明提供的机器翻译单元的结构示意图;

图9是本发明提供的数据筛选单元的结构示意图;

图10是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的技术构思:神经机器翻译的翻译质量与训练语料的数量和质量紧密相关。为了训练出一个高质量的神经机器翻译模型,商业级别的翻译系统常常会精细地处理(过滤)千万级别甚至亿级别的双向平行语料并训练模型。在英语、法语、德语、汉语等资源丰富的语言上,这种规模的语料库是完全能够获取的。然而,对于资源匮乏的语言而言,获取大规模平行语料非常困难。已经有相关研究工作证明,在平行语料规模受限制的前提下,神经机器翻译的翻译质量不如统计机器翻译。因此,在平行语料规模受限制的前提下如何实现高质量的神经机器翻译成为机器翻译界的研究热点。此外,语言本身也有历史性、文化性以及区域性的特点。在很多资源匮乏的语言中,这些特性非常明显,这也给低资源神经机器翻译的研究带来一些挑战。

本发明的目的是实现高质量的数据增强。尽管不同的学者通过数据增强的方法,利用单语语料生成双语语料,但是无论是句级别的增强(在单语语料上通过回译的方法生成伪数据)还是词级别的增强(将低资源语言中的单词和高资源语言中的单词相互替换,即采用词向量的方法构建一个词典,然后将高资源语言中的单词替换成低资源语言的单词)都很难避免生成的伪数据中存在句法和语义错误。换句话说,能否通过已有的单语数据或双语数据构建出高质量的伪数据,充分利用已有的数据来扩大双语数据的规模,使低资源神经机器翻译的质量进一步提高。例如,将已有的低资源语言对乌兹别克语→汉语(Uz→Zh)中的源端(乌兹别克语,Uz)或者目标端(汉语,Zh)用本发明中提出的方法实现数据增强,以达到更好的翻译效果。低资源语言的数据集虽然少得多,但需要尽量避免由于数据稀疏导致翻译质量下降的情况。如果能够在高效易用的数据增强的技术的基础上,提出一种在低资源语言之间或者高资源和低资源语言之间能够训练出较好的翻译模型的方法,就不会被这个问题再次困扰。因此,在本发明中提出了一种基于编辑距离约束采样的数据增强的低资源神经机器翻译方法。基于编辑距离的约束采样方法比其他在原始文本中使用的随机采样的方法更有效。此外,本发明还设计了判别器子模型以在生成后选择更高质量的数据,并用该子模型在一定程度上筛选出句法、语义错误少的伪数据。综上所述,在低资源机器翻译中亟需一种简单有效的数据增强方法,解决现有技术中很难保证伪数据质量的问题,提高低资源神经机器翻译的性能,提高翻译效率,并获得更准确的大量的数据。

下面结合图1-图10描述本发明提供的一种基于数据增强的低资源神经机器翻译方法及系统。

本发明实施例提供了一种基于数据增强的低资源神经机器翻译方法。图1为本发明实施例提供的基于数据增强的低资源神经机器翻译方法的流程示意图,如图1所示,该方法包括:

步骤110,确定待翻译的真实数据;

步骤120,将所述待翻译的真实数据输入至神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果;

其中,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的。

本发明实施例提供的方法,通过将真实数据输入至神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果,能够高效、准确地解决低资源神经机器翻译中的资源匮乏问题。

基于上述任一实施例,如图2所示,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的,包括:

步骤210,获取包括低资源语言对上的平行语料和单语语料在内的原始真实数据,并对所述原始真实数据进行负采样得到负样本数据;

具体地,准备低资源(Low-Resource)语言对上的平行语料(Parallel Corpus)和单语语料(MonoLingual Corpus),作为原始的真实数据(Real Data)。

准备低资源语言对上的平行语料和单语语料的几个要素:

A、选择低资源语言对时需要考虑的要素是,平行语料规模、单语语料中不重复单词的数量以及对数据集的认可程度。

B、一般情况下,此处所提到的低资源语言对是指平行语料很少的语言对,例如平行语料规模小于100万,小于50万,小于20万,甚至小于1万的语言对。

C、本发明中用到的单语语料是低资源语言中的源(Source)语言或目标(Target)语言的单语语料,而不是其他高资源语言对中的语言的单语语料。

D、同时,也需要认真考虑单语语料的质量,因为在本发明中,单语语料始终被认为是原始的真实数据。如果准备的单语语料的质量有问题,那么在通过本发明中提出的方法构建伪数据时可能会出现质量不佳的样本。

E、单语语料必须是手动准备的,而不是通过机器生成的数据。如果单语语料不是手动准备的数据,那么单语语料就不能称为是真实数据。在本发明中所需要的单语语料不仅是原始数据,而且也是真实数据。

步骤220,基于所述原始真实数据和所述负样本数据训练判别器子模型,得到评价模型;

具体地,在原始真实数据上利用负采样方法生成负样本时,生成的样本包含的噪音越多越好。如果负样本中包含的噪音更多,训练出的判别器子模型(Discriminator Sub-Model)的性能更好。在训练判别器子模型时需要正样本和负样本,分别用Dr(X)和Dn(X)表示。在本发明中采用的负采样方法(Negative Sampling)是随机丢弃(Randomly Omission)的方法。实际上,只要能够保证Dn(X)中的噪音足够多,从Dr(X)生成Dn(X)时也可以用其他的方法。如果Dn(X)中的噪音不够多,则有可能影响判别器子模型的性能。

也就是说,在原始的真实数据上,利用负采样(Negative Sampling)方法构建出新的负样本数据,即和原始的真实数据不一样的、带噪音(noisy)的数据。

用原始的真实数据和负采样得到的负样本,训练一个判别器子模型(Discriminator Sub-Model)作为评价模型(Evaluator Model)。数据增强方法(无论是词级别还是句级别的方法)都很难保证伪数据的质量,甚至根本不能保证伪数据的语义和句法完整性。因此,本发明设计了一个判别器子模型,也可以说是筛选模型或者过滤器(Filter)模型。该模型是在本发明中的独立的部分,即判别器子模型不会与基于编辑距离约束采样的数据增强模块一起训练,而是独立地进行训练。将数据增强模块生成的伪数据作为判别器子模型的输入,有助于构建更高质量的伪数据。

步骤230,基于编辑距离的数据增强将所述原始真实数据构建成伪数据,并基于所述评价模型对所述伪数据进行筛选得到筛选数据;

具体地,在正样本Pr(X)上,通过本发明中提出的基于编辑距离的约束采样数据增强方法来增强原始的真实数据Dr(X),构建的数据分布为通过真实数据Dr(X),基于编辑距离约束采样的数据增强方法来生成伪数据(Pseudo Data),并通过在本发明中提出的判别器子模型进行数据筛选,一定程度上可以减少句法和语义错误。因此,本发明中提出的数据增强方法在整体架构上优于以往的方法。

从原始的真实数据中通过编辑距离(Edit Distance)约束采样(ConstrainedSampling)的方式去增强(Augment)原始的低资源语言对上的平行语料,即通过本发明中提出的数据增强方法来构建伪数据(Pseudo Data),从而提高低资源神经机器翻译模型的性能,在本发明中起到核心作用,因为通过编辑距离约束采样的方法来构建大量伪数据,从而实现低资源神经机器翻译模型性能的提升。

为了进一步保证伪数据的流利度和忠实度,采用判别器子模型进行筛选,从而保留质量最好的数据。换句话说,通过判别器子模型来去掉包含句法或语义错误的句子,主要是针对在本发明中提出的核心算法生成的伪数据进行筛选,进一步提高伪数据的质量。

图3给出了在本发明中提出的最核心的数据增强模块和判别器子模型的结构。设x=x1,x2,x3…,xi,…,xI是包含I个单词的源句子,而y=y1,y2,y3…,yj,…,yJ是包含J个单词的目标句子, 表示包含M个句子的原始训练数据。如图3所示将数据增强任务形式化表示:给定真实数据的分布Pr(x),增强任务是在Pr(x)的基础上训练增强模型,并生成伪数据。本发明提出的模型生成的伪数据分布接近Pr(x)。

如图4所示的负采样方法,根据原始的真实数据Pr(x)采样出一些负样本Pn(x),用于训练判别器子模型;然后在原始的真实数据Pr(x)上通过本发明说明中解释的步骤D的过程(本发明的亮点及最核心点),即编辑距离约束采样的方法来生成伪数据接下来在通过负采样方法构建出的负样本Pn(x)和原始的真实数据Pr(x)上训练判别器子模型然后将伪数据用判别器子模型进一步筛选出质量最好的数据,即句法和语义错误少的数据,甚至完全没有语法错误的数据。最后,将经过筛选后的高质量数据和最原始的真实数据合并起来生成大规模的数据,从而实现了数据增强,有效地解决了低资源神经机器翻译任务上因数据资源不够导致性能无法提升的问题。

步骤240,将所述筛选数据和所述原始真实数据合并构建增强数据,利用所述增强数据并基于注意力机制的编码器/解码器翻译框架训练低资源神经机器翻译模型,得到所述神经机器翻译模型。

具体地,筛选出来大量伪数据和最原始的少量真实数据合并起来,构建更大规模的数据,从而实现数据增强。通过此过程来满足神经机器翻译对数据饥饿(Data Hungry)的特性,一定程度上可以解决低资源神经机器翻译模型因得不到足够多的数据而在性能上一直无法提升的问题,使实现资源匮乏的语言之间或者这些语言与资源丰富的语言之间的神经网络机器翻译模型性能提升。通过在本发明中提出的方法实现数据增强之后,开始训练低资源神经机器翻译模型。本发明使用的神经机器翻译模型都采用基于注意力机制的编码器-解码器架构,在编码器和解码器端中都使用了基于LSTM(Long-Short Term Memory)的RNN网络(Recurrent Neural Network)。

筛选出来的数据和最原始的真实数据合并起来构建高质量的增强数据,在该数据上利用基于注意力机制的编码器-解码器神经机器翻译框架来训练低资源神经机器翻译模型。基于注意力机制的编码器-解码器架构的神经机器翻译模型对训练集中的训练语料进行训练,得到低资源语言的神经机器翻译模型参数;具体地,所述模型参数包括源语言端和目标语言端词向量,以及模型权重矩阵参数。

翻译模型的训练过程如下:

首先获取输入句子每一个词的词向量,通过RNN语言模型的预处理步骤实现:

F1、RNN语言模型由look-up层、隐藏层和输出层三个部分组成。输入的句子所包含的每一个单词通过look-up层来转换成所对应的词向量表示:

xt=look-up(s) (1)

其中,xt是s的词向量表示,s是每一个时间段t的输入,look-up表示look-up层。

F2、对于通过步骤A所获得的平行句对,设其源端为x=x1,…,xi,…,xI,目标端为y=y1,…,yj,…,yJ。神经机器翻译常常将句级别的翻译概率因式分解成为词级别的概率:

其中θ是一系列的模型参数,y<j是部分翻译。若训练集为

则训练目标是最大化训练集上的log-likelihood:

翻译的决策规则是,对于没有遇到过的(即没有训练过的)源句子x,利用所学到的模型参数得到翻译概率最大的目标句子

具体地,在最大化的翻译概率时,是通过最大化单词的词级别翻译概率来实现的:

在步骤F1、F2之后,还需要进行以下步骤:

F3、通过步骤F2获取的输入后,需要进一步处理,在编码器端采用双向的LSTM来获取整个源端句子的表示。因为GRU也是RNN网络的一单元,而且在步骤F1中已经给出说明,RNN语言模型由look-up层、隐藏层以及输出层组成。在步骤F1中通过RNN来求出每一个词的词向量表示,然后将结果作为编码器的输入,即给编码器阶段隐藏层所准备的信息。隐层在计算当前的隐状态时,采用look-up层的输出作为输入,即根据每一个词的词向量和前面几个隐状态信息,将单词映射到一个上下文向量:

ht=f(xt,ht-1), (7)

其中,f是一个抽象函数,用于在给出输入xt和历史状态ht-1的前提下,计算当前新的隐状态。初始状态h0常常设为0,f函数的形式一般为ht=σ(Wxhxt+Wxhht-1),其中σ是非线性函数(例如sigmoid或tanh等)。

因此,双向BiRNN的前向(forward)状态按照以下公式来计算:

其中,

是词向量矩阵,是权重矩阵,n×m分别为词向量维数和隐状态维数,σ是sigmoid函数。

反向状态的计算方法和正向状态类似。在正向和反向状态之间共享词向量矩阵但不共享权重矩阵。将正向和反向状态合并后得到其中,

翻译模型的解码器采用单向RNN,这一点与编码器采用双向RNN不同。

解码器也有所对应的隐状态,但与编码器的隐状态不同,其详细计算过程如下所示:

其中,

zi=σ(WzEyi+Uzsi-1+Czci), (15)

ri=σ(WrEyi+Ursi-1+Crci), (16)

E是目标语言句子中包含的每一个单词的词向量矩阵,是权重矩阵,m,n分别为词向量维数和隐状态维数,σ为sigmoid函数。初始隐状态s0通过如下方式计算:

其中,

上下文词向量在每一个time step(时间步骤)重新被计算:

其中,

hj是源端句子中的第j个单词对应的隐状态,都是权重矩阵。

基于上述任一实施例,所述原始真实数据来自公开的数据集或人工准备的数据;

具体地,所构建的数据集来自于五个公开数据集NIST、Tanzil、WMT14、IWSLT14和IWSLT15。NIST数据集包含汉语→英语(Zh→En);Tanzil数据集包含阿塞拜疆语→英语(Az→En)、印地语→英语(Hi→En)、乌兹别克语→英语(Uz→En)、维吾尔语→英语(Ug→En)和土耳其语→英语(Tr→En);WMT14包含英语→德语(En→De);IWSLT14包含德语→英语(De→En);IWSLT15包含越南语→英语(Vi→En)。根据各个语言对选择对应的训练集、开发集和测试集;要强调的是,此处提到的平行语料没有语言方向(例如<2ch>表示从源语言到汉语等语言方向)等特殊标注信息。

所述低资源语言对为平行语料规模小于预值的语言对,来自公开的数据集;

所述单语语料为低资源语言中的源语言或目标语言的单语语料,来自人工准备的数据;

所述对所述原始真实数据进行负采样得到负样本数据,包括:通过对所述原始真实数据进行随机丢弃或随机添加生成负样本数据。

具体地,生成负样本时采用的负采样方法是随机地丢弃某个单词而使得原始的真实句子产生语法错误(语义错误或者句法错误)。进一步地,因为负采样的方法很多,为了使负样本包含足够多的噪音以训练出性能更好的判别器,因此从很多负采样方法中选择了随机丢弃单词的方法。其实也可以随机选择某一位置插入新的单词来打破整个句子的完整性,或者将原来的句子中随机选择不同的单词并交换位置。然而,其他方法在大部分情况下无法产生足够多的噪音,因此,本发明选择了随机丢弃单词的方法。

通过负采样的方法生成一些负样本。不妨设对源端进行数据增强,因此暂时只对源端进行负采样(Negative Sampling)而生成一些负样本。实际上对目标端进行增强也是类似的,也就是说,需要增强目标端的时候对目标端单语料进行负采样。设原始的真实数据为生成的负样本数据为通过随机丢弃或者随机添加的方式生成新的负样本,例如原始的真实句子Sr=w1,w2,w3…,wi,…,wI,经过随机删除(假设删掉了w2)之后的负样本是其长度从I变成I-1;经过随机增加(假设在wi后面增加单词wl)之后的负样本是其长度从I变成I+1。

图4给出了一种生成负样本的过程。在本发明中提到的判别器子模型是本发明中的核心部分,也是亮点之一。由于训练判别器子模型需要准备负样本,因此负样本的生成也是本发明中的重要部分。所用的负样本是基于原始的真实数据Dr(x)上通过附图4所示的负采样方法来构建出来带噪音的负样本数据Dn(x)。

负采样在机器学习和自然语言处理领域的很多任务中也有广泛的应用。负采样是指根据训练数据中的正例随机生成一些与之相关的负例。负采样在不同的机器学习任务中起到的作用不同。例如在对比学习中,负采样用于实现对比学习的训练目标,使正例和负例的表示之间的距离增大。在word2vec中,负采样用于减少模型每次更新的参数的数量,可以有效提高训练效率。在机器翻译任务中,使用负采样时也遵循其在机器学习中的用法,即在机器翻译中将原始的真实句子Sr=w1,w2,w3…,wi,…,wI通过采用“负采样”策略生成新的序列但是新生成的句子和原始的句子Sr有一定的区别。大多数情况下,与Sr在句法或语义层面上存在差距,这就是负采样希望达到的目标。

如图4所示,常用的负采样的方法是从原始的真实句子Sr中随机地删除一些句子成分(核心成分)或者随机地增加一些成分(无关的成分)使得生成的尽可能包含一些句法或语义错误。无论利用随机删除的方式还是随机增加的方式从Sr生成时,有时会生成一些没有句法和语义错误的样本,这些样本更像是正样本而不是负样本。例如从Sr中利用随机删除的方式生成的(删掉了“is”)中存在语法错误,但是在(删掉了“carefully”)中没有语法错误。同样地,从中利用随机增加的方式生成的(增加了“math”)中存在语法错误,而在(增加了“now”)中没有语法错误。在负采样的过程中,希望尽可能生成类似这样的有语法错误的句子,而不是类似这样的没有语法错误的句子,因此,在负采样中会使用更极端的方式,尽可能保证采样出的样本是负样本,而避免出现正样本。

针对于低资源场景下的神经机器翻译面临的数据稀缺问题,在本发明中提出了约束采样策略的方法。在该方法中,为了训练一个判别器子模型,需要准备一些负样本。通过负采样的方式在真实数据Dr(x)上通过随机删除一些单词来生成负样本Dn(x)。

基于上述任一实施例,所述获取包括低资源语言对上的平行语料和单语语料在内的原始真实数据之后,还包括:

对包括源语言或目标语言在内的所述原始真实数据进行清洗数据的预处理以及包括清洗数据、消除空行、消除非法字符和目标端的非英文字符在内的二次预处理。

具体地,对所述数据进行预处理的步骤包括对数据集中源语言文本和目标语言文本进行数据处理,例如利用NiuTrans提供的预处理工具清洗数据,消除非法字符(本发明中的实验所用到的平行句对的目标端都是英语)。除此之外,还使用Python语言开发了一系列预处理工具来进行一些操作,包括二次预处理(再次清洗数据、消除空行、消除非法字符和目标端的非英文字符等)。在预处理阶段,对汉语以外的语言的数据都使用统计机器翻译开源系统MOSES提供的tokenizer.perl进行分词,对汉语的数据使用THULAC工具包(A大学自然语言处理以及B重点实验室提出的中文分词工具)进行分词。然后对于所有的语料,都使用BPE方法进行子词切分。

基于上述任一实施例,如图5所示,基于编辑距离的数据增强将所述原始真实数据构建成伪数据,包括:

步骤510,基于编辑距离子模型对所述原始真实数据进行编辑距离采样;

步骤520,基于位置子模型及采样的编辑距离选择替换单词的位置;

步骤530,基于替换子模型在所述替换单词的位置处替换新词,得到伪数据。

具体地,基于编辑距离约束采样的数据增强也是词级别的数据增强方法,即单词替换的过程。该步骤可以视为一种受限制的约束采样过程,可以分成三个子步骤:第一步是编辑距离采样,第二步是根据编辑距离来计算位置,第三步是根据前两步来计算该替换的单词。

图6给出了数据增强领域中最常用的一种方法,无论是神经机器翻译还是自然语言处理的其他任务中都经常使用。

数据增强方法是指使得训练数据的规模扩大的方法。不仅在机器翻译中,在对话生成、问答、机器写作和自然语言推理等自然语言处理任务中,数据增强也得到了广泛的使用。

在机器翻译中,常用的数据增强方法主要是从“词级别”和“句级别”两个角度进行的。

词级别的数据增强包含随机替换单词、随机插入一些单词、随机删除单词、随机交换不同单词的位置等方法实现数据增强,例如从原始句子中随机地选择一个单词然后将其与词典里的单词替换(在图6中将“于”替换成“着”,“故事”替换成“材料”),或者从原始句子中随机地选择一个单词并与句子中的其他单词交换位置(图6中的“现在”原来是第二个单词,但在生成的第一个句子中与第一个单词交换了位置)来生成新的句子。词级别的数据增强方法的一个典型工作是Fadaee等人提出的随机替换的方法。

句级别的数据增强主要是用回译(Back Translation,BT)、前向翻译(ForwardTranslation,FT)以及回译的一些修改版本,如带标签的回译(Tagged BT)等方式进行数据增强。在句级别的各种数据增强方法中,常用的方法是回译,其核心思想是首先充分利用已有的双语数据并训练反向的神经机器翻译模型,再通过目标端的单语数据构建伪的源端句子,从而构成伪的平行数据,将其与原有的双语语料合并而进行数据增强。

然而,无论是句级别的BT方法还是词级别的替换、交换等方法,往往会产生一些包含语法错误的句子,这些实际上是不希望出现的句子。因此为了在一定程度上缓解数据增强后的语法问题,提出了基于编辑距离约束采样的生成高质量数据的方法。

基于上述任一实施例,所述编辑距离子模型表示如下:

其中,τ表示温度超参数,c(d,I)表示与长度为I的句子编辑距离为d(d∈{0,1,2,3,…,I})的句子数量;

所述位置子模型表示如下:

所述替换子模型表示如下:

P(wj|x,d,p)=P(wi|wi-1,pi); (23)

其中,wj为第j步的采样新单词,pj为采样位置。

具体地,本发明为低资源神经机器翻译开发了约束采样方法。本发明的增强步骤与纯粹单词替换的方法的思路大致相同,但是采用不同的采样方法而不是随机采样来替换单词。令Pr(x)为实际数据分布,表示根据原始句子x生成的伪造句子。在给定x的情况下,用表示伪数据的分布。增强数据的分布可以表示为:

基于编辑距离,通过替换单词的方式从x生成例如,假设x为“I like thebook”,为“I like a movie”,编辑距离为2,被替换的单词的位置为3和4,替换的单词为“a”和“movie”。更形式化地说使用d表示x和之间的编辑距离,P={p1,…,pd}表示被替换单词的位置,P={w1,…,wd}表示替换单词的列表。在上面的示例中,d=2,p1=3,p2=4,w1="a",w2="movie"。根据原始真实数据的分布Pr(x),将增强分布定义为:

更准确地说,本文中的约束采样方法由如下3个部分组成:

D1、根据真实数据样本对编辑距离d进行采样。主要是根据编辑距离的思想,将编辑距离子模型定义为如下:

其中τ表示温度超参数,它限制了原始句子周围的搜索空间。可以推断出,较大的τ将获得更多具有较长编辑距离的样本。c(d,I)表示与长度为I的句子编辑距离为d(d∈{0,1,2,3,…,I})的句子数量,由如下方式可得:

其中表示词表。

D2、当替换单词时,需要根据采样出来的编辑距离d来选择单词的位置。将位置子模型定义为如下:

根据以上的抽样方法,获得了位置集P={p1,p2,p3,…,pd}。这种方法大致保证了新句子和初始句子之间的编辑距离为d。

D3、替换模型会在每个采样位置pj处替换新词。这个过程一共会进行d步,在每一步中(假设是第j步),可以从分布P(w|Xj-1,p=pj)中采样新单词wj,然后在Xj-1的pj位置替换旧单词来生成Xj。最后,替换子模型定义为:

P(wj|x,d,p)=P(wi|wi-1,pi), (29)

此处使用受约束的采样方案对wj进行采样以最大化序列Xj的语言模型得分。

基于上述任一实施例,所述判别器子模型,用于区分原始真实数据的分布和伪数据的分布,包括判别器损失函数,其表示如下:

其中,为损失函数,为判别器,Pr(x)为原始真实数据的分布。

具体地,为了提高伪数据的质量,在原始的真实数据Dr(X)和使用负采样得到的负样本Dn(X)上训练判别器子模型也可以叫做数据筛选器。对受限采样增强后得到的伪数据而言,判别器起到了过滤器的作用。判别器子模型类似于GAN,主要用于区分真实数据的分布Pr(x)和伪数据的分布类似于最小二乘生成对抗网络,将判别器损失函数设置如下:

损失函数使判别器对真实数据的奖励比伪数据高。这样,判别器可以选择与真实数据分布更接近、更高质量的伪数据。上面介绍的都是针对源端的数据增强方法,但实际上也很容易扩展到目标端。

下面对本发明提供的一种基于数据增强的低资源神经机器翻译系统进行描述,下文描述的与上文描述的一种基于数据增强的低资源神经机器翻译方法可相互对应参照。

图7为本发明实施例提供的一种基于数据增强的低资源神经机器翻译系统的结构示意图,如图7所示,该系统包括数据确定单元710和机器翻译单元720;

所述数据确定单元710,用于确定待翻译的真实数据;

所述机器翻译单元720,用于将所述待翻译的真实数据输入神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果;

其中,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的。

本发明实施例提供的系统,通过将真实数据输入至神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果,能够高效、准确地解决低资源神经机器翻译中的资源匮乏问题。

基于上述任一实施例,如图8所示,所述机器翻译单元包括数据获取单元810、模型训练单元820、数据筛选单元830和数据增强单元840;

所述数据获取单元810,用于获取包括低资源语言对上的平行语料和单语语料在内的原始真实数据,并对所述原始真实数据进行负采样得到负样本数据;

所述模型训练单元820,用于基于所述原始真实数据和所述负样本数据训练判别器子模型,得到评价模型;

所述数据筛选单元830,用于基于编辑距离的数据增强将所述原始真实数据构建成伪数据,并基于所述评价模型对所述伪数据进行筛选得到筛选数据;

所述数据增强单元840,用于将所述筛选数据和所述原始真实数据合并构建增强数据,利用所述增强数据并基于注意力机制的编码器/解码器翻译框架训练低资源神经机器翻译模型,得到所述神经机器翻译模型。

基于上述任一实施例,所述原始真实数据来自公开的数据集或人工准备的数据;

所述低资源语言对为平行语料规模小于预值的语言对,来自公开的数据集;

所述单语语料为低资源语言中的源语言或目标语言的单语语料,来自人工准备的数据;

所述对所述原始真实数据进行负采样得到负样本数据,包括:通过对所述原始真实数据进行随机丢弃或随机添加生成负样本数据。

基于上述任一实施例,所述数据获取单元,用于获取包括低资源语言对上的平行语料和单语语料在内的原始真实数据之后,还包括:

对包括源语言或目标语言在内的所述原始真实数据进行清洗数据的预处理以及包括清洗数据、消除空行、消除非法字符和目标端的非英文字符在内的二次预处理。

基于上述任一实施例,如图9所示,所述数据筛选单元包括编辑距离模块910、位置选择模块920和位置替换模块930;

所述编辑距离模块910,用于基于编辑距离子模型对所述原始真实数据进行编辑距离采样;

所述位置选择模块920,用于基于位置子模型及采样的编辑距离选择替换单词的位置;

所述位置替换模块930,用于基于替换子模型在所述替换单词的位置处替换新词,得到伪数据。

图10为本发明实施例提供的电子设备的结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1010、通信接口(Communications Interface)1020、存储器(memory)1030和通信总线1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑指令,以执行基于数据增强的低资源神经机器翻译方法,该方法包括:确定待翻译的真实数据;将所述待翻译的真实数据输入至神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果;其中,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的。

此外,上述的存储器1030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于数据增强的低资源神经机器翻译方法,该方法包括:确定待翻译的真实数据;将所述待翻译的真实数据输入至神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果;其中,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的。

又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于数据增强的低资源神经机器翻译方法,该方法包括:确定待翻译的真实数据;将所述待翻译的真实数据输入至神经机器翻译模型,得到所述神经机器翻译模型输出的神经机器翻译结果;其中,所述神经机器翻译模型是基于包括低资源语言对上的平行语料和单语语料在内的原始真实数据进行数据增强后对低资源神经机器翻译模型训练后得到的。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:模型处理方法、装置、存储介质和处理器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!