同步交互式翻译方法及装置、存储介质、计算机设备与流程

文档序号:24875237发布日期:2021-04-30 12:49阅读:86来源:国知局
同步交互式翻译方法及装置、存储介质、计算机设备与流程

本申请涉及计算机技术领域,尤其是涉及到一种同步交互式翻译方法及装置、存储介质、计算机设备。



背景技术:

现有技术中,在对源语言文本进行翻译时,一般是一对一的翻译,即将文本从一种源语言翻译为另一种目标语言,并且翻译过程一般是依据源语言文本词的顺序依次逐词的进行翻译,即对于一句话来说从第一个词逐个翻译到最后一个词,从而得到目标语言翻译文本。但是在多语言翻译中,这种翻译方式无法在解码过程中充分利用语种内和语种间的各类信息,如何提高翻译质量,是多语言翻译领域中的一个重要问题。



技术实现要素:

有鉴于此,本申请提供了一种同步交互式翻译方法及装置、存储介质、计算机设备。

根据本申请的一个方面,提供了一种同步交互式翻译方法,所述方法包括:

获取待翻译的源语言目标文本以及与所述源语言目标文本对应的至少一种目标语言,其中,所述源语言目标文本包括至少两个目标词;

对所述源语言目标文本进行编码处理,生成与所述源语言目标文本对应的源语言文本序列;

对所述源语言文本序列向各目标语言进行正向翻译,确定所述源语言文本序列中正向第一个目标词对应的至少一个第一翻译假设,同时,同步地对所述源语言文本序列向各目标语言进行反向翻译,确定所述源语言文本序列中反向第一个目标词对应的至少一个第二翻译假设;

依据所述源语言文本序列以及所述各目标语言的第一翻译假设以及所述各目标语言的第二翻译假设,对所述源语言文本序列向所述目标语言同时进行正向翻译和反向翻译,更新所述第一翻译假设以及所述第二翻译假设,直至将所述源语言文本序列翻译结束,确定对所述源语言文本序列正向翻译结束后得到的至少一个第三翻译假设以及对所述源语言文本序列反向翻译结束后得到的至少一个第四翻译假设;

基于所述第三翻译假设以及所述第四翻译假设,确定所述源语言目标文本对应的各目标语言翻译文本。

可选地,所述对所述源语言文本序列向各目标语言进行正向翻译,确定所述源语言文本序列中正向第一个目标词对应的至少一个第一翻译假设,同时,同步地对所述源语言文本序列向各目标语言进行反向翻译,确定所述源语言文本序列中反向第一个目标词对应的至少一个第二翻译假设,具体包括:

根据预设翻译假设数量以及所述目标语言的数量,设置柱搜索算法中的柱大小;

利用柱搜索算法,对所述源语言文本序列向各目标语言进行正向翻译,获取扩展概率较高的所述预设翻译假设数量的第一翻译假设,同时,同步地对所述源语言文本序列向各目标语言进行反向翻译,获取扩展概率较高的所述预设翻译假设数量的第二翻译假设。

可选地,所述依据所述源语言文本序列以及所述各目标语言的第一翻译假设以及所述各目标语言的第二翻译假设,对所述源语言文本序列向所述目标语言同时进行正向翻译和反向翻译,更新所述第一翻译假设以及所述第二翻译假设,直至将所述源语言文本序列翻译结束,确定对所述源语言文本序列正向翻译结束后得到的至少一个第三翻译假设以及对所述源语言文本序列反向翻译结束后得到的至少一个第四翻译假设,具体包括:

根据所述源语言文本序列以及第一预设权重矩阵,确定第一查询矩阵、第一键矩阵以及第一值矩阵,执行注意力计算确定第一注意力矩阵,其中,所述第一预设权重矩阵包括第一查询权重矩阵、第一键权重矩阵以及第一值权重矩阵;

根据各目标语言对应的第一翻译假设、第二翻译假设以及第二预设权重矩阵,确定各目标语言对应的第二查询矩阵、第二键矩阵以及第二值矩阵,执行注意力计算确定每个翻译假设对应的第二注意力矩阵,并对所述第二注意力矩阵进行融合,确定每种所述目标语言的第一翻译假设融合注意力隐状态矩阵以及第二翻译假设融合注意力隐状态矩阵;

依据所述第一注意力矩阵以及第三预设权重矩阵,确定第三键矩阵以及第三值矩阵,依据所述第一翻译假设融合注意力隐状态矩阵以及所述第三预设权重矩阵,确定第三查询矩阵,并基于所述第三查询矩阵、所述第三键矩阵以及所述第三值矩阵执行注意力计算确定第三注意力矩阵;以及依据所述第二翻译假设融合注意力隐状态矩阵以及所述第三预设权重矩阵,确定第四查询矩阵,并基于所述第四查询矩阵、所述第三键矩阵以及第三值矩阵执行注意力计算确定第四注意力矩阵;

