面向神经机器翻译的省略代词翻译方法与流程

文档序号:15462437发布日期:2018-09-18 18:29阅读:161来源:国知局

本发明涉及神经机器翻译,特别是涉及面向神经机器翻译的省略代词翻译方法。



背景技术:

随着计算机计算能力的提高以及大数据的应用,深度学习取得进一步的应用。基于深度学习的Neural Machine Translation越来越受到人们的关注。在NMT领域中,最常用的一种翻译模型是带有注意力机制(attention-based)的encoder-decoder模型。其主要思想是将待翻译的语句(在下文中统称为‘源语句’)经过编码器(encoder)编码成为一个向量表示,然后利用解码器(decoder)对源语句的向量表示进行解码,翻译成为其对应的译文(在下文中统称为‘目标语句’)。尽管基于深度学习的Neural Machine Translation在一定程度上能够很好的翻译源语句,但是对于将一种习惯性省略代词的口语句子翻译到另一种非省略代词的语言上却表现的不是那么出色,例如,我们经常会说中文“吃了吗?”,而对应的英文应该是“have you eaten?”,但是实际用一般的带有注意力机制(attention-based)的encoder-decoder模型翻译出来的句子却是“eaten?”,像这种省略代词的口语句子的翻译,因为在中文中省略了‘你’,而英文却没有省略的习惯,因此利用机器进行翻译会大大降低译文的流畅度和可读性,从而影响翻译质量。

现有的解决这一类问题的方法有如下2种:

1.人工补齐源语句中省略的代词;

2.自动的用源端语言补充源语句中省略的代词,具体方法如下:

首先,利用词对齐(将两个句子中的词进行一一对应)将源语句和目标语句进行对齐操作,以此来获得缺失代词的大致位置;然后,将所有可能的代词填充到所有可能的缺失位置;最后,利用语言模型(判断一个句子是否具备正常语句的流畅度,困惑度越小,则越接近自然语言)来挑选最适合补充的代词及位置。

然后利用以上两种方法处理过的语料通过前述的带有注意力机制(attention-based)的encoder-decoder模型进行翻译。

对于现有两类技术的缺点:

第一种(即人工补充):耗时,耗力,且处理的语料数量有限。

第二种(即自动补充):尽管这一类解决方法可以解决人工补充所带来的缺点,但是,这种补充方法补充过的代词在进行翻译时易造成歧义,即:对于补充的中文代词‘我’,在翻译到英文时可以是‘I’或‘me’,由这种一对多的词语产生的歧义会使得翻译质量下降。



技术实现要素:

鉴于以上技术存在的缺点,因此,为解决这一问题,我们提出了一种方法,既能自动补充源语句中省略的代词,又能够避免利用源端语言补充源语句缺失代词后所产生的歧义,从而有效的提高翻译质量。

一种利用神经机器翻译系统进行省略代词的语料处理方法,应用在基于注意力机制且采用encoder-decoder框架的NMT模型,包括:

获取原始语料;

对获取的语料进行词对齐,获得缺失代词的大概位置;

将所有可能的代词放入到所有可能的缺失的位置;

利用语言模型挑选最合适的代词和最合适的位置;

再次进行词对齐,将补充缺失代词的位置换成相应目标语句中的代词;

利用补充好的训练语料训练SequenceLabeling标注模型;

用训练好的SequenceLabeling标注模型对开发集和测试集标注并补充代词。

上述利用神经机器翻译系统进行省略代词的语料处理方法,既能自动补充源语句中省略的代词,又能够避免利用源端语言补充源语句缺失代词后所产生的歧义,从而有效的提高翻译质量。

在另外的一个实施例中,在步骤“对获取的语料进行词对齐,获得缺失代词的大概位置;”中,利用GIZA++模型进行词对齐。

在另外的一个实施例中,在步骤“再次进行词对齐,将补充缺失代词的位置换成相应目标语句中的代词;”中,利用GIZA++模型进行词对齐。

在另外的一个实施例中,在步骤“对获取的语料进行词对齐,获得缺失代词的大概位置;”和在步骤“再次进行词对齐,将补充缺失代词的位置换成相应目标语句中的代词;”中词对齐的方法相同。

在另外的一个实施例中,在步骤“对获取的语料进行词对齐,获得缺失代词的大概位置;”和在步骤“再次进行词对齐,将补充缺失代词的位置换成相应目标语句中的代词;”中词对齐的方法不同。

一种利用神经机器翻译系统的翻译方法,应用在基于注意力机制且采用encoder-decoder框架的NMT模型,

利用上述的利用神经机器翻译系统进行省略代词的语料处理方法处理原始语料;

在源语句补充代词的前后分别加入第一标签和第二标签;

