首页 / 专利库 / 人工智能 / 源语言 / 非自回归神经机器翻译方法、装置、计算机设备和介质

非自回归神经机器翻译方法、装置、计算机设备和介质

阅读:928发布:2020-05-12

专利汇可以提供非自回归神经机器翻译方法、装置、计算机设备和介质专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种非自回归神经 机器翻译 方法、装置、计算机设备和介质;可以获取 源语言 的源句子、以及所述源句子中词对应的词向量;对所述词对应的词向量进行编码,得到关注上下文信息的编码向量;根据所述源句子确定待翻译句子,所述待翻译句子包括待翻译词;根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照 目标语言 的结构进行重排序,得到伪翻译句子;根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子;输出所述目标句子。该方案可以提升翻译 质量 。,下面是非自回归神经机器翻译方法、装置、计算机设备和介质专利的具体信息内容。

1.一种非自回归神经机器翻译方法,其特征在于,包括:
获取源语言的源句子、以及所述源句子中词对应的词向量;
对所述词对应的词向量进行编码,得到关注上下文信息的编码向量;
根据所述源句子确定待翻译句子,所述待翻译句子包括待翻译词;
根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;
根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子;
输出所述目标句子。
2.如权利要求1所述的非自回归神经机器翻译方法,其特征在于,根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子,包括:
根据所述待翻译词对应的词向量、以及所述编码向量,预测源句子中各个词在待生成伪翻译句子中词位置上的概率;
根据所述概率从所述源句子的词中,确定所述词位置上的伪翻译词,得到伪翻译句子。
3.如权利要求2所述的非自回归神经机器翻译方法,其特征在于,根据所述待翻译词对应的词向量、以及所述编码向量,预测源句子中各个词在待生成伪翻译句子中词位置上的概率,包括:
根据所述待翻译词对应的词向量、以及所述编码向量,计算所述待翻译词与所述源句子中词之间的相关性信息;
根据所述相关性信息对所述源句子中所有词对应的编码向量进行融合,得到第一融合后向量;
将所述第一融合后向量与所述待翻译词的词向量进行融合,得到所述待翻译词的特征向量
根据所述待翻译词的特征向量,预测源句子中各个词在待生成伪翻译句子中目标位置上的概率。
4.如权利要求2所述的非自回归神经机器翻译方法,其特征在于,根据所述待翻译词对应的词向量、以及所述编码向量,预测源句子中各个词在待生成伪翻译句子中词位置上的概率,包括:
确定待生成伪翻译句子中当前需要预测的当前词位置;
根据历史伪翻词对应的词向量以及所述编码向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率,其中,历史伪翻译词为历史时间预测的历史词位置上的伪翻译词。
5.如权利要求4所述的非自回归神经机器翻译方法,其特征在于,根据历史伪翻词对应的词向量以及所述编码向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率,包括:
根据所述历史伪翻词对应的词向量、以及所述编码向量,计算当前待翻译词与所述源句子中词之间的相关性信息;
根据所述相关性信息对所述源句子中所有词对应的编码向量进行融合,得到第二融合后向量;
将所述第二融合后向量与当待翻译词的词向量进行融合,得到当前待翻译词的特征向量;
根据所述当前待翻译词的特征向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率。
6.如权利要求2所述的非自回归神经机器翻译方法,其特征在于,根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子,包括:
基于伪翻译句子中待翻译词对应的词向量,构建所述待翻译词对应的目标词向量;
根据所述待翻译词对应的目标向量、以及编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子。
7.如权利要求6所述的非自回归神经机器翻译方法,其特征在于,基于伪翻译句子中待翻译词对应的词向量,构建所述待翻译词对应的目标词向量,包括:
根据所述伪翻译句子中待翻译词的概率分布,所述概率分布包括所述源句子中各个词在待生成伪翻译句子中词位置上的概率
根据所述概率分布对所述源句子中各个词的词向量进行融合,得到待翻译词的目标词向量。
8.如权利要求6所述的非自回归神经机器翻译方法,其特征在于,根据所述待翻译词对应的目标词向量、以及编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子,包括:
根据所述待翻译词对应的目标词向量、以及编码向量,计算目标语言词表中各个候选词作为待翻译词的目标词的概率;
根据所述各个候选词的概率确定所述待翻译词的目标词,得到所述目标语言的目标句子。
9.如权利要求8所述的非自回归神经机器翻译方法,其特征在于,根据所述待翻译词对应的目标词向量、以及编码向量,计算目标语言词表中各个候选词作为待翻译词的目标词的概率,包括:
根据所述待翻译词对应的目标词向量、以及所述编码向量,计算向量融合的权重;
根据所述权重对所述源句子中所有词对应的编码向量进行融合,得到第三融合后向量;
将所述第三融合后向量与所述目标词向量进行融合,得到待翻译词的特征向量;
根据所述待翻译词的特征向量计算目标语言词表中各个候选词作为待翻译词的目标词的概率。
10.如权利要求1所述的非自回归神经机器翻译方法,其特征在于,对所述词对应的词向量进行编码,得到关注上下文信息的编码向量,包括:
对所述词对应的词向量进行特征提取处理,得到所述词对应的处理后词向量;
根据所述词对应的处理后词向量获取词之间的相关性信息;
根据所述词之间的相关性信息,将所有词对应的处理后词向量进行融合,得到第四融合后向量;
将所述词的词量与第四融合后向量进行融合,得到关注上下文信息的编码向量。
11.如权利要求1所述的非自回归神经机器翻译方法,其特征在于,根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子,包括:
采用非自回归神经机器翻译模型,根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;
根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子,包括:
采用非自回归神经机器翻译模型,根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子。
12.如权利要求11所述的非自回归神经机器翻译方法,其特征在于,还包括:
获取训练样本,所述训练样本包括源语言的样本源句子、样本源句子对应的目标语言的样本目标句子;
根据所述样本源句子和所述样本目标句子生成样本伪翻译;
基于预设非自回归神经机器翻译模型,对所述样本源句子中词按照目标语言的结构重新排序,得到预测伪翻译;
基于所述预设非自回归神经机器翻译模型,将预测伪翻译翻译成目标语言的句子,得到预测目标句子;
根据所述预测伪翻译、样本伪翻译、样本目标句子和预测目标句子,对所述预设非自回归神经机器翻译模型进行训练,得到非自回归神经机器翻译模型。
13.一种非自回归神经机器翻译装置,其特征在于,包括:
获取单元,用于获取源语言的源句子、以及所述源句子中词对应的词向量;
编码单元,用于对所述词对应的词向量进行编码,得到关注上下文信息的编码向量;
确定单元,用于根据所述源句子确定待翻译句子,所述待翻译句子包括待翻译词;
排序单元,用于根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;
翻译单元,用于根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子;
输出单元,用于输出所述目标句子。
14.一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-12任一项所述方法的步骤。
15.一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1-12任一项所述方法的步骤。

说明书全文

非自回归神经机器翻译方法、装置、计算机设备和介质

技术领域

[0001] 本申请涉及人工智能技术领域,具体涉及一种非自回归神经机器翻译方法、装置、计算机设备和介质。

背景技术