在翻译过程中利用柱搜索算法,依据所述第三注意力矩阵逐词对所述源语言文本序列向所述目标语言进行正向翻译迭代更新所述第一翻译假设,依据所述第四注意力矩阵逐词对所述源语言文本序列向所述目标语言进行反向翻译迭代更新所述第二翻译假设,并利用更新后的第一翻译假设和第二翻译假设迭代更新所述第三注意力矩阵以及所述第四注意力矩阵,直至所述源语言文本序列正向翻译结束得到所述源语言文本序列中全部内容对应的所述预设翻译假设数量的第三翻译假设,以及所述源语言文本序列翻译结束得到所述源语言文本序列中全部内容对应的所述预设翻译假设数量的第四翻译假设。

可选地,当所述第三翻译假设包含句子结束符或者所述第三翻译假设的长度超过预设第一阈值时,所述源语言文本序列正向翻译结束,当所述第四翻译假设包含句子结束符或者所述第四翻译假设的长度超过预设第二阈值时,所述源语言文本序列反向翻译结束。

可选地,所述基于所述第三翻译假设以及所述第四翻译假设,确定所述源语言目标文本对应的目标语言翻译文本,具体包括:

获取所述第三翻译假设以及所述第四翻译假设中得分最高的目标翻译假设,其中,所述第三翻译假设以及所述第四翻译假设的得分基于对应的扩展概率确定;

若所述目标翻译假设属于第三翻译假设,则按照所述目标翻译假设的序列顺序确定所述目标语言翻译文本;

若所述目标翻译假设属于第四翻译假设,则按照所述目标翻译假设的逆向序列顺序确定所述目标语言翻译文本。

可选地,所述获取待翻译的源语言目标文本以及与所述源语言目标文本对应的至少一种目标语言,具体包括:

接收第一终端发送的源语言目标文本,并确定所述第一终端对应的至少一个第二终端,其中,所述第一终端为消息发送方终端,所述第二终端为消息接收方终端;

获取所述第二终端对应的预设语言,并将所述预设语言作为所述源语言目标文本对应的各目标语言。

可选地,所述确定所述源语言目标文本对应的目标语言翻译文本之后,所述方法还包括:

将所述目标语言翻译文本发送至与对应的所述目标语言匹配的所述第二终端中,以使所述第二终端输出与对应的预设语言匹配的各目标语言翻译文本。

根据本申请的另一方面,提供了一种同步交互式翻译装置,所述装置包括:

源语言文本获取模块,用于获取待翻译的源语言目标文本以及与所述源语言目标文本对应的至少一种目标语言,其中,所述源语言目标文本包括至少两个目标词;

编码模块,用于对所述源语言目标文本进行编码处理,生成与所述源语言目标文本对应的源语言文本序列;

第一翻译模块,用于对所述源语言文本序列向所述目标语言进行正向翻译,确定所述源语言文本序列中正向第一个目标词对应的至少一个第一翻译假设,同时,同步地对所述源语言文本序列向所述目标语言进行反向翻译,确定所述源语言文本序列中反向第一个目标词对应的至少一个第二翻译假设;

第二翻译模块,用于依据所述第一翻译假设以及所述第二翻译假设,对所述源语言文本序列向所述目标语言同时进行正向翻译和反向翻译,更新所述第一翻译假设以及所述第二翻译假设,直至将所述源语言文本序列翻译结束,确定对所述源语言文本序列正向翻译结束后得到的至少一个第三翻译假设以及对所述源语言文本序列反向翻译结束后得到的至少一个第四翻译假设;

文本确定模块,用于基于所述第三翻译假设以及所述第四翻译假设,确定所述源语言目标文本对应的目标语言翻译文本。

可选地,所述第一翻译模块,具体包括:

设置单元,用于根据预设翻译假设数量以及所述目标语言的数量,设置柱搜索算法中的柱大小;

第一翻译单元,用于利用柱搜索算法,对所述源语言文本序列向各目标语言进行正向翻译,获取扩展概率较高的所述预设翻译假设数量的第一翻译假设,同时,同步地对所述源语言文本序列向各目标语言进行反向翻译,获取扩展概率较高的所述预设翻译假设数量的第二翻译假设。

可选地,所述第二翻译模块,具体包括:

第一注意力计算单元,用于根据所述源语言文本序列以及第一预设权重矩阵,确定第一查询矩阵、第一键矩阵以及第一值矩阵,执行注意力计算确定第一注意力矩阵,其中,所述第一预设权重矩阵包括第一查询权重矩阵、第一键权重矩阵以及第一值权重矩阵;

第二注意力计算单元,用于根据各目标语言对应的第一翻译假设、第二翻译假设以及第二预设权重矩阵,确定各目标语言对应的第二查询矩阵、第二键矩阵以及第二值矩阵,执行注意力计算确定每个翻译假设对应的第二注意力矩阵,并对所述第二注意力矩阵进行融合,确定每种所述目标语言的第一翻译假设融合注意力隐状态矩阵以及第二翻译假设融合注意力隐状态矩阵;

