语料翻译方法、装置及电子设备

文档序号:1889981 发布日期:2021-11-26 浏览:3次 >En<

阅读说明:本技术 语料翻译方法、装置及电子设备 (Corpus translation method and device and electronic equipment ) 是由 周楚伦 孟凡东 苏劲松 于 2021-03-30 设计创作,主要内容包括:本申请提供了一种语料翻译方法、装置、电子设备及计算机可读存储介质;方法包括:第一神经网络模型对语料样本进行第一语料翻译处理任务,得到基于语料样本的前序词生成的第一语料翻译结果;第二神经网络模型对语料样本进行第二语料翻译处理任务,得到基于语料样本的上下文词集合生成的第二语料翻译结果;基于第一语料翻译结果以及第二语料翻译结果,更新第一神经网络模型和第二神经网络模型的相同的编码网络、第一神经网络模型和第二神经网络模型的不同的解码网络;通过更新后的第一神经网络模型或更新后的第二神经网络模型对语料信号进行语料翻译处理,得到语料信号的语料翻译结果。通过本申请,能够提高语料翻译的准确性。(The application provides a corpus translation method, a corpus translation device, electronic equipment and a computer readable storage medium; the method comprises the following steps: the first neural network model carries out a first corpus translation processing task on the corpus sample to obtain a first corpus translation result generated based on the preorder of the corpus sample; the second neural network model carries out a second corpus translation processing task on the corpus sample to obtain a second corpus translation result generated based on a context word set of the corpus sample; updating the same coding network of the first neural network model and the second neural network model and different decoding networks of the first neural network model and the second neural network model based on the first corpus translation result and the second corpus translation result; and performing corpus translation processing on the corpus signal through the updated first neural network model or the updated second neural network model to obtain a corpus translation result of the corpus signal. Through the method and the device, the accuracy of the corpus translation can be improved.)

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)神经机器翻译:神经网络机器翻译(Neural Machine Translation,NMT)是最近几年提出来的一种机器翻译方法,相比于传统的统计机器翻译而言,NMT能够训练一张能够从一个序列映射到另一个序列的神经网络,输出的可以是一个变长的序列,这在翻译、对话和文字概括方面能够获得非常好的表现。

2)词嵌入向量:是自然语言处理技术的重要概念,可以利用词嵌入向量将一个单词转换成固定长度的向量表示,从而便于进行数学处理。

相关技术中,在翻译模型的目标端引入用于反向解码的反向解码器,反向解码器首先生成从右至左的隐状态序列,之后正向解码器利用从右至左的隐状态序列进行从左至右的解码处理,从而使得正向解码过程充分考虑到目标端的后续信息,以提高翻译质量,由于相关技术中仅在目标端每个解码时刻通过反向解码器为正向解码器引入额外的反向全局上下文信息,因此这些反向全局上下文信息与前序词的局部上下文信息实际上是互相独立的,翻译模型并不能够有效将反向全局上下文信息与前序词的局部上下文信息进行综合考虑,申请人发现翻译模型在目标端没有充分利用全局上下文信息进行预测,仍然存在局限性,从而无法有效提高翻译质量。

本申请实施例提供一种语料翻译方法、装置、电子设备和计算机可读存储介质,能够通过多任务学习进行联合训练,使两个神经网络模型的编码网络同时受到两个神经网络模型的解码网络的监督训练,因此经过训练得到的神经网络模型在预测时不仅能够利用对应前序词的局部上下文信息,还能够利用全局上下文信息进而获得更好的翻译质量,下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为服务器。下面,将说明电子设备实施为服务器时示例性应用。

参见图1,图1是本申请实施例提供的语料翻译系统的结构示意图,语料翻译系统可以用于社交场景,在语料翻译系统中,终端400通过网络300连接服务器200,网络可以是广域网或者局域网,又或者是二者的组合。

在一些实施例中,语料翻译系统的功能是基于服务器200中的各个模块实现的,在用户使用终端400的过程中,终端400收集语料样本对语料翻译模型(第一神经网络模型或者第二神经网络模型)进行基于多个任务的联合训练,将训练完成的第一神经网络模型或者第二神经网络模型集成在服务器200中,响应于终端400接收到针对社交客户端中的语料信号的翻译操作,终端400将语料信号发送至服务器200,服务器200通过语料翻译模型确定出语料信号的语料翻译结果,并发送至终端400,以使终端400直接呈现语料翻译结果。

在一些实施例中,当语料翻译系统应用于社交场景时,终端400接收到其他终端发送的语料信号,响应于终端400接收到针对语料信号的翻译操作,终端400将语料信号发送至服务器200,服务器200通过语料翻译模型确定出语料信号的语料翻译结果,并发送至终端400,以使终端400直接呈现语料翻译结果,例如,终端400接收到其他终端发送的语料信号“where are you”,终端400将语料信号发送至服务器200,服务器200通过语料翻译模型确定出语料信号的语料翻译结果“你在哪里”,并发送至终端400,以使终端400直接呈现语料翻译结果“你在哪里”。

在一些实施例中,当语料翻译系统应用于网页浏览场景时,终端400呈现英文网页,响应于终端400接收到针对英文网页中语料信号的翻译操作,终端400将语料信号发送至服务器200,服务器200通过语料翻译模型确定出语料信号的语料翻译结果,并发送至终端400,以使终端400直接呈现语料翻译结果。

在另一些实施例中,还可以由终端通过语料翻译模型确定出语料信号的语料翻译结果,并直接呈现语料翻译结果。

在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。

接下来,说明本申请实施例提供的用于实施语料翻译方法的电子设备的结构,如前,本申请实施例提供的电子设备可以是图1中的服务器200。参见图2,图2是本申请实施例提供的服务器200的结构示意图,图2所示的服务器200包括:至少一个处理器210、存储器250、至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。

处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。

存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。

在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerial Bus)等。

在一些实施例中,本申请实施例提供的语料翻译装置可以采用软件方式实现,图2示出了存储在存储器250中的语料翻译装置255,其可以是程序和插件等形式的软件,包括以下软件模块:第一任务模块2551、第二任务模块2552、更新模块2553以及应用模块2554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。

将结合本申请实施例提供的服务器200的示例性应用和实施,说明本申请实施例提供的语料翻译方法。

