一种可学习未来信息的机器翻译方法与流程

    专利查询2022-07-07  158



    1.本发明涉及一种神经机器翻译技术,具体为一种可学习未来信息的机器翻译方法。


    背景技术:

    2.机器翻译,即利用计算机,将一种自然语言翻译为另一种自然语言。早期,机器翻译使用基于规则的方法,科学家利用语言学家总结的语言学规则,编写程序,试图使计算机根据规则进行翻译。之后基于实例的机器翻译发展而来,该方法依赖句子实例库,实例库拥有的句子越多,翻译的质量越好。随着ibm的研究,机器翻译进入了统计机器翻译时代,该范式利用统计学知识,统计源语与目标语的对应关系,在解码时,将翻译概率乘语言模型概率的值最高的句子,当作解码所得到的句子。
    3.现如今,机器翻译已经进入了神经机器翻译时代。最早的神经机器翻译范式使用编码器解码器结构,该结构贯穿了所有神经机器翻译模型。可溯的第一个神经机器翻译模型的编码器使用卷积神经网络来捕获源语言句子中的特征,解码器使用循环神经网络,然而卷积神经网络不能捕获长句子的依赖信息,并且循环神经网络由于每一个时间步的权重共享,容易发生梯度爆炸,另外循环神经网络在处理长句子序列时,容易发生梯度消失问题。随后,lstm被引入神经机器翻译模型,以缓解长序列依赖问题和梯度消失问题。
    4.随着注意力机制在机器学习中的探索,其被发现非常适用于机器翻译任务。在机器翻译中,每一个词于其上下文词的关系都不是均匀的,引入注意力机制,就可以很自然的学习句子中每一个词于其上下文词之间的关系,为关联度更高的词赋予更大的权重,可以提高模型特征学习的效率。另外,在注意力机制中,每一次计算,当前词都可以同时捕获其与上下文中任意一个词的关系,也就是说,每个词与其他词的距离为1,而在循环神经网络中,第n个词与第一个词的距离为n-1,换句话说,注意力机制非常适合用于捕捉句子中的长距离依赖。
    5.现在的神经机器翻译模型中,在训练和推断的解码过程中,都屏蔽了未来信息,这样模型在训练过程中,可学习到的信息将会具有一定损失。


    技术实现要素:

    6.针对神经机器翻译训练过程中,没有学习未来信息的能力,语料利用率较低这一问题,本发明提出一种可学习未来信息的机器翻译方法,将未来信息引入到神经机器翻译模型中,以提升改善模型训练范式,且提升模型对语料的利用率。
    7.为解决上述技术问题,本发明采用的技术方案是:
    8.本发明提供一种可学习未来信息的机器翻译方法,包括以下步骤:
    9.1)采用基于自注意力机制的transformer模型作为基础框架,在解码器端加入未来信息网络模块,用于学习句子的未来信息,构建一种可学习未来信息的机器翻译模型;
    10.2)处理训练数据,对源语和目标语平行句对进行数据清洗、分词,并利用现有的词
    嵌入模型,将得到的相应词转换成其对应的词嵌入表示;
    11.3)使用均匀分布对可学习未来信息的机器翻译模型进行参数初始化,使用自适应学习率算法进行模型训练优化;
    12.4)在编码器中,首先利用自注意力机制对词嵌入进行计算,随后将计算得到的值送入可学习未来信息的机器翻译模型中的前馈神经网络以获得词嵌入向量中更多的信息,此操作进行n次后,该模型即学到了句子的特征信息;
    13.5)可学习未来信息的机器翻译模型利用编解码注意力机制学习源语与目标语之间的关联信息,同时编码器的信息也被送入可以学习未来信息网络结构中,以辅助解码器学习句子的未来信息;最后,未来信息网络将学到的信息送回解码器,辅助解码器解码;
    14.6)利用训练好的可学习未来信息的机器翻译模型进行机器翻译,在翻译过程中,该模型仅使用基础的transformer解码器进行解码,实现可学习未来信息的机器翻译方法。
    15.在步骤1)中,在解码器端加入未来信息网络模块,用于学习句子的未来信息,未来信息网络的算法流程为:
    16.101)对未来信息进行线性变换:
    17.zi=gru(z
    i-1
    ,h
    i-1
    )
    18.其中zi是第i句的未来句子信息,z
    i-1
    是第i-1句的未来句子信息,h
    i-1
    是第i-1句的循环单元状态,gru是门控循环单元;
    19.102)将未来信息与当前状态信息融合:
    20.oi=sigmoid(ziw b)
    [0021][0022]
    其中oi是门控信息,用于学习需要保留多少比例的未来句子信息zi,sigmoid(
    ·
    )是激活函数,w和b是模型可学习的参数,yi是当前状态,是融合了未来信息后的当前状态;
    [0023]
    103)将当前状态与编码器信息进行融合,以学习源语言到目标语言的关联信息:
    [0024][0025]
    其中是未来信息网络的输出值,attention(
    ·
    )是注意力机制算法,是融合了未来信息后的当前状态,xi是编码器所捕获的特征值。
    [0026]
    在步骤101)中,使用门控循环单元gru对信息进行线性变换,该结构由重置门和更新门构成,重置门用来控制前一时刻隐层状态的信息比例,公式如下:
    [0027]rt
    =sigmoid([h
    t-1
    ,x
    t
    ]wr)
    [0028]
    其中r
    t
    表示前一时刻隐层信息需要保留的比例,h
    t-1
    是前一时刻的隐层信息,x
    t
    是当前时刻的输入,wr是可训练的权重参数;
    [0029]
    更新门用来更新记忆信息,其计算公式如下:
    [0030]ut
    =sigmoid([h
    t-1
    ,x
    t
    ]wu)
    [0031]
    其中u
    t
    是更新门得到的权重值,wu是可训练的权重参数;
    [0032]
    之后,利用计算得到的r
    t
    和u
    t
    更新当前时间步的隐藏状态,其具体计算公式如下:
    [0033]
    [0034][0035]
    其中是包含前一时刻隐层状态与当前时刻信息的值,wh是可训练的权重参数,tanh(
    ·
    )是激活函数,h
    t
    是当前时刻的隐层状态信息。
    [0036]
    在步骤103)中,使用了attention(
    ·
    )注意力机制算法捕获未来句子信息与当前句子信息的关系,该算法的计算公式如下:
    [0037]
    attention(q,k,v)=softmax(α)
    ·v[0038][0039]
    其中q、k、v为算法的输入,分别表示query、key、value,softmax(
    ·
    )是归一化函数,α是注意力权重矩阵,用于表示每个位置的相关性大小,dk是k的隐层维度。
    [0040]
    在步骤3)中,使用均匀分布对模型进行参数初始化,使用自适应学习率算法进行模型训练优化,具体流程如下:
    [0041]
    301)从一个均匀分布中,对模型参数进行随机采样,该方法的具体实现为:
    [0042][0043]
    其中w为权重矩阵,d
    in
    和d
    out
    分别表示w的输入和输出维度大小,u(
    ·
    )表示均匀分布;
    [0044]
    302)使用自适应学习率算法进行模型训练优化,该优化算法的具体公式为:
    [0045]vt
    =β1v
    t-1
    (1-β1)g
    t
    [0046]st
    =β2s
    t-1
    (1-β2)g
    t2
    [0047][0048]
    其中v
    t
    为第t时刻小批量随机梯度的动量,β1和β2为可设置的参数,g
    t
    为第t时刻的小批量随机梯度,x
    t
    为第t时刻的模型参数值,α为学习率,其值大于0,∈是为了避免分母为0而添加的常数,s
    t
    为第t时刻动量。
    [0049]
    本发明具有以下有益效果及优点:
    [0050]
    1.本发明将未来信息引入到神经机器翻译中,以辅助解码器进行训练,探索了神经机器翻译的学习能力,改善了现有神经机器翻译范式的不足,并且提高了神经机器翻译模型对平行语料的信息捕获能力,也提升了模型的翻译性能。
    [0051]
    2.本发明虽是在transformer模型中进行改进,但未来信息网络模块独立于transformer模型,可被应用在任意一个模型结构中。
    附图说明
    [0052]
    图1为编码器结构图;
    [0053]
    图2为解码器结构图;
    [0054]
    图3为本发明方法中的未来信息网络结构图;
    [0055]
    图4为gru结构图;
    [0056]
    图5为引入未来信息的transformer模型结构概略图。
    具体实施方式
    [0057]
    下面结合说明书附图对本发明作进一步阐述。
    [0058]
    本发明是一种可学习未来信息的网络的机器翻译方法,具体包括如下步骤:
    [0059]
    1)采用基于自注意力机制的transformer模型作为基础框架,在解码器端加入未来信息网络模块,用于学习句子的未来信息,构建一种可学习未来信息的机器翻译模型;
    [0060]
    transformer模型采用基于编码器(如图1所示)-解码器(如图2所示)框架作为基础框架,在解码器端加入未来信息网络模块(如图3所示),用于学习句子的未来信息,未来信息网络模块主要使用gru捕获未来信息(如图4所示),最终构成一种可学习未来信息的机器翻译模型(如图5所示);
    [0061]
    在步骤1)中,在解码器端加入未来信息网络模块,用于学习句子的未来信息,未来信息网络的算法流程为:
    [0062]
    101)对未来信息进行线性变换:
    [0063]
    zi=gru(z
    i-1
    ,h
    i-1
    )
    [0064]
    其中zi是第i句的未来句子信息,z
    i-1
    是第i-1句的未来句子信息,h
    i-1
    是第i-1句的循环单元状态,gru是门控循环单元;
    [0065]
    102)将未来信息与当前状态信息融合:
    [0066]
    oi=sigmoid(ziw b)
    [0067][0068]
    其中oi是门控信息,用于学习需要保留多少比例的未来句子信息zi,sigmoid(
    ·
    )是激活函数,w和b是模型可学习的参数,yi是当前状态,是融合了未来信息后的当前状态;
    [0069]
    103)将当前状态与编码器信息进行融合,以学习源语言到目标语言的关联信息:
    [0070][0071]
    其中是未来信息网络的输出值,attention(
    ·
    )是注意力机制算法,是融合了未来信息后的当前状态,xi是编码器所捕获的特征值。
    [0072]
    在步骤101)中,使用门控循环单元gru对信息进行线性变换,该结构由重置门和更新门构成,重置门用来控制前一时刻隐层状态的信息比例,公式如下:
    [0073]rt
    =sigmoid([h
    t-1
    ,x
    t
    ]wr)
    [0074]
    其中r
    t
    表示前一时刻隐层信息需要保留的比例,h
    t-1
    是前一时刻的隐层信息,x
    t
    是当前时刻的输入,wr是可训练的权重参数;
    [0075]
    更新门用来更新记忆信息,其计算公式如下:
    [0076]ut
    =sigmoid([h
    t-1
    ,x
    t
    ]wu)
    [0077]
    其中u
    t
    是更新门得到的权重值,wu是可训练的权重参数;
    [0078]
    之后,利用计算得到的r
    t
    和u
    t
    更新当前时间步的隐藏状态,其具体计算公式如下:
    [0079]
    [0080][0081]
    其中是包含前一时刻隐层状态与当前时刻信息的值,wh是可训练的权重参数,tanh(
    ·
    )是激活函数,h
    t
    是当前时刻的隐层状态信息。
    [0082]
    在步骤103)中,使用了attention(
    ·
    )注意力机制算法捕获未来句子信息与当前句子信息的关系,该算法的计算公式如下:
    [0083]
    attention(q,k,v)=softmax(α)
    ·v[0084][0085]
    其中q、k、v为算法的输入,分别表示query、key、value,softmax(
    ·
    )是归一化函数,α是注意力权重矩阵,用于表示每个位置的相关性大小,dk是k的隐层维度。
    [0086]
    2)处理训练数据,对源语和目标语平行句对进行数据清洗、分词,并利用现有的词嵌入模型,将得到的相应词转换成其对应的词嵌入表示;
    [0087]
    在步骤2)中,处理训练数据,对源语和目标语平行句对进行数据清洗、分词,并利用词嵌入模型,将得到的相应词转换成其对应的词嵌入表示,具体流程如下:
    [0088]
    201)利用通用清洗流程对数据集进行清洗过滤,删除句子中包含乱码、html标签或网址的句子,并且删除源语目标语长度比过大或过小的句子;
    [0089]
    202)使用分词工具对数据集进行分词,并使用bpe对句子中词进行子词切分;
    [0090]
    203)使用word2vec工具,获取数据集中词对应的词嵌入向量信息。
    [0091]
    3)使用均匀分布对可学习未来信息的机器翻译模型进行参数初始化,使用自适应学习率算法进行模型训练优化;
    [0092]
    步骤3)使用均匀分布对模型进行参数初始化,使用自适应学习率算法进行模型训练优化,具体流程如下:
    [0093]
    301)从一个均匀分布中,对模型参数进行随机采样,该方法的具体实现为:
    [0094][0095]
    其中w为权重矩阵,d
    in
    和d
    out
    分别表示w的输入和输出维度大小,u(
    ·
    )表示均匀分布;
    [0096]
    302)使用自适应学习率算法进行模型训练优化,该优化算法的具体公式为:
    [0097]vt
    =β1v
    t-1
    (1-β1)g
    t
    [0098]st
    =β2s
    t-1
    (1-β2)g
    t2
    [0099][0100]
    其中v
    t
    为第t时刻小批量随机梯度的动量,β1和β2为可设置的参数,g
    t
    为第t时刻的小批量随机梯度,x
    t
    为第t时刻的模型参数值,α为学习率,其值大于0,∈是为了避免分母为0而添加的常数,s
    t
    为第t时刻动量。
    [0101]
    4)在编码器中,首先利用自注意力机制对词嵌入进行计算,随后将计算得到的值
    送入可学习未来信息的机器翻译模型中的前馈神经网络以获得词嵌入向量中更多的信息,此操作进行n次后,该模型即学到了句子的特征信息;
    [0102]
    5)可学习未来信息的机器翻译模型利用编解码注意力机制学习源语与目标语之间的关联信息,同时编码器的信息也被送入可以学习未来信息网络结构中,以辅助解码器学习句子的未来信息;最后,未来信息网络将学到的信息送回解码器,辅助解码器解码;
    [0103]
    6)利用训练好的可学习未来信息的机器翻译模型进行机器翻译,在翻译过程中,该模型仅使用基础的transformer解码器进行解码,实现可学习未来信息的机器翻译方法。
    [0104]
    本发明以iwslt德英翻译为例,表1展示了三个例句,表示本发明在模型译文质量提升上的有效性,其中base model是未使用未来信息模块的神经机器翻译模型,our model是本发明的模型。表2展示了相较于不使用未来信息模块的神经机器翻译模型而言,本发明方法在译文评价bleu上的有效性。
    [0105]
    表1 iwslt德英翻译例句对比
    [0106][0107]
    表2 iwslt德英翻译bleu对比
    [0108]
    模型bleubase model34.8our model35.5
    [0109]
    本发明在iwslt英德任务上验证了模型的有效性,采用bleu值作为翻译性能评测指标。本发明通过未来信息网络模块来引入句子的未来信息,在解码端学习过程中,将未来信息融入辅助解码端进行解码,缓解了之前神经机器翻译模型不能利用未来信息,而所带来的语料学习不充分,模型结构不完善等问题,为机器翻译模型带来了更好的性能和可能性。
    转载请注明原文地址:https://tc.8miu.com/read-1278.html

    最新回复(0)