第三注意力计算单元,用于依据所述第一注意力矩阵以及第三预设权重矩阵,确定第三键矩阵以及第三值矩阵第三查询矩阵,依据所述第一翻译假设融合注意力隐状态矩阵以及所述第三预设权重矩阵,确定第三键矩阵以及第三值矩阵第三查询矩阵,并基于所述第三查询矩阵、所述第三键矩阵以及所述第三值矩阵执行注意力计算确定第三注意力矩阵;以及依据所述第二翻译假设融合注意力隐状态矩阵以及所述第三预设权重矩阵,确定第四键矩阵以及第四值矩阵第四查询矩阵,并基于所述第三第四查询矩阵、所述第三键矩阵以及第三值矩阵第四键矩阵以及所述第四值矩阵执行注意力计算确定第四注意力矩阵;

第二翻译单元,用于在翻译过程中利用柱搜索算法,依据所述第三注意力矩阵逐词对所述源语言文本序列向所述目标语言进行正向翻译迭代更新所述第一翻译假设,依据所述第四注意力矩阵逐词对所述源语言文本序列向所述目标语言进行反向翻译迭代更新所述第二翻译假设,并利用更新后的第一翻译假设和第二翻译假设迭代更新所述第三注意力矩阵以及所述第四注意力矩阵,直至所述源语言文本序列正向翻译结束得到所述源语言文本序列中全部内容对应的所述预设翻译假设数量的第三翻译假设,以及所述源语言文本序列翻译结束得到所述源语言文本序列中全部内容对应的所述预设翻译假设数量的第四翻译假设。

可选地,当所述第三翻译假设包含句子结束符或者所述第三翻译假设的长度超过预设第一阈值时,所述源语言文本序列正向翻译结束,当所述第四翻译假设包含句子结束符或者所述第四翻译假设的长度超过预设第二阈值时,所述源语言文本序列反向翻译结束。

可选地,所述文本确定模块,具体用于:

获取所述第三翻译假设以及所述第四翻译假设中得分最高的目标翻译假设,其中,所述第三翻译假设以及所述第四翻译假设的得分基于对应的扩展概率确定;

若所述目标翻译假设基于正向翻译得到,则按照所述目标翻译假设的序列顺序确定所述目标语言翻译文本;

若所述目标翻译假设基于反向翻译得到,则按照所述目标翻译假设的逆向序列顺序确定所述目标语言翻译文本。

可选地,所述源语言文本获取模块,具体包括:

源语言文本接收单元,用于接收第一终端发送的源语言目标文本,并确定所述第一终端对应的至少一个第二终端,其中,所述第一终端为消息发送方终端,所述第二终端为消息接收方终端;

语言确定单元,用于获取所述第二终端对应的预设语言,并将所述预设语言作为所述源语言目标文本对应的各目标语言。

可选地,所述装置还包括:

文本发送模块,用于所述确定所述源语言目标文本对应的各目标语言翻译文本之后,将所述目标语言翻译文本发送至与对应的所述目标语言匹配的所述第二终端中,以使所述第二终端输出与对应的预设语言匹配的各目标语言翻译文本。

依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述同步交互式翻译方法。

依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述同步交互式翻译方法。

借由上述技术方案,本申请提供的一种同步交互式翻译方法及装置、存储介质、计算机设备,可以同时将源语言翻译为多种目标语言,提高了翻译效率,并且在进行多目标语言翻译时可以充分利用语种内、语种间的历史和未来信息,增强了翻译性能,提高了翻译质量。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1示出了本申请实施例提供的一种同步交互式翻译方法的流程示意图;

图2示出了本申请实施例提供的一种柱大小为8的同步交互式多语言柱搜索流程示意图;

图3示出了本申请实施例提供的一种同步交互多语言融合注意力框架示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

在本实施例中提供了一种同步交互式翻译方法,如图1所示,该方法包括:

步骤101,获取待翻译的源语言目标文本以及与所述源语言目标文本对应的至少一种目标语言,其中,所述源语言目标文本包括至少两个目标词;

本申请实施例应用于文本翻译场景中,实现将源语言目标文本翻译为一种目标语言的目标语言翻译文本,或者将源语言目标文本同步地翻译为多种目标语言的目标语言翻译文本,例如具体可以应用于多语言群聊服务器中,服务器获取某用户发送的源语言目标文本后,对源语言目标文本进行翻译并发送给群组内的其他用户,以使其他用户可以接收到适应于其自身语言习惯的目标语言翻译文本。本申请实施例以目标语言为两种为例进行解释说明(将英文的源语言目标文本翻译为中文、日文的目标语言翻译文本),本领域技术人员应知晓的是,目标语言为一种或多种也属于本申请的保护范围。

在本申请实施例中,源语言目标文本中至少包括两个目标词,其中,“词”是广义的概念,可以是没有语言学意义上的符号、标记、标点、词或亚词等。步骤101具体可以包括:步骤101-1,接收第一终端发送的源语言目标文本,并确定所述第一终端对应的至少一个第二终端,其中,所述第一终端为消息发送方终端,所述第二终端为消息接收方终端;步骤101-2,获取所述第二终端对应的预设语言,并将所述预设语言作为所述源语言目标文本对应的各目标语言。

