一种基于单语语料库训练的蒙汉互译方法与流程

文档序号:15981813发布日期:2018-11-17 00:25阅读:257来源:国知局

本发明属于机器翻译技术领域,特别涉及一种基于单语语料库训练的蒙汉互译方法。

背景技术

机器翻译研究如何利用计算机实现自然语言之间的自动转换,是人工智能和自然语言处理领域的重要研究方向之一。机器翻译作为突破不同国家和民族之间信息传递所面临的“语言屏障”问题的关键技术,对于促进民族团结、加强文化交流和推动对外贸易具有重要意义。近年来,机器翻译受到越来越多的关注。一方面,机器翻译技术拥有迫切的社会需求,并不完美的机器翻译技术在产业界的应用越来越广泛,实时语音翻译系统和在线翻译服务已进入日常生活;另一方面,机器翻译一直是学术界研究的一个热点,关于机器翻译技术的研究论文在数量上长期占据计算机语言学(或自然语言处理)领域各大学术会议的头名。

在我国经济快速发展与社会不断进步的背景下,蒙古族与汉族之间的交流日益频繁。蒙古族是我国五十六个民族的重要组成之一,是草原游牧民族的典型代表和草原文化的重要传承者,蒙古语则是我国蒙古族同胞使用的主要语言。伴随着我国经济的发展,蒙古族和汉族同胞要进行交流就需要翻译,而人工翻译成本较高,这就促使蒙汉机器翻译有了用武之地,并且机器翻译也能极大的促进两种文化的融合和信息共享。对于两种文化的价值观相互渗透,凝聚民族的核心文化,促进良好民族关系的建立都具有重要的意义。

从20世纪40年代末至今这六十多年的时间里,追随着机器翻译发展的脚步,研究人员也从未停止过机器翻译在蒙汉翻译中应用的研究。从基于统计的蒙汉机器翻译到基于实例的蒙汉机器翻译,再到基于深度学习的蒙汉机器翻译,虽然在蒙汉机器翻译研究上的道路是曲折的,但是前途是光明的。虽然端到端的神经机器翻译近年来取得了令人瞩目的进展,但是端到端的神经机器翻译系统需要依赖平行语料库来进行参数估计。由于平行语料库在数量,质量和覆盖面方面通常非常有限,特别是对于像传统蒙古语这样的低资源语言,因此利用单语语料库来提高神经机器翻译的性能是很有必要的。

作为一种数据驱动方法,神经机器翻译的性能高度依赖于平行语料库的规模、质量和领域覆盖面。由于神经网络的参数规模庞大,只有当训练语料库达到一定规模,神经机器翻译才会显著超过统计机器翻译,然而,除了中文、英文等资源丰富语言,世界上绝大多数语言都缺乏大规模、高质量、广覆盖率的平行语料库。即使对中文和英文,现有平行语料库的领域也主要集中在政府文献和时政新闻,对于绝大多数领域而言依然严重缺乏数据。因此,如何充分利用现有数据来缓解资源稀缺问题成为神经机器翻译的一个重要研究方向。



技术实现要素:

为了克服上述现有技术的缺点,充分利用现有数据来缓解资源缺乏问题,本发明的目的在于提供一种基于单语语料库训练的蒙汉互译方法,将给定未标记(即单语语料库)数据,引入降噪自动编码器和跨域训练来学习蒙汉两种语言之间的翻译,运用对抗训练在两种语言之间学习一个相似的潜在空间,建立降噪自动编码器损失函数,建立翻译过程损失函数以及建立鉴别器损失函数,设置约束条件,使得上述三种不同的损失之和最小。从而完善蒙汉机器翻译系统,达到较好译文翻译的目标。

为了实现上述目的,本发明采用的技术方案是:

一种基于单语语料库训练的蒙汉互译方法,基于两个分别针对蒙语和汉语的自动编码器,使用单语源语言语料库和单语目标语言语料库训练蒙汉互译翻译模型,且在训练过程中,设置自动编码器降噪损失函数、翻译过程损失函数以及鉴别器损失函数三个约束条件,使得三种损失之和最小。

所述自动编码器为基于lstm的自动编码器。

所述蒙汉互译翻译模型的训练步骤如下:

(1)使用fasttext学习得到蒙汉双语词典,使用词典翻译得到编码器-解码器结构的蒙汉互译初始翻译模型;

(2)训练两个自动编码器,使其能够在给定一个带噪声的句子时重构变为不含噪声的句子;

(3)训练鉴别器,学习得到一个对齐的潜在空间;

(4)训练蒙语自动编码器和汉语解码器,同时训练汉语自动编码器和蒙语解码器,更新初始翻译模型,使得译文质量一步步提升。

以一种无监督的方法学习句子特征,将自动编码器降噪的损失函数定义为:

其中,lauto()为自动编码器的降噪损失函数,θenc是在源语言和目标语言之间共享的参数,θdec是不依赖于输出语言的矢量参数,z是隐藏状态序列,l是源语言,x是输入句子,dl为单语语料库,c()是噪声函数,c(x)是输入句子x中添加噪声之后得到的新的句子,e()是自动编码器,d()是解码器,是重构之后的句子,△是衡量和x之间差异的度量,为词级交叉熵损失之和,e为期望,表示输入的分布取决于源语言l,并且采用损失的平均值,符号~表示来自概率分布的意思。

所述添加噪声通过如下步骤实现:

首先,以概率p_wd随机地从输入句子中删除一个字;

其次,每个字都使用约束公式|σ(i)-i|≤k进行原始位置偏移,其中σ表示第i个字的移动位置,一个字最多能够向右或者向左移动k个字的位置。

在蒙汉两种语言之间训练相似词向量空间,之后设置规则对蒙汉两种语言进行重构,训练相似词向量空间的过程如下:

蒙语/汉语自动编码器将加入噪声的输入句子c(x)编码,得到源语言词向量序列zsrc,汉语/蒙语解码器解码得到重构之后的句子

蒙语/汉语自动编码器将目标语言句子c(y)编码,得到目标语言词向量序列ztgt,汉语/蒙语解码器解码得到源语言输入句子x;

使用初始翻译模型第t次迭代之后得到的翻译模型m(t)翻译句子,y=m(t)(x),经过训练得到一个zsrc和ztgt相似的向量空间。

定义将输入句子x映射到输出句子y的过程为跨域训练,跨域训练损失函数即翻译损失函数,其表达式为:

lcd()为翻译损失函数,l1是源/目标语言域,l2是与l1对应的目标/源语言域,dl1为l1的单语语料库。

在进行跨域训练的同时还进行对抗训练,学习得到一个对齐的潜在空间,其方法是:

利用一个鉴别器,接收蒙汉两种语言降噪自动编码器中编码器的输出,对降噪自动编码器中编码器的输出进行操作,鉴别器中的序列是(z1,z2,...zm)的一个潜在向量序列并产生关于自动编码器输入语句的语言的二进制预测:其中pd:rn→[0;1],0对应于源域,1对应用于目标域,鉴别器被训练以通过最小化下列交叉熵损失函数来预测语言:其中(xi,li)对应于从蒙汉两个单语语料库中均匀采样的句子和语言id对,θd是鉴别器的参数,θenc是自动编码器,z是自动编码器字嵌入,鉴别器损失函数定义为:

如果li=l2则lj=l1,相反如果li=l1则lj=l2。

所述使得三种损失之和最小的最终目标函数是:

l(θenc,θdec,z)=λauto[lauto(θenc,θdec,z,src)+lauto(θenc,θdec,z,tgt)]+

λcd[lcd(θenc,θde,z,src,tgt)+lcd(θenc,θdec,z,tgt,src)]+

λadvladv(θenc,z|θd)

其中λauto,λcd,和λadv是超参数,用于加权自动编码器降噪损失、翻译损失和鉴别器损失,同时,鉴别器损失ld被最小化用以更新鉴别器。

与现有技术相比,本发明将最大限度利用现有蒙汉单语语料缓解因蒙汉平行语料缺乏而导致的蒙汉互译译文质量不高的问题,并且将辐射带动蒙古语语言学以及蒙古语语音学的相关研究,对计算机辅助翻译、机器翻译、翻译培训、翻译软件或翻译机器的研发生产、多语言语音技术相关产品的研发等各领域提供研究依据,将推动蒙古语信息化处理进程,促进蒙古族语言文化的繁荣、发展和科技进步,为其它少数民族语言开展相关研究提供参考,具有一定的理论意义。