参见图4,图4是本申请实施例提供的语料翻译方法的联合训练模型的结构示意图,联合训练模型包括编码网络、前序解码网络以及上下文解码网络,编码网络用于进行编码处理,使得编码网络输出的源语句表示被前序解码网络与上下文解码网络共享,编码网络的输入是语料样本的原始词向量x,编码网络的输出是语料样本的源语句表示,再通过前序解码网络和上下文解码网络分别进行解码处理,分别得到第一概率和第二概率,除了源语句表示之外,前序解码网络的输入是前序词y<t,上下文解码网络的输入是上下文词yo,基于第一概率得到对应第一神经网络模型的第一损失Lnmt,λ是对应第一损失的聚合参数,基于第二概率得到对应第二神经网络模型的第二损失Lcmlm,1-λ是对应第二损失的聚合参数,其中,第一神经网络模型包括编码网络以及前序解码网络,第二神经网络模型包括编码网络以及上下文解码网络,前序解码网络和上下文解码网络可以具有部分相同的参数,且第一神经网络模型的编码网络的参数与第二神经网络模型的编码网络的参数相同。

参见图5,图5是本申请实施例提供的第一神经网络模型的结构示意图,第一神经网络模型包括编码网络以及前序解码网络,编码网络包括多个子编码网络(encoder),前序解码网络也包括相同数量(与编码器对应)的子前序解码网络(decoder),编码网络的输入是语料样本的原始词向量,编码网络输出语料样本的源语句表示,前序解码网络的输入是语料样本的源语句表示以及前序词,其中,每个子前序解码网络的输入均是语料样本的源语句表示以及前序词,前序解码网络的输出是语料样本的第一预标记目标词,例如,语料样本是“你在哪里”,第一预标记目标词是“where are you”。

参见图6,图6是本申请实施例提供的子编码网络的结构示意图,子编码网络包括自注意力处理层以及前馈处理层,其中,通过自注意力处理层对该层的输入(例如,x1、x2以及x3)进行自注意力处理,得到对应的自注意力处理结果(例如,z1、z2以及z3),通过前馈处理层对自注意力处理结果进行隐状态映射处理,得到对应的隐状态序列。

参见图7,图7是本申请实施例提供的子前序解码网络的结构示意图,子前序解码网络包括掩码自注意力处理层、交叉注意力处理层以及前馈处理层,通过掩码自注意力处理层对该层的输入进行掩码自注意力处理,得到对应的掩码自注意力处理结果,通过交叉注意力处理层对掩码自注意力处理结果进行交叉注意力处理,得到对应的交叉注意力处理结果,通过前馈处理层将交叉注意力处理结果进行隐状态映射处理,前序解码网络的输入是每个待预测位置的至少一个前序词,通过并行处理的方式同时输出不同待预测位置的第一预标记目标词。

参见图8,图8是本申请实施例提供的子上下文解码网络的结构示意图,子上下文解码网络包括上下文自注意力处理层、交叉注意力处理层以及前馈处理层,子上下文解码网络的数目与子前序网络的数目相同,图8所示的上下文解码网络的结构与前序解码网路的结构类似,区别在于子上下文解码网络包括的上下文自注意力处理层不同于图7中的掩码自注意力处理层,上下文解码网络的输入为随机的上下文词集合,同时输出待预测位置的第二预标记目标词。

参见图3A,图3A是本申请实施例提供的语料翻译方法的流程示意图,将结合图3A示出的步骤101-104进行说明。

在步骤101中,通过第一神经网络模型对语料样本进行第一语料翻译处理任务,得到基于语料样本的前序词生成的第一语料翻译结果。

作为示例,将语料样本在第一神经网络模型中进行正向传播时,需要先后经过编码网络以及前序解码网络的处理,其中,通过前序解码网络进行解码时,需要以并行的方式对各个待预测位置进行第一预标记目标词的概率预测。

参见图3B,图3B是本申请实施例提供的语料翻译方法的流程示意图,第一神经网络模型包括编码网络和前序解码网络,步骤101中通过第一神经网络模型对语料样本进行第一语料翻译处理任务,得到基于语料样本的前序词生成的第一语料翻译结果可以通过图3B示出的步骤1011-1013实现。

在步骤1011中,获取语料样本的每个原始词以及对应每个原始词的原始词向量,将对应每个原始词的原始词向量进行组合处理,得到语料样本的原始词向量序列。

作为示例,在自然语言处理任务中,需要考虑词如何在计算机中表示,通常有两种表示方式,例如独热编码和分布编码,通过独热编码和分布编码得到每个原始词的原始词向量,例如,针对源语句“你在哪里”,存在四个原始词“你”、“在”、“哪”以及“里”,以及四个原始词向量。

在步骤1012中,通过编码网络对语料样本的原始词向量序列进行语义编码处理,得到对应语料样本的源语句表示。

在一些实施例中,编码网络包括N个级联的子编码网络,N为大于或者等于2的整数;步骤1012中通过编码网络对语料样本的原始词向量序列进行语义编码处理,得到对应语料样本的源语句表示,可以通过以下技术方案实现:通过编码网络包括的N个级联的子编码网络,对语料样本的原始词向量序列进行以下方式的语义编码处理:对子编码网络的输入进行自注意力处理,得到对应子编码网络的自注意力处理结果,对自注意力处理结果进行隐状态映射处理,得到对应子编码网络的隐状态序列,将隐状态序列作为子编码网络的语义编码处理结果;其中,在N个级联的子编码网络中,首个子编码网络的输入包括语料样本的原始词向量序列,第N个子编码网络的语义编码处理结果包括对应语料样本的源语句表示。

作为示例,通过N个级联的子编码网络中的第n个子编码网络,对第n个子编码网络的输入进行语义编码处理,并将第n个子编码网络输出的第n语义编码处理结果传输到第n+1个子编码网络以继续进行语义编码处理,得到第n+1语义编码处理结果;其中,n为取值从1开始递增的整数变量,n的取值范围为1≤n<N,当n取值为1时,第n个子编码网络的输入为语料样本的原始词向量序列,当n取值为2≤n<N时,第n个子编码网络的输入为第n-1个子编码网络输出的第n-1语义编码处理结果,当n取值为N-1时,第n+1个子编码网络的输出为语料样本的源语句表示。

作为示例,每个所述子编码网络包括自注意力处理层以及前馈处理层;所述通过N个级联的子编码网络中的第n个子编码网络,对第n个子编码网络的输入进行语义编码处理,可以通过以下技术方案实现:通过N个级联的子编码网络中的第n个子编码网络的自注意力处理层,对所述第n个子编码网络的输入进行自注意力处理,得到对应所述第n个子编码网络的自注意力处理结果;将对应所述第n个子编码网络的自注意力处理结果传输到第n个子编码网络的前馈处理层以进行隐状态映射处理,得到对应所述第n个子编码网络的隐状态向量序列,作为所述第n个子编码网络输出的第n语义编码处理结果。参见图6,子编码网络包括自注意力处理层以及前馈处理层,其中,通过自注意力处理层对该层的输入(例如,x1、x2以及x3)进行自注意力处理,得到对应的自注意力处理结果(例如,z1、z2以及z3),通过前馈处理层对自注意力处理结果进行隐状态映射处理,得到对应的隐状态向量序列。