在上述实施例中,第一终端为消息发送方终端,例如用户甲为使用英文的用户,用户甲通过第一终端输入英文的源语言目标文本并发送至服务器中,第二终端为消息接收方终端,例如用户乙为使用中文的用户,用户丙为使用日文的用户,三人在一个聊天群组中,服务器接收到用户甲发送的源语言目标文本后,查询群组内其他用户即用户乙和丙的使用语言(即预设语言),并将该预设语言确定为源语言目标文本对应的目标语言,即应将源语言目标文本从英文翻译为中文和日文。当然,本申请实施例还可以应用于其他的应用场景中,只要涉及到将文本从一种语言翻译为其他语言的任何应用场景都属于本申请的保护范围内,在此不做限定。

步骤102,对所述源语言目标文本进行编码处理,生成与所述源语言目标文本对应的源语言文本序列,其中,所述源语言文本序列为所述源语言目标文本的向量(或矩阵)表示;

在本申请实施例中,可以利用预先训练好的同步交互式多语言神经机器翻译模型来实现对源语言目标文本的翻译,即步骤102至步骤105具体可以基于该模型来实现,通过该模型执行交互式多语言翻译柱搜索算法,通过该模型实现对所有目标语言的同步交互式解码。例如将源语言目标文本以及目标语言输入至模型中,利用模型输出目标语言翻译文本,或者将源语言目标文本输入至模型中,在模型输出的所有目标语言翻译文本中挑选出与目标语言匹配的目标语言翻译文本。本申请实施例通过步骤102至步骤105详细说明模型的内部工作流程的主要思想,在本申请实施例中,模型包括编码器和解码器,编码器采用与标准transformer编码器类似的结构,将源语言目标文本输入至模型中由编码器对源语言目标文本进行编码,生成源语言文本序列,并通过编码器生成源语言文本序列的编码器隐状态向量(或矩阵)。

步骤103,对所述源语言文本序列向所述目标语言进行正向翻译,确定所述源语言文本序列中正向第一个目标词对应的至少一个第一翻译假设,同时,同步地对所述源语言文本序列向所述目标语言进行反向翻译,确定所述源语言文本序列中反向第一个目标词对应的至少一个第二翻译假设;

在本申请实施例中,该模型的解码器可以将一种源语言(即源语言目标文本对应的语言)同步地翻译成不同的目标语言,其中每个目标输出(即目标语言翻译文本)的生成不仅取决于其对应的目标语言(例如中文)的历史信息(即第一翻译假设)和未来信息(即第二翻译假设),而且还取决于其他目标语言(例如日文)的历史信息(即第一翻译假设)和未来信息(即第二翻译假设),即每种翻译假设的生成取决于语种内的历史和未来信息,以及语种间的历史和未来信息。在上述实施例中,对源语言目标文本进行翻译时,模型生成中文正向的翻译假设、中文反向的翻译假设、日文正向的翻译假设、日文反向的翻译假设,具体的,先分别对源语言文本序列中正向第一个目标词、反向第一个目标词进行翻译确定中文的第一翻译假设和第二翻译假设、日文的第一翻译假设和第二翻译假设,其中,每种目标语言的正向翻译对应的第一翻译假设以及每种目标语言的反向翻译对应的第二翻译假设,都可以包含多个,以便翻译解码可以在有限的计算资源中选出最佳结果确定目标语言翻译文本。

其中,可选地,步骤103具体可以包括:步骤103-1,根据预设翻译假设数量以及所述目标语言的数量,设置柱搜索算法中的柱大小;步骤103-2,利用柱搜索算法,对所述源语言文本序列向各目标语言进行正向翻译,获取扩展概率较高的所述预设翻译假设数量的第一翻译假设,同时,同步地对所述源语言文本序列向各目标语言进行反向翻译,获取扩展概率较高的所述预设翻译假设数量的第二翻译假设。

在上述实施例中,采用柱搜索算法实现对源语言目标文本的翻译,如图2所示,预设翻译假设数量为2,目标语言的数量为2,即中文(语种1)正向翻译假设(即中文的第一翻译假设)数量为2、中文反向翻译假设(即中文的第二翻译假设)数量为2、日文(语种2)正向翻译假设(即日文的第一翻译假设)数量为2、日文反向翻译假设(即日文的第二翻译假设)数量为2。按上述预设翻译假设数量、目标语言的数量,可以将柱搜索算法对应的柱大小设置为8,即在翻译时按照上述各目标语言对应的正反向翻译假设数量生成翻译假设。另外,对源语言文本序列中正向第一个目标词、反向第一个目标词进行翻译时没有可以参考的历史或未来信息,在翻译第一个目标词之后的目标词时可以参考已经生成的翻译假设。在该实施例中,采用柱搜索算法,通过公式为输入x(即源语言目标文本对应的源语言文本序列)选择相应数量的第一翻译假设、第二翻译假设,第一个目标词的翻译即柱搜索的第一轮(其中图2中t代表时间步,t=1表示柱搜索第一轮即进行第一个目标词的翻译,t=2表示柱搜索第二轮即进行第二个目标词的翻译),扩展得分最高的前2个翻译假设,2为预设翻译假设数量,得到第一轮柱搜索的第一翻译假设、第二翻译假设。

