一种翻译方法及装置与流程

文档序号:28528124发布日期:2022-01-18 20:16阅读:123来源:国知局
一种翻译方法及装置与流程

1.本发明涉及自然语言处理技术领域,尤其涉及一种翻译方法及装置。


背景技术:

2.现阶段的神经机器翻译(neural machine translation,nmt)系统可以翻译出近似人类语言的句子,但是目前神经机器翻译模型的训练方法更关注于生成的翻译语句的整体质量,使得模型翻译出的语句很流畅,准确性较低,经常出现误译,即翻译结果的语义与输入的待翻译语句的语义产生了偏差。
3.为了提高翻译模型的准确性,目前常见的做法是,在翻译模型的应用过程中,收集误译的语句,人工对误译语句进行修正,然后将修正后的语句加入模型的训练集,对翻译模型进行重新训练,强化翻译模型对自身无法翻译部分的翻译能力,从而提升翻译准确性。这种方法需要人工收集误译语句并对误译语句进行修正,人力和时间成本较高,并且只能在翻译模型上线应用后才能收集到误译语句,无法在翻译模型上线应用之前优化翻译模型的翻译质量。


技术实现要素:

4.为此,本发明提供一种翻译方法及装置,以力图解决或至少缓解上面存在的问题。
5.根据本发明的第一个方面,提供一种翻译方法,包括:以源语言语句及其对应的目标语言语句为训练样本,训练生成第一翻译模型;将上述源语言语句输入第一翻译模型,以得到源语言语句的翻译结果;通过将翻译结果与相应的目标语言语句进行比对,确定翻译结果中的误译片段及其对应的误译源片段;以包含误译源片段的源语言语句及其对应的目标语言语句为训练样本,以降低误译片段的产生概率为训练目标,对第一翻译模型进行训练,生成第二翻译模型。
6.根据本发明的第二个方面,提供一种翻译装置,第一训练模块,适于以源语言语句及其对应的目标语言语句为训练样本,训练生成第一翻译模型;检查模块,适于将上述源语言语句输入第一翻译模型,以得到源语言语句的翻译结果;以及通过将翻译结果与相应的目标语言语句进行比对,确定翻译结果中的误译片段及其对应的误译源片段;第二训练模块,适于以包含误译源片段的源语言语句及其对应的目标语言语句为训练样本,以降低误译片段的产生概率为训练目标,对第一翻译模型进行训练,生成第二翻译模型。
7.根据本发明的第三个方面,提供一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当上述程序指令被上述处理器读取并执行时,使得上述计算设备执行上述翻译方法。
8.根据本发明的第四个方面,提供一种存储有程序指令的可读存储介质,当上述程序指令被计算设备读取并执行时,使得上述计算设备执行上述翻译方法。
9.根据本发明的翻译方法,首先以源语言语句及其对应的目标语言语句为训练样本,训练生成第一翻译模型。随后,将训练集中的源语言语句输入训练好的第一翻译模型,
得到翻译结果,通过将翻译结果与相应的目标语言语句进行匹配,确定翻译结果中的误译片段及其对应的源片段(即误译源片段)。随后,以包含误译源片段的源语言语句及其对应的目标语言语句为训练样本,以降低误译片段的产生概率为训练目标,对第一翻译模型进行训练,生成第二翻译模型。
10.本发明的翻译方法可以针对第一翻译模型输出的误译片段进行进一步建模,对第一翻译模型进行优化,使得生成的第二翻译模型可以在保持翻译结果流畅性的同时大幅提高翻译的准确性。
11.本发明的翻译方法通过将训练集的翻译结果和目标语言语句进行自动比对,得到误译片段。并且,在训练生成第二翻译模型时,所采用的训练样本是原训练集(即用于训练生成第一翻译模型的训练样本集合)中被第一翻译模型误译的训练样本。本发明的翻译方法由计算设备自动执行,无须在模型上线应用阶段人工收集误译语句并对误译语句进行修正,相较于现有技术,本发明的翻译方法大大降低了人力和时间成本。
12.此外,本发明的翻译方法在模型上线应用之前完成准确性的优化,即,最终上线应用的模型为优化后的、翻译准确性高的第二翻译模型,避免将翻译准确性较低的第一翻译模型呈现给用户。
13.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
14.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
15.图1示出了本发明一个实施例的计算机系统9100的示意图;
16.图2示出了根据本发明一个实施例的机器学习模型9120的一种深度神经网络的示意图;
17.图3示出了根据本发明一个实施例的第一翻译模型300的结构图;
18.图4示出了根据本发明一个实施例的翻译方法400的流程图;
19.图5示出了根据本发明一个实施例的对第一翻译模型进行训练,生成第二翻译模型的过程的示意图;
20.图6示出了根据本发明一个实施例的计算设备600的示意图;
21.图7示出了根据本发明一个实施例的翻译装置700的示意图。
具体实施方式
22.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围
完整的传达给本领域的技术人员。
23.针对现有技术中存在的问题,本发明提供一种翻译方法及装置,以自动化地提高翻译模型的准确率,避免浪费人力和时间成本。
24.本发明的翻译方法用于对第一翻译模型进行优化,以生成翻译准确性更高的第二翻译模型。生成第二翻译模型后,可以将第二翻译模型上线发布,以供用户使用。图1示出了用于训练以及应用第二翻译模型的计算机系统9100的示意图。如图1所示,系统9100包括通过网络9180通信连接的用户计算设备9110、服务器计算系统9130和训练计算系统9150。
25.用户计算设备9110可以是任何类型的计算设备,包括但不限于例如个人计算设备(例如,膝上型或者桌面型计算机)、移动计算设备(智能电话或平板电脑)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备、边缘计算设备或任何其他类型的计算设备。用户计算设备9110可以作为端智能设备部署在用户现场处,并与用户进行交互而处理用户输入。
26.用户计算设备9110可以存储或包括一个或多个机器学习模型9120。机器学习模型9120可以被设计用于执行各种任务,诸如机器翻译、内容过滤、图像分类、目标检测、语音识别等等。机器学习模型9120可以是诸如神经网络(例如,深度神经网络)或者包括非线性模型和/或线性模型在内的其他类型的机器学习模型。机器学习模型9120的示例包括但不限于各类深度神经网络(dnn),如前馈神经网络、递归神经网络(rnn,例如,长短期记忆递归神经网络(lstm)、包括或者不包括注意力机制(attention)的转换器神经网络(transformer))、卷积神经网络(cnn)或其他形式的神经网络。机器学习模型9120可以包括一个机器学习模型,或者可以是多个机器学习模型的组合。
27.图2中示出了根据一些实施方式而作为机器学习模型9120的一种神经网络。神经网络具有分层架构,每一网络层具有一个或多个处理节点(称为神经元或滤波器),用于处理。在深度神经网络中,前一层执行处理后的输出是下一层的输入,其中架构中的第一层接收网络输入用于处理,而最后一层的输出被提供为网络输出。如图2所示,机器学习模型9120包括网络层9222、9224、9226等,其中网络层9222接收网络输入,网络层9226提供网络输出。
28.在深度神经网络中,网络内的主要处理操作是交织的线性和非线性变换。这些处理分布在各个处理节点。图2还示出了模型9120中的一个节点9221的放大视图。节点9221接收多个输入值a1、a2、a3等等,并且基于相应处理参数(诸如权重w1、w2、w3等)对输入值进行处理,以生成输出z。节点9221可以被设计为利用一个激活函数来处理输入,这可以被表示为:
29.z=σ(w
t
α+b)
ꢀꢀꢀꢀ
(1)
30.其中α表示节点9221的输入向量(其中包括元素a1、a2、a3等);w表示节点9221所使用的处理参数中的权重向量(其中包括元素w1、w2、w3等),每个权重用于加权相应的输入;b表示节点9221所使用的处理参数中的偏置项,用于偏置相应的输入和加权的结果;σ()表示节点9221所使用的激活函数,激活函数可以是线性函数、非线性函数。神经网络中常用的激活函数包括sigmoid函数、relu函数、tanh函数、maxout函数等等。节点9221的输出也可以被称为激活值。取决于网络设计,每一网络层的输出(即激活值)可以被提供给下一层的一个、多个或全部节点作为输入。
31.机器学习模型9120中的每个网络层可以包括一个或多个节点9221,当以网络层为单位来查看机器学习模型9120中的处理时,每个网络层的处理也可以被类似表示为公式(1)的形式,此时α表示网络层的输入向量,而w表示网络层的权重。
32.应当理解,图2示出的机器学习模型的架构以及其中的网络层和处理节点的数目均是示意性的。在不同的应用中,根据需要,机器学习模型可以被设计为具有其他架构。
33.继续参考图1,在一些实现方式中,用户计算设备9110可以通过网络9180从服务器计算系统9130接收机器学习模型9120,存储在用户计算设备的存储器中并由在用户计算设备中的应用来使用或者实现。
34.在另一些实现方式中,用户计算设备9110可以调用在服务器计算系统9130中存储和实现的机器学习模型9140。例如,机器学习模型9140可以由服务器计算系统9130实现为web服务的一部分,从而用户计算设备9110可以例如通过网络9180并根据客户端-服务器关系来调用作为web服务实现的机器学习模型9140。因此,可以在用户计算设备9110处使用的机器学习模型包括在用户计算设备9110处存储和实现的机器学习模型9120和/或在服务器计算系统9130处存储和实现的机器学习模型9140。
35.用户计算设备9110还可以包括接收用户输入的一个或多个用户输入组件。例如,用户输入组件可以是对用户输入对象(例如,手指或指示笔)的触摸敏感的触敏组件(例如,触敏显示屏或触摸板)。触敏组件可用于实现虚拟键盘。其他示例性的用户输入组件包括麦克风、传统键盘、摄像头或用户可以通过其提供用户输入的其他设备。
36.服务器计算系统9130可以包括一个或多个服务器计算设备。在服务器计算系统9130包括多个服务器计算设备的情况下,这些服务器计算设备可以根据顺序计算架构、并行计算架构或二者的一些组合来进行操作。
37.如上所述,服务器计算系统9130可以存储或包括一个或多个机器学习模型9140。类似于机器学习模型9120,机器学习模型9140可以被设计用于执行各种任务,诸如机器翻译、内容过滤、图像分类、目标检测、语音识别等等。模型9140可以包括各种机器学习模型。示例的机器学习模型包括神经网络或其他多层非线性模型。示例神经网络包括前馈神经网络、深度神经网络、递归神经网络和卷积神经网络。
38.用户计算设备9110和/或服务器计算系统9130可以经由与通过网络9180通信地耦接的训练计算系统9150的交互来训练模型9120和/或9140。训练计算系统9150可以与服务器计算系统9130分离,或者可以是服务器计算系统9130的一部分。
39.类似于服务器计算系统9130,训练计算系统9150可以包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。
40.训练计算系统9150可以包括模型训练器9160,其使用诸如例如误差的反向传播的各种训练或学习技术训练存储在用户计算设备9110和/或服务器计算系统9130处的机器学习模型9120和/或9140。在一些实现方式中,执行误差的反向传播可以包括执行通过时间截断的反向传播(truncated backpropagation through time)。模型训练器9160可以执行多种泛化技术(例如,权重衰减、丢失等)以改进正在训练的模型的泛化能力。
41.具体地,模型训练器9160可以基于训练数据9162的集合来训练机器学习模型9120和/或9140。训练数据9162可以包括多个不同的训练数据集合,每个训练数据集合例如分别有助于训练机器学习模型9120和/或9140执行多个不同的任务。例如,训练数据集合包括有
助于机器学习模型9120和/或9140执行机器翻译、内容过滤、对象检测、对象分割、图像分类和/或其他任务的数据集。
42.在一些实现方式中,如果用户已经明确同意,则训练示例可以由用户计算设备9110提供。因此,在这样的实现方式中,提供给用户计算设备9110的模型9120可以由训练计算系统9150在从用户计算设备9110接收的特定于用户的数据上训练。在一些情况下,该过程可以被称为个性化模型。
43.另外,在一些实现方式中,模型训练器9160可以对在服务器计算系统9130中的机器学习模型9140进行修改以获得适于在用户计算设备9110中使用的机器学习模型9120。这些修改例如包括减少模型中的各种参数数量、以更小的精度来存储参数值等,以使得训练后的机器学习模型9120和/或9140适于考虑到服务器计算系统9130和用户计算设备9110的不同处理性能来运行。
44.模型训练器9160包括用于提供所期望的功能性的计算机逻辑。模型训练器9160可以用控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实现方式中,模型训练器9160包括存储在存储设备上、加载到存储器中并由一个或多个处理器执行的程序文件。在其他实现方式中,模型训练器9160包括一个或多个计算机可执行指令的集合,其存储在诸如ram、硬盘或光学或磁性介质的有形计算机可读存储介质中。在一些实现方式中,模型训练器9160可以跨多个不同的设备复制和/或分布。
45.网络9180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或其一些组合,并且可以包括任何数量的有线或无线链路。通常,通过网络9180的通信可以经由任何类型的有线和/或无线连接,使用各种通信协议(例如,tcp/ip、http、smtp、ftp)、编码或格式(例如,html、xml和json)和/或保护方案(例如,vpn、https、ssl)来承载。
46.在本发明的一种实施例中,服务器计算系统9130可以调用训练计算系统9150,以生成本发明的第一翻译模型9142和第二翻译模型9144。
47.具体地,训练数据9162包括多个平行句对,平行句对指的是一对不同语言的语义相同的句子,即源语言语句及其对应的目标语言语句。训练计算系统9150以源语言语句及其对应的目标语言语句为训练样本,训练生成本发明的第一翻译模型9142。第一翻译模型9142以源语言语句为输入,输出该源语言语句的目标语言的翻译结果。例如,源语言为中文,目标语言为英语,则将一个中文语句输入第一翻译模型9142,第一翻译模型9142将输出该中文语句对应的英文翻译结果。训练生成的第一翻译模型9142可以部署于服务器计算系统9130中。
48.进一步地,在训练生成第一翻译模型9142后,服务器计算系统9130(或训练计算系统9150)可以将训练集中的源语言语句输入第一翻译模型9142,得到翻译结果,通过将翻译结果与相应的目标语言语句进行匹配,确定翻译结果中的误译片段及其对应的源片段(即误译源片段)。随后,以包含误译源片段的源语言语句及其对应的目标语言语句为训练样本,以降低误译片段的产生概率为训练目标,调用训练计算系统9150,对第一翻译模型进行训练,生成第二翻译模型9144。
49.训练生成第二翻译模型9144时所采用的训练样本是原训练集(即用于训练生成第一翻译模型的训练样本集合)中被第一翻译模型误译的训练样本。训练生成第二翻译模型
9144时所采用的目标函数与训练生成第一翻译模型9142时不同,前者的目标函数从降低误译片段的产生概率的角度进行设计,可以针对第一翻译模型输出的误译片段进行进一步建模,对第一翻译模型进行优化,使得生成的第二翻译模型可以在保持翻译结果流畅性的同时大幅提高翻译的准确性。
50.训练生成的第二翻译模型9144可以部署于服务器计算系统9130中。第二翻译模型9144以源语言语句为输入,输出该源语言语句的目标语言的翻译结果,其相较于第一翻译模型9142来说,翻译准确率更高。
51.第二翻译模型9144可以由服务器计算系统9130实现为web服务的一部分,从而用户计算设备9110可以例如通过网络9180并根据客户端-服务器关系来调用作为web服务实现的第二翻译模型9144。在本发明的实施例中,用户计算设备9110为用户所使用的终端设备。用户例如可以个人用户,其可以通过用户计算设备9110来使用本发明的第二翻译模型9144,以满足在工作、学习生活中的翻译需求。用户也可以是企业用户,例如翻译公司、具有涉外商业需求的公司等,其可以通过用户计算设备9110来使用本发明的第二翻译模型9144,实现准确、高效的机器翻译,以作商业用途,大大降低翻译工作的人力和时间成本。
52.具体地,用户可以通过用户计算设备9110向服务器计算系统9130发起翻译请求,并指定待翻译的源语言语句。服务器计算系统9130响应于该翻译请求,调用第二翻译模型9144,将待翻译的源语言语句输入第二翻译模型9144,模型9144将输出该源语言语句的目标语言的翻译结果。随后,服务器计算系统9130可以将翻译结果返回给用户计算设备9110。
53.在本发明的另一些实施例中,训练计算系统9150训练生成本发明的第二翻译模型9144可以经过一定的修改,例如对模型参数值进行量化(即以更小的精度,例如8位整型,来存储权重w、偏置b等参数值),将修改后的模型部署于用户计算设备9110中。如图1所示,将部署于用户计算设备9110中的第二翻译模型记为第二翻译模型9124。本领域技术人员可以理解,部署于服务器计算系统9130中的第二翻译模型9144与部署于用户计算设备9110中的第二翻译模型9124具有相同的功能。用户可以在用户计算设备9110中调用第二翻译模型9124,将待翻译的源语言语句输入该模型,该模型将输出该源语言语句的目标语言的翻译结果。
54.以下对第一翻译模型、第二翻译模型的结构和生成过程进行详述。
55.图3示出了根据本发明一个实施例的第一翻译模型300的结构图。如图3所示,第一翻译模型300包括编码模块310、注意力模块320和解码模块330。
56.编码模块310适于对源语言语句进行编码,生成源语言语句中各词的隐向量表示。
57.例如,源语言语句为由n个词组成的词序列{x1,x2,

,xn},将源语言语句输入编码模块310,编码模块310将输出源语言语句中各词的隐向量表示,即输出隐向量表示序列{r1,r2,

,rn}。编码模块310例如可以实现为glove模型、word2vec模型等词向量提取模块与双向的长短时记忆网络(bi-lstm)的组合,但不限于此。
58.注意力模块320适于生成源语言语句的权重矩阵,权重矩阵包括源语言语句中的各词对生成翻译结果中各词的权重。
59.例如,源语言语句为由n个词组成的词序列{x1,x2,

,xn},翻译结果为由m个词组成的词序列则注意力模块320所生成的权重矩阵a如下:
[0060][0061]
其中,a
ij
表示源语言语句中的第j个词xj(1≤j≤n)对生成翻译结果中的第i个词(1≤i≤m)的权重,即,源语言语句中的第j个词xj被翻译成翻译结果中的第i个词的概率。例如,a
2n
表示源语言语句中的第n个词xn被翻译成目标语言的翻译结果中的第2个词的概率。
[0062]
解码模块330适于根据注意力模块320输出的权重矩阵,对编码模块310输出的隐向量表示进行解码,以生成源语言语句的翻译结果,翻译结果为由目标语言的多个词所组成的词序列(即语句)。
[0063]
具体地,解码模块330适于根据编码模块310输出的源语言语句的隐向量表示序列和注意力模块320输出的权重矩阵,确定翻译结果的隐向量表示。随后,对翻译结果的隐向量表示序列进行解码,确定每个隐向量表示所对应的目标语言中的词,生成目标语言的词序列,即得到翻译结果。
[0064]
例如,编码模块310输出源语言语句{x1,x2,

,xn}的隐向量表示序列为r={r1,r2,

,rn},注意力模块320输出的权重矩阵a如上式(2)所示。将权重矩阵a与源语言语句的隐向量表示序列r相乘,得到翻译结果的隐向量表示序列{h1,h2,

,hm},如下所示:
[0065][0066]
随后,对隐向量表示序列{h1,h2,
……
,hm}进行解码,确定每个隐向量表示所对应的目标语言中的词,得到目标语言的词序列该词序列即为翻译结果。
[0067]
需要说明的是,在图3所示的实施例中,注意力模块320与解码模块330是两个独立的模块。在另一些实施例中,注意力模块320也可以实现为解码模块330的内部模块。
[0068]
图4示出了根据本发明一个实施例的翻译方法400的流程图。方法400在计算设备(例如前述服务器计算设备)中执行。如图4所示,方法400始于步骤s410。
[0069]
在步骤s410中,以源语言语句及其对应的目标语言语句为训练样本,训练生成第一翻译模型。
[0070]
在本发明的实施例中,源语言与目标语言是不同的语言。源语言语句及其对应的目标语言语句语义相同,在实践中,通常将源语言语句及其对应的目标语言语句记为一对平行语句。
[0071]
本领域技术人员可以理解,为了训练生成第一翻译模型,需要多个训练样本,这多个训练样本组成第一翻译模型的训练集。
[0072]
在训练生成第一翻译模型时,所采用的目标函数例如可以是交叉熵损失函数,但
不限于此。
[0073]
在训练生成第一翻译模型后,执行步骤s420。
[0074]
在步骤s420中,将上述源语言语句输入第一翻译模型,以得到源语言语句的翻译结果。
[0075]
在步骤s420中,输入第一翻译模型的源语言语句有多个,相应地,第一翻译模型将分别输出这多个源语言语句的翻译结果。步骤s420中输入第一翻译模型的多个源语言语句可以是步骤s410中用于训练生成第一翻译模型的训练样本的全部或一部分。
[0076]
例如,步骤s410中用于训练生成第一翻译模型的训练集包括k个训练样本,则步骤s420中,可以将这k个训练样本中的源语言语句均输入第一翻译模型,也可以从k个训练样本中选择p(p<k)个训练样本,将这p个训练样本中的源语言语句输入第一翻译模型。
[0077]
在步骤s420得到第一翻译模型输出的各源语言语句的翻译结果后,执行步骤s430。
[0078]
在步骤s430中,通过将翻译结果与相应的目标语言语句进行比对,确定翻译结果中的误译片段及其对应的误译源片段。
[0079]
根据一种实施例,步骤s430进一步包括:将翻译结果中的词与相应目标语言语句中的词进行匹配,确定翻译结果中的误译词,误译词的集合为误译片段。随后,采用预设的词对齐模型,从源语言语句中确定对应于误译词的误译源词,误译源词的集合为误译源片段。
[0080]
例如,第一翻译模型输出源语言语句x={x1,x2,

,x6}的翻译结果为该源语言语句对应的目标语言语句为y={y1,y2,

,y5}。采用词匹配算法(例如最大词匹配算法等)将翻译结果中的词与目标语言语句y中的词进行匹配。对于翻译结果中的某个词若在目标语言语句y中存在与相匹配的词,则词翻译正确;若在目标语言语句y中不存在与相匹配的词,则词翻译错误,即为误译词。翻译结果中的中的所有误译词组成的集合为误译片段y
t
。例如,通过对翻译结果和目标语言语句进行词匹配,确定误译片段
[0081]
随后,对于误译片段中的每一个误译词,采用预设的词对齐模型,从源语言语句中确定对应于该误译词的误译源词,误译源词的集合为误译源片段xm。在本发明的实施例中,词对齐模型用于确定与目标语言的词语义相同的源语言的词。本发明不限制词对齐模型的具体结构,任意可以实现词对齐功能的模型均在本发明的保护范围之内。例如,通过进行词对齐,确定误译词对应的误译源词为x5,误译词对应的误译源词为x3和x4,则误译源片段xm={x3,x4,x5}。
[0082]
在步骤s430确定了误译片段y
t
及其对应的误译源片段xm后,执行步骤s440。
[0083]
在步骤s440中,以包含误译源片段的源语言语句及其对应的目标语言语句为训练样本,以降低误译片段的产生概率为训练目标,对第一翻译模型进行训练,生成第二翻译模型。
[0084]
在本发明的实施例中,第二翻译模型与第一翻译模型的结构相同,但训练样本和
训练的目标函数不同。
[0085]
将第一翻译模型、第二翻译模型的训练集(训练样本集合)分别记为第一训练集和第二训练集,则第二训练集是第一训练集的子集。具体地,第二训练集由第一训练集中的被第一翻译模型误译的训练样本组成。
[0086]
如前所述,第一翻译模型的目标函数例如可以是交叉熵损失函数。第二翻译模型的目标函数除了考虑到原第一翻译模型的目标函数(第四目标函数)之外,还以降低误译片段的产生概率为目标,分别为编码模块310、注意力模块320和解码模块330所设置的第一目标函数、第二目标函数和第三目标函数。即,第二翻译模型的目标函数为第一目标函数、第二目标函数、第三目标函数、第四目标函数的加权求和结果。
[0087]
根据一种实施例,步骤s440中的以降低误译片段的产生概率为训练目标,对第一翻译模型进行训练,生成第二翻译模型的步骤包括:以降低误译片段的产生概率为目标,分别设置编码模块、注意力模块、解码模块对应的第一目标函数、第二目标函数、第三目标函数;以最小化第一目标函数、第二目标函数、第三目标函数、第四目标函数的加权求和结果为训练目标,对第一翻译模型进行训练,生成第二翻译模型,其中,第四目标函数为训练生成第一翻译模型时所采用的目标函数。
[0088]
根据一种实施例,编码模块310采用掩码语言模型训练目标(如图5所示),掩码模块310对应的第一目标函数le为:
[0089][0090]
其中,n为所述误译源片段所包括的词的数量,x为源语言语句,xm为误译源片段,xi为误译源片段中的第i个误译源词,x\xm为正确源片段,所述正确源片段为源语言语句中除误译源片段之外的词的集合,p(xi|x\xm)为在正确源片段x\xm的条件下生成误译源词xi的概率。
[0091]
根据一种实施例,在正确源片段的条件下生成误译源词的概率按照以下步骤确定:将源语言语句中的误译源词按照预设概率替换为掩码词,生成掩码语句;将掩码语句输入编码模块,以便编码模块输出每个误译源词位置的词的隐向量表示;根据源语言的词向量表,确定隐向量表示为相应误译源词的概率。
[0092]
例如,在源语言语句x={x1,x2,

,x6}中,误译源片段为xm={x3,x4,x5},即x3,x4,x5为误译源词。按照预设概率p,将误译源词替换为掩码词m,生成掩码语句。例如,针对误译源词x3,生成随机数p1,随机数p1小于预设概率p,则将误译源词x3替换为掩码词m。类似地,针对误译源词x4,生成随机数p2,随机数p2大于预设概率p,因此不将误译源词x4替换为掩码词m,而是保持x4不变。针对误译源词x5,生成随机数p3,随机数p3小于预设概率p,则将误译源词x5替换为掩码词m。完成掩码词的替换后,生成掩码语句为x’={x1,x2,m,x4,m,x6},如图5右下角所示。
[0093]
应当指出,预设概率p的值可以由本领域技术人员自行设置,本发明对此不做限制,在一个实施例中,例如可以将预设概率设置为0.8。此外,掩码词m可以是任意字符或字符串,本发明对掩码词的具体取值亦不做限制。
[0094]
生成掩码语句x’后,将掩码语句x’输入编码模块310,编码模块将输出每个误译源词位置的词的隐向量表示。参考上文描述,在对误译源词进行掩码词的替换后,误译源词位
置的词可能是误译源词本身(例如,如图5右下角所示,误译源词x4位置的词仍为x4本身),也可能是掩码词(例如,如图5右下角所示,误译源词x3、x5位置的词为掩码词m)。将掩码语句x’输入编码模块310后,编码模块将输出每个误译源词位置的词的隐向量表示r3、r4、r5。
[0095]
随后,根据源语言的词向量表,确定隐向量表示为相应误译源词的概率。例如,隐向量表示为一个列向量,源语言的词向量表为源语言的所有词的向量所组成的矩阵,矩阵中的每一列对应于源语言中的一个词。将词向量表与隐向量表示相乘,将得到一个维数与源语言所包括的词的数量相同的列向量,列向量中的每一行对应于源语言中的一个词。将该列向量中的元素值进行归一化,对应于相应误译源词位置的元素值即为该隐向量表示为相应误译源词的概率。
[0096]
例如,图5中的隐向量表示r3为一个列向量,将源语言的词向量表与r3相乘,得到列向量r’,r’的维数与源语言所包括的词的数量相同,r’中的每一行对应于源语言中的一个词。随后,将列向量r’中的元素值进行归一化,归一化后,对应于词x3的元素值即为隐向量r3为误译源词x3的概率p(x3|x\xm)。
[0097]
根据一种实施例,注意力模块320采用词对齐目标(如图5所示),注意力模块320对应的第二目标函数la为:
[0098][0099]
其中,i、j分别为权重矩阵的行、列数量,a
i,j
、b
i,j
分别为当前权重矩阵、词对齐矩阵中的第i行、第j列的元素值,词对齐矩阵为根据误译源词与误译词的对应关系对当前权重矩阵进行修正所得到的矩阵。本领域技术人员可以理解,权重矩阵的值在第二翻译模型的训练过程中是不断迭代变化的,训练过程中的每一次迭代均需要按照上述式(5)来计算目标函数值。每一次迭代计算la时的权重矩阵即为当前权重矩阵。
[0100]
根据一种实施例,词对齐矩阵按照以下步骤确定:对于每一个误译词,将当前权重矩阵中的相应误译源词到该误译词的权重设置为1,源语言语句中的其他词到该误译词的权重设置为0。
[0101]
例如,源语言语句x={x1,x2,

,x6}到翻译结果的当前权重矩阵为:
[0102][0103]
参考前述步骤s430中的词匹配及词对齐结果,得到误译词为误译词对应的误译源词为x5,误译词对应的误译源词为x3和x4。则在词对齐矩阵b中,对于误译词将相应误译源词x5到误译词的权重a
25
设置为1,源语言语句中的其他词到该误译词
的权重a
21
~a
24
、a
26
均设置为0,如图5右侧的“词对齐目标”所示。对于误译词将相应误译源词x3、x4到误译词的权重a
33
、a
34
设置为1,源语言语句中的其他词到该误译词的权重a
31
、a
32
、a
35
、a
36
均设置为0,即,词对齐矩阵b为:
[0104][0105]
根据一种实施例,解码模块330使用最大边缘概率目标(如图5所示),解码模块330对应的第三目标函数ld为:
[0106][0107]
其中,λ为预设的常数,其值例如可以设置为0.2;y为目标语言语句,为翻译结果,y
t
为误译片段,x为源语言语句,yj、分别为目标语言语句、翻译结果中的第j个词,p(yj|y1,y2,

,y
j-1
,x)表示在目标语言语句的前(j-1)个词和源语言语句x的条件下生成第j个词yj的概率,表示在翻译结果的前(j-1)个词和源语言语句x的条件下生成第j个词的概率。概率p(yj|y1,y2,

,y
j-1
,x)、可以参考前述概率p(xi|x\xm)的计算过程,根据目标语言的词向量表来计算得出,此处对二者的计算过程不做赘述。
[0108]
根据一种实施例,训练生成第一翻译模型所采用的第四目标函数为交叉熵损失函数l
t

