一种知识增强的非自回归神经机器翻译方法及装置与流程

文档序号:30380243发布日期:2022-06-11 03:32阅读:79来源:国知局
一种知识增强的非自回归神经机器翻译方法及装置与流程

1.本发明属于机器翻译技术领域,具体涉及一种知识增强的非自回归神经机器翻译方法及装置。


背景技术:

2.神经机器翻译是使用一种自回归的解码方式,从左到右依次解码生成目标语言,这种特性导致解码过程中,不同位置的单词无法并行生成。而非自回归翻译摒弃了目标端语言生成过程的时序性,由于其解码过程不依赖于之前翻译结果,从而获得很高的推理速度,在解码过程中能够同时生成所有目标语言词汇,大大加快了模型的解码速度。
3.当前的非自回归翻译方法同时生成所有时刻的目标语言词汇,虽然极大地提升了解码速度,但是摒弃了词汇之间的依赖性,容易造成翻译内容前后不一致、遗漏翻译内容或同样内容重复多次的翻译结果,翻译质量较差,无法满足正常的高质量翻译需求。


技术实现要素:

4.为此,本发明提供一种知识增强的非自回归神经机器翻译方法及装置,解决在非自回归神经机器翻译中,目标语言文本生成无法依赖上下文信息,容易出现重翻、漏翻和翻译前后不一致的问题。
5.为了实现上述目的,本发明提供如下技术方案:一种知识增强的非自回归神经机器翻译方法,包括以下步骤:
6.(1)将双语平行语言对进行数据预处理和词向量编码;
7.(2)将源语言的词向量表示输入到编码器网络中,所述编码器网络将源语言文档信息进行编码,得到输入词序列信息的编码表示;
8.(3)使用词对齐模型构建源语言和目标语言的对应关系,构建繁衍率模型;
9.(4)构建解码器模型的输入和输出编码表示;
10.(5)通过条件随机场模型建立目标语言词汇之间的依赖,依次解码生成最终的翻译结果。
11.作为知识增强的非自回归神经机器翻译方法的优选方案,步骤(1)包括:
12.(11)使用bpe算法将所有训练语料中句子进行亚词切分;
13.(12)预定义表示源语言的亚词序列,使用预训练模型得到源语言的词向量编码表示;
14.(13)获取源语言输入序列的位置向量编码;
15.(14)将所述词向量编码与所述位置向量编码相加,得到源语言的输入编码表示。
16.作为知识增强的非自回归神经机器翻译方法的优选方案,步骤(2)包括:
17.(21)获取源语言经过词向量预处理的词序列矩阵;
18.(22)使用基于自注意力机制的transformer层,获得每个词经过编码器网络的最顶层编码表示。
19.作为知识增强的非自回归神经机器翻译方法的优选方案,步骤(3)包括:
20.(31)预定义表示不同目标语言的词序列,使用词对齐模型构建源语言词序列和目标语言之间的对应关系;
21.(32)根据源语言词序列和目标语言之间的对应关系,将源语言对应目标语言的token数目作为繁衍率序列;
22.(33)对步骤(22)得到的每个词经过编码器网络的最顶层编码表示计算softmax,得到繁衍率的概率分布;
23.(34)选择最大概率对应的输出作为编码器网络的生成结果;
24.步骤(33)包括:
25.(331)将输出的隐状态进行一层线性变换;
26.(332)将一层线性变换得到的结果通过softmax输出繁衍率中的概率分布。
27.作为知识增强的非自回归神经机器翻译方法的优选方案,步骤(4)包括:
28.(41)根据步骤(33)得到的繁衍率结果构建解码器端的输入;
29.(42)获得解码器输入编码表示;
30.(43)获得解码器的输出编码表示。
31.作为知识增强的非自回归神经机器翻译方法的优选方案,步骤(5)包括:
32.(51)对解码器网络最顶层输出的隐状态进行一层线性变换;
33.(52)将一层线性变换得到的结果通过crf线性链输出每个时刻的输出概率分布;
34.(53)选择最大概率对应的单词作为指定时刻的翻译结果。
35.本发明还提供一种知识增强的非自回归神经机器翻译装置,包括:
36.第一处理模块,用于将双语平行语言对进行数据预处理和词向量编码;
37.第二处理模块,用于将源语言的词向量表示输入到编码器网络中,所述编码器网络将源语言文档信息进行编码,得到输入词序列信息的编码表示;
38.第三处理模块,用于使用词对齐模型构建源语言和目标语言的对应关系,构建繁衍率模型;
39.第四处理模块,用于构建解码器模型的输入和输出编码表示;
40.第五处理模块,用于通过条件随机场模型建立目标语言词汇之间的依赖,依次解码生成最终的翻译结果。
41.作为知识增强的非自回归神经机器翻译装置的优选方案,所述第一处理模块包括:
42.亚词切分子模块,用于使用bpe算法将所有训练语料中句子进行亚词切分;
43.第一获取子模块,用于预定义表示源语言的亚词序列,使用预训练模型得到源语言的词向量编码表示;
44.第二获取子模块,用于获取源语言输入序列的位置向量编码;
45.输入编码表示子模块,用于将所述词向量编码与所述位置向量编码相加,得到源语言的输入编码表示。
46.作为知识增强的非自回归神经机器翻译装置的优选方案,所述第二处理模块包括:
47.词序列矩阵子模块,用于获取源语言经过词向量预处理的词序列矩阵;
48.顶层编码表示子模块,用于使用基于自注意力机制的transformer层,获得每个词经过编码器网络的最顶层编码表示。
49.作为知识增强的非自回归神经机器翻译装置的优选方案,所述第三处理模块包括:
50.对应关系构建子模块,用于预定义表示不同目标语言的词序列,使用词对齐模型构建源语言词序列和目标语言之间的对应关系;
51.繁衍率序列子模块,用于根据源语言词序列和目标语言之间的对应关系,将源语言对应目标语言的token数目作为繁衍率序列;
52.繁衍率概率分布子模块,用于对得到的每个词经过编码器网络的最顶层编码表示计算softmax,得到繁衍率的概率分布;
53.生成结果子模块,用于选择最大概率对应的输出作为编码器网络的生成结果;
54.所述繁衍率概率分布子模块中,将输出的隐状态进行一层线性变换;将一层线性变换得到的结果通过softmax输出繁衍率中的概率分布。
55.作为知识增强的非自回归神经机器翻译装置的优选方案,所述第四处理模块包括:
56.输入构建子模块,用于根据所述繁衍率概率分布子模块得到的繁衍率结果构建解码器端的输入;
57.输入编码表示子模块,用于获得解码器输入编码表示;
58.输出编码表示子模块,用于获得解码器的输出编码表示。
59.作为知识增强的非自回归神经机器翻译装置的优选方案,所述第五处理模块包括:
60.隐状态线性变换子模块,用于对解码器网络最顶层输出的隐状态进行一层线性变换;
61.输出概率分布子模块,用于将一层线性变换得到的结果通过crf线性链输出每个时刻的输出概率分布;
62.翻译结果子模块,用于选择最大概率对应的单词作为指定时刻的翻译结果。
63.本发明具有如下优点:将双语平行语言对进行数据预处理和词向量编码;将源语言的词向量表示输入到编码器网络中,所述编码器网络将源语言文档信息进行编码,得到输入词序列信息的编码表示;使用词对齐模型构建源语言和目标语言的对应关系,构建繁衍率模型;构建解码器模型的输入和输出编码表示;通过条件随机场模型建立目标语言词汇之间的依赖,依次解码生成最终的翻译结果。本发明利用了预训练语言模型知识,在解码端使用条件随机场进行解码;预训练语言模型本身带有较强的上下文信息,而条件随机场构建了上下文依赖关系,本发明缓解了非自回归翻译中较为容易出现的大量重翻、漏翻和前后不一致的现象,有利于得到更高质量的翻译结果。
附图说明
64.为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图引伸获得其它的实施附图。
65.本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
66.图1为本发明实施例1提供的知识增强的非自回归神经机器翻译方法流程示意图;
67.图2为本发明实施例2提供的知识增强的非自回归神经机器翻译装置示意图。
具体实施方式
68.以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
69.实施例1
70.参见图1,本发明实施例1提供一种知识增强的非自回归神经机器翻译方法,包括以下步骤:
71.s1、将双语平行语言对进行数据预处理和词向量编码;
72.s2、将源语言的词向量表示输入到编码器网络中,所述编码器网络将源语言文档信息进行编码,得到输入词序列信息的编码表示;
73.s3、使用词对齐模型构建源语言和目标语言的对应关系,构建繁衍率模型;
74.s4、构建解码器模型的输入和输出编码表示;
75.s5、通过条件随机场模型建立目标语言词汇之间的依赖,依次解码生成最终的翻译结果。
76.本实施例中,步骤s1包括:
77.s11、使用bpe算法将所有训练语料中句子进行亚词切分;
78.s12、预定义表示源语言的亚词序列,使用预训练模型得到源语言的词向量编码表示;
79.s13、获取源语言输入序列的位置向量编码;
80.s14、将所述词向量编码与所述位置向量编码相加,得到源语言的输入编码表示。
81.具体的,步骤s11中,为了降低集外词对翻译性能的影响,首先使用bpe算法将所有训练语料中句子进行亚词切分,因此编码器网络输入和解码器网络的输出单元均为亚词序列。
82.步骤s12中,首先预定义x=[x1,

,xn]表示源语言的亚词序列,使用预训练模型得到源语言的词向量编码表示te
x