在一些实施例中,上述对子编码网络的输入进行自注意力处理,得到对应子编码网络的自注意力处理结果,可以通过以下技术方案实现:针对语料样本的每个原始词执行以下处理:对子编码网络的输入中与原始词对应的第一中间向量进行线性变换处理,得到对应原始词的查询向量、键向量以及值向量;将原始词的查询向量与每个原始词的键向量进行点乘处理,并对点乘处理结果进行基于最大似然函数的归一化处理,得到原始词的值向量的权重;基于原始词的值向量的权重对原始词的值向量进行加权处理,得到子编码网络对应每个原始词的自注意力处理结果。

作为示例,当子编码网络是多个子编码网络中的首个子编码网络时,第一中间向量是各个原始词向量,当子编码网络不是多个子编码网络中的首个子编码网络时,第一中间向量是上一个子编码网络输出的隐状态向量,第一中间向量与原始词一一对应,线性变换处理实际上是将第一中间向量分别与三个参数矩阵相乘,得到对应第一中间向量的查询向量Q、键向量K以及值向量V,这里将查询向量与每个原始词的键向量进行点乘处理,包括与自己的键向量进行点乘处理以及与其他原始词的键向量进行点乘处理,点乘处理结果用于表征相关度,从而所得到的相关度包括自相关度,还包括与其他原始词的相关度,对相关度进行基于最大似然函数的归一化处理之前还可以将其除以键向量长度的平方根,基于最大似然函数的归一化处理即是将相关度或者除以键向量长度的平方根后得到的结果代入Softmax函数,从而得到每个原始词对某一个原始词的贡献权重,通过得到的每个原始词对某一个原始词的贡献权重,对某一个原始词的值向量进行加权处理,从而得到某一个原始词对应的上下文关联性,有利于后续翻译模型的翻译准确度,上述三个参数矩阵均是需要通过训练得到的,自注意力处理可以是单头注意力处理或者是多头自注意力处理。

在步骤1013中,通过前序解码网络对源语句表示进行语料解码处理,得到基于语料样本的前序词生成的第一语料翻译结果。

作为示例,每个第一预标记目标词生成有对应的第一概率,第一概率是基于对应每个待预测位置的前序词生成的,且第一概率的生成过程是并行过程,以第5个待预测位置为例,基于开始符号B、第1个待预测位置-第4个待预测位置分别对应的第一预标记目标词,预测第5个待预测位置被翻译为对应的第一预标记目标词的第一概率,或者概率的分布的熵,例如,“你在哪里”应该被翻译为“where are you”,则存在三个待预测位置,对于第二个待预测位置而言,其应该被翻译为对应的第一预标记目标词“are”,那么基于前序词“B”以及“where”获取第2个待预测位置被预测为对应的第一预标记目标词“are”的第一概率,若是第一神经网络模型表现良好,则第一概率应该超过概率阈值,表征第一神经网络模型具有较大可能性翻译正确,第一概率以及对应的第一预标记目标词为第一语料翻译结果。

在一些实施例中,上述通过前序解码网络对源语句表示进行语料解码处理,得到基于语料样本的前序词生成的第一语料翻译结果,可以通过以下技术方案实现:针对前序解码网络输出的每个待预测位置执行以下处理:从语料样本集合中获取与语料样本对应的第一预标记目标词序列;从第一预标记目标词序列中提取位于待预测位置之前的第一预标记目标词,将提取的第一预标记目标词作为与待预测位置对应的前序词;通过前序解码网络对与待预测位置对应的前序词以及源语句表示进行语义解码处理,得到在待预测位置被解码为对应的第一预标记目标词的第一概率,并将第一预标记目标词的第一概率以及第一预标记目标词组合为第一语料翻译结果。

作为示例,作为示例,语料样本为“你在哪里”,获取对应的第一预标记目标词序列,第一预标记目标词序列“where are you”,针对任意一个待预测位置,从第一预标记目标词序列中提取位于待预测位置之前的第一预标记目标词,“你在哪里”应该被翻译为“Bwhere are you E”,其中,B为开始符号,E为结束符号,存在三个待预测位置,对于第2个待预测位置而言,位于第2个待预测位置之前的第一预标记目标词是“B”和“where”,将提取的第一预标记目标词作为与第2个待预测位置对应的前序词;以与第2个待预测位置对应的前序词、以及源语句表示为前序解码网络的输入进行语义解码处理,得到在第2个待预测位置被解码为对应的第一预标记目标词“are”的第一概率,第一概率以及对应的第一预标记目标词为第一语料翻译结果。

作为示例,通过N个级联的子编码网络中的第n个子编码网络的自注意力层,对第n个子编码网络的输入进行自注意力处理之前,当n取值为2≤n<N时,将第n-1语义编码处理结果的正则化处理结果与第n-1子编码网络的输入进行拼接处理;将拼接处理结果作为第n子编码网络的自注意力层的输入,以替代将第n-1语义编码处理结果作为第n子编码网络的输入。将对应第n个子编码网络的自注意力处理结果传输到第n个子编码网络的前馈处理层以进行隐状态映射处理之前,将对应第n个子编码网络的自注意力处理结果的正则化处理结果与第n个子编码网络的输入进行拼接处理;将拼接处理结果作为第n个子编码网络的前馈处理层的输入,以替代将对应第n个子编码网络的自注意力处理结果作为第n个子编码网络的输入。

在一些实施例中,前序解码网络包括M个级联的子前序解码网络,M为大于或者等于2的整数;上述通过前序解码网络对与待预测位置对应的前序词以及源语句表示进行语义解码处理,可以通过以下技术方案实现:通过前序解码网络包括的M个级联的子前序解码网络,对与待预测位置对应的前序词以及源语句表示进行以下方式的语义解码处理;其中,每个子前序解码网络包括掩码自注意力层、第一交叉注意力层以及第二前馈网络层,且每个子前序解码网络进行以下方式的语义解码处理:对子前序解码网络的输入进行掩码自注意力处理,得到对应子前序解码网络的掩码自注意力处理结果;对掩码自注意力处理结果进行交叉注意力处理,得到对应子前序解码网络的交叉注意力处理结果;对交叉注意力处理结果进行隐状态映射处理,掩码自注意力处理可以是单头注意力处理或者是多头自注意力处理。

作为示例,前序解码网络包括M个级联的子前序解码网络组成,M为大于或者等于2的整数;通过M个级联的子前序解码网络中的第M子前序解码网络,对第M子前序解码网络的输入进行语义解码处理,并将第M子前序解码网络输出的第M语义解码处理结果传输到第M+1子前序解码网络以继续进行语义解码处理,得到第M+1语义解码处理结果;其中,M为取值从1开始递增的整数变量,M的取值范围为1≤M<M,当M取值为1时,第M子前序解码网络的输入为编码网络的源语句表示以及前序词序列,当M取值为2≤M<M时,第M子前序解码网络的输入为第M-1子前序解码网络输出的第M-1语义解码处理结果,当M取值为M-1时,第M+1子前序解码网络的输出为第一概率。