附图说明

图1是本发明自动编码器工作原理示意图。

图2是本发明训练相似的词向量空间过程示意图。

图3是本发明整体翻译框架流程图。

具体实施方式

下面结合附图和实施例详细说明本发明的实施方式。

本发明一种基于单语语料库训练的蒙汉互译方法,训练蒙汉互译翻译模型并设置约束条件,包括建立降噪自动编码器损失函数,建立翻译过程损失函数以及建立鉴别器损失函数,并设置约束条件下,使得上述三种不同的损失之和最小。由于这是一个序列到序列的问题,所以本发明使用长短时记忆网络(lstm),并且使用两个基于lstm的自动编码器,蒙语和汉语各包含一个。本发明中训练蒙汉互译模型包含如下主要步骤:

(1)使用语言a(蒙语或汉语)的编码器和语言b(汉语或蒙语)的解码器获得初始翻译模型,具体地,可使用fasttext学习得到蒙汉双语词典,使用词典翻译即可获取。

初始翻译模型由编码器-解码器结构构成,因为刚开始时学习得到了一个词级的蒙汉双语词典,所以使用词典就能形成一个包含编码器和解码器的蒙汉翻译的初始模型,这个初始模型只是能起到把一种语言转换成另一种语言的作用,并不能达到翻译的效果,接下来的任务就是要训练这个初始模型使其达到翻译质量越来越好的效果。

(2)训练每种语言的自动编码器,使其能够在给定一个带噪声的句子时重构语句变为不含噪声的句子。

自动编码器如图1所示,也是由一个编码器和一个解码器构成,它的作用是实现句子的重构,在重构过程中需要的是瓶颈层中提取的句子特征表示,但是由于自动编码器实现重构时提取句子特征并不明显,所以选择降噪自动编码器,先给句子添加噪声再去噪实现重构,这样在学习重构的过程中能更加有效的提取瓶颈层中句子的特征表示信息。把瓶颈层中存放句子的特征表示信息的空间称为潜在空间(类似于人的意识空间,就像人类虽然讲不同的语言,但是意识空间是一样的,所以我们能够通过翻译来理解对方的意思。),使用降噪自编码器训练会分别得到两种语言各自的潜在空间。

(3)训练鉴别器,学习得到一个对齐的潜在空间;

为了实现翻译,需要上述两个潜在空间尽可能的相似,所以使用训练鉴别器这个方法来达到学习一个对齐的潜在空间的目的。

(4)训练蒙语自动编码器和汉语解码器,同时训练汉语自动编码器和蒙语解码器,更新初始翻译模型,使得译文质量一步步提升。

把初始模型中的编码器和解码器换成训练好的自编码器中的任意一个a的编码器和b的解码器就能得到译文质量较好的翻译模型,从而实现蒙汉互译。

本发明中,自动编码器是一种用于无监督任务的广泛的神经网络类别。它的工作原理是重新创建一个和最初输入相同的输入。完成这一操作的关键是网络中间有一个名为瓶颈层(bottlenecklayer)的网络层。该网络层被用以捕捉所有关于输入的有用信息,并摒弃无用信息。工作原理如图1所示。

如果一个自动编码器被调教成完全按照输入的方式重建输入,那么它可能什么都做不了。在这种情况下,输出将得到完美的重建,但是在瓶颈层中没有任何有用的特性。为了解决这一问题,本发明使用了降噪自动编码器。首先,实际输入因为增加了一些噪声而受到轻微干扰。然后,使用网络重建原始输入(并非含噪版本)。这样一来,通过学习什么是噪声(以及其真正有用的特征是什么),网络可以学习输入句子的有用特征。

建立降噪自动编码器损失函数,本发明以一种无监督的方法学习句子特征,将降噪自动编码器的损失函数定义为:

其中,lauto()为降噪自编码器的损失函数,θenc是在源语言和目标语言之间共享的参数,θdec是不依赖于输出语言的矢量参数,z是隐藏状态序列,l是源语言(在本方法中为蒙语或者汉语),x是输入句子,dl为单语语料库,c(x)是输入句子x中添加噪声之后得到的新的句子e()是编码器,d()是解码器,是重构之后的句子,△是衡量和x之间差异的度量,在本方法中为词级交叉熵损失之和,e表示期望,在本方法中表示输入的分布取决于语言l,并且采用损失的平均值,符号~表示来自概率分布的意思。

由于本发明中只使用蒙汉两种语言的单语语料,所以采用去噪的方式对语言进行重构来训练两种语言各自的编码器和解码器,故需向语料库的句子中先添加噪声,添加噪声的方法通过如下两个步骤:

首先,以概率p_wd随机地从输入的句子中删除一个字。

其次,每个字都可以使用下面这个约束公式进行原始位置的偏移。

|σ(i)-i|≤k

其中σ表示第i个字的移动位置,一个字最多可以向右或者向左移动k个字的位置。

潜在空间可以捕捉句子的特征。因此,如果有可能获得一个空间,即当输入语言a时,就会产生与输入语言b相同的特征,那么就有可能在它们之间进行翻译。由于该模型已经拥有了正确的“特征”,因此由语言a的编码器进行编码,由语言b的解码器进行解码,这将使二者进行有效的翻译工作。在蒙汉两种语言之间训练相似词向量空间,之后设置规则对蒙汉两种语言进行重构。训练相似的词向量空间过程如图2所示:

在图2中,左边为自编码器,用来将一个加入噪声的句子重构。x是目标,c(x)带噪声的句子输入,是重构之后的句子。右边是翻译过程,将源语言翻译为目标语言,本方法为蒙汉互译的方法,所以源语言和目标语言可以是两种语言中的任意一种。首先使用初始模式第t次迭代之后得到的翻译模型m(t)翻译句子,y=m(t)(x)。经过训练就会得到一个源语言词向量序列zsrc和目标语言词向量序列ztgt相似的向量空间。

为了学习两种语言之间的翻译,本方法通过一些处理将输入句子即语言a,映射到输出句子即语言b,定义这个过程为跨域训练,跨域训练损失函数即翻译损失函数,其表达为:

我们的目标是使得模型能够将输入语句从源/目标域l1映射到目标/源域l2,原则是采样一个句子l2并在中生成这个句子待噪声版本,这种版本是通过将当前的转换模型应用于m来生成的,使得y=m(x)。然后对这个损坏的版本进行采样(见图1右图)。因此,目标是学习编码器和解码器,以便它们可以从c(y)重构x。

跨域训练可以帮助机器学习一个相似的空间,而我们还需要使用对抗训练来促使模式学习一个共享的潜在空间,本发明中使用另外一个模型称之为鉴别器,该模型接收蒙汉两种语言的编码器的输出,并预测编码后的句子属于哪一种语言,从而实现蒙汉互译。鉴别器对编码器的输出进行操作,该序列是(z1,z2,...zm)的一个潜在向量序列并产生关于编码器输入语句的语言的二进制预测:其中pd:rn→[0;1],0对应于源域,1对应用于目标域。鉴别器被训练以通过最小化下列交叉熵损失函数来预测语言:其中(xi,li)对应于从蒙汉两个单语语料库中均匀采样的句子和语言id对,θd是鉴别器的参数,θenc是编码器,z是编码器字嵌入。鉴别器损失函数定义为:

如果li=l2则lj=l1,如果li=l1则lj=l2。

综上所述,本发明的最后目标是降噪自动编码器损失、翻译过程损失和鉴别器损失三种不同的损失之和最小。因此,定义我们最终的目标函数为:

l(θenc,θdec,z)=λauto[lauto(θenc,θdec,z,src)+lauto(θenc,θdec,z,tgt)]+

λcd[lcd(θenc,θde,z,src,tgt)+lcd(θenc,θdec,z,tgt,src)]+

λadvladv(θenc,z|θd)

其中λauto,λcd,和λadv是超参数,用于加权自动编码损失,跨域损失和对抗损失。同时,鉴别器损失ld被最小化用以更新鉴别器。

本发明整体翻译框架流程图如图3所示。

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