目标语句对应代词的位置同样加入所述第一标签和所述第二标签;

利用上述处理之后的语料进行NMT系统的训练;

利用训练好的NMT系统进行翻译。

在另外的一个实施例中,所述第一标签是<copy>和所述第二标签是</copy>。

在另外的一个实施例中,所述第一标签是</copy>和所述第二标签是<copy>。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现任意一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现任意一项所述方法的步骤。

附图说明

图1为本申请实施例提供的一种利用神经机器翻译系统进行省略代词的语料处理方法的示意图。

图2为本申请实施例提供的一种利用神经机器翻译系统进行省略代词的语料处理方法的流程图。

图3为本申请实施例提供的一种利用神经机器翻译系统的翻译方法的流程图。

图4为本申请实施例提供的一种利用神经机器翻译系统进行省略代词的语料处理方法的效果示意图之一。

图5为本申请实施例提供的一种利用神经机器翻译系统进行省略代词的语料处理方法的效果示意图之二。

具体实施方式

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

首先介绍一下本申请的应用基础:基于注意力机制(attention)的NMT模型。

在神经机器翻译系统中,一般采用encoder-decoder框架来实现翻译。对训练语料中的每一个词,我们都为其初始化一个词向量,所有词的词向量构成了词向量词典。词向量,一般是一个多维的向量,向量中每一维都是一个实数,维度的大小一般根据实验过程中的结果来最终确定。例如,对于单词“咱们”,它的词向量可能是<0.12,-0.23,...,0.99>。

Encoder是由双向RNN(RecurentNeural Network)网络构成。在encoder阶段,encoder读入一个句子,将句子编码成一系列的向量。具体过程如下,首先将一个句子表示为词向量的序列,即x=<x1,x2,...,xT>,其中x为输入的句子,xj为句子中第i个词的词向量,即一个m维的向量。前向RNN根据公式我们可以获得一个由隐层向量组成的前向向量序列反向RNN依据同样的原理,可以得到由隐层向量组层的反向向量序列我们连接和作为单词xj经过encoder编码后的含有上下文信息的向量表示由隐层向量序列<h1,h2,...,hT>,我们可以获得context向量ct=q({h1,h2,...,hT})。其中,其中hj∈Rn,是时序t时的隐藏状态,f和q是非线性的激活函数,其中f一般采用GRU或者LSTM,q一般采用attention网络。

etj=a(st-1,hj)

在经典的神经机器翻译系统中,context向量一般利用attention网络来获得,可以通过下面公式运算获得:

其中,a是一个一层的前向网络,αtj是encoder是每一个隐藏状态hj的权重。

Decoder也是由RNN网络构成。在Decoder阶段,给定向量ct,以及所有已经预测得到词{y1,y2,...,yt′-1},可以继续预测yt,通过如下定义可以逐步实现:其中另外,p(yt|{y1,y2,...,yt-1},ct)=g(yt-1,st,ct),其中g是非线性激活函数,一般采用softmax函数。st为RNN中的隐层状态,st=f(yt-1,st-1,ct)。

encoder和decoder都采用RNN网络,主要是因为其特点,RNN网络的特点在于,隐层状态由当前的输入和上一个隐层状态共同决定。如在本神经机器翻译过程中,Encoder阶段隐层状态由源语端当前词的词向量和上一个隐层状态共同决定。Decoder阶段的隐层状态由前一步骤中计算得到的目标语端词向量和上一个隐层状态共同决定。

模型的训练一般采用最小化负对数似然为损失函数,采用随机梯度下降为训练方法来进行迭代训练。在训练集上,其中xn,yn为平行语句对,模型训练目标函数如下:

一种利用神经机器翻译系统进行省略代词的语料处理方法,应用在基于注意力机制且采用encoder-decoder框架的NMT模型,包括:

获取原始语料;

对获取的语料进行词对齐,获得缺失代词的大概位置;

将所有可能的代词放入到所有可能的缺失的位置;

利用语言模型挑选最合适的代词和最合适的位置;

再次进行词对齐,将补充缺失代词的位置换成相应目标语句中的代词;

利用补充好的训练语料训练SequenceLabeling标注模型;

用训练好的SequenceLabeling标注模型对开发集和测试集标注并补充代词。

上述利用神经机器翻译系统进行省略代词的语料处理方法,既能自动补充源语句中省略的代词,又能够避免利用源端语言补充源语句缺失代词后所产生的歧义,从而有效的提高翻译质量。

在另外的一个实施例中,在步骤“对获取的语料进行词对齐,获得缺失代词的大概位置;”中,利用GIZA++模型进行词对齐。