步骤104,依据所述第一翻译假设以及所述第二翻译假设,对所述源语言文本序列向所述目标语言同时进行正向翻译和反向翻译,更新所述第一翻译假设以及所述第二翻译假设,直至将所述源语言文本序列翻译结束,确定对所述源语言文本序列正向翻译结束后得到的至少一个第三翻译假设以及对所述源语言文本序列反向翻译结束后得到的至少一个第四翻译假设;

在本申请实施例中,如图2所示,t=2时即柱搜索第二轮时,需要参考第一轮的翻译假设即各目标语言对应的第一翻译假设、第二翻译假设,也即在进行翻译时需要参考语种内的历史、未来信息,以及语种间的历史、未来信息,实现不同类型信息的交互。以此类推,在t=3时,需要参考第二轮生成的翻译假设,直至第一翻译假设、第二翻译假设翻译结束。

另外,在本申请实施例中,可选地,当所述第三翻译假设包含句子结束符或者所述第三翻译假设的长度超过预设第一阈值时,所述源语言文本序列正向翻译结束,当所述第四翻译假设包含句子结束符或者所述第四翻译假设的长度超过预设第二阈值时,所述源语言文本序列反向翻译结束。

在本申请实施例中,可选地,步骤104具体可以包括:

步骤104-1,根据所述源语言文本序列以及第一预设权重矩阵,确定第一查询矩阵、第一键矩阵以及第一值矩阵,执行注意力计算确定第一注意力矩阵,其中,所述第一预设权重矩阵包括第一查询权重矩阵、第一键权重矩阵以及第一值权重矩阵;

步骤104-2,根据各目标语言对应的第一翻译假设、第二翻译假设以及第二预设权重矩阵,确定各目标语言对应的第二查询矩阵、第二键矩阵以及第二值矩阵,执行注意力计算确定每个翻译假设对应的第二注意力矩阵,并对所述第二注意力矩阵进行融合,确定每种所述目标语言的第一翻译假设融合注意力隐状态矩阵以及第二翻译假设融合注意力隐状态矩阵;

步骤104-3,依据所述第一注意力矩阵以及第三预设权重矩阵,确定第三键矩阵以及第三值矩阵,依据所述第一翻译假设融合注意力隐状态矩阵以及所述第三预设权重矩阵,确定第三查询矩阵,并基于所述第三查询矩阵、所述第三键矩阵以及所述第三值矩阵执行注意力计算确定第三注意力矩阵;以及依据所述第二翻译假设融合注意力隐状态矩阵以及所述第三预设权重矩阵,确定第四查询矩阵,并基于所述第四查询矩阵、所述第三键矩阵以及第三值矩阵执行注意力计算确定第四注意力矩阵;

步骤104-4,在翻译过程中利用柱搜索算法,依据所述第三注意力矩阵逐词对所述源语言文本序列向所述目标语言进行正向翻译迭代更新所述第一翻译假设,依据所述第四注意力矩阵逐词对所述源语言文本序列向所述目标语言进行反向翻译迭代更新所述第二翻译假设,并利用更新后的第一翻译假设和第二翻译假设迭代更新所述第三注意力矩阵以及所述第四注意力矩阵,直至所述源语言文本序列正向翻译结束得到所述源语言文本序列中全部内容对应的所述预设翻译假设数量的第三翻译假设,以及所述源语言文本序列翻译结束得到所述源语言文本序列中全部内容对应的所述预设翻译假设数量的第四翻译假设。

在上述实施例中,对于每种目标语言(例如,语种1为中文、语种2为日文),同时维护正向和反向的翻译假设。在每一个解码的时间步(t)上,所有翻译假设之间进行融合,其相互之间进行语种内和语种间的注意力交互。具有花纹的块是仍然活动的(正在扩展)翻译假设,而没有花纹的块是已经产生eos符号(句子结束符)的翻译假设。图2表示2种目标语言的柱大小为8的同步交互式多语言柱搜索过程。对于每种目标语言,该同步交互式多语言柱搜索同时维护2类(正向和反向)翻译假设,以逐词方式进行预测和扩展。在预测下一个词时,所有翻译假设之间进行融合以获取4类信息:语种内的和历史和未来信息,以及语种间的历史和未来信息。对于2种目标语言且柱大小为8的情形,在每个时间步,每种目标语言会保留最多4个最佳翻译假设(只要该目标语言还存在至少一个活动的翻译假设)。具有花纹的块表示假设还在扩展,而没有花纹的块为已经生成eos符号的翻译假设。当所有翻译假设都已产生eos或者超过最大句长时,解码终止。