作为示例,针对语料样本的每个原始词的第二中间向量执行以下处理,其中,当子前序解码网络是首个解码网络时,第二中间向量是每个作为前序词的第一预标记目标词的词向量,当子前序解码网络不是首个解码网络时,第二中间向量是上一个子前序解码网络的输出,第二中间向量与每个作为前序词的第一预标记目标词一一对应,对每个前序词的第二中间向量进行线性变换处理,得到每个原始词的键向量以及值向量;对前序词中排在最后的前序词的第二中间向量进行线性变换处理,得到最后的前序词的查询向量,将查询向量与每个前序词的键向量进行点乘处理,并对点乘处理结果进行基于最大似然函数的归一化处理,得到每个前序词的值向量的权重;基于每个前序词的值向量的权重对前序词的值向量进行加权处理,得到子前序解码网络对应最后的前序词的掩码注意力处理结果。

在一些实施例中,上述对掩码自注意力处理结果进行交叉注意力处理,得到对应子前序解码网络的交叉注意力处理结果,可以通过以下技术方案实现:对掩码自注意力处理结果进行线性变换处理,得到掩码自注意力处理结果的查询向量;针对每个原始词执行以下处理:对原始词的源语句表示进行线性变换处理,得到源语句表示的键向量以及值向量;将掩码自注意力处理结果的查询向量与源语句表示的键向量进行点乘处理,并对点乘处理结果进行基于最大似然函数的归一化处理,得到源语句表示的值向量的权重;基于源语句表示的值向量的权重对源语句表示的值向量进行加权处理,得到对应子前序解码网络的交叉注意力处理结果,交叉注意力处理可以是单头注意力处理或者是多头自注意力处理。

作为示例,掩码自注意力处理结果是针对最后一个前序词的向量,例如,在针对第2个待预测位置进行解码预测时,以“where”对应的掩码注意力处理结果为基础进行线性变换处理,得到掩码自注意力处理结果的查询向量;针对每个原始词执行以下处理,即将源语句表示输入至解码网络中,对原始词的源语句表示进行线性变换处理,得到源语句表示的键向量以及值向量,源语句表示是分别针对“你在哪里”中每个原始词的向量,将掩码自注意力处理结果的查询向量与源语句表示中对应每个原始词的键向量进行点乘处理,并对点乘处理结果进行基于最大似然函数的归一化处理,得到源语句表示中对应每个原始词的值向量的权重;基于源语句表示的值向量的权重对源语句表示的值向量进行加权处理,得到对应子前序解码网络的交叉注意力处理结果,再将交叉注意力处理结果进行前馈处理,将得到的隐状态向量继续与其他前序词进行上述自注意力处理,其他前序词是除了最后一个前序词之外的前序词,例如,开始符号“B”。

在步骤102中,通过第二神经网络模型对语料样本进行第二语料翻译处理任务,得到基于语料样本的上下文词集合生成的第二语料翻译结果。

作为示例,将语料样本以及上下文词在第二神经网络模型中进行正向传播时,需要先后经过编码网络以及前序解码网络的处理,其中,通过上下文解码网络进行解码时,同时对各个待预测位置进行第二预标记目标词的概率预测。

参见图3C,图3C是本申请实施例提供的语料翻译方法的流程示意图,第二神经网络模型包括编码网络和上下文解码网络,步骤102中通过第二神经网络模型对语料样本进行第二语料翻译处理任务,得到基于语料样本的上下文词集合生成的第二语料翻译结果可以通过图3C示出的步骤1021-1023实现。

在步骤1021中,获取语料样本的每个原始词以及对应每个原始词的原始词向量,将语料样本的每个原始词以及对应每个原始词的原始词向量进行组合处理,得到语料样本的原始词向量序列。

作为示例,在自然语言处理任务中,需要考虑词如何在计算机中表示,通常有两种表示方式,例如独热编码和分布编码,通过独热编码和分布编码得到每个原始词的原始词向量,例如,针对源语句“你在哪里”,存在四个原始词“你”、“在”、“哪”以及“里”,以及四个原始词向量。

在步骤1022中,通过编码网络对语料样本的原始词向量序列进行语义编码处理,得到对应语料样本的源语句表示。

作为示例,步骤1022中的编码过程可以参考步骤1012中的具体实施方式。

在步骤1023中,通过上下文解码网络对原始词向量序列的源语句表示进行语料解码处理,得到基于语料样本的上下文词集合生成的第二语料翻译结果。

作为示例,每个第二预标记目标词生成有对应的第二概率,第二概率是基于与多个待预测位置均对应的上下文词生成的,在生成每个待预测位置对应的第二预标记目标词的第二概率时,均是基于相同的上下文词生成的,即均是通过基于第一神经网络模型得到的上下文词生成的。

在一些实施例中,步骤1023中通过上下文解码网络对原始词向量序列的源语句表示进行语料解码处理,得到基于语料样本的上下文词集合生成的第二语料翻译结果,可以通过以下技术方案实现:从语料样本集合中获取与语料样本对应的第二预标记目标词序列;从第二预标记目标词序列中随机提取至少一个第二预标记目标词,将提取的至少一个第二预标记目标词作为上下文词,并将上下文词组合为与多个待预测位置均对应的上下文词集合;针对上下文解码网络输出的每个待预测位置执行以下处理:通过上下文解码网络对上下文词集合、以及源语句表示进行语义解码处理,得到在待预测位置被解码为对应的第二预标记目标词的第二概率,并将第二预标记目标词的第二概率以及第二预标记目标词组合为第二语料翻译结果。

在一些实施例中,上下文解码网络包括P个级联的子上下文解码网络,P为大于或者等于2的整数;上述通过上下文解码网络对上下文词集合、以及源语句表示进行语义解码处理,可以通过以下技术方案实现:通过P个级联的子上下文解码网络,对与待预测位置对应的上下文词集合以及源语句表示进行以下方式的语义解码处理:对子上下文解码网络的输入进行上下文自注意力处理,得到对应子上下文解码网络的上下文自注意力处理结果;对上下文自注意力处理结果进行交叉注意力处理,得到对应子上下文解码网络的交叉注意力处理结果;将交叉注意力处理结果进行隐状态映射处理;其中,在P个级联的子上下文解码网络中,首个子上下文解码网络的输入包括:与待预测位置对应的上下文词集合以及源语句表示:第P个子上下文解码网络的隐状态映射处理结果包括:在待预测位置被解码为对应的第二预标记目标词的第二概率,上下文自注意力处理可以是单头注意力处理或者是多头自注意力处理。