[0083]
te
x
=bert
emb
(x)=[v1,

,vn]
[0084]
步骤s13中,获取源语言输入序列的位置向量编码pe
x

[0085]
步骤s14中,将词向量编码te
x
与位置向量编码pe
x
相加,得到源语言的输入编码向量表示e
x
:e
x
=te
x
+pe
x

[0086]
本实施例中,步骤s2包括:
[0087]
s21、获取源语言经过词向量预处理的词序列矩阵;
[0088]
s22、使用基于自注意力机制的transformer层,获得每个词经过编码器网络的最顶层编码表示。
[0089]
具体的,步骤s21中,使用e
x
=[v1,

,vn]表示输入词序列经过词向量预处理得到的矩阵,其中vi表示第i个亚词的向量。
[0090]
步骤s22中,使用基于自注意力机制的transformer层,每个词经过编码器的编码表示由以下公式计算得到:
[0091]vn
=selfattn(e
x
,e
x
,e
x
)
[0092][0093]
其中,e
x
表示输入编码向量,vn表示自注意力机制的输出。使用编码器,可以得到最顶层的编码表示
[0094]
本实施例中,步骤s3包括:
[0095]
s31、预定义表示不同目标语言的词序列,使用词对齐模型构建源语言词序列和目标语言之间的对应关系;
[0096]
s32、根据源语言词序列和目标语言之间的对应关系,将源语言对应目标语言的token数目作为繁衍率序列;
[0097]
s33、对步骤s22得到的每个词经过编码器网络的最顶层编码表示计算softmax,得到繁衍率的概率分布;
[0098]
s34、选择最大概率对应的输出作为编码器网络的生成结果。
[0099]
具体的,步骤s31中,定义y=[y1,

,yn]表示不同目标语言的词序列,使用词对齐模型构建源语言词序列x和目标语言y之间的对应关系map。
[0100]
步骤s32中,通过对应关系map,将源语言对应目标语言的token数目作为繁衍率序列f:
[0101]
f=[f1,

,fn]
[0102]
将fi限定为0~50之间的自然数。
[0103]
步骤s33中,根据步骤s22得到的编码器最顶层的编码表示计算softmax,得到繁衍率的概率分布。将输出的隐状态on进行一层线性变换:将一层线性变换得到的结果通过softmax输出繁衍率中的概率分布:其中,w和b是模型的训练参数,w维度为51。
[0104]
本实施例中,步骤s4包括:
[0105]
s41、根据步骤s33得到的繁衍率结果构建解码器端的输入;
[0106]
s42、获得解码器输入编码表示;
[0107]
s43、获得解码器的输出编码表示。
[0108]
具体的,步骤s41中,根据第3步得到的繁衍率结果,构建解码器端的输入:y=f
·
x=fixi;例如,源语言xi对应的繁衍率fi=3,则yi=[xi,xi,xi]。
[0109]
步骤s42中,与步骤s12~s14相似,获得解码器输入编码表示;步骤s43中,和步骤s21~s22相似,获得解码器的输出编码表示
[0110]
本实施例中,步骤s5包括:
[0111]
s51、对解码器网络最顶层输出的隐状态进行一层线性变换;
[0112]
s52、将一层线性变换得到的结果通过crf线性链输出每个时刻的输出概率分布;
[0113]
s53、选择最大概率对应的单词作为指定时刻的翻译结果。
[0114]
具体的,步骤s51中,码器网络最顶层输出的隐状态经过一层线性变换后如下所示:
[0115]
步骤s52中,线性变换得到的通过crf线性链来输出每个时刻的输出概率分布prob
y|x