在该实施例中,先针对源语言文本序列部分进行编码器自注意力计算得到第一注意力矩阵,再针对通过翻译源语言文本序列得到的第一翻译假设、第二翻译假设部分进行解码器自注意力计算得到每个翻译假设各自对应的第二注意力矩阵,并对多个第二注意力矩阵进行融合确定第一翻译假设融合注意力隐状态矩阵和第二翻译假设融合注意力隐状态矩阵,然后根据第一注意力矩阵和第一翻译假设融合注意力隐状态矩阵,以及第一注意力矩阵和第二翻译假设融合注意力隐状态矩阵进行相互注意力计算,得出第一翻译假设对应的第三注意力矩阵和第二翻译假设对应的第四注意力矩阵,从而继续进行翻译。

如图3所示,柱搜索中每次预测下一个词时,解码器首先对不同目标语言的不同类型的翻译假设执行自注意力计算,然后通过融合算法来确定后续编码器相互注意力计算中的查询向量(或矩阵),其中,用q表示查询向量(或矩阵),用k表示键向量(或矩阵),用v表示值向量(或矩阵)。注意力可以由下面的基本公式(1)计算:

其中,dk是键的维度。本领域技术人员应知晓的是,该实施例给出了一种常见的注意力计算方法,但注意力计算有多种方式或变体,其他注意力计算方法也属于本申请的保护范围。

以目标语种1(即目标语言1)的正向翻译为例,其正向查询同时对4类“键值对”执行多头注意力计算,包括:语种1的正向(l1-f)键值对(即语种1对应的语种内历史信息),语种1的反向(l1-b)键值对(即语种1对应的语种内未来信息),语种2的正向(l2-f)键值对(即语种1对应的语种间历史信息),语种2的反向(l2-b)键值对(即语种1对应的语种间未来信息)。计算得到4个注意力隐状态:分别包含了语种内的历史和未来信息,以及语种间的历史和未来信息。对于来说,它试图尽可能有效地利用4类信息,以帮助预测语种1正向序列的当前词。语种1的正向(语种1-正向)翻译假设的隐状态可以由下式(2)计算:

对于如图3中的其他3个查询(分别对应l1-b,l2-f和l2-b),其中的每一个“查询”也分别和4种类型的“键-值”对进行注意力计算。然后,将会得到4类隐状态对4个隐状态进行融合得到总体隐状态hcross-interaction。融合函数fusion(·)用以融合这4种隐状态,可以有不同实现形式,包括但不限于线性插值、非线性激活函数或门控机制等方式。在翻译解码过程中,为节约计算时间,如图3所示,将不同类型的q,k,v以不同顺序进行拼接,一次计算完成4类注意力的计算。

本申请实施例所提出的具有同步交互式多语言翻译模型中,采用编码器和解码器架构,在编码器和解码器中分别堆叠至少一个编码器模块和至少一个编码器模块。编码器模块结构类似于标准transformer的编码器,本实施例中堆叠6层编码器模块,用于提取深层语义信息。解码器的输入是所有目标语言的第一翻译假设序列和第二翻译假设序列的拼接矩阵,这些信息流在模型内并行运行,并在同步交互式多语言注意力(simatt)子层中进行交互。

对于翻译解码,通过simatt子层,模型能够让所有目标语言的正向和反向信息流相互交互,参见公式(3),由于不同类型的序列有着相同的语义和不同的表示,模型通过这种交互可以获得更丰富的信息,从而相互增强不同目标语言译文的质量。对应于相同源语言句子的不同目标语言翻译。simatt子层在其周围使用残差连接,以缓解梯度消失问题,然后执行层归一化,使得数据分布更加一致,其输出隐状态由式(3)计算:

其中,n表示解码器模块堆叠深度,下标d表示解码器,解码器包括n层,本实施例中堆叠6层解码器模块以增强模型的学习和泛化能力。为simatt子层的输入隐状态,表示所有目标语言正向和反向隐状态拼接后的结果,能够在解码器中并行处理。在simatt模块后,堆叠了另外两个子层,让解码器能获取与翻译相关的源语言语义信息:

其中,mhatt表示多头注意力(本实施例中采用8个注意力头),下标e表示编码器,表示编码器中最后一个编码器模块的输出隐状态,ffn表示前馈神经网络。通过公式(4)对编码器的输出隐状态与simatt子层输出隐状态执行注意力计算后,使用残差连接并执行层归一化,得到包含源语言完整信息和目标语言翻译假设信息的隐状态然后,解码器再令该隐状态经过一个前馈神经网络,并使用残差连接并执行层归一化,得到隐状态hn(参见公式(5)),从而基于hn继续通过柱搜索进行翻译解码。具体可以采用线性变换和softmax激活函数来获得之后基于的4个词的概率,参见公式(6),通过已经生成的翻译假设预测下一个目标词,以更新各目标语言的第一翻译假设、第二翻译假设。

其中,θ为该同步交互式多语言翻译模型的共享权重,w是线性变换的权重矩阵。从而逐词的进行翻译解码,并不断重复执行上述步骤,直至源语言文本序列全部翻译结束为止,得到中文、日文的正向翻译假设(即第三翻译假设),以及中文、日文的反向翻译假设(即第四翻译假设)。

步骤105,基于所述第三翻译假设以及所述第四翻译假设,确定所述源语言目标文本对应的目标语言翻译文本。