作为示例,作为示例,通过P个级联的子上下文解码网络中的第p子上下文解码网络,对第p子上下文解码网络的输入进行语义解码处理,并将第p子上下文解码网络输出的第p语义解码处理结果传输到第p+1子上下文解码网络以继续进行语义解码处理,得到第p+1语义解码处理结果;其中,p为取值从1开始递增的整数变量,p的取值范围为1≤p<P,当p取值为1时,第p子上下文解码网络的输入为第二编码网络的第二源语句表示以及上下文词,当p取值为2≤p<P时,第p子上下文解码网络的输入为第p-1子上下文解码网络输出的第p-1语义解码处理结果,当p取值为P-1时,第p+1子上下文解码网络的输出为第二概率。

作为示例,通过P个级联的子上下文解码网络中的第p子上下文解码网络,对第p子上下文解码网络的输入进行语义解码处理时,通过P个级联的子上下文解码网络中的第p子上下文解码网络的上下文自注意力层,对第p子上下文解码网络的输入进行上下文自注意力处理,得到对应第p子上下文解码网络的上下文自注意力处理结果;将对应第p子上下文解码网络的上下文自注意力处理结果传输到第p子上下文解码网络的交叉注意力层以进行交叉注意力处理,得到对应第p子上下文解码网络的交叉注意力处理结果;将对应第p子上下文解码网络的交叉注意力处理结果传输到第p子上下文解码网络的前馈处理层以进行隐状态映射处理,得到对应第p子上下文解码网络的隐状态序列,作为第p子上下文解码网络输出的第p语义解码处理结果。

作为示例,针对每个上下文词执行以下处理,当子前序解码网络是首个解码网络时,第三中间向量是每个作为前序词的第二预标记目标词的词向量,当子上下文解码网络不是首个解码网络时,第三中间向量是上一个子上下文解码网络的输出,第三中间向量与每个作为上下文词的第二预标记目标词一一对应,对每个上下文词对应的第三中间向量进行线性变换处理,得到上下文词的键向量以及值向量,对待预测位置的符号(由于是未知的,因此用特殊符号标记)的第三中间向量进行线性变换处理,得到符号的查询向量,将查询向量与每个上下文词的键向量进行点乘处理,并对点乘处理结果进行基于最大似然函数的归一化处理,得到每个上下文词的值向量的权重;基于每个上下文词的值向量的权重对上下文词的值向量进行加权处理,得到子上下文解码网络对应最后的上下文词的上下文自注意力处理结果。

作为示例,对上下文自注意力处理结果进行交叉注意力处理,得到对应子上下文解码网络的交叉注意力处理结果的过程与前序解码网络中的处理方式类似,交叉注意力处理可以是单头注意力处理或者是多头自注意力处理。

在步骤103中,基于第一语料翻译结果以及第二语料翻译结果,更新第一神经网络模型和第二神经网络模型包括的相同的编码网络、以及第一神经网络模型和第二神经网络模型包括的不同的解码网络。

参见图3D,图3D是本申请实施例提供的语料翻译方法的流程示意图,第一神经网络模型包括编码网络以及前序解码网络,第二神经网络模型包括编码网络以及上下文解码网络,步骤103中基于第一语料翻译结果以及第二语料翻译结果,更新第一神经网络模型和第二神经网络模型包括的相同的编码网络、以及第一神经网络模型和第二神经网络模型包括的不同的解码网络可以通过图3D示出的步骤1031-1034实现。

在步骤1031中,基于第一语料翻译结果,代入第一损失函数,以获取对应第一神经网络模型的第一损失。

在一些实施例中,第一语料翻译结果包括与多个待预测位置一一对应的多个第一预标记目标词、以及多个第一预标记目标词分别对应的第一概率,第一概率是基于与待预测位置对应的至少一个前序词确定的;步骤1031中基于第一语料翻译结果,确定对应第一神经网络模型的第一损失,可以通过以下技术方案实现:针对每个待预测位置执行以下处理:从第一语料翻译结果中,获取在待预测位置将语料样本翻译为与待预测位置对应的第一预标记目标词的第一概率;将针对每个待预测位置获取的第一概率进行融合处理,得到对应第一神经网络模型的第一损失。

在步骤1032中,基于第二语料翻译结果,代入第二损失函数,以获取对应第二神经网络模型的第二损失。

在一些实施例中,第二语料翻译结果包括与多个待预测位置一一对应的多个第二预标记目标词、以及多个第二预标记目标词分别对应的第二概率,第二概率是基于上下文词集合确定的;步骤1032中基于第二语料翻译结果,确定对应第二神经网络模型的第二损失,可以通过以下技术方案实现:针对每个待预测位置执行以下处理:从第二语料翻译结果中,获取在待预测位置将语料样本翻译为与待预测位置对应的第二预标记目标词的第二概率;将针对每个待预测位置获取的第二概率进行融合处理,得到对应第二神经网络模型的第二损失。

在步骤1033中,对第一损失以及第二损失进行聚合处理,得到联合损失。

作为示例,在一些实施例中,本申请中的第一神经网络模型和第二神经网络模型具有相同的编码网络的参数并有各自独立的解码网络,模型以两个任务各自的训练目标以多任务学习的方式进行优化,整体的训练目标可以描述为公式(1):

L1endcd)=λLnmtend)+(1-λ)Lcmlmecd) (1);

其中,L1endcd)是联合损失,Lnmtend)是对应第一神经网络模型的第一损失,Lcmlmecd)是对应第二神经网络模型的第二损失,λ和1-λ是聚合参数。

在一些实施例中,由于第一神经网络模型和第二神经网络模型共享编码网络的参数,并且第一神经网络模型额外受到了来自于第二神经网络模型的上下文解码网络的监督信号的影响,第二神经网络模型的上下文解码网络具有目标端双向全局上下文信息,因此经过联合训练的第一神经网络模型具备了捕捉双向全局上下文信息的能力,第一神经网络模型的损失函数参见公式(2):

其中,x为源语言句,yt为目标端的对应第t时刻(第t待预测位置)的第一预标记目标词,P(yt|x,y<t)是yt在词表上的概率分布(第一概率),第一神经网络模型采用标准的老师指导方式进行训练。

在一些实施例中,针对第二神经网络模型,首先从1到|y|之间随机产生一个整数v,然后再从y个第二预标记目标词中随机选择v个词,这些词被替换为一个特殊字符,这样就将第二预标记目标词序列切分为了可观察的上下文解码网络的输入序列yo(由可见的第二预标记目标词组成)和被掩码的序列ym(由不可见的第二预标记目标词组成),第二神经网络模型的训练目标可表示为以下公式(3):

其中,x为源语言句,yt为目标端的对应第t时刻(第t待预测位置)的第二预标记目标词,P(yt|x,yo)是yt在词表上的概率分布(第二概率)。

