公开/公告号CN112836526A
专利类型发明专利
公开/公告日2021-05-25
原文格式PDF
申请/专利权人 云知声智能科技股份有限公司;厦门云知芯智能科技有限公司;
申请/专利号CN202110132050.5
申请日2021-01-31
分类号G06F40/58(20200101);G06F40/284(20200101);G06F40/126(20200101);G06F40/44(20200101);
代理机构
代理人
地址 100096 北京市海淀区西三旗建材城内1幢一层101号
入库时间 2023-06-19 11:05:16
技术领域
本发明涉及翻译领域,具体涉及一种基于门控机制的多语言神经机器翻译方法及装置。
背景技术
多语言神经机器翻译是指使用一个神经网络模型将每种源语言都翻译成多种目标语言的方法。现有的多语言神经机器翻译方法主要采用谷歌公司于2017年提出的一种端到端的翻译方法,该方法由一套基于自注意力机制的编码器和解码器框架组成,其中编码器能够将不同源语言句子编码成融合多种语言信息的隐层向量,而解码器使用该向量可以同时生成多种目标语言。
现有的方法在解码过程中使用一个解码器生成多种不同的目标语言,然而不同语言通常语法结构和语义信息相差较大,使用一套解码器网络参数难以表征多种目标语言。因此,在当前多语言翻译任务中,通常会出现在一个翻译结果中出现不同语言词汇混合的现象,影响翻译的效果。
发明内容
本发明提供一种基于门控机制的多语言神经机器翻译方法及装置,能够解决一个翻译结果中出现不同语言词汇混合的现象的技术问题。
本发明解决上述技术问题的技术方案如下:
提供一种基于门控机制的多语言神经机器翻译方法,所述方法包括:获取所有语言对的双语平行数据,并进行预处理,所述双语平行数据包括源语言和目标语言;利用预处理后的所述源语言进行编码,得到编码数据;利用门控机制对所述目标语言和所述编码数据进行解码,得到目标语言解码数据;对所述目标语言解码数据进行函数计算,得到与源语言对应的目标语言翻译结果。
进一步地,所述获取所有语言对的双语平行数据,并进行预处理,包括:对所述双语平行数据中的训练语料进行亚词切分,生成亚词序列;在所述亚词序列末端添加翻译方向标签,得到亚词序列向量矩阵,所述亚词向量矩阵包括源语言亚词向量矩阵和目标语言亚词向量矩阵。
进一步地,所述利用预处理后的所述源语言进行编码,得到编码数据,包括:获取源语言的词序列矩阵;根据所述源语言的词序列矩阵和源语言亚词序列向量矩阵进行编码,得到编码数据。
进一步地,所述利用门控机制对所述目标语言和所述编码表示数据解码,得到目标语言解码数据,包括:获取目标语言的词序列矩阵;根据所述编码数据和目标语言亚词向量矩阵进行解码,得到解码器的隐状态数据;利用门控机制对待翻译信息和所述解码器的隐状态数据进行融合,得到目标语言解码数据。
进一步地,所述利用门控机制对待翻译信息和所述解码器的隐状态数据进行融合,目标语言解码数据,包括:获取融合因子系数和待翻译信息的词向量;根据所述融合因子系数、解码器的隐状态数据、待翻译信息的词向量,得到目标语言解码数据。
进一步地,对所述目标语言解码数据进行函数计算,得到与源语言对应的目标语言翻译结果,包括:对所述目标语言解码数据进行线性变换后,再进行softmax函数计算,得到目标语言词表中单词的概率分布;确定最大概率对应的单词组成目标语言翻译结果。
提供一种基于门控机制的多语言神经机器翻译装置,其特征在于,所述装置包括:预处理模块,用于获取所有语言对的双语平行数据,并进行预处理,所述双语平行数据包括源语言和目标语言;编码模块,用于利用预处理后的所述源语言进行编码,得到编码数据;解码模块,用于利用门控机制对所述目标语言和所述编码数据进行解码,得到目标语言解码数据;翻译模块,用于对所述目标语言解码数据进行函数计算,得到与源语言对应的目标语言翻译结果。
进一步地,所述解码模块还用于获取目标语言的词序列矩阵;根据所述编码数据和目标语言的词序列矩阵进行解码,得到解码器的隐状态数据;利用门控机制对待翻译信息和所述解码器的隐状态数据进行融合,得到目标语言解码数据。
提供一种电子设备,所述电子设备包括:至少一个处理器和至少一个存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行基于门控机制的多语言神经机器翻译方法。
提供一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被系统执行基于门控机制的多语言神经机器翻译方法。
本发明的有益效果是:通过在多语言神经机器翻译中引入一种门控机制,能够在解码端中区分不同的目标语言,该方法能够在解码器网络融合所有目标语言的通用信息和向量信息,从而实现使用一套解码器网络参数生成多种不同的目标语言,该方法可以有效地缓解当前多语言翻译方法中,翻译结果易于包含多种不同语言词汇的弊端,有效地提升了多语言翻译的质量。
附图说明
图1为本发明实施例提供的一种基于门控机制的多语言神经机器翻译方法的流程图;
图2为本发明实施例提供的一种基于门控机制的多语言神经机器翻译装置的结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明实施例提供的一种基于门控机制的多语言神经机器翻译方法,参考图1,该方法包括如下步骤:
步骤S1:获取所有语言对的双语平行数据,并进行预处理,双语平行数据包括源语言和目标语言;
本实施例中为了降低集外词对翻译性能的影响,首先使用BPE方法将所有训练语料中句子进行亚词切分,生成亚词序列,因此编码器和解码器网络的输入均为亚词序列,编码器的输入为源语言的亚词序列,解码器的输入为目标语言的亚词序列。具体地,首先获取所有语言对的双语平行数据,进行翻译时,在语言对的双语平行数据的亚词序列后添加一个表示翻译方向的标签t,得到亚词序列向量矩阵,该亚词向量矩阵包括源语言亚词向量矩阵和目标语言亚词向量矩阵。例如,当源语言为英语,目标语言为德语时,添加
其中,BPE(byte pair encoding)方法,是一种根据字节对进行编码的算法。主要目的是为了数据压缩,算法描述为字符串里频率最常见的一对字符被一个没有在这个字符中出现的字符代替的层层迭代过程。该资源会将训练语料以字符为单位进行拆分,按照字符对进行组合,并对所有组合的结果根据出现的频率进行排序,出现频次越高的排名越靠前,排在第一位的是出现频率最高的子词。
步骤S2:利用预处理后的源语言进行编码,得到编码数据;
本实施例中,获取源语言的词序列矩阵x=[x
其中
也就是说本实施例的编码数据为
步骤S3:利用门控机制对目标语言和编码数据进行解码,得到目标语言解码数据;
本实施例中,首先获取目标语言的词序列矩阵;再根据编码数据和目标语言亚词向量矩阵进行解码,得到解码器的隐状态数据;最后利用门控机制对待翻译信息和所述解码器的隐状态数据进行融合,得到目标语言解码数据。
具体地,解码器网络依赖步骤S2得到的h
进一步地,定义Self
其中,h
为了区分不同目标语言,本实施例采用门控机制,该门控机制能够将待翻译信息和所述解码器的隐状态数据进行融合,也就是将共享的解码器的隐层单元和一个目标语言的输入进行融合。获取融合因子系数和待翻译信息的词向量,根据融合因子系数、解码器的隐状态数据、待翻译信息的词向量,得到目标语言解码数据。
具体地,目标语言解码数据的表达式为:
其中,融合因子系数λ、解码器的隐状态数据
步骤S4:对目标语言解码数据进行函数计算,得到与源语言对应的目标语言翻译结果。
本实施例中,对目标语言解码数据进行线性变换后,再进行softmax函数计算,得到目标语言词表中单词的概率分布;确定最大概率对应的单词组成目标语言翻译结果。
例如,经解码器输出的最上层隐状态
其中,
将线性变换得到的
其中,W
最后,选择最大概率对应的单词作为时刻t的生成的结果:
根据上述步骤,依次解码生成该种语言的最终翻译结果Y=[y
本实施例通过在多语言神经机器翻译中引入一种门控机制,能够在解码端中区分不同的目标语言,该方法能够在解码器网络融合所有目标语言的通用信息和向量信息,从而实现使用一套解码器网络参数生成多种不同的目标语言,该方法可以有效地缓解当前多语言翻译方法中,翻译结果易于包含多种不同语言词汇的弊端,有效地提升了多语言翻译的质量。
本发明实施例还提供一种基于门控机制的多语言神经机器翻译装置,参考图2,所述装置包括:
预处理模块01,用于获取所有语言对的双语平行数据,并进行预处理,所述双语平行数据包括源语言和目标语言;该模块对应的功能在上述步骤S1中均有描述,为了避免重复,在此不再赘述。
编码模块02,用于利用预处理后的所述源语言进行编码,得到编码数据;该模块对应的功能在上述步骤S2中均有描述,为了避免重复,在此不再赘述。
解码模块03,用于利用门控机制对所述目标语言和所述编码数据进行解码,得到目标语言解码数据;解码模块还用于获取目标语言的词序列矩阵;根据所述编码数据和目标语言的词序列矩阵进行解码,得到解码器的隐状态数据;利用门控机制对待翻译信息和所述解码器的隐状态数据进行融合,得到目标语言解码数据。该模块对应的功能在上述步骤S3中均有描述,为了避免重复,在此不再赘述。
翻译模块04,用于对所述目标语言解码数据进行函数计算,得到与源语言对应的目标语言翻译结果。该模块对应的功能在上述步骤S4中均有描述,为了避免重复,在此不再赘述。
本实施例通过在多语言神经机器翻译中引入一种门控机制,能够在解码端中区分不同的目标语言,该方法能够在解码器网络融合所有目标语言的通用信息和向量信息,从而实现使用一套解码器网络参数生成多种不同的目标语言,该方法可以有效地缓解当前多语言翻译方法中,翻译结果易于包含多种不同语言词汇的弊端,有效地提升了多语言翻译的质量。
本实施例提供一种电子设备,该电子设备包括:至少一个处理器和至少一个存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行一种基于门控机制的多语言神经机器翻译方法。
本实施例提供一种计算机可读存储介质,计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被系统执行基于门控机制的多语言神经机器翻译方法。
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific工ntegrated Circuit,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。
易失性存储器可以是随机存取存储器(Random Access Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,简称DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,简称DRRAM)。
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
机译: 用于开发单语文档的基于计算机的系统和方法基于计算机的系统,用于翻译外语源中的文本输入,并且基于计算机的单,多语翻译方法涉及用于翻译语言源中的文本的计算机。一种基于计算机的语言开发方法用于文档开发单,多语言翻译和领域模型三方
机译: 基于移动机器人与门控制装置的相互作用,能够容易地打开/关闭门的移动机器人装置和门控制装置以及开/关门的方法
机译: 用于使用基于注意力的人工神经机翻译方法来签名语言翻译的语言方法和装置