在另外的一个实施例中,在步骤“再次进行词对齐,将补充缺失代词的位置换成相应目标语句中的代词;”中,利用GIZA++模型进行词对齐。

在另外的一个实施例中,在步骤“对获取的语料进行词对齐,获得缺失代词的大概位置;”和在步骤“再次进行词对齐,将补充缺失代词的位置换成相应目标语句中的代词;”中词对齐的方法相同。

在另外的一个实施例中,在步骤“对获取的语料进行词对齐,获得缺失代词的大概位置;”和在步骤“再次进行词对齐,将补充缺失代词的位置换成相应目标语句中的代词;”中词对齐的方法不同。

一种利用神经机器翻译系统的翻译方法,应用在基于注意力机制且采用encoder-decoder框架的NMT模型,

利用上述的利用神经机器翻译系统进行省略代词的语料处理方法处理原始语料;

在源语句补充代词的前后分别加入第一标签和第二标签;

目标语句对应代词的位置同样加入所述第一标签和所述第二标签;

利用上述处理之后的语料进行NMT系统的训练;

利用训练好的NMT系统进行翻译。

在另外的一个实施例中,所述第一标签是<copy>和所述第二标签是</copy>。

在另外的一个实施例中,所述第一标签是</copy>和所述第二标签是<copy>。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现任意一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现任意一项所述方法的步骤。

下面介绍一个本发明具体的应用场景:

训练集语料处理:

参阅图1和图2,我们将目标端的代词补充到源端缺失代词的位置。因为训练集语料是平行语料,因此,我们可以利用对齐信息。首先使用GIZA++进行词对齐,获得缺失代词的大概位置,然后将所有可能的代词放入到所有可能缺失的位置,然后利用语言模型,挑选最合适的代词和最合适的位置,挑选出最佳代词和位置后,再用一次GIZA++模型进行词对齐,将补充缺失代词的位置换成相应目标语句中的代词。

例如,如果源句子是:“吃了吗?”,那么补充过目标端代词的句子就是:“you吃了吗?”。

测试集和开发集语料处理:

对于开发集和测试集来说,因为这两个集合的语料是不平行的,没有目标端句子,因此我们不能利用处理训练集的方法来处理。我们这里将处理开发集和测试集的任务看成是一个词性标注问题,标注的类型共有32类,分别对应每一种代词和空(代表无代词缺失),用开源的Foolnltk工具包,利用处理好的训练集语料训练词性标注模型,然后对测试集和开发集进行处理,处理过后的例子如上。

参阅图3,这里我们在上述NMT模型中加入copy机制,也就是对于训练集,测试集和开发集再做一次处理,在源语句补充代词的前后分别加入标签<copy>,</copy>。同时,目标语句对应代词的位置也加入同样的标签,利用处理之后的语料进行NMT系统的训练。其中我们在src中的“you”和trg中的“you”共用相同的word-embedding。NMT系统可以学习src端<copy>……</copy>和trg端<copy>……</copy>的对应关系,共用word-embedding可以保证生成译文的正确性。

我们提出的方法不仅可以补充省略代词的缺失问题,而且能够避免补入缺失代词后引入的词语翻译歧义问题,从而有效的提升省略代词的口语语言的翻译质量。

通过各种实验,我们发现补入代词后的翻译相比不补入的翻译效果有明显提升,用我们的方法补入目标端代词(+ProDrop_target)获得的翻译效果比前人提出的直接补入源端语言的代词(+ProDrop)的翻译要更好一些,提升的BLEU值将近1个点,说明我们的方法在很大程度上能够提升省略代词的口语语句的翻译。实验结果如下表1所示:

表1

下面举一个具体的例子:

例如:src:我用了(我的)一辈子。

Trg:I spend my whole life.

对于给出的例子,源句中省略了代词‘我的’,用我们提出的方法,先做词对齐操作,得到参阅图4所示的效果:

然后根据前后对齐的词,我们大概判断出缺失代词的位置在‘用了’和‘一辈子’的附近,将31个代词都放到这些候选位置中,利用语言模型挑选最匹配的那个,假设我们判断出加入代词‘我的’在‘用了’和‘一辈子’中间的效果最好,那么我们将这个句子作为最终候选,然后再次利用词对齐,得到参阅图5所示的效果。

这时很明显,原先缺失代词的部分都已经对齐,因此,我们只需要将补充的中文代词用英文端代词进行补充,即得到:

Src:我用了my一辈子。

Trg:I spendmywhole life.

最后一步,在补充的代词前后分别加入<copy>和</copy>标签,得到:

Src:我用了<copy>my</copy>一辈子。

Trg:I spend<copy>my</copy>whole life.

然后将处理后的语料交给基于attention的Encoder-Decoder模型进行训练并翻译。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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