在步骤1034中,根据联合损失在编码网络、前序解码网络以及上下文解码网络中进行反向传播,以更新编码网络、前序解码网络以及上下文解码网络的参数。

作为示例,根据联合损失更新两个模型的参数,可以采用梯度下降算法进行更新。

在步骤104中,通过更新后的第一神经网络模型或更新后的第二神经网络模型对语料信号进行语料翻译处理,得到语料信号的语料翻译结果。

在一些实施例中,响应于针对目标语料的翻译请求,调用第一神经网络模型或者第二神经网络模型对目标语料进行翻译处理,得到针对目标语料的翻译结果;其中,第一神经网络和第二神经网络是本申请实施例提供的翻译模型训练方法进行训练得到的。

作为示例,第一神经网络模型在应用阶段与训练阶段存在区别,在第一神经网络模型进行应用时,通过第一神经网络模型的编码网络对语料样本进行编码处理,得到第一源语句表示,接着通过一步一步的方式顺序对每个待预测位置进行解码处理,通过前序解码网络对开始符号“B”以及第一源语句表示进行解码处理,得到词表中概率最高的词“where”作为首个待预测位置的翻译结果,接着通过前序解码网络对开始符号“B”、“where”以及第一源语句表示进行解码处理,得到词表中概率最高的词作为第二个待预测位置的翻译结果,以此类推直到输出终止符号“E”为止。第二神经网络模型的应用阶段与训练阶段相同,即相当于进行一次正向传播即可,第二神经网络模型的应用场景更加特殊,例如,可以应用于填空式翻译。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

在一些实施例中,在社交客户端中可以提供语言翻译功能,例如,运行在终端A上的社交客户端接收到终端B经由服务器发送的文本信息,文本信息是英文,响应于终端A接收的针对文本信息的语言翻译操作,终端A调用本申请实施例提供的第一神经网络模型以对属于第一语种的文本信息进行翻译处理,得到对应第二语种的文本信息,其中,第一神经网络模型是借助第二神经网络模型的辅助训练得到的。

在一些实施例中,本申请实施例提供了一种神经机器翻译模型(第一神经网络模型)与条件掩码语言模型(第二神经网络模型)的联合训练框架,两个模型均采用编码-解码结构,在训练过程中共享编码网络的参数,解码网络的参数各自独立,或者部分独立。

在一些实施例中,神经机器翻译模型与条件掩码语言模型有相同的编码网络,编码网络的作用是将输入的源语句(相当于语料样本)编码为源语义表示,编码网络可以由Le个相同的子编码网络构成,Le为大于或者等于1的整数,每层包括有两个子层:(1)自注意力处理层,(2)前馈处理层。在子编码网络中,自注意力处理层将上一层输出的隐状态序列作为输入,进行多头自注意力操作,自注意力处理层可以被形式化为以下公式(4):

c(l)=LN(SelfAtt(h(l-1),h(l-1),h(l-1)))+h(l-1) (4);

其中,c(l)是经过自注意力子层计算得到的中间向量,LN(·)表示层正则化操作,SelfAtt(·)表示多头自注意力操作,h(l)表示编码网络的第l个层输出的隐状态序列,h(l-1)表示编码网络的第l-1个层输出的隐状态序列,c(l)经过前馈网络子层被映射为编码网络的第l个层输出的隐状态序列h(l),参见公式(5):

h(l)=LN(FFN(h(l-1)))+h(l-1) (5);

其中,h(l)表示编码网络的第l个层输出的隐状态序列,LN(·)表示层正则化操作,FFN(·)表示前馈网络子层的映射操作,h(l-1)表示编码网络的第l-1个层输出的隐状态序列。

在一些实施例中,编码网络的h(0)即为输入的源语句对应的词嵌入向量序列,即为编码网络最终输出的源语句表示。

在一些实施例中,前序解码网络可以由Ld个相同的子前序解码网络构成,每个子前序解码网络有三个层:(1)掩码自注意力处理层(MaskedSelfAtt),(2)交叉注意力处理层(CrossAtt),(3)前馈处理层(FFN),为了保证第一神经网络模型的自回归属性,MaskedSelfAtt层利用注意力掩模遮挡住每个待预测位置的目标词的所有后序词,使第一神经网络模型在目标端仅依赖前序词进行预测,MaskedSelfAtt层可以被形式化为公式(6):

a(l)=LN(MaskedSelfAtt(s(l-1),s(l-1),s(l-1)))+s(l-1) (6);

其中,s(l-1)表示第l-1个子前序解码网络的隐状态序列,a(l)为经过MaskedSelfAtt层映射后的中间表示(掩码注意力处理结果),LN(·)表示层正则化操作,FFN(·)表示前馈网络子层的映射操作。

在一些实施例中,CrossAtt层对a(l)和编码网络输出的源语句表示采用交叉注意力机制进行建模,计算过程为抽象为公式(7):

其中,z(l)是经过了CrossAtt层映射后的中间表示(交叉注意力处理结果),LN(·)表示层正则化操作,a(l)为经过MaskedSelfAtt层映射后的中间表示(掩码注意力处理结果),h(Le)是编码网络输出的源语句表示,CrossAtt(·)为交叉注意力处理。

在一些实施例中,z(l)经过FFN层被映射为子前序解码网络输出的隐状态向量s(l),映射过程抽象为公式(8):

s(l)=LN(FFN(z(l)))+z(l) (8);

其中,s(l)表示第l个子前序解码网络的隐状态序列,LN(·)表示层正则化操作,FNN(·)为前馈处理,z(l)是经过了CrossAtt层映射后的中间表示(交叉注意力处理结果)。

在一些实施例中,在给定源语句x,目标端第t时刻对应的前序词序列y<t以及解码网络最高层输出的隐状态向量s的情况下,第一神经网络模型以如下公式(9)的形式预测yt在词表上的概率分布:

p(yt|y<t,x)=softmax(Wst) (9);

其中,时刻可以理解为不同的待预测位置,每个待预测位置对应不同的时间步,W代表可学习的线性变换矩阵,st是第一神经网络模型的解码网络的第t时刻对应的隐状态向量。例如,针对在第5个待预测位置上的第一预标记目标词y5,是基于给定源语句x(例如,“你在哪里”)、给定的前序词y1至y4、以及解码网络输出的第t时刻对应的隐状态向量,预测在第5个待预测位置上被翻译为第一预标记目标词y5的概率p(y5|y<5,x),其中,解码网络输出的第t时刻对应的隐状态向量也是基于给定的前序词y1至y4得到的。