可选地,步骤105具体可以包括:步骤105-1,获取所述第三翻译假设以及所述第四翻译假设中得分最高的目标翻译假设,其中,所述第三翻译假设以及所述第四翻译假设的得分基于对应的扩展概率确定;步骤105-2,若所述目标翻译假设基于正向翻译得到,则按照所述目标翻译假设的序列顺序确定所述目标语言翻译文本;步骤105-3,若所述目标翻译假设基于反向翻译得到,则按照所述目标翻译假设的逆向序列顺序确定所述目标语言翻译文本。

其中,基于每种目标语言对应的第三翻译假设对应的扩展概率、第四翻译假设对应的扩展概率,确定目标翻译假设,例如在2个中文正向翻译假设以及2个中文反向翻译假设中找出扩展概率最高的中文的目标翻译假设,如果目标翻译假设为正向的翻译假设,那么直接按对应的顺序输出,如果目标翻译假设为反向的翻译假设,在输出之前将该翻译假设的序列逆序,作为该目标语言的最终输出。

另外,确定目标语言翻译文本之后,与步骤101-1和步骤101-2相应地,还可以包括:步骤106,将所述目标语言翻译文本发送至与对应的所述目标语言匹配的所述第二终端中,以使所述第二终端输出与对应的预设语言匹配的各目标语言翻译文本。

在该实施例中,确定目标语言翻译文本之后,还可以将目标语言翻译文本发送至相应的第二终端中,例如发送至用户乙、丙持有的终端设备中,具体向第二终端发送的目标语言翻译文本对应的目标语言应与第二终端对应的预设语言匹配,例如用户乙为使用中文的用户,则向用户乙持有的第二终端发送中文目标语言翻译文本,对于应用于多语言群聊的场景,用户乙持有的第二终端中群聊内的用户甲发送的消息将直接展示为中文,或者展示英文的同时展示中文译文。

通过应用本实施例的技术方案,提出了一种同步交互式多语言神经机器翻译模型,该模型将一种源语言同时交互式地翻译成不同的目标语言。同步交叉交互式解码器可以充分利用语种内、语种间的历史和未来信息,并通过所提出的同步交互式多语言推理算法预测每种目标语言的目标语言翻译文本。相比于现有技术中一对一的翻译方式,可以同时将源语言翻译为多种目标语言,提高了翻译效率,并且在进行多目标语言翻译时可以充分利用语种内、语种间的历史和未来信息,增强了翻译性能,提高了翻译准确性。

进一步的,作为图1方法的具体实现,本申请实施例提供了一种同步交互式翻译装置,该装置包括:

源语言文本获取模块,用于获取待翻译的源语言目标文本以及与所述源语言目标文本对应的至少一种目标语言,其中,所述源语言目标文本包括至少两个目标词;

编码模块,用于对所述源语言目标文本进行编码处理,生成与所述源语言目标文本对应的源语言文本序列;

第一翻译模块,用于对所述源语言文本序列向所述目标语言进行正向翻译,确定所述源语言文本序列中正向第一个目标词对应的至少一个第一翻译假设,同时,同步地对所述源语言文本序列向所述目标语言进行反向翻译,确定所述源语言文本序列中反向第一个目标词对应的至少一个第二翻译假设;

第二翻译模块,用于依据所述第一翻译假设以及所述第二翻译假设,对所述源语言文本序列向所述目标语言同时进行正向翻译和反向翻译,更新所述第一翻译假设以及所述第二翻译假设,直至将所述源语言文本序列翻译结束,确定对所述源语言文本序列正向翻译结束后得到的至少一个第三翻译假设以及对所述源语言文本序列反向翻译结束后得到的至少一个第四翻译假设;

文本确定模块,用于基于所述第三翻译假设以及所述第四翻译假设,确定所述源语言目标文本对应的目标语言翻译文本。

可选地,所述第一翻译模块,具体包括:

设置单元,用于根据预设翻译假设数量以及所述目标语言的数量,设置柱搜索算法中的柱大小;

第一翻译单元,用于利用柱搜索算法,对所述源语言文本序列向各目标语言进行正向翻译,获取扩展概率较高的所述预设翻译假设数量的第一翻译假设,同时,同步地对所述源语言文本序列向各目标语言进行反向翻译,获取扩展概率较高的所述预设翻译假设数量的第二翻译假设。

可选地,所述第二翻译模块,具体包括:

第一注意力计算单元,用于根据所述源语言文本序列以及第一预设权重矩阵,确定第一查询矩阵、第一键矩阵以及第一值矩阵,执行注意力计算确定第一注意力矩阵,其中,所述第一预设权重矩阵包括第一查询权重矩阵、第一键权重矩阵以及第一值权重矩阵;

第二注意力计算单元,用于根据各目标语言对应的第一翻译假设、第二翻译假设以及第二预设权重矩阵,确定各目标语言对应的第二查询矩阵、第二键矩阵以及第二值矩阵,执行注意力计算确定每个翻译假设对应的第二注意力矩阵,并对所述第二注意力矩阵进行融合,确定每种所述目标语言的第一翻译假设融合注意力隐状态矩阵以及第二翻译假设融合注意力隐状态矩阵;