[0002] 人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0003] 目前常用的翻译方案都是基于人工智能中的非自回归神经机器翻译(NAT,Non-autoregressive neural machine translation);比如,将待翻译句子输入值NAT模型,通过待翻译句子中拷贝至NAT模型的解码器输入处,通过解码器预测待翻译句子中所有词的译文,得到最终翻译结果。
[0004] 然而,目前基于NAT技术翻译的翻译质量对比自回归NMT(Neural Machine Translation,神经机器翻译)技术仍有一定差距,目前多数NAT技术在解码时存在搜索空间大的问题,即NAT模型在预测当前词时需要推断周围的词来确定当前词应该翻译源句子的哪个部分,还要确定该部分应该翻译成哪个正确的词。因此,翻译质量较低。发明内容
[0005] 本申请实施例提供一种非自回归神经机器翻译方法、装置、计算机设备和介质,可以提升翻译质量。
[0006] 本申请实施例提供一种非自回归神经机器翻译方法,该方法包括:
[0007] 获取源语言的源句子、以及所述源句子中词对应的词向量;
[0008] 对所述词对应的词向量进行编码,得到关注上下文信息的编码向量;
[0009] 根据所述源句子确定待翻译句子,所述待翻译句子包括待翻译词;
[0010] 根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;
[0011] 根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子;
[0012] 输出所述目标句子。
[0013] 本申请实施例还提供一种非自回归神经机器翻译装置,该装置包括:
[0014] 获取单元,用于获取源语言的源句子、以及所述源句子中词对应的词向量;
[0015] 编码单元,用于对所述词对应的词向量进行编码,得到关注上下文信息的编码向量;
[0016] 确定单元,用于根据所述源句子确定待翻译句子,所述待翻译句子包括待翻译词;
[0017] 排序单元,用于根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;
[0018] 翻译单元,用于根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子;
[0019] 输出单元,用于输出所述目标句子。
[0020] 在一实施例中,所述排序单元,包括:
[0021] 概率预测子单元,用于根据所述待翻译词对应的词向量、以及所述编码向量,预测源句子中各个词在待生成伪翻译句子中词位置上的概率;
[0022] 词确定子单元,用于根据所述概率从所述源句子的词中,确定所述词位置上的伪翻译词,得到伪翻译句子。
[0023] 在一实施例中,所述概率预测子单元,用于:
[0024] 根据所述待翻译词对应的词向量、以及所述编码向量,计算所述待翻译词与所述源句子中词之间的相关性信息;
[0025] 根据所述相关性信息对所述源句子中所有词对应的编码向量进行融合,得到第一融合后向量;
[0026] 将所述第一融合后向量与所述待翻译词的词向量进行融合,得到所述待翻译词的特征向量
[0027] 根据所述待翻译词的特征向量,预测源句子中各个词在待生成伪翻译句子中目标位置上的概率。
[0028] 在一实施例中,所述概率预测子单元,用于:
[0029] 确定待生成伪翻译句子中当前需要预测的当前词位置;
[0030] 根据历史伪翻词对应的词向量以及所述编码向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率,其中,历史伪翻译词为历史时间预测的历史词位置上的伪翻译词。
[0031] 在一实施例中,所述概率预测子单元,用于:
[0032] 根据所述历史伪翻词对应的词向量、以及所述编码向量,计算当前待翻译词与所述源句子中词之间的相关性信息;
[0033] 根据所述相关性信息对所述源句子中所有词对应的编码向量进行融合,得到第二融合后向量;
[0034] 将所述第二融合后向量与当待翻译词的词向量进行融合,得到当前待翻译词的特征向量;
[0035] 根据所述当前待翻译词的特征向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率。
[0036] 在一实施例中,所述确定单元,用于:
[0037] 根据所述源句子的长度确定待翻译句子的目标长度;
[0038] 根据所述目标长度对所述源句子中的词进行均匀拷贝,得到待翻译句子。
[0039] 在一实施例中,所述翻译单元,可以包括:
[0040] 构建子单元,用于基于伪翻译句子中待翻译词对应的词向量,构建所述待翻译词对应的目标词向量;
[0041] 翻译子单元,用于根据所述待翻译词对应的目标向量、以及编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子。
[0042] 在一实施例中,所述构建子单元,用于:
[0043] 根据所述伪翻译句子中待翻译词的概率分布,所述概率分布包括所述源句子中各个词在待生成伪翻译句子中词位置上的概率
[0044] 根据所述概率分布对所述源句子中各个词的词向量进行融合,得到待翻译词的目标词向量。
[0045] 在一实施例中,翻译子单元,用于:
[0046] 根据所述待翻译词对应的目标词向量、以及所述编码向量,计算向量融合的权重;
[0047] 根据所述权重对所述源句子中所有词对应的编码向量进行融合,得到第三融合后向量;
[0048] 将所述第三融合后向量与所述目标词向量进行融合,得到待翻译词的特征向量;
[0049] 根据所述待翻译词的特征向量计算目标语言词表中各个候选词作为待翻译词的目标词的概率。
[0050] 在一实施例中,所述编码单元,用于:
[0051] 对所述词对应的词向量进行特征提取处理,得到所述词对应的处理后词向量;
[0052] 根据所述词对应的处理后词向量获取词之间的相关性信息;
[0053] 根据所述词之间的相关性信息,将所有词对应的处理后词向量进行融合,得到第四融合后向量;
[0054] 将所述词的词量与第四融合后向量进行融合,得到关注上下文信息的编码向量。
[0055] 在一实施例中,所述排序单元,用于采用非自回归神经机器翻译模型,根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;
[0056] 所述翻译单元,用于采用非自回归神经机器翻译模型,根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子。
[0057] 在一实施例中,所述装置还可以包括训练单元,所述训练单元,用于:
[0058] 获取训练样本,所述训练样本包括源语言的样本源句子、样本源句子对应的目标语言的样本目标句子;
[0059] 根据所述样本源句子和所述样本目标句子生成样本伪翻译;
[0060] 基于预设非自回归神经机器翻译模型,对所述样本源句子中词按照目标语言的结构重新排序,得到预测伪翻译;
[0061] 基于所述预设非自回归神经机器翻译模型,将预测伪翻译翻译成目标语言的句子,得到预测目标句子;
[0062] 根据所述预测伪翻译、样本伪翻译、样本目标句子和预测目标句子,对所述预设非自回归神经机器翻译模型进行训练,得到非自回归神经机器翻译模型。
[0063] 在一实施例中,所述训练单元,用于获取样本源句子与所述样本目标句子间的词对齐信息;根据所述词对齐信息生成样本伪翻译。
[0064] 本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如非自回归神经机器翻译方法的步骤。
[0065] 本实施例还提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如所述非自回归神经机器翻译方法的步骤。
[0066] 本申请实施例获取源语言的源句子、以及所述源句子中词对应的词向量;对所述词对应的词向量进行编码,得到关注上下文信息的编码向量;根据所述源句子确定待翻译句子,所述待翻译句子包括待翻译词;根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子;输出所述目标句子。该方案可以将NAT翻译的解码过程拆分成词重排序和词翻译两个阶段,由于在词重排序时对源句子中的词进行重排序(按目标句子的语序),可能的词只能是在当前源句子中出现过的词,所以词重排序时所用的词表限制在当前源句子中的词而不是整个词表,大大降低了词表的大小,并且词翻译过程中每个目标词几乎由重排序后的句子(即伪翻译)中相同位置处的词确定,因而能够大大减小搜索空间,从而提升翻译质量。附图说明
[0067] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0068] 图1a是本申请实施例提供的非自回归神经机器翻译方法的场景示意图;
[0069] 图1b是本申请实施例提供的非自回归神经机器翻译方法的流程图
[0070] 图2a是本申请实施例提供的非自回归神经机器翻译件模型的示意图;
[0071] 图2b是本申请实施例提供的Transformer(变压器)模型的结构示意图;
[0072] 图3a是本申请实施例提供的非自回归神经机器翻译方法的另一流程示意图;
[0073] 图3b是本申请实施例提供的翻译应用场景示意图;
[0074] 图3c是本申请实施例提供的另一翻译应用场景示意图;
[0075] 图4a是本申请实施例提供的非自回归神经机器翻译装置的结构示意图;
[0076] 图4b是本申请实施例提供的非自回归神经机器翻译装置的另一结构示意图;
[0077] 图4c是本申请实施例提供的非自回归神经机器翻译装置的另一结构示意图;
[0078] 图4d是本申请实施例提供的非自回归神经机器翻译装置的另一结构示意图;
[0079] 图5是本申请实施例提供的计算机设备的结构示意图;
[0080] 图6a是本申请实施例提供的分布式系统100应用于链系统的一个可选的结构示意图;
[0081] 图6b是本申请实施例提供的区块结构的一个可选的示意图;
[0082] 图7a是本申请实施例提供的实验结果示意图;
[0083] 图7b是本申请实施例提供的另一实验结果示意图;
[0084] 图7c是本申请实施例提供的实验结果示意图。