在一些实施例中,第二神经网络模型的上下文解码网络的解码方式与第一神经网络模型的前序解码网络的解码方式不同,在第二神经网络模型中,在目标端给定一部分可见的输入词序列yo,预测目标端被遮挡住的目标词集合ym,第二神经网络模型的解码网络由Ld个相同的子上下文解码网络构成,每个子上下文解码网络包括三个层:(1)自注意力处理层(SelfAtt);(2)交叉注意力处理层(CrossAtt);(3)前馈处理层(FFN),第二神经网络模型的子上下文解码网络的SelfAtt层在执行自注意力机制时不具有遮挡每个位置对应后序词的掩模,而是可以关注到目标端输入序列(可见的输入词序列)的所有未遮挡的位置,经过与前序解码网络相同的计算过程,在给定源语句x,目标端部分可见序列yo以及上下文解码网络最高层输出的隐状态向量s′的情况下,第二神经网络模型通过以下公式(10)预测yt在词表上的概率分布:

p(yt|yo,x)=softmax(W′s′t) (10);

其中,W′是一个可学习的线性变换矩阵,s′t是上下文解码网络第t时刻对应的隐状态向量,例如,针对在第5个待预测位置上的第一预标记目标词y5以及在第3个待预测位置上的第一预标记目标词y3,是基于给定源语句x(例如,“你喜欢这朵花吗”)、给定的可见词y1、y2以及y4、以及解码网络输出的第t时刻对应的隐状态向量,预测在第5个待预测位置上被翻译为第一预标记目标词y5的概率p(y5|y1,2,4,x)以及在第3个待预测位置上的第一预标记目标词p(y3|y1,2,4,x),其中,解码网络输出的第t时刻对应的隐状态向量也是基于给定的可见词y1、y2以及y4得到的,可见词组成了上下文词集合,从而形成了全局上下文信息。

在一些实施例中,本申请中的第一神经网络模型和第二神经网络模型具有相同的编码网络的参数并有各自独立的解码网络,模型以两个任务各自的训练目标以多任务学习的方式进行优化,整体的训练目标可以描述为公式(11):

L1endcd)=λLnmtend)+(1-λ)Lcmlmecd) (11);

其中,L1endcd)是联合损失,Lnmtend)是对应第一神经网络模型的第一损失,Lcmlmecd)是对应第二神经网络模型的第二损失,λ和1-λ是聚合参数。

在一些实施例中,由于第一神经网络模型和第二神经网络模型共享编码网络的参数,并且第一神经网络模型额外受到了来自于第二神经网络模型的上下文解码网络的监督信号的影响,第二神经网络模型的上下文解码网络具有目标端双向全局上下文信息,因此经过联合训练的第一神经网络模型具备了捕捉双向全局上下文信息的能力,第一神经网络模型的损失函数参见公式(12):

其中,x为源语言句,yt为目标端的对应第t时刻(第t待预测位置)的第一预标记目标词,P(yt|x,y<t)是yt在词表上的概率分布(第一概率),第一神经网络模型采用标准的老师指导方式进行训练。

在一些实施例中,针对第二神经网络模型,首先从1到|y|之间随机产生一个整数v,然后再从y个第二预标记目标词中随机选择v个词,这些词被替换为一个特殊字符,这样就将第二预标记目标词序列切分为了可观察的上下文解码网络的输入序列yo(由可见的第二预标记目标词组成)和被掩码的序列ym(由不可见的第二预标记目标词组成),第二神经网络模型的训练目标可表示为以下公式(13):

其中,x为源语言句,yt为目标端的对应第t时刻(第t待预测位置)的第二预标记目标词,P(yt|x,yo)是yt在词表上的概率分布(第二概率)。

本申请实施例提供了一种联合训练框架,旨在为翻译模型引入目标端双向全局上下文信息,多任务学习通过共享不同任务模型之间的部分参数,利用辅助任务来提高模型的泛化性和在目标任务上的性能,条件掩码语言模型因其任务本身的特点,具有目标端双向全局上下文信息,所以本申请实施例共享神经机器翻译模型与条件掩码语言模型的编码网络参数,并保持分别适应于自身任务解码特点的解码网络,以多任务学习的方式进行联合训练,从而为神经机器翻译模型引入目标端双向全局上下文信息。

在一些实施例中,通过多任务学习的方式将第一神经网络模型与第二神经网络模型进行联合训练,使第一神经网络模型的编码网络同时受到分别来自第一神经网络模型的前序解码网络和第二神经网络模型的上下文解码网络的信号的监督,由于第二神经网络模型的上下文解码网络在其训练过程中在目标端具有捕捉双向全局上下文信息的能力,因此第一神经网络模型的前序解码网络也在联合训练过程中获得了捕捉目标端的双向全局上下文信息的能力,从而能够在预测时不仅仅利用每个待预测位置对应前序词的局部上下文信息,进而得到更好的翻译质量。

下面继续说明本申请实施例提供的语料翻译装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的语料翻译装置255中的软件模块可以包括:第一任务模块2551,用于通过第一神经网络模型对语料样本进行第一语料翻译处理任务,得到基于语料样本的前序词生成的第一语料翻译结果;第二任务模块2552,用于通过第二神经网络模型对语料样本进行第二语料翻译处理任务,得到基于语料样本的上下文词集合生成的第二语料翻译结果;更新模块2553,用于基于第一语料翻译结果以及第二语料翻译结果,更新第一神经网络模型和第二神经网络模型包括的相同的编码网络、以及第一神经网络模型和第二神经网络模型包括的不同的解码网络;应用模块2554,用于通过更新后的第一神经网络模型或更新后的第二神经网络模型对语料信号进行语料翻译处理,得到语料信号的语料翻译结果。

在一些实施例中,第一神经网络模型包括编码网络以及前序解码网络;第二神经网络模型包括编码网络以及上下文解码网络;更新模块2553,还用于:基于第一语料翻译结果,确定对应第一神经网络模型的第一损失;基于第二语料翻译结果,确定对应第二神经网络模型的第二损失;对第一损失以及第二损失进行聚合处理,得到联合损失;根据联合损失更新编码网络、前序解码网络以及上下文解码网络的参数。

在一些实施例中,第一语料翻译结果包括与多个待预测位置一一对应的多个第一预标记目标词、以及多个第一预标记目标词分别对应的第一概率,第一概率是基于与待预测位置对应的至少一个前序词确定的;更新模块2553,还用于:针对每个待预测位置执行以下处理:从第一语料翻译结果中,获取在待预测位置将语料样本翻译为与待预测位置对应的第一预标记目标词的第一概率;将针对每个待预测位置获取的第一概率进行融合处理,得到对应第一神经网络模型的第一损失。

在一些实施例中,第二语料翻译结果包括与多个待预测位置一一对应的多个第二预标记目标词、以及多个第二预标记目标词分别对应的第二概率,第二概率是基于上下文词集合确定的;更新模块2553,还用于:针对每个待预测位置执行以下处理:从第二语料翻译结果中,获取在待预测位置将语料样本翻译为与待预测位置对应的第二预标记目标词的第二概率;将针对每个待预测位置获取的第二概率进行融合处理,得到对应第二神经网络模型的第二损失。