第三注意力计算单元,用于依据所述第一注意力矩阵以及第三预设权重矩阵,确定第三键矩阵以及第三值矩阵第三查询矩阵,依据所述第一翻译假设融合注意力隐状态矩阵以及所述第三预设权重矩阵,确定第三键矩阵以及第三值矩阵第三查询矩阵,并基于所述第三查询矩阵、所述第三键矩阵以及所述第三值矩阵执行注意力计算确定第三注意力矩阵;以及依据所述第二翻译假设融合注意力隐状态矩阵以及所述第三预设权重矩阵,确定第四键矩阵以及第四值矩阵第四查询矩阵,并基于所述第三第四查询矩阵、所述第三键矩阵以及第三值矩阵第四键矩阵以及所述第四值矩阵执行注意力计算确定第四注意力矩阵;

第二翻译单元,用于在翻译过程中利用柱搜索算法,依据所述第三注意力矩阵逐词对所述源语言文本序列向所述目标语言进行正向翻译迭代更新所述第一翻译假设,依据所述第四注意力矩阵逐词对所述源语言文本序列向所述目标语言进行反向翻译迭代更新所述第二翻译假设,并利用更新后的第一翻译假设和第二翻译假设迭代更新所述第三注意力矩阵以及所述第四注意力矩阵,直至所述源语言文本序列正向翻译结束得到所述源语言文本序列中全部内容对应的所述预设翻译假设数量的第三翻译假设,以及所述源语言文本序列翻译结束得到所述源语言文本序列中全部内容对应的所述预设翻译假设数量的第四翻译假设。

可选地,当所述第三翻译假设包含句子结束符或者所述第三翻译假设的长度超过预设第一阈值时,所述源语言文本序列正向翻译结束,当所述第四翻译假设包含句子结束符或者所述第四翻译假设的长度超过预设第二阈值时,所述源语言文本序列反向翻译结束。

可选地,所述文本确定模块,具体用于:

获取所述第三翻译假设以及所述第四翻译假设中得分最高的目标翻译假设,其中,所述第三翻译假设以及所述第四翻译假设的得分基于对应的扩展概率确定;

若所述目标翻译假设基于正向翻译得到,则按照所述目标翻译假设的序列顺序确定所述目标语言翻译文本;

若所述目标翻译假设基于反向翻译得到,则按照所述目标翻译假设的逆向序列顺序确定所述目标语言翻译文本。

可选地,所述源语言文本获取模块,具体包括:

源语言文本接收单元,用于接收第一终端发送的源语言目标文本,并确定所述第一终端对应的至少一个第二终端,其中,所述第一终端为消息发送方终端,所述第二终端为消息接收方终端;

语言确定单元,用于获取所述第二终端对应的预设语言,并将所述预设语言作为所述源语言目标文本对应的各目标语言。

可选地,所述装置还包括:

文本发送模块,用于所述确定所述源语言目标文本对应的各目标语言翻译文本之后,将所述目标语言翻译文本发送至与对应的所述目标语言匹配的所述第二终端中,以使所述第二终端输出与对应的预设语言匹配的各目标语言翻译文本。

需要说明的是,本申请实施例提供的一种同步交互式翻译装置所涉及各功能单元的其他相应描述,可以参考图1至图3方法中的对应描述,在此不再赘述。

基于上述如图1至图3所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图3所示的同步交互式翻译方法。

基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

基于上述如图1至图3所示的方法,以及虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图3所示的同步交互式翻译方法。

可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(radiofrequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、wi-fi接口)等。

本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储介质中还可以包括操作系统、网络通信模块。操作系统是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现获取待翻译的源语言目标文本以及与所述源语言目标文本对应的至少一种目标语言,其中,所述源语言目标文本包括至少两个目标词;对所述源语言目标文本进行编码处理,生成与所述源语言目标文本对应的源语言文本序列;对所述源语言文本序列向所述目标语言进行正向翻译,确定所述源语言文本序列中正向第一个目标词对应的至少一个第一翻译假设,同时,同步地对所述源语言文本序列向所述目标语言进行反向翻译,确定所述源语言文本序列中反向第一个目标词对应的至少一个第二翻译假设;依据所述第一翻译假设以及所述第二翻译假设,对所述源语言文本序列向所述目标语言同时进行正向翻译和反向翻译,更新所述第一翻译假设以及所述第二翻译假设,直至将所述源语言文本序列翻译结束,确定对所述源语言文本序列正向翻译结束后得到的至少一个第三翻译假设以及对所述源语言文本序列反向翻译结束后得到的至少一个第四翻译假设;基于所述第三翻译假设以及所述第四翻译假设,确定所述源语言目标文本对应的目标语言翻译文本。相比于现有技术中一对一的翻译方式,可以同时将源语言翻译为多种目标语言,提高了翻译效率,并且在进行多目标语言翻译时可以充分利用语种内、语种间的历史和未来信息,增强了翻译性能,提高了翻译准确性。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

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