[0109]
基于编码模块310对应的第一目标函数le、注意力模块对应的第二目标函数la、解码模块对应的第三目标函数ld以及训练生成第一翻译模型时采用的第四目标函数l
t
,训练生成第二翻译模型时的整体目标函数l为上述四个目标函数的加权求和结果,即:
[0110]
l=w1*le+w2*la+w3*ld+w4*l
t
ꢀꢀꢀꢀꢀꢀꢀ
(9)
[0111]
其中,w1~w4分别为第一目标函数~第四目标函数的权重。w1~w4的值可以由本领域技术人员自行设置,本发明对此不做限制。在一种实施例中,可以将w1~w4的值均设置为1,即l=le+la+ld+l
t

[0112]
基于上述设置的第二翻译模型的目标函数l,在第二翻译模型的训练过程中,利用误译片段,对编码模块310、注意力模块320和解码模块330使用不同的学习任务进行学习,使得各个模块都能够加强对误译片段的建模,从而提升翻译的准确性。同时,第二翻译模型的目标函数也考虑到原第一翻译模型的目标函数(即第四目标函数),从而使得第二翻译模型仍可以保持翻译结果的流畅性。
[0113]
本发明的翻译方法在计算设备中执行。计算设备例如可以实现为前述服务器计算设备。
[0114]
图6示出了根据本发明一个实施例的计算设备600的示意图。如图6所示,计算设备600包括至少一个处理器610和存储有程序指令的存储器620。其中,存储器620中存储有翻译装置700,装置700中包括用于执行本发明的翻译方法400的程序指令。当该程序指令被处理器610读取并执行时,使得计算设备600执行本发明的翻译方法400。
[0115]
图7示出了根据本发明一个实施例的翻译装置700的示意图。如图7所示,装置700包括第一训练模块710、检查模块720以及第二训练模块730。
[0116]
第一训练模块710适于以源语言语句及其对应的目标语言语句为训练样本,训练生成第一翻译模型。第一训练模块710的具体功能和处理逻辑可以参考上文中步骤s410的相关描述,此处不再赘述。
[0117]
检查模块720适于将上述源语言语句输入第一翻译模型,以得到源语言语句的翻译结果;以及通过将翻译结果与相应的目标语言语句进行比对,确定翻译结果中的误译片段及其对应的误译源片段。检查模块720的具体功能和处理逻辑可以参考上文中步骤s420、s430的相关描述,此处不再赘述。
[0118]
第二训练模块730适于以包含误译源片段的源语言语句及其对应的目标语言语句为训练样本,以降低误译片段的产生概率为训练目标,对第一翻译模型进行训练,生成第二翻译模型。第二训练模块730的具体功能和处理逻辑可以参考上文中步骤s440的相关描述,此处不再赘述。
[0119]
本发明还提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行本发明的翻译方法400。
[0120]
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd-rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
[0121]
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的翻译方法。
[0122]
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
[0123]
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的优选实施方式。
[0124]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0125]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0126]
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0127]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0128]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0129]
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0130]
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0131]
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本
发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1