在一些实施例中,第一神经网络模型包括编码网络和前序解码网络;第一任务模块2551,还用于:获取语料样本的每个原始词以及对应每个原始词的原始词向量,将对应每个原始词的原始词向量进行组合处理,得到语料样本的原始词向量序列;通过编码网络对语料样本的原始词向量序列进行语义编码处理,得到对应语料样本的源语句表示;通过前序解码网络对源语句表示进行语料解码处理,得到基于语料样本的前序词生成的第一语料翻译结果。

在一些实施例中,编码网络包括N个级联的子编码网络,N为大于或者等于2的整数;第一任务模块2551,还用于:通过编码网络包括的N个级联的子编码网络,对语料样本的原始词向量序列进行以下方式的语义编码处理:对子编码网络的输入进行自注意力处理,得到对应子编码网络的自注意力处理结果,对自注意力处理结果进行隐状态映射处理,得到对应子编码网络的隐状态序列,将隐状态序列作为子编码网络的语义编码处理结果;其中,在N个级联的子编码网络中,首个所述子编码网络的输入包括所述语料样本的原始词向量序列,第N个所述子编码网络的语义编码处理结果包括对应所述语料样本的源语句表示。

在一些实施例中,第一任务模块2551,还用于:针对语料样本的每个原始词执行以下处理:对所述子编码网络的输入中与原始词对应的第一中间向量进行线性变换处理,得到对应原始词的查询向量、键向量以及值向量;将原始词的查询向量与每个原始词的键向量进行点乘处理,并对点乘处理结果进行基于最大似然函数的归一化处理,得到原始词的值向量的权重;基于原始词的值向量的权重对原始词的值向量进行加权处理,得到子编码网络对应每个原始词的自注意力处理结果。

在一些实施例中,第一任务模块2551,还用于:针对前序解码网络输出的每个待预测位置执行以下处理:从语料样本集合中获取与语料样本对应的第一预标记目标词序列;从第一预标记目标词序列中提取位于待预测位置之前的第一预标记目标词,将提取的第一预标记目标词作为与待预测位置对应的前序词;通过前序解码网络对与待预测位置对应的前序词以及源语句表示进行语义解码处理,得到在待预测位置被解码为对应的第一预标记目标词的第一概率,并将第一预标记目标词的第一概率以及第一预标记目标词组合为第一语料翻译结果。

在一些实施例中,前序解码网络包括M个级联的子前序解码网络,M为大于或者等于2的整数;第一任务模块2551,还用于:通过每个所述子前序解码网络进行以下方式的语义解码处理:对所述子前序解码网络的输入进行掩码自注意力处理,得到对应所述子前序解码网络的掩码自注意力处理结果,对所述掩码自注意力处理结果进行交叉注意力处理,得到对应所述子前序解码网络的交叉注意力处理结果,对所述交叉注意力处理结果进行隐状态映射处理;其中,在M个级联的子前序解码网络中,首个所述子前序解码网络的输入包括:与所述待预测位置对应的前序词以及所述源语句表示;第M个所述子前序解码网络的隐状态映射处理结果包括:在所述待预测位置被解码为对应的第一预标记目标词的第一概率。

在一些实施例中,第一任务模块2551,还用于:对掩码自注意力处理结果进行线性变换处理,得到掩码自注意力处理结果的查询向量;针对每个原始词执行以下处理:对原始词的源语句表示进行线性变换处理,得到源语句表示的键向量以及值向量;将掩码自注意力处理结果的查询向量与源语句表示的键向量进行点乘处理,并对点乘处理结果进行基于最大似然函数的归一化处理,得到源语句表示的值向量的权重;基于源语句表示的值向量的权重对源语句表示的值向量进行加权处理,得到对应子前序解码网络的交叉注意力处理结果。

在一些实施例中,第二神经网络模型包括编码网络和上下文解码网络;第二任务模块2552,还用于:获取语料样本的每个原始词以及对应每个原始词的原始词向量,将语料样本的每个原始词以及对应每个原始词的原始词向量进行组合处理,得到语料样本的原始词向量序列;通过编码网络对语料样本的原始词向量序列进行语义编码处理,得到对应语料样本的源语句表示;通过上下文解码网络对原始词向量序列的源语句表示进行语料解码处理,得到基于语料样本的上下文词集合生成的第二语料翻译结果。

在一些实施例中,第二任务模块2552,还用于:从语料样本集合中获取与语料样本对应的第二预标记目标词序列;从第二预标记目标词序列中随机提取至少一个第二预标记目标词,将提取的至少一个第二预标记目标词作为上下文词,并将上下文词组合为与多个待预测位置均对应的上下文词集合;针对上下文解码网络输出的每个待预测位置执行以下处理:通过上下文解码网络对上下文词集合、以及源语句表示进行语义解码处理,得到在待预测位置被解码为对应的第二预标记目标词的第二概率,并将第二预标记目标词的第二概率以及第二预标记目标词组合为第二语料翻译结果。

在一些实施例中,上下文解码网络包括P个级联的子上下文解码网络,P为大于或者等于2的整数;第二任务模块2552,还用于:通过P个级联的子上下文解码网络,对与待预测位置对应的上下文词集合以及源语句表示进行以下方式的语义解码处理:对子上下文解码网络的输入进行上下文自注意力处理,得到对应子上下文解码网络的上下文自注意力处理结果;对上下文自注意力处理结果进行交叉注意力处理,得到对应子上下文解码网络的交叉注意力处理结果;将交叉注意力处理结果进行隐状态映射处理;其中,在P个级联的子上下文解码网络中,首个所述子上下文解码网络的输入包括:与所述待预测位置对应的上下文词集合以及所述源语句表示:第P个所述子上下文解码网络的隐状态映射处理结果包括:在所述待预测位置被解码为对应的第二预标记目标词的第二概率。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的语料翻译方法。

本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的语料翻译方法,例如,如图3A-3D示出的语料翻译方法。

在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(H TML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

综上所述,通过本申请实施例对第一神经网络模型或第二神经网络模型进行训练时采取了多个任务的联合训练,利用任意一个神经网络模型的翻译任务的特性,来辅助训练另一个神经网络模型,例如,由于第二神经网络模型利用上下文词集合进行翻译,因此通过辅助训练的方式增强了编码网络的特征学习的共享性能,并通过上下文词集合有效引入双向全局上下文信息,从而能够使经过联合训练的第一神经网络模型在翻译时不仅利用每个待预测位置对应前序词的局部上下文信息,还能够利用全局上下文信息,进而有效提高通过第一神经网络模型进行翻译的准确度。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

31页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:翻译模型的训练方法及其翻译方法、装置和电子设备

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!