[0116][0117]
其中,s表示预测目标单词yi的分数(未归一化的softmax),t表示词汇之间的传递概率,z(x)表示归一化因子。
[0118]
步骤s53中,选择最大概率对应的单词作为时刻i的翻译结果:y=max(prob
y|x
);根据上述步骤,依次解码生成最终的翻译结果y=[y1,

,yn]。
[0119]
综上所述,本发明使用bpe算法将所有训练语料中句子进行亚词切分;预定义表示源语言的亚词序列,使用预训练模型得到源语言的词向量编码表示;获取源语言输入序列的位置向量编码;将所述词向量编码与所述位置向量编码相加,得到源语言的输入编码表示;使用词对齐模型构建源语言和目标语言的对应关系,构建繁衍率模型,预定义表示不同目标语言的词序列,使用词对齐模型构建源语言词序列和目标语言之间的对应关系;根据源语言词序列和目标语言之间的对应关系,将源语言对应目标语言的token数目作为繁衍率序列;对得到的每个词经过编码器网络的最顶层编码表示计算softmax,得到繁衍率的概率分布;选择最大概率对应的输出作为编码器网络的生成结果;构建解码器模型的输入和输出编码表示;对解码器网络最顶层输出的隐状态进行一层线性变换;将一层线性变换得到的结果通过crf线性链输出每个时刻的输出概率分布;选择最大概率对应的单词作为指定时刻的翻译结果。本发明编码器利用预训练模型,将输入文本编码成具有上下文信息的语义向量,而解码器在解码端顶层添加条件随机场,从而建立上下文时序依赖关系;本发明利用预训练语言模型知识,在解码端使用条件随机场进行解码;预训练语言模型本身带有较强的上下文信息,而条件随机场构建了上下文依赖关系,本发明缓解了非自回归翻译中较为容易出现的大量重翻、漏翻和前后不一致的现象,有利于得到更高质量的翻译结果。
[0120]
实施例2
[0121]
参见图2,本发明实施例2还提供一种知识增强的非自回归神经机器翻译装置,包括:
[0122]
第一处理模块1,用于将双语平行语言对进行数据预处理和词向量编码;
[0123]
第二处理模块2,用于将源语言的词向量表示输入到编码器网络中,所述编码器网络将源语言文档信息进行编码,得到输入词序列信息的编码表示;
[0124]
第三处理模块3,用于使用词对齐模型构建源语言和目标语言的对应关系,构建繁衍率模型;
[0125]
第四处理模块4,用于构建解码器模型的输入和输出编码表示;
[0126]
第五处理模块5,用于通过条件随机场模型建立目标语言词汇之间的依赖,依次解码生成最终的翻译结果。
[0127]
本实施例中,所述第一处理模块1包括:
[0128]
亚词切分子模块11,用于使用bpe算法将所有训练语料中句子进行亚词切分;
[0129]
第一获取子模块12,用于预定义表示源语言的亚词序列,使用预训练模型得到源语言的词向量编码表示;
[0130]
第二获取子模块13,用于获取源语言输入序列的位置向量编码;
[0131]
输入编码表示子模块14,用于将所述词向量编码与所述位置向量编码相加,得到源语言的输入编码表示。
[0132]
本实施例中,所述第二处理模块2包括:
[0133]
词序列矩阵子模块21,用于获取源语言经过词向量预处理的词序列矩阵;
[0134]
顶层编码表示子模块22,用于使用基于自注意力机制的transformer层,获得每个词经过编码器网络的最顶层编码表示。
[0135]
本实施例中,所述第三处理模块3包括:
[0136]
对应关系构建子模块31,用于预定义表示不同目标语言的词序列,使用词对齐模型构建源语言词序列和目标语言之间的对应关系;
[0137]
繁衍率序列子模块32,用于根据源语言词序列和目标语言之间的对应关系,将源语言对应目标语言的token数目作为繁衍率序列;
[0138]
繁衍率概率分布子模块33,用于对得到的每个词经过编码器网络的最顶层编码表示计算softmax,得到繁衍率的概率分布;
[0139]
生成结果子模块34,用于选择最大概率对应的输出作为编码器网络的生成结果;
[0140]
所述繁衍率概率分布子模块33中,将输出的隐状态进行一层线性变换;将一层线性变换得到的结果通过softmax输出繁衍率中的概率分布。
[0141]
本实施例中,所述第四处理模块4包括:
[0142]
输入构建子模块41,用于根据所述繁衍率概率分布子模块得到的繁衍率结果构建解码器端的输入;
[0143]
输入编码表示子模块42,用于获得解码器输入编码表示;
[0144]
输出编码表示子模块43,用于获得解码器的输出编码表示。
[0145]
本实施例中,所述第五处理模块5包括:
[0146]
隐状态线性变换子模块51,用于对解码器网络最顶层输出的隐状态进行一层线性变换;
[0147]
输出概率分布子模块52,用于将一层线性变换得到的结果通过crf线性链输出每个时刻的输出概率分布;
[0148]
翻译结果子模块53,用于选择最大概率对应的单词作为指定时刻的翻译结果。
[0149]
需要说明的是,上述装置各模块/子模块之间的信息交互、执行过程等内容,由于与本技术实施例1中的方法实施例基于同一构思,其带来的技术效果与本技术方法实施例相同,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0150]
实施例3
[0151]
本发明实施例3提供一种非暂态计算机可读存储介质,所述计算机可读存储介质
中存储有知识增强的非自回归神经机器翻译方法的程序代码,所述程序代码包括用于执行实施例1或其任意可能实现方式的知识增强的非自回归神经机器翻译方法的指令。
[0152]
计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk、ssd))等。
[0153]
实施例4
[0154]
本发明实施例4提供一种电子设备,包括:存储器和处理器;
[0155]
所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行实施例1或其任意可能实现方式的知识增强的非自回归神经机器翻译方法。
[0156]
具体的,处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于所述处理器之外,独立存在。
[0157]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
[0158]
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0159]
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1