具体实施方式

[0085] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0086] 本申请实施例提供一种非自回归神经机器翻译方法、装置、计算机设备和计算机可读存储介质。其中,该非自回归神经机器翻译装置可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备。
[0087] 本申请实施例提供的非自回归神经机器翻译方法涉及到人工智能的自然语言处理(Nature Language processing,NLP),具体涉及到NLP的机器翻译。可以通过人工智能的自然语言处理技术实现文字翻译等,比如,将源语言的句子翻译成目标语言的句子。
[0088] 其中,自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
[0089] 本申请的非自回归神经机器翻译指的是利用NAT技术来实现翻译,将一种语言的句子翻译成另一种语言的句子。例如,将中文句子翻译成英文句子,将英文句子翻译成德文句子等等。
[0090] 例如,参考图1a,以非自回归神经机器翻译装置集成在服务器为例,服务器可以获取源语言的源句子、以及源句子中词对应的词向量;对词对应的词向量进行编码,得到关注上下文信息的编码向量;根据源句子确定待翻译句子,待翻译句子包括待翻译词;根据待翻译词对应的词向量、以及编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;根据伪翻译句子中待翻译词对应的词向量、以及编码向量,将伪翻译句子翻译成目标语言的目标句子。
[0091] 以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
[0092] 本申请实施例将从非自回归神经机器翻译装置的度进行描述,该非自回归神经机器翻译装置具体可以集成在计算机设备中。
[0093] 本实施例将从非自回归神经机器翻译装置的角度进行描述,该非自回归神经机器翻译装置具体可以集成在计算机设备中,该计算机设备可以是服务器,也可以是终端等设备;其中,该终端可以包括平板电脑笔记本电脑、个人计算(PC,Personal Computer)、微型处理盒子、或者其他设备等。
[0094] 本申请实施例提供的非自回归神经机器翻译方法,可以由计算机设备的处理器执行,如图1b所示,该非自回归神经机器翻译方法的具体流程可以如下:
[0095] 101、获取源语言的源句子、以及源句子中词对应的词向量。
[0096] 其中,源句子为需要翻译的句子,即待翻译句子。
[0097] 本申请实施例中,句子是语言运用的基本单位,它由词、词组(短语)等构成,能表达一个完整的意思,该句子可以包括至少一个词。在实际应用中,该句子可以仅包括词。
[0098] 其中,词对应的词向量(wordembedding)可以为词的向量表达,比如,可以为词特征的向量表达等等。在一实施例中,可以通过词向量模型来生成词的词向量。
[0099] 本申请实施例中,获取源句子的方式有多种,比如,当计算机设备为服务器时,可以从终端获取源句子,譬如,终端可以向服务器发送待翻译的源句子。
[0100] 又比如,在一实施例中,计算机设备可以直接从本地获取源句子,例如,当计算机设备为终端时,可以直接获取用户输入的源句子等等。
[0101] 102、对词对应的词向量进行编码,得到关注上下文信息的编码向量。
[0102] 比如,可以对源句子中每个词的词向量进行编码,得到每个词的关注上下文信息的编码向量。
[0103] 在一实施例中,可以基于注意机制对源句子中每个词的词向量进行编码,比如,可以通过多头注意机制(multi-head attention)实现,具体地,编码过程包括:
[0104] 对词对应的词向量进行特征提取处理,得到词对应的处理后词向量;
[0105] 根据词对应的处理后词向量获取词之间的相关性信息(如当前词与其他词之间的语义相关程度信息);比如,在一实施例中,可以计算当前词与句子中其他词之间的语义相关信息如相关程度,在一实施例中,可以用权重来表示当前词与句子中其他词之间的语义相关信息如相关程度;
[0106] 根据词之间的相关性信息,将所有词对应的处理后词向量进行融合,得到融合后向量;其中,融合方式有多种,比如,相关性用权重表示的情况下,可以采用加权求和的方式融合;
[0107] 将词的词量与融合后向量进行融合,得到关注上下文信息的编码向量。
[0108] 本申请实施例方法可以采用非自回归神经机器翻译模型来实现,具体地,可以采用NAT模型中编码器或编码模块块来实现;参考图2a,为一种非自回归神经机器翻译模型,其包括编码模块(EncoderBlock)、词重新排序模块(wordreordering)以及词翻译模块(Wordtranslation),其中,词重新排序模块和词翻译模块均包括解码模块。
[0109] 其中,编码模块可以对源句子中每个词的词向量进行编码,得到每个词的关注上下文信息的编码向量。例如,参考图2a,在得到源句子“Iwanttothankmyfriends”中各个单词的词向量(emb)之后,可以编码模型可以基于注意力机制对每个词的词向量进行编码,得到每个词的关注上下文信息的编码向量。
[0110] 为了提升翻译的准确性,在一实施例中编码模块可以采用Transformer模型中编码模块,编码器可以采用Transformer模型中编码模块。如图2b所示,模型的编码器包括N个网络层,每个网络层,由一个自注意力层如多头注意力(Multi-head attention)层、和一个前馈(FeedForward)神经网络层组成,为了更好的优化深度网络,整个网络使用了残差连接和对层(即层归一化层)进行了规范化(Add&Norm)。
[0111] 自注意力层:可以将所有相关词的理解融入当前正在处理的词中,目的是学习句子内部的词依赖关系,捕获句子的内部结构。具体地,可以首先用参数不共享的权重矩阵与特征矩阵相乘,得到三个矩阵,可以分别记为q、k和v,在一实施例中,可以使用其中两个矩阵(比如q和k)的相似度来表示另一个矩阵(比如v)的权重,权重即表示当前词与其它词之间的语义相关程度以及重要程度,可以用权重乘以另一个矩阵,即可得到每个词的局部特征信息。其中,常用的相似度函数有点积,拼接,感知机等。具体地,可以根据每个矩阵对应的权重进行加权求和,将当前词的矩阵与该加权求和后的矩阵进行融合如拼接、相加。
[0112] 多头注意力(Multi-head attention)子层:为了使模型可以获得不同子空间下的词之间的相关信息,可以通过h个不同的线性变换对特征矩阵进行投影,即用h个参数不共享的预设注意力函数对特征矩阵进行卷积运算和加权运算,最后将不同的注意力函数输出结果拼接起来,最终得到局部特征矩阵,并将这个局部特征矩阵输出给前馈神经网络。其中增加了h个不同的线性变换步骤的自注意力层可以定义为多头自注意力层,多头自注意力层的可以从不同的层面关注当前词与句子中其它词的关联。
[0113] 其中,在一实施例中,用点积计算q和k的相似度,则预设注意力函数可以用以下公式表示:
[0114] Attention(q,k,v)=softmax(qk/√d)v
[0115] 其中,softmax为激活函数,q、k和v分别表示由特征矩阵投影得到的三个矩阵,用q和k的点积表示q和k的相似度,对得到的相似度除以√d,起到调节作用,使得内积不至于太大,也可以说是为了实现归一化。
[0116] 前馈神经网络层:可以包括多个,具体地,其数目与词的数目相同,每个前馈神经网络处理一个局部特征矩阵。位置全连接前馈神经网络层的每一个结点都与上一层(如多头注意力层)输出的所有结点相连,其中,前馈神经网络层的一个结点即称为前馈神经网络层中的一个神经元,前馈神经网络层中神经元的数量可以根据实际应用的需求而定。每个前馈神经网络至少包括两层线性激活函数,为了提高模型的表达能力,可以加入一层激活函数来加入非线性因素,在本申请实施例中,该激活函数均为“relu(线性修正单元函数,Rectified Linear Unit)”,如果自注意力层的输出表示为Z,词嵌入编码层的输出表示为x,则前馈神经网络的处理用公式表示即为:
[0117] FFN(x)=max(0,xW1+b1)W2+b2
[0118] 其中,b1,b2表示偏差数,W1和W2表示权重矩阵。多次训练的过程中可以不断调整b1、b2、W1和W2的值,使编码模块能更加准确地提取当前训练词的特征,同时使预测词更加接近当前训练词。
[0119] 其中,解码模块相对于编码模块还包括一个注意力层如多头注意力层,该注意力层的结构与内部算法与自注意力层基本一致,但是不共享权重。该注意力层获取解码模块的自注意力层输出的局部特征信息,使用编码模块输出的第一特征信息获取各局部特征信息的权重,根据权重对各局部特征信息进行加权运算,得到全局特征信息,再将全局特征信息输出至前馈神经网络层进行全连接运算,得到概率分布信息。
[0120] 其中,编码器还包括两个层归一化全连接层,分别设置在自注意力层之后,以及全连接前馈神经网络层,层归一化全连接层包含层级归一化函数,层级归一化函数可以通过修正每一层内激活值的均值与方差而大大减少协方差偏离问题,为为了使反向传播的梯度信号传递到低层时不至于过度衰减,需要在投入层级归一化函数前将自注意力层的输入与输出相加。
[0121] 在一实施例中,层级归一化函数用于综合考虑一层所有维度的输入,计算该层的平均输入值和输入方差,然后用同一个规范化操作来转换各个维度的输入,具体可以用如下公式表示:
[0122]
[0123] 其中,其中i枚举了该层所有的输入神经元。对应到标准公式中,四大参数μ,σ,g,b均为标量,所有输入共享一个规范化变换。
[0124] 比如,在向图2b所示的编码器输入每个词的词向量之后,可以通过编码器的某个网络层中自注意力层如多头注意力(Multi-head attention)层对词向量进行注意力特征提取处理(具体过程,参考上述编码过程),然后,通过层归一化(Add&Norm)层对自注意力层如多头注意力层输出的向量进行残差连接等规划化处理,最后通过前馈神经网络子层对规范化后的向量进行处理,得到词的输出向量。然后,将当前词的输出向量输入至编码器中的下一个网络层执行前述相同操作,以此类推,直到在第N个网络层输出最终的词向量,此时,第N个网络层输出的最终的词向量即为词的编码向量。
[0125] 本申请实施例中编码模块的结构不仅限于上述介绍的结构,还可以使用RNN(循环神经网络)、比如,GRU(门控循环单元),LSTM(Long Short-Term Memory,长短期记忆)网络结构。
[0126] 通过上述步骤,可以得到源句子中每个词的编码向量。
[0127] 103、根据源句子确定待翻译句子,待翻译句子包括待翻译词。
[0128] 比如,可以采用非自回归神经机器翻译模型,根据源句子确定待翻译句子,待翻译句子包括待翻译词。
[0129] 比如,参考图2a,待翻译句子为词重新排序模块的输入句子,
[0130] 比如,在一实施例中,采用非自回归形式重新排序时,可以根据源句子的长度确定待翻译句子的目标长度;根据目标长度对源句子中的词进行均匀拷贝,得到待翻译句子。
[0131] 具体为:假设所预测的伪翻译句子的长度为T,源句子的长度为L,对该模块输入的第i个词,拷贝源句子中第[i/T*L]个词,这里*表示乘号,[]表示取整。(该操作即为图2a中的虚线1)
[0132] 又比如,在一实施例中,采用自回归形式重新排序时,根据源句子确定初始词。
[0133] 104、根据待翻译词对应的词向量、以及编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子。
[0134] 比如,可以采用非自回归神经机器翻译模型,根据待翻译词对应的词向量、以及编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子。
[0135] 比如,参考图2a,在确定待翻译句子即词重新排序模块的输入之后,通过词重新排序模块可以将源句子翻译成伪翻译,该伪翻译是按照目标语言的结构对源句子中的词进行重排序。譬如将英文“Iwanttothankmyfriends”按照德文的结构重新排序后变为“Iwantmyfriendsthank”。
[0136] 在一实施例中,步骤“根据待翻译词对应的词向量、以及编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句”,可以包括:
[0137] 根据待翻译词对应的词向量、以及编码向量,预测源句子中各个词在待生成伪翻译句子中词位置上的概率;
[0138] 根据概率从源句子的词中,确定词位置上的伪翻译词,得到伪翻译句子。
[0139] 其中,计算概率的方式有多种,比如,可以采用NAT方式来计算,具体地,步骤“根据待翻译词对应的词向量、以及编码向量,预测源句子中各个词在待生成伪翻译句子中词位置上的概率”,可以包括:
[0140] 根据待翻译词对应的词向量、以及编码向量,计算待翻译词与源句子中词之间的相关性信息(如语义相关性信息);
[0141] 根据相关性信息对源句子中所有词对应的编码向量进行融合,得到第一融合后向量;
[0142] 将第一融合后向量与待翻译词的词向量进行融合,得到待翻译词的特征向量;
[0143] 根据待翻译词的特征向量,预测源句子中各个词在待生成伪翻译句子中目标位置上的概率。
[0144] 本实施例模型按照NAT的方式将伪翻译的概率建模为:
[0145]
[0146] 其中,Z={z1,…,zm}表示伪翻译,m为目标句子的长度,X表示源句子。
[0147] 在一实施例中,可以用权重来表示待翻译词与源句子中词之间的相关性信息,权重越大表示相关性越高。此时,可以计算待翻译词与源句子中每个词之间的相关性权重,根据相关性权重对编码器输出的编码向量进行加权求和,然后,将加权求和后向量与待翻译词的词向量进行融合,得到待翻译词的特征向量。
[0148] 例如,参考图2a,在确定待翻译句子之后,可以将待翻译句子中每个待翻译词的词向量输入至词重排序模块的解码器,该解码器的结构可以参考图2b所示的解码器结果;解码器通过注意力层如多头注意力层、前馈神经网络层、层归一化层对输入的词向量进行处理,得到每个待翻译词的特征向量,然后通过模块中全连接层给每个待翻译词进行打分,得到每个待翻译词的得分,最后,通过词重排序模块的归一化层如Softmax函数层对每个待翻译词的得分进行归一化处理,得到每个待翻译词的概率。
[0149] 具体地,解码器结构、解码器中各层的处理过程可以参考图2b所示的解码器结果。
[0150] 在一实施例中,为了提升翻译质量,还可以采用自回归方式进行概率计算,比如,步骤“根据待翻译词对应的词向量、以及编码向量,预测源句子中各个词在待生成伪翻译句子中词位置上的概率”,可以包括:
[0151] 确定待生成伪翻译句子中当前需要预测的当前词位置;
[0152] 根据历史伪翻词对应的词向量以及编码向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率,其中,历史伪翻译词为历史时间预测的历史词位置上的伪翻译词。
[0153] 在一实施例中,采用自回归形式时,可以以上一时间步预测的伪翻译词对应的词向量作为当前时间步的输入,预测源句子中各个词在当前词位置上的概率,从而预测当前词位置上的伪翻译词;然而,将当前预测的伪翻译词的词向量作为下一个时间步的输入,预测下一个词位置上的概率,从而预测下一个词位置上的伪翻译词,依次类推,直到满足结束条件时停止。
[0154] 例如,在第0个时间步输入特殊符号(表示开始)对应的词向量,依次将每步预测的词对应的词向量作为下一时间步的输入,直到当前预测的词为(表示结束)为止。其中,开始对应的词向量通过学习或训练得到。
[0155] 例如,本模型也可引入自回归模型对伪翻译的概率进行建模:
[0156]
[0157] 其中,z<i={z1,…,zi-1}表示历史伪翻译。
[0158] 在一实施例中,在自回归形式下,预测概率的具体方式与上述概率计算方式类似,具体地,步骤“根据历史伪翻词对应的词向量以及编码向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率”,可以包括:
[0159] 根据历史伪翻词对应的词向量、以及编码向量,计算当前待翻译词与源句子中词之间的相关性信息;
[0160] 根据相关性信息对源句子中所有词对应的编码向量进行融合,得到第二融合后向量;
[0161] 将第二融合后向量与当待翻译词的词向量进行融合,得到当前待翻译词的特征向量;
[0162] 根据当前待翻译词的特征向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率。
[0163] 比如,在确定待翻译句子之后,可以向词重新模块的解码器输入第一个词符号对应的词向量,词重新模块的解码器通过注意力层如多头注意力层、前馈神经网络层、层归一化层对输入的词向量进行处理,得到每个待翻译词的特征向量,然后通过模块中全连接层给每个待翻译词进行打分,得到每个待翻译词的得分,最后,通过词重排序模块的归一化层如Softmax函数层对每个待翻译词的得分进行归一化处理,得到每个待翻译词的概率。
[0164] 通过上述步骤可以生成源句子对应的伪翻译句子,因为词重排序使用的是很小的词表,该词表只包含源句子中的词,其搜索空间比整个翻译的小很多。所以,ReorderNAT能有效学习词重排序信息,取得更好的翻译质量。
[0165] 105、根据伪翻译句子中待翻译词对应的词向量、以及编码向量,将伪翻译句子翻译成目标语言的目标句子。
[0166] 比如,可以采用非自回归神经机器翻译模型,根据伪翻译句子中待翻译词对应的词向量、以及编码向量,将伪翻译句子翻译成目标语言的目标句子。
[0167] 譬如,可以通过非自回归神经机器翻译模型可以将伪翻译句子“Iwantmyfriendsthank”翻译成德文“Ich will meinen Freunden denPanzer”。
[0168] 在一实施例中,基于伪翻译句子中待翻译词对应的词向量,构建待翻译词对应的目标词向量;根据待翻译词对应的目标向量、以及编码向量,将伪翻译句子翻译成目标语言的目标句子。
[0169] 其中,构建待翻译词的目标词向量进行解码的方式有多种,即引导解码策略有多种,比如,在一实施例中,可以采用确定性引导解码(deterministic guiding decoding,DGD)策略和非确定性引导解码(non-deterministic guiding decoding,NDGD)策略。
[0170] 比如,DGD策略首先生成源句子最可能的伪翻译,再基于该伪翻译生成目标句子,也即,将伪翻译句子中词的词向量直接该词的目标词向量,参考下面的定义:
[0171]
[0172]
[0173] 在一实施例中,还可以基于伪翻译句子中词的概率分布来构建目标词向量,具体地,步骤“基于伪翻译句子中待翻译词对应的词向量,构建待翻译词对应的目标词向量”,可以包括:
[0174] 根据伪翻译句子中待翻译词的概率分布,概率分布包括源句子中各个词在待生成伪翻译句子中词位置上的概率
[0175] 根据概率分布对源句子中各个词的词向量进行融合,得到待翻译词的目标词向量。
[0176] 例如,非确定性引导解码(non-deterministic guiding decoding,NDGD)策略下,同于DGD策略使用确定性的伪翻译来引导解码,NDGD策略将伪翻译的概率分布Q当做隐变量,然后基于该隐变量来生成目标句子,公式如下:
[0177] 其中概率分布Q定义为:
[0178]
[0179] 其中,s(·)为伪翻译的打分函数(如词重排序模块softmax层的输入),T为温度系数。因为隐变量Q可以看成伪翻译的非确定性形式,所以NDGD策略的翻译也是被伪翻译引导的。
[0180] 本申请实施例,在构建待解码的目标向量之后,可以通过对待翻译词的目标向量进行解码,将伪翻译句子翻译成目标语言的目标句子。具体地,步骤“根据待翻译词对应的目标词向量、以及编码向量,将伪翻译句子翻译成目标语言的目标句子”,可以包括:
[0181] 根据待翻译词对应的目标向量、以及编码向量,计算目标语言词表中各个候选词作为待翻译词的目标词的概率;
[0182] 根据各个候选词的概率确定待翻译词的目标词,得到目标语言的目标句子。
[0183] 例如,参考图2a,在构建待解码的目标向量之后,可以将待翻译词的目标向量输入词翻译模块,通过词翻译模块中解码器执行上述步骤将伪翻译句子翻译成目标语言的目标句子。
[0184] 在一实施例中,可以通过注意力机制来计算概率,步骤“根据待翻译词对应的目标词向量、以及编码向量,计算目标语言词表中各个候选词作为待翻译词的目标词的概率”,可以包括:
[0185] 根据待翻译词对应的目标词向量、以及编码向量,计算向量融合的权重;
[0186] 根据权重对源句子中所有词对应的编码向量进行融合,得到第三融合后向量;
[0187] 将第三融合后向量与目标词向量进行融合,得到待翻译词的特征向量;
[0188] 根据待翻译词的特征向量计算目标语言词表中各个候选词作为待翻译词的目标词的概率。
[0189] 具体地,词翻译模块的解码器结构可以参考图2b所示的解码器,与词重排序模块的解码器结构类似,比如,解码器通过注意力层如多头注意力层、前馈神经网络层、层归一化层对输入的目标词向量进行处理,得到每个待翻译词的特征向量,然后通过模块中全连接层给每个待翻译词进行打分,得到每个待翻译词的得分,最后,通过词重排序模块的归一化层如Softmax函数层对每个待翻译词的得分进行归一化处理,得到每个待翻译词的概率。
[0190] 106、输出目标句子。
[0191] 比如,可以输出显示目标句子,或者将目标句子发送给其他设备进行显示。比如,将翻译的德文“Ich will meinen Freunden denPanzer”发送给终端进行显示。
[0192] 本申请实施例方法可以由非自回归神经机器翻译模型来实现,非自回归神经机器翻译模型可以为经过训练样本训练后的模型,具体的训练过程可以参考下述介绍。
[0193] 本申请实施例方法可以适用于机器翻译的所有应用场景,如在线翻译产品(应用程序的翻译功能等),特别是对翻译时间要求高的应用场景。
[0194] 由上可知,本申请实施例获取源语言的源句子、以及源句子中词对应的词向量;对词对应的词向量进行编码,得到关注上下文信息的编码向量;根据源句子确定待翻译句子,待翻译句子包括待翻译词;根据待翻译词对应的词向量、以及编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;根据伪翻译句子中待翻译词对应的词向量、以及编码向量,将伪翻译句子翻译成目标语言的目标句子;输出目标句子。该方案可以将NAT翻译的解码过程拆分成词重排序和词翻译两个阶段,由于在词重排序时对源句子中的词进行重排序(按目标句子的语序),可能的词只能是在当前源句子中出现过的词,所以词重排序时所用的词表限制在当前源句子中的词而不是整个词表,大大降低了词表的大小,并且词翻译过程中每个目标词几乎由重排序后的句子(即伪翻译)中相同位置处的词确定,因而能够大大减小搜索空间,从而提升翻译质量,如提升翻译速度和准确性等。
[0195] 基于上述描述的方法,下面将举例作进一步说明:
[0196] 比如,以非自回归神经机器翻译装置集成在计算机设备为例,来进行说明。
[0197] (1)、模型训练
[0198] S1、计算机设备获取训练样本,训练样本包括源语言的样本源句子、样本源句子对应的目标语言的样本目标句子。
[0199] 比如,可以获取训练样本(X,Y),X为源语言的样本源句子,Y为样本源句子对应的目标语言的样本目标句子。
[0200] S2、计算机设备根据样本源句子和样本目标句子生成样本伪翻译。
[0201] 比如,在一实施例中,获取样本源句子与样本目标句子间的词对齐信息;根据词对齐信息生成样本伪翻译。
[0202] 譬如,在获取训练样本之后,可以使用词对齐工具生成相应的样本伪翻译 实际应用中,先使用fast_align(快速词对齐工具包)工具获得源句子和目标句子间的词对齐信息,再根据该信息,生成伪翻译。具体的,将与第j个目标词对齐的源句子中的词作为伪翻译的第j个词,如果没有词对应,则使用一个特殊符号。
[0203] S3、计算机设备基于预设非自回归神经机器翻译模型,对样本源句子中词按照目标语言的结构重新排序,得到预测伪翻译。
[0204] 其中,预测伪翻译的获取方式可以参考上述伪翻译的获取方式。
[0205] 其中,预设非自回归神经机器翻译模型的结构可以参考图2a和图2b,比如,可以通过非自回归神经机器翻译模型的编码器对样本源句子中词的词向量进行编码,通过非自回归神经机器翻译模型的词重排序模块,基于编码向量和词向量,对样本源句子中词按照目标语言的结构重新排序,得到预测伪翻译。
[0206] 其中,词重排序模块的具体结构和操作过程可以参考上述实施例的描述。
[0207] S4、计算机设备基于预设非自回归神经机器翻译模型,将预测伪翻译翻译成目标语言的句子,得到预测目标句子。
[0208] 比如,可以通过非自回归神经机器翻译模型词翻译模块来将预测伪翻译翻译成目标语言的句子,得到预测目标句子。具体地翻译过程可以参考上述实施例的介绍。
[0209] S5、计算机设备根据预测伪翻译、样本伪翻译、样本目标句子和预测目标句子,对预设非自回归神经机器翻译模型进行训练,得到非自回归神经机器翻译模型。
[0210] 在一实施例中,可以根据预测伪翻译、样本伪翻译,计算词重排序损失LWR;比如,通过词排序损失函数对预测伪翻译、样本伪翻译进行计算,得到词排序损失。还可以根据样本目标句子和预测目标句子计算词翻译损失LWT;比如,可以通过词翻译损失函数,对样本目标句子和预测目标句子近息计算,得到词翻译损失。根据词重排序损失和词翻译损失对预设非自回归神经机器翻译模型进行训练,得到非自回归神经机器翻译模型。
[0211] 例如,可以通过最大化如下联合损失函数来优化ReorderNAT(重排序非自回归神经机器翻译):
[0212]
[0213] 其中, 和 分别表示词重排序损失函数和词翻译损失函数。对DGD和NDGD策略, 均定义为:
[0214]
[0215] 对于DGD策略,词翻译损失定义为将伪翻译句子翻译成目标句子的最大似然函数:
[0216]
[0217] 对于NDGD策略,词翻译损失定义为:
[0218]
[0219] 如果Q没有训练好, 会收敛得很慢。所以,本申请实施例方法使用DGD方式下训练好的模型来初始化NDGD方式下的模型进行训练。
[0220] (2)、通过以上方式训练好非自回归神经机器翻译模型之后,可以利用非自回归神经机器翻译模型实现翻译,参考图3a,具体流程如下:
[0221] 301、计算机设备获取源语言的源句子。
[0222] 比如,可以接收其他设备如终端发送的源句子。
[0223] 302、计算机设备生成源句子中词对应的词向量。
[0224] 比如,可以通过非自回归神经机器翻译模型中向量生成模块,来生成源句子中词对应的词向量。
[0225] 303、计算机设备通过非自回归神经机器翻译模型中编码模块,对词对应的词向量进行编码,得到关注上下文信息的编码向量。
[0226] 比如,参考图2a和图2b,计算机设备通过非自回归神经机器翻译模型中编码模块对词对应的词向量进行编码,具体地编码过程可以参考上述实施例的描述。
[0227] 304、计算机设备根据源句子确定输入至词重排序模块的待翻译句子,其中,待翻译句子包括待翻译词。
[0228] 比如,在一实施例中,采用非自回归形式重新排序时,可以根据源句子的长度确定待翻译句子的目标长度;根据目标长度对源句子中的词进行均匀拷贝,得到待翻译句子。
[0229] 305、计算机设备通过词重排序模块、根据待翻译词对应的词向量、以及编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句。
[0230] 具体地,计算机设备可以通过词重排序模块:根据待翻译词对应的词向量、以及编码向量,预测源句子中各个词在待生成伪翻译句子中词位置上的概率;根据概率从源句子的词中,确定词位置上的伪翻译词,得到伪翻译句子。具体地的概率预测等方式可以参考上述实施例的描述。
[0231] 306、计算机设备基于伪翻译句子中待翻译词对应的词向量,构建待翻译词对应的目标词向量,向词翻译模块输入待翻译词对应的目标向量。
[0232] 比如,可以通过非自回归神经机器翻译模型中翻译输入构建模块,基于伪翻译句子中待翻译词对应的词向量,构建待翻译词对应的目标词向量,向词翻译模块输入待翻译词对应的目标向量。
[0233] 307、计算机设备通过词翻译模块,根据待翻译词对应的目标向量、以及编码向量,将伪翻译句子翻译成目标语言的目标句子,并输出目标句子。
[0234] 比如,通词翻译模块中解码器和归一化层,计算目标语言词表中各个候选词作为待翻译词的目标词的概率,然后,基于概率来确定待翻译词对应的目标语言的目标词,从而实现翻译。
[0235] 本申请实施例提供的非自回归神经机器翻译方法可以应用在各种翻译的场景中,比如,该非自回归神经机器翻译可以应用在翻译软件或应用程序中实现翻译。
[0236] 譬如,参考图3b,当用户需要翻译时,用户可以通过操作触发终端运行翻译应用程序并显示翻译页面,用户在翻译页面的句子输入框中输入待翻译的源句子,如输入英文句子“Iwanttothank myfriends”;此时,翻译应用程序通过本申请实施例的方案,将其翻译成德文“Ich will meinen Freunden denPanzer”。比如,终端可以向服务器发送翻译请求,该请求携带源句子“Iwanttothank myfriends”。
[0237] 服务器可以采用上述方案如获取所述源句子中词对应的词向量;对所述词对应的词向量进行编码,得到关注上下文信息的编码向量;根据所述源句子确定待翻译句子,所述待翻译句子包括待翻译词;根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子;然后,向终端返回目标句子德文“Ich will meinen Freunden denPanzer”。在获得目标句子之后,终端可以在翻译应用程序的页面显示目标句子。
[0238] 在一实施例中,参考图3c,用户还可以通过翻译页面设置的语音输入控件输入待翻译语音,翻译应用程序可以对待翻译语音进行识别,得到源语言的源句子,比如,用户可以长按页面上的中文语音输入按钮输入中文语音“晚上吃饭了没有”,翻译应用可以实时识别该语音信息,并显示识别到的句子,如中文的文字“晚上吃饭了没有”。此时,翻译应用程序可以将识别到的作为句子需要翻译的源语言的句子,基于本申请实施例的方案,将其翻译成英文“Did you have dinner tonight?”,比如向服务器发送翻译请求以请求服务器采用上述方式翻译。
[0239] 在实际应用中,在翻译成功后,翻译应用程序可以以消息或者对话的形式来显示源句子和目标句子,比如,参考图3b。在一实施例中,用户可以通过图像识别技术来识别待翻译的源句子,比如,通过页面中照相机按钮调用相机进行图像文字识别,将识别到句子翻译成目标语言的句子,即本申请的方案可以应用在拍摄实时翻译场景中,等等。
[0240] 由上可知,本申请实施例可以将NAT翻译的解码过程拆分成词重排序和词翻译两个阶段,由于在词重排序时对源句子中的词进行重排序(按目标句子的语序),可能的词只能是在当前源句子中出现过的词,所以词重排序时所用的词表限制在当前源句子中的词而不是整个词表,大大降低了词表的大小,并且词翻译过程中每个目标词几乎由重排序后的句子(即伪翻译)中相同位置处的词确定,因而能够大大减小搜索空间,从而提升翻译质量,如提升翻译速度和准确性等。
[0241] 为了更好地实施以上方法,相应的,本申请实施例还提供一种非自回归神经机器翻译装置,该非自回归神经机器翻译装置可以集成在计算设备中,参考图4a,该非自回归神经机器翻译装置可以包括获取单元401、编码单元402、确定单元403、排序单元404、翻译单元405以及输出单元406,具体如下:
[0242] 获取单元401,用于获取源语言的源句子、以及所述源句子中词对应的词向量;
[0243] 编码单元402,用于对所述词对应的词向量进行编码,得到关注上下文信息的编码向量;
[0244] 确定单元403,用于根据所述源句子确定待翻译句子,所述待翻译句子包括待翻译词;
[0245] 排序单元404,用于根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;
[0246] 翻译单元405,用于根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子;
[0247] 输出单元406,用于输出所述目标句子。
[0248] 在一实施例中,参考图4b,所述排序单元404,可以包括:
[0249] 概率预测子单元4041,用于根据所述待翻译词对应的词向量、以及所述编码向量,预测源句子中各个词在待生成伪翻译句子中词位置上的概率;
[0250] 词确定子单元4042,用于根据所述概率从所述源句子的词中,确定所述词位置上的伪翻译词,得到伪翻译句子。
[0251] 在一实施例中,所述概率预测子单元4041,用于:
[0252] 根据所述待翻译词对应的词向量、以及所述编码向量,计算所述待翻译词与所述源句子中词之间的相关性信息;
[0253] 根据所述相关性信息对所述源句子中所有词对应的编码向量进行融合,得到第一融合后向量;
[0254] 将所述第一融合后向量与所述待翻译词的词向量进行融合,得到所述待翻译词的特征向量;
[0255] 根据所述待翻译词的特征向量,预测源句子中各个词在待生成伪翻译句子中目标位置上的概率。
[0256] 在一实施例中,所述概率预测子单元4041,用于:
[0257] 确定待生成伪翻译句子中当前需要预测的当前词位置;
[0258] 根据历史伪翻词对应的词向量以及所述编码向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率,其中,历史伪翻译词为历史时间预测的历史词位置上的伪翻译词。
[0259] 在一实施例中,所述概率预测子单元4041,用于:
[0260] 根据所述历史伪翻词对应的词向量、以及所述编码向量,计算当前待翻译词与所述源句子中词之间的相关性信息;
[0261] 根据所述相关性信息对所述源句子中所有词对应的编码向量进行融合,得到第二融合后向量;
[0262] 将所述第二融合后向量与当待翻译词的词向量进行融合,得到当前待翻译词的特征向量;
[0263] 根据所述当前待翻译词的特征向量,预测源句子中各个词在待生成伪翻译句子中当前词位置上的概率。
[0264] 在一实施例中,所述确定单元403,用于:
[0265] 根据所述源句子的长度确定待翻译句子的目标长度;
[0266] 根据所述目标长度对所述源句子中的词进行均匀拷贝,得到待翻译句子。
[0267] 在一实施例中,参考图4c,所述翻译单元405,可以包括:
[0268] 构建子单元4051,用于基于伪翻译句子中待翻译词对应的词向量,构建所述待翻译词对应的目标词向量;
[0269] 翻译子单元4052,用于根据所述待翻译词对应的目标向量、以及编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子。
[0270] 在一实施例中,所述构建子单元4051,用于:
[0271] 根据所述伪翻译句子中待翻译词的概率分布,所述概率分布包括所述源句子中各个词在待生成伪翻译句子中词位置上的概率
[0272] 根据所述概率分布对所述源句子中各个词的词向量进行融合,得到待翻译词的目标词向量。
[0273] 在一实施例中,翻译子单元4052,用于:
[0274] 根据所述待翻译词对应的目标词向量、以及所述编码向量,计算向量融合的权重;
[0275] 根据所述权重对所述源句子中所有词对应的编码向量进行融合,得到第三融合后向量;
[0276] 将所述第三融合后向量与所述目标词向量进行融合,得到待翻译词的特征向量;
[0277] 根据所述待翻译词的特征向量计算目标语言词表中各个候选词作为待翻译词的目标词的概率。
[0278] 在一实施例中,所述编码单元402,用于:
[0279] 对所述词对应的词向量进行特征提取处理,得到所述词对应的处理后词向量;
[0280] 根据所述词对应的处理后词向量获取词之间的相关性信息;
[0281] 根据所述词之间的相关性信息,将所有词对应的处理后词向量进行融合,得到第四融合后向量;
[0282] 将所述词的词量与第四融合后向量进行融合,得到关注上下文信息的编码向量。
[0283] 在一实施例中,所述排序单元404,用于采用非自回归神经机器翻译模型,根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;
[0284] 所述翻译单元405,用于采用非自回归神经机器翻译模型,根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子。
[0285] 在一实施例中,参考图4d,所述装置还可以包括训练单元407,所述训练单元407,用于:
[0286] 获取训练样本,所述训练样本包括源语言的样本源句子、样本源句子对应的目标语言的样本目标句子;
[0287] 根据所述样本源句子和所述样本目标句子生成样本伪翻译;
[0288] 基于预设非自回归神经机器翻译模型,对所述样本源句子中词按照目标语言的结构重新排序,得到预测伪翻译;
[0289] 基于所述预设非自回归神经机器翻译模型,将预测伪翻译翻译成目标语言的句子,得到预测目标句子;
[0290] 根据所述预测伪翻译、样本伪翻译、样本目标句子和预测目标句子,对所述预设非自回归神经机器翻译模型进行训练,得到非自回归神经机器翻译模型。
[0291] 在一实施例中,所述训练单元407,用于获取样本源句子与所述样本目标句子间的词对齐信息;根据所述词对齐信息生成样本伪翻译。
[0292] 具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
[0293] 本申请实施例的非自回归神经机器翻译装置可以将NAT翻译的解码过程拆分成词重排序和词翻译两个阶段,由于在词重排序时对源句子中的词进行重排序(按目标句子的语序),可能的词只能是在当前源句子中出现过的词,所以词重排序时所用的词表限制在当前源句子中的词而不是整个词表,大大降低了词表的大小,并且词翻译过程中每个目标词几乎由重排序后的句子(即伪翻译)中相同位置处的词确定,因而能够大大减小搜索空间,从而提升翻译质量。
[0294] 此外,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,如图5所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
[0295] 该计算机设备可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元504等部件。本领域技术人员可以理解,图5中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0296] 处理器501是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器502内的软件程序和/或单元,以及调用存储在存储器502内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
[0297] 存储器502可用于存储软件程序以及单元,处理器501通过运行存储在存储器502的软件程序以及单元,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问
[0298] 计算机设备还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0299] 该计算机设备还可包括输入单元504,该输入单元504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘鼠标、操作杆、光学或者轨迹球信号输入。
[0300] 尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
[0301] 获取源语言的源句子、以及所述源句子中词对应的词向量;对所述词对应的词向量进行编码,得到关注上下文信息的编码向量;根据所述源句子确定待翻译句子,所述待翻译句子包括待翻译词;根据所述待翻译词对应的词向量、以及所述编码向量,将待翻译句子中的待翻译词按照目标语言的结构进行重排序,得到伪翻译句子;根据所述伪翻译句子中待翻译词对应的词向量、以及所述编码向量,将所述伪翻译句子翻译成所述目标语言的目标句子;输出所述目标句子。
[0302] 以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0303] 本申请实施例涉及的非自回归神经机器翻译系统可以是由客户端、多个节点(接入网络中的任意形式的计算机设备,如服务器、终端)通过网络通信的形式连接形成的分布式系统。其中,终端或服务器可以目标语言的目标句子等等数据存储至分布式系统如区块链中。
[0304] 以分布式系统为区块链系统为例,参见图6a,图6a是本申请实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。本实施例中,视频数据如视频内容数据、关键数据等可以通过区域链系统的节点被存储在区域链系统的共享账本中,计算机设备(例如终端或服务器)可以基于共享账本存储的记录数据获取互动视频的视频内容、互动条件和互动控件信息。
[0305] 参见图6a示出的区块链系统中各节点的功能,涉及的功能包括:
[0306] 1)路由,节点具有的基本功能,用于支持节点之间的通信。
[0307] 节点除具有路由功能外,还可以具有以下功能:
[0308] 2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
[0309] 例如,应用实现的业务包括:
[0310] 2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
[0311] 2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
[0312] 2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
[0313] 3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
[0314] 参见图6b,图6b是本申请实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0315] 本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0316] 为此,本申请实施例还提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种非自回归神经机器翻译方法中的步骤。
[0317] 以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0318] 其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
[0319] 由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种非自回归神经机器翻译方法中的步骤,因此,可以实现本申请实施例所提供的任一种非自回归神经机器翻译方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
[0320] 本申请实施例提供的非自回归神经机器翻译方法具有较高的翻译效果,实际中还针对本实施例提供的翻译方案进行了实验测试。具体地,应用本申请方案针对三种广泛使用的机器翻译任务进行测试,如在数据集WMT14、英翻德En-De(包括4.5M样本句子对),数据集WMT16英语翻罗尼亚语En-Ro(610k对)和数据集IWSLT16英翻德En-De(196k对)。对于数据集WMT14 En-De任务,分别采用newstest-2013和newstest-2014作为验证集和测试集。对于WMT16 En-Ro任务,分别使用newsdev-2016和newstest-2016作为验证和测试集。对于IWSLT16 En-De任务,使用test2013进行验证。此外,还进行汉英翻译实验,语言结构差异更大。训练集由从LDC语料库中提取的125万个句子对组成。选择NIST 2002(MT02)数据集作为验证集,并选择NIST 2003(MT03),2004(MT04),2005(MT05),2006(MT06)和2008(MT08)数据集作为方案的测试集。
[0321] 在实验中,使用快速对齐工具成伪翻译。为了公平比较,ReorderNAT(重排序非自回归神经机器翻译)遵循大多数模型超参数设置。
[0322] 在实验中,将ReorderNAT(NAT)和ReorderNAT(AT)进行了比较,它们分别使用了NAT重新排序模块和AT重新排序模块以及几个基线。
[0323] 本申请实施例选择三种模型作为自己的自回归基线:(1)Transformerfull,超参数在实验环境中描述。(2)Transformerone,Transformer的较轻版本,其解码器层号为1。(3)Transformergru,用GRU代替了Transformerfull的解码器。
[0324] 本申请实施例还将几种典型的NAT模型作为基准:(1)NAT-FT,该模型通过复制源输入作为编码器输入,且并行预测目标字。(2)NAT-FT+NPD,一种NAT-FT模型,在推理过程中采用噪声并行解码(NPD)。将NPD的样本大小设置为10和100。(3)NAT-IR,它可以反复多次优化翻译,可将迭代次数设置为1和10。(4)NAT-REG,这是一个使用重复转换和相似性正则化的NAT模型。(5)NAT-FS,它对顶层解码器层进行序列化并自动回归生成目标句子。(6)模仿NAT,它迫使NAT模型在训练期间模仿AT模型。(7)模仿-NAT+LPD,一种模仿NAT模型,采用长度并行解码。
[0325] 在实际试验中,还研究了两种建议的指导解码策略(包括DGD和NDGD)对IWSLT16验证集的影响。在如图7a所示的表1,表1中,在英文翻译德文(En-De)的场景下,发现NDGD策略在Re-orderNAT(AT)和ReorderNAT(NAT)方面都比DGD策略具有更好的性能,因为NDGD策略可以有效地减少DGD策略的信息损失。在以下实验中,将NDGD用作默认的解码策略。
[0326] 对于翻译的总体效果,将分别使用NAT重排序模块和AT重排序模块的ReorderNAT(NAT)和Reorder-NAT(AT)与所有基准模型进行比较。并且本申请实施例采用BLEU(Bilingual Evaluation Understudy,双语评估替换)作为翻译的评价指标。所有结果都显示在如图7b所示的表2中。从表2中,可以发现:(1)ReorderNAT(AT)在大多数基准数据集上均达到了最先进的性能,甚至与AT模型之间的差距小于1个BLEU差距。(在WMT14的De→En德语到英语任务中分别为31.13和31.70,在WMT16的Ro→En任务中为31.99与32.60,在IWSLT的En→De任务中为30.26与31.18)。
[0327] 尽管ReorderNAT利用小型AT模型更好地捕获了重排序信息,但它仍可保持较低的转换延迟(大约为ReorderNAT(NAT)的16倍加速和ReorderNAT(AT)的6倍加速)。与Transformerone和Transformergru相比,ReorderNAT(AT)在AT重新排序模块中使用的词汇量要小得多,这仅限于源语言中的单词,并且使其速度更快。
[0328] (2)与大多数现有的NAT模型相比,ReorderNAT(NAT)和ReorderNAT(NAT)+LPD也获得了显着改进,甚至通过显式地对重新排序信息进行建模,甚至克服了WMT14上模仿NAT的最新NAT模型。它验证了由Reorder-NAT明确建模的重排序信息可以有效地指导其解码方向。
[0329] (3)与大型NAT模型具有接近延迟的小型AT模型在建模重排序信息方面可能会表现出更好的性能。在所有基准数据集上,具有较小AT GRU重排序模块的ReorderNAT(AT)的翻译质量要比具有大型NAT模型(2-5BLEU分数)的翻译质量好得多。此外,还发现用于单层AT Transformer或GRU进行解码的AT模型Transformerone和Transformergru也可能胜过大多数现有NAT模型,甚至胜过WMT14中最新的模仿NAT模型。保持可接受的延迟(分别为2.42倍和3.10倍加速)。
[0330] 此外,在中文翻译英文的场景下,为了显示在NAT中对重新排序信息进行建模的有效性,实验时将Reorder-NAT与汉英翻译的基线进行了比较,因为中文和英文之间的语言结构与德语和英语之间的语言结构差异更大(En-De)。从表3(参考图7c)中我们可以发现,与Reorder-NAT(NAT)和imitate-NAT相比,ReorderNAT(AT)在汉英翻译中的进步更大(6-7BLEU分数)。原因是汉英翻译中爆炸性的搜索空间问题更加严重,可以通过ReorderNAT来有效缓解。
[0331] 以上对本申请实施例所提供的一种非自回归神经机器翻译方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