语句翻译方法、装置、设备及介质

文档序号:1938185 发布日期:2021-12-07 浏览:27次 >En<

阅读说明:本技术 语句翻译方法、装置、设备及介质 (Statement translation method, device, equipment and medium ) 是由 孟凡东 苗孟琦 刘宜进 于 2021-05-19 设计创作,主要内容包括:本申请提供了一种语句翻译方法、装置、设备及介质,涉及机器翻译技术领域,用于提高翻译结果的忠实度。该方法包括:借助第一翻译辅助模型模拟第一翻译模型的过度自信翻译过程,从而根据第一翻译辅助模型和第一翻译模型各自输出的概率之间的差异,对第一翻译模型的忠实度训练损失进行量化,基于忠实度训练损失直接有效地调整第一翻译模型的模型参数,从而提高了训练得到的目标翻译模型输出的翻译语句的翻译忠实度。(The application provides a sentence translation method, a sentence translation device, sentence translation equipment and a sentence translation medium, relates to the technical field of machine translation, and is used for improving the fidelity of translation results. The method comprises the following steps: the method comprises the steps of simulating an over-confidence translation process of a first translation model by means of a first translation auxiliary model, quantifying the loyalty training loss of the first translation model according to the difference between the probabilities output by the first translation auxiliary model and the first translation model, and directly and effectively adjusting model parameters of the first translation model based on the loyalty training loss, so that the translation fidelity of a translated sentence output by a trained target translation model is improved.)

语句翻译方法、装置、设备及介质

技术领域

本申请涉及人工智能技术领域,尤其涉及机器翻译技术领域,提供一种语句翻译方法、装置、设备及介质。

背景技术

翻译模型被普遍地应用在自动翻译领域,翻译模型本质上可以理解为一个联合语言模型,其根据待译语句和已经翻译出的翻译文本预测下一个元素,直到获得待译语句的翻译结果。

目前,翻译模型的忠实度是评价翻译模型训练效果的一个重要指标,忠实度是指翻译模型输出的翻译结果与待译语句的相符程度,而如何提高翻译模型的忠实度是亟需解决的问题。

发明内容

本申请实施例提供一种语句翻译方法、装置、设备及介质,用于提高翻译结果的忠实度。

一方面,提供一种语句翻译方法,包括:

获得待翻译的目标语句;

将所述目标语句,输入已训练的目标翻译模型,获得目标翻译语句;

其中,所述目标翻译模型是采用第一样本训练数据集合,对待训练的第一翻译模型进行训练的过程中,基于忠实度训练损失值对所述第一翻译模型进行参数调整后获得的,每个第一样本训练数据包括第一样本待译语句和相应的第一样本翻译语句,所述忠实度训练损失值是基于各个输出位置各自对应的第一概率与第二概率之间的差异获得的,每个输出位置对应的第一概率为基于所述第一翻译模型,以相应的第一样本训练数据为条件,获得的第一目标元素的输出概率,每个输出位置对应的第二概率为基于第一翻译辅助模型,以相应的第一样本翻译语句为条件,获得的第一目标元素的输出概率。

一方面,提供一种语句翻译装置,包括:

语句获得模块,用于获得待翻译的目标语句;

语句翻译模块,用于将所述目标语句,输入已训练的目标翻译模型,获得目标翻译语句;

其中,所述目标翻译模型是采用第一样本训练数据集合,对待训练的第一翻译模型进行训练的过程中,基于忠实度训练损失值对所述第一翻译模型进行参数调整后获得的,每个第一样本训练数据包括第一样本待译语句和相应的第一样本翻译语句,所述忠实度训练损失值是基于各个输出位置各自对应的第一概率与第二概率之间的差异获得的,每个输出位置对应的第一概率为基于所述第一翻译模型,以相应的第一样本训练数据为条件,获得的第一目标元素的输出概率,每个输出位置对应的第二概率为基于第一翻译辅助模型,以相应的第一样本翻译语句为条件,获得的第一目标元素的输出概率。

在一种可能的实施例中,所述装置还包括模型训练模块,所述模型训练模块,具体用于采用以下方式训练获得的目标翻译模型:

基于所述第一样本训练数据集合,对待训练的第一翻译模型进行多次迭代训练,直到满足第一模型收敛条件为止,将所述多次迭代训练中满足第一预设条件的第一翻译模型作为目标翻译模型,其中,一次迭代训练包括以下操作:

从所述第一样本训练数据集合中选取第一样本训练数据;

将所述第一样本训练数据,输入所述第一翻译模型,获得各个输出位置各自对应的第一概率,其中,所述每个输出位置对应的第一概率是基于所述第一样本训练数据中的第一样本待译语句,以及相应输出位置关联的历史翻译文本确定的,其中,所述第一样本训练数据中的第一样本翻译语句中各个元素与所述各个输出位置一一对应,所述历史翻译文本为所述第一样本翻译语句中,位于所述相应输出位置对应的元素之前的文本内容;

将所述第一样本翻译语句,输入所述第一翻译辅助模型,获得所述各个输出位置各自对应的第二概率,其中,每个输出位置对应的第二概率是基于相应输出位置关联的所述历史翻译文本确定的;

基于所述各个输出位置各自对应的第一概率与第二概率之间的差异,获得忠实度训练损失值;

基于所述忠实度训练损失值,调整所述第一翻译模型的参数。

在一种可能的实施例中,所述模型训练模块具体用于:

基于所述第一翻译模型,对所述第一样本训练数据中的第一样本待译语句进行编码,获得编码结果;

基于所述第一翻译模型,分别针对各个输出位置执行以下操作:

针对一个输出位置,基于所述编码结果,对所述一个输出位置关联的所述历史翻译文本进行解码,获得所述一个输出位置的第一解码结果;

对所述一个输出位置的第一解码结果进行归一化处理,获得所述一个输出位置对应的第一概率。

在一种可能的实施例中,所述模型训练模块具体用于:

基于所述第一翻译辅助模型,分别针对各个输出位置执行以下操作:

对一个输出位置关联的所述历史翻译文本进行解码,获得所述一个输出位置的第二解码结果;

对所述一个输出位置的第二解码结果进行归一化处理,获得所述一个输出位置对应的第二概率。

在一种可能的实施例中,所述模型训练模块具体用于:

基于所述各个输出位置各自对应的第一概率和第二概率之间的概率差值,确定元素级别训练损失值,其中,所述元素级别训练损失值与所述各个输出位置的概率差值负相关;

基于所述各个输出位置各自对应的第一概率和第二概率之间的概率差值,确定句子级别训练损失值,其中,若第一比值大于比值阈值,则所述句子级别损失值为零,若第一比值小于或等于比值阈值,则所述句子级别损失值与所述各个输出位置的概率差值负相关,所述第一比值为:基于所述各个输出位置的概率差值,确定概率差值小于差值阈值的元素的数量,与所述第一样本翻译语句中的各个元素的总数量之间的比值;

基于所述元素级别训练损失值和所述句子级别训练损失值中的至少一种,获得所述忠实度训练损失值。

在一种可能的实施例中,所述模型训练模块具体用于:

针对所述各个输出位置,分别执行以下操作:

将一个输出位置的概率差值,代入预设函数,获得所述一个输出位置的第一训练分损失值,其中,所述预设函数为单调递减函数;

基于所述一个输出位置对应的第一概率,确定所述一个输出位置的权重,其中,所述一个输出位置的权重与所述一个输出位置对应的第一概率负相关;

基于所述一个输出位置的权重,对所述第一训练分损失值进行加权,获得所述一个输出位置的第二训练分损失值;

基于获得的所述各个输出位置对应的第二训练分损失值,获得所述元素级别训练损失值。

在一种可能的实施例中,所述模型训练模块具体用于:

基于所述元素级别训练损失值和所述句子级别训练损失值中的至少一种,获得初始忠实度训练损失值;

基于所述初始忠实度训练损失值与初始翻译训练损失值,确定所述忠实度训练损失值,其中,所述初始翻译训练损失值是基于所述各个输出位置的第一概率确定的,用于表示所述第一翻译模型预测出的翻译语句和所述第一样本翻译语句之间的误差。

在一种可能的实施例中,所述模型训练模块还用于:

所述基于所述忠实度训练损失值,调整所述第一翻译模型的参数之前,基于所述各个输出位置各自对应的第一概率,确定所述第一翻译模型的第一翻译训练损失值,所述第一翻译训练损失值表示预测出的翻译语句和所述第一样本翻译语句之间的误差;

基于所述各个输出位置各自对应的第二概率,确定所述第一翻译辅助模型的第二翻译训练损失值,所述第二翻译训练损失值表示预测出的翻译语句和所述第一样本翻译语句之间的误差;

对所述第一翻译训练损失值和所述第二翻译训练损失值进行加权求和,获得第一联合训练损失值;

所述基于所述忠实度训练损失值,调整所述第一翻译模型的参数时,基于所述第一联合训练损失值,调整所述第一翻译模型和所述第一翻译辅助模型的参数。

在一种可能的实施例中,所述模型训练模块还用于:

所述对待训练的第一翻译模型进行多次迭代训练之前,基于第二样本训练数据集合,对待训练的第二翻译模型和待训练的第二翻译辅助模型进行多轮联合预训练,直到满足第二模型收敛条件为止,将所述多轮联合预训练中满足第二预设条件的第二翻译模型作为第一翻译模型,将所述多轮联合预训练中满足第三预设条件的第二翻译辅助模型作为第一翻译辅助模型,每个第二样本训练数据包括第二样本待译语句和相应的第二样本翻译语句,每一轮联合预训练包括以下操作:

从所述第二样本训练数据集合中,选取第二样本训练数据;

将所述第二样本训练数据,输入第二翻译模型,获得各个输出位置各自对应的第三概率,其中,每个输出位置对应的第三概率为相应输出位置的第二目标元素的输出概率;

将所述第二样本训练数据中的第二样本翻译语句,输入第二翻译辅助模型,获得第四概率,每个输出位置的第四概率为相应输出位置的第二目标元素的输出概率;

基于所述各个输出位置各自对应的第三概率,确定所述第二翻译模型的第三翻译训练损失值,所述第三翻译训练损失值表示预测出的翻译语句和所述第二样本翻译语句之间的误差;

基于所述各个输出位置各自对应的第四概率,确定所述第二翻译辅助模型的第四翻译训练损失值,所述第四翻译训练损失值表示预测出的翻译语句和所述第二样本翻译语句之间的误差;

对所述第三翻译训练损失值和所述第四翻译训练损失值进行加权求和,确定第二联合训练损失值;

基于所述第二联合训练损失值,分别调整所述第二翻译模型和所述第二翻译辅助模型的参数。

在一种可能的实施例中,所述第二翻译模型至少包括与所述第二翻译辅助模型相同的结构,且所述第二翻译模型与第二翻译辅助模型相同的结构共享参数。

本申请实施例提供一种计算机设备,包括:

至少一个处理器,以及

与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如前文论述的任一的语句翻译方法。

本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如前文论述的任一的语句翻译方法。

由于本申请实施例采用上述技术方案,至少具有如下技术效果:

在本申请实施例中,在训练第一翻译模型时,引入了第一翻译辅助模型,该第一翻译辅助模型完全根据历史翻译文本进行输出,也就是说,第一翻译辅助模型相当于模拟了第一翻译模型中的依赖历史翻译文本进行翻译的过程,这样,第一翻译模型在各个输出位置上的第一概率与第一翻译辅助模型在相应输出位置上的第二概率之间的差异,则相当于表示了第一翻译模型的翻译忠实度,从而根据该差异,确定第一翻译模型的忠实度训练损失值,根据该忠实度训练损失值调整第一翻译模型的翻译忠实度,可以有效且直接地提高第一翻译模型的翻译忠实度,这样提高了目标翻译模型的翻译忠实度,从而提高了目标翻译模型得到的翻译语句的翻译效果。进一步地,由于目标翻译模型输出的翻译结果更忠实原文,在一定程度上也可以提高目标翻译模型的翻译流利度。且,本申请实施例提供了一种量化翻译模型的忠实度训练损失的方式。

附图说明

图1为本申请实施例提供的一种transformer模型的结构示意图;

图2为本申请实施例提供的一种语句翻译方法的方法流程图;

图3为本申请实施例提供的一种语句翻译方法的流程图;

图4为本申请实施例提供的一种语句翻译方法的过程示例图;

图5为本申请实施例提供的一种训练第一翻译模型的方法流程图;

图6为本申请实施例提供的一种第一样本翻译语句与各个输出位置对齐的示例图;

图7为本申请实施例提供的一种第一翻译模型的结构示意图;

图8为本申请实施例提供的一种第一翻译辅助模型的结构示意图;

图9为本申请实施例提供的图8中第二解码模块的结构示意图;

图10为本申请实施例提供的一种确定元素级别损失值的方法流程图;

图11为本申请实施例提供的一种联合预训练的方法流程图;

图12为本申请实施例提供的一种服务器和终端之间的交互过程示意图;

图13为本申请实施例提供的一种翻译过程中终端的翻译过程示例图;

图14为本申请实施例提供的一种语句翻译装置的结构示意图;

图15为本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。

为了便于本领域技术人员更好地理解本申请的技术方案,下面对本申请涉及的名词进行介绍。

1、待译语句和翻译语句:待译语句是指需要进行翻译的语句,翻译语句是指待译语句的翻译结果,本申请中的翻译语句又可以称为翻译结果。需要说明的是,待译语句和翻译语句是相对的概念,例如,翻译语句A时,翻译出的语句B即为翻译语句;翻译语句B时,翻译出的语句A即为翻译语句。为了便于描述,在训练翻译模型时,使用的待译语句和翻译语句可以分别称为样本待译语句和样本翻译语句。

2、翻译模型:是指用于文本翻译的模型,翻译模型本质上是一个联合语言模型,它基于待译语句和翻译语句中的历史翻译结果预测下一个词。例如,神经机器翻译(NeuralMachine Translation,NMT)模型,NMT模型是利用神经网络模型来学习机器翻译的统计模型,其主要优点是可以通过待译语句和翻译语句直接对一个系统进行训练,不再需要专门的统计机器学习系统。

3、翻译辅助模型:是指训练翻译模型过程中借助的其它模型,用于训练翻译模型,翻译辅助模型例如,语言模型(Language Model,LM),LM是一种自然语言处理的重要技术,自然语言处理中最常见的数据是文本数据。一段自然语言文本可以视为一段离散的时间序列,假设一段长度为T的文本中的词依次为w1,w2,…,wT,那么在离散的时间序列中,wt(1≤t≤T)可看作模型在时间步(time step)t时的输出或标签。

4、Transformer:是一种神经网络框架,包括编码部分和解码部分,编码部分包括多个依次连接的编码器,解码部分包括多个依次连接的解码器,每个编码器和解码器均包括自注意力层,自注意力层可以采用多头注意力机制。利用注意力机制可以使得模型对输入语句进行充分交互,可以有效捕捉输入语句的全局信息,得到丰富的上下文表示。

请参照图1,为一种transformer模型的模型结构,该transformer模型包括编码部分和解码部分,编码部分包括多个编码器,解码部分包括多个解码器,图1中是以编码部分包括3个编码器、解码部分包括3个解码器为例,但实际不限制编码部分包括的编码器数量和解码部分包括的解码器数量。编码部分中的最后一个编码器的编码输出可以输入给解码部分中每个解码器,每个解码器基于最后一个编码器的编码输出,对前一个解码器的解码输出进行解码。

5、流利度:翻译结果在目标语言环境下的流利程度。

6、忠实度:完整表达待译语句的程度,可以进一步理解为翻译结果包含待译语句中的语言信息的程度。

7、幻觉:是指一般是指流利但与原文内容不符的翻译结果。翻译结果与原文内容之间的偏离程度可以称为过于自信程度,或过自信程度。

8、忠实度训练损失值:是翻译模型的忠实度的一种衡量指标或优化目标,,该翻译模型的忠实度训练损失值与翻译模型的忠实度与流利度密切相关,忠实度训练损失值越小,一定程度上表示该翻译模型的忠实度和流利度中的至少一项偏小;翻译模型的忠实度训练损失值越大,在一定程度上可以表示该翻译模型的忠实度和流利度中的至少一项偏大。

9、云技术(Cloud technology):基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。

10、云计算(cloud computing):是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。

11、人工智能(Artificial Intelligence,AI):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

12、自然语言处理(Nature Language processing,NLP):是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

需要说明的是,本申请实施例中的“至少一个”是指一个或一个以上,“多个”是指两个或两个以上。

目前,翻译模型过于关注翻译已经翻译出的结果,使得翻译语句的忠实度较差,例如,待译语句为“中国公民张三和李四在A地旅游期间失联”,翻译模型的输出结果为“Chinese citizens San Zhang and Si Li lost their ties during a trip to A,China said on Tuesday”,可以看出翻译语句的流利度好,但是翻译语句中的“China saidon Tuesday”实际属于无中生有的内容,导致无法正确地表达待译语句的含义。

有鉴于此,本申请实施例提供一种语句翻译方法、装置、设备及介质,下面对本申请实施例中的语句翻译方法的设计思想进行介绍。

在本申请实施例中,在训练翻译模型时,直接引入了辅助翻译模型,该辅助翻译模型完全依赖于样本翻译语句进行输出,相当于衡量了待训练的翻译模型中语言模型的过自信程度,从而根据待翻译模型的输出概率与辅助翻译模型的输出概率之间的差异,量化待训练的翻译模型的忠实度训练损失值,基于忠实度训练损失值,对翻译模型进行参数调整,这样可以提高翻译模型对于待译语句的关注度,从而提高翻译语句的忠实度。且,在忠实待译语句的同时,还能提高翻译语句的流利度,整体上提升了翻译效果。

基于上述设计思想,下面对本申请实施例的语句翻译方法的应用场景进行介绍。

请参照图2,为本申请实施例提供的一种语句翻译方法的应用场景图,该应用场景图包括终端210、服务器220、以及运行在终端210中的应用程序211。

终端210和服务器220之间可以通过一个或者多个通信网络进行直接或间接的通信连接。该通信网络例如:有线网络或无线网络,无线网络例如,移动蜂窝网络或无线保真(Wireless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本申请实施例对此不做限制。

用户可以使用终端210中的应用程序211的相应功能,例如,终端210可以响应于翻译操作,生成翻译请求,并将翻译请求发送给服务器220。翻译请求用于请求服务器220对待翻译的目标语句进行翻译。翻译操作例如目标语句的输入操作、或针对目标语句点击翻译控件等。其中,应用程序211例如,预装在终端210中的应用,或嵌入在第三方应用中的应用、或者运行在浏览器中的网页等,本申请不对此进行限制。

服务器220可以用于支持该应用程序211相应的功能。例如,服务器120在接收到翻译请求之后,可以调用已训练的目标翻译模型,对目标语句进行翻译,获得目标翻译语句,其中,涉及的目标翻译模型的训练过程、以及语句翻译过程将在下文中介绍。

需要说明的是,在本申请实施例中,终端210的数量可以是一个或多个。服务器220的数量可以是一个或多个。图2中是以两个终端、一个服务器为例,实际不限制终端或服务器的数量。

应当说明的是,上述的语句翻译方法可以应用于各类具体应用场景,例如,应用到双语翻译场景中。语句翻译方法还可以应用到虚拟现实中、应用到增强现实、无人驾驶中、智能家具、智能办公、智能穿戴、智能交通,智慧城市、无人机、机器人中等各类涉及语句翻译的应用场景中,本申请不对此进行限制。

在一种可能的应用场景中,本申请中的已训练的目标翻译模型的模型参数、或翻译历史记录(如目标语句和目标翻译语句)等可以采用云存储(cloud storage)技术进行存储。云存储是在云计算概念上延伸和发展出来的一个新的概念,云存储例如,分布式云存储,基于分布式云存储构建的分布式云存储系统是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(或称存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。

在一种可能的应用场景中,为了便于降低通信时延,为了便于降低通信时延,可以在各个地区部署服务器220,或为了负载均衡,可以由不同的服务器220分别去服务各个终端210对应的地区。多个服务器220以通过区块链实现数据的共享,多个服务器220相当于多个服务器220组成的数据共享系统。例如终端210位于地点a,与服务器220之间进行通信连接,终端210位于地点b,与其他服务器之间通信连接。

对于数据共享系统中的每个服务器220,均具有与该服务器220对应的节点标识,数据共享系统中的每个服务器220均可以存储有数据共享系统中其他服务器220的节点标识,以便后续根据其他服务器220的节点标识,将生成的区块广播至数据共享系统中的其他服务器220。每个服务器220中可维护一个如下表所示的节点标识列表,将服务器220名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为网络之间互联的协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息。

上述中的终端为用户使用的电子设备,该电子设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、游戏设备、智能电视或智能穿戴设备等具有一定计算能力并且运行有应用程序的计算机设备。服务器220均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

当然,本申请实施例提供的语句翻译方法并不限用于图2所示的应用场景中,还可以用于其他可能的应用场景,本申请实施例并不进行限制。对于图2所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此不过多赘述。

请参照图3,为本申请实施例提供的语句翻译方法的流程图,该方法可以通过图2中的服务器或者终端来执行,也可以由服务器和终端共同执行,本申请实施例中是以服务器来执行为例进行介绍,该方法的流程介绍如下。

步骤31,获得待翻译的目标语句。

服务器可以从终端获取待翻译的目标语句,该目标语句的语种可以是任意语种,例如,中文、英文或法文等。

作为一种实施例,服务器还可以同时从终端获取该目标语句对应的目标翻译语种,目标翻译语种是指需要将该目标语句翻译成的语种类型。

步骤32,将目标语句,输入已训练的目标翻译模型,获得目标翻译语句;其中,目标翻译模型是采用第一样本训练数据集合,对待训练的第一翻译模型进行训练的过程中,基于忠实度训练损失值对第一翻译模型进行参数调整后获得的。

服务器可以预存有目标翻译模型,或者服务器可以调用其他设备上的目标翻译模型,利用该目标翻译模型,对目标语句进行翻译,从而获得目标翻译语句。该目标翻译模型可以是基于第一样本训练数据集合,对待训练的第一翻译模型进行训练得到的,并在训练过程中,会基于忠实度训练损失值对第一翻译模型进行参数调整。

其中,第一样本训练数据集合包括至少一个第一样本训练数据,每个第一样本训练数据包括第一样本待译语句,以及用于表示第一样本待译语句的翻译结果的第一样本翻译语句。

作为一种实施例,如果目标翻译模型为多语种翻译模型,即可以翻译多种语种,那么第一样本训练数据集合中的各个第一样本待译语句可以为多种语种,同理,第一样本训练数据集合中的各个第一样本翻译语句也可以为多种语种。如果目标翻译模型为单语种翻译模型,那么第一样本训练数据集合中的各个第一样本待译语句可以为一种语种,第一样本训练数据集合中的各个第一样本翻译语句可以为一种语种,且任一的第一样本待译语句和相应的第一样本翻译语句的语种不同。

在根据第一样本训练数据集合,对第一翻译模型进行训练时,服务器可以将第一样本翻译语句和相应的第一样本翻译语句输入第一翻译模型,第一翻译模型基于第一样本翻译语句和相应的第一样本翻译语句,从而预测各个输出位置各自的第一概率,各个输出位置可以理解为第一翻译模型预测的翻译语句对应的各个位置,第一概率为第一翻译模型输出的各个输出位置上相应第一目标元素的概率。第一翻译模型可以在一个输出位置上输出各个候选元素的概率,相应输出位置上的第一目标元素例如:第一样本翻译语句中对应该输出位置上真实的元素,或者各个候选元素中概率最大的元素。候选元素可以理解为第一翻译模型对应的元素库中的元素,该元素库可以服务器预先配置的,或者可以是在训练过程中,基于第一样本训练数据集合积累获得的。

同理,第一服务器将相应的第一样本翻译语句输入第一翻译辅助模型,第一翻译辅助模型根据第一样本翻译语句,从而输出各个输出位置各自第一目标元素的第二概率,各个输出位置可以参照前文论述的内容,此处不再赘述。第一目标元素可以参照前文论述的内容,此处不再赘述。该第一翻译辅助模型可以是预训练的模型。由于第一翻译辅助模型是完全根据第一样本翻译语句进行输出,与第一样本待译语句无关,这样相当于模拟了翻译过程中过度依赖历史翻译文本进行翻译的过程,从而可以基于第一翻译辅助模型输出的第二概率,量化第一翻译模型的过度自信程度。

服务器基于同一输出位置上的第一概率和第二概率之间的差异,从而确定忠实度训练损失值,并基于该忠实度训练损失值调整第一翻译模型的参数。

需要说明的是,待训练的第一翻译模型是指第一翻译模型相对于目标翻译模型而言,是未经过第一样本训练数据集合进行训练得到的,实际上第一翻译模型也可以是提前通过其它训练数据进行预训练过的模型。

例如,请参照图4,为本申请实施例提供的一种语句翻译方法的过程示例图,第一样本待译语句为“她是我的朋友”,相应的第一样本翻译语句为“She is my friend”,服务器将第一样本待译语句和第一样本翻译语句输入第一翻译模型,该第一翻译模型在第一输出位置上为“She”的第一概率为0.5,第二输出位置上为“is”的第一概率为0.6,第三输出位置上为“my”的第一概率为0.4,第四输出位置上为“friend”的第一概率为0.35。同理,第一服务器将第一样本翻译语句“She is my friend”输入第一翻译辅助模型,该第一翻译辅助模型在在第一输出位置上为“She”的第二概率为0.6,第二输出位置上为“is”的第二概率为0.8,第三输出位置上为“my”的第二概率为0.7,第四输出位置上为“friend”的第二概率为0.3。

在图3所示的实施例中,翻译模型之所以会过度自信,是因为翻译模型过度关注历史的翻译结果,而第一翻译辅助模型是基于第一样本翻译语句进行输出,也就是说,第一翻译辅助模型相当于模拟了第一翻译模型中过于关注历史翻译文本的过程,因此可以基于第一翻译模型输出的第一概率和第一翻译辅助模型输出的第二概率之间的差异,从而计算忠实度训练损失值,服务器可以根据该忠实度训练损失值调整第一翻译模型,也就是说,本申请实施例提供了一种量化了第一翻译模型的忠实度训练损失值的方式,并直接基于忠实度训练损失值调整第一翻译模型的参数,从根本上提高第一翻译模型的忠实度,相应提高目标翻译模型输出的翻译结果的忠实度。

步骤32中的目标翻译模型可以是服务器从其他设备获取得到的,其他设备是指除服务器之外的设备,也可以是服务器对第一翻译模型进行训练得到的,下面以服务器训练第一翻译模型的过程为例,对训练第一翻译模型,获得目标翻译模型的过程进行介绍。

请参照图5,为本申请实施例提供的一种训练第一翻译模型的方法流程图,该方法流程图具体包括:

步骤51,基于第一样本训练数据集合,对待训练的第一翻译模型进行多次迭代训练,直到满足第一模型收敛条件为止,将多次迭代训练中满足第一预设条件的第一翻译模型作为目标翻译模型,其中,一次迭代训练包括以下操作:

步骤511,从第一样本训练数据集合中选取第一样本训练数据;

步骤512,将第一样本训练数据,输入第一翻译模型,获得各个输出位置各自对应的第一概率;

步骤513,将第一样本翻译语句,输入第一翻译辅助模型,获得各个输出各自对应的第二概率;

步骤514,基于各个输出位置各自对应的第一概率和第二概率之间的差异,获得忠实度训练损失值;

步骤515,基于忠实度训练损失值,调整第一翻译模型的参数。

在每一次迭代训练可以获得相应的一个第一翻译模型,可以进一步理解为第一翻译模型的参数,经过多次迭代训练后,服务器相当于可以获得多个第一翻译模型,服务器可以从这多个第一翻译模型,筛选满足第一预设条件的第一翻译模型,第一预设条件例如:多次迭代训练中最后一次迭代训练输出的第一翻译模型作为目标翻译模型,或将翻译指标满足指标条件的第一翻译模型作为目标翻译模型,翻译指标例如,翻译结果的忠实度或其它指标,翻译指标可以是基于第一验证集合确定的,第一验证集合的含义可以参照第一样本训练数据集合,此处不再赘述。

在本申请实施例中,可以采用迭代训练方式对第一翻译模型进行训练,每次迭代训练采用第一样本训练数据集合中选取的第一样本训练数据进行训练,选取的第一样本训练数据可以是一个或多个。

在步骤512中,第一翻译模型可以基于第一样本待译语句,以及一个输出位置关联的历史翻译文本,确定该输出位置对应的第一概率。第一样本训练数据中的第一样本翻译语句中各个元素与各个输出位置一一对应,相应位置关联的历史翻译文本为第一样本翻译语句中,位于相应输出位置对应的元素之前的文本内容。元素可以理解为第一样本翻译语句的组成单位,例如,元素可以为一个词,或为一个字母等。

为了清楚地说明历史翻译文本的含义,下面进行举例介绍:

请参照图6,为第一样本翻译语句与各个输出位置对齐的示例图,如图6所示,第一样本翻译语句为“He comes from China”,该第一样本翻译语句中每个元素(这里的元素即为一个词)与各个输出位置一一对应,具体来说,“He”对应第一个输出位置,“comes”对应第二个输出位置,“from”对应第三个输出位置,“China”对应第四个输出位置。以第三个输出位置61为例,该第三个输出位置61对应的历史翻译文本62即为“He comes”。

作为一种实施例,步骤512的一种实现方式示例如下:

步骤1.1,基于第一翻译模型,对第一样本训练数据中的第一样本待译语句进行编码,获得第一编码结果。

步骤1.2,基于第一翻译模型,对一个输出位置关联的历史翻译文本进行解码,获得一个输出位置的解码结果。

步骤1.3,基于第一翻译模型,对该输出位置的解码结果进行归一化处理,获得该输出位置对应的第一概率。

在本申请实施例中,服务器可以对第一样本待译语句进行编码,该编码例如,嵌入学习或深度编码中的一种或两种,从而获得该第一样本待译语句的编码结果,该编码结果可以理解为第一样本待译语句的语义信息。

服务器基于该编码结果,对该输出位置关联的历史翻译文本进行解码,从而获得该输出位置上的第一解码结果,该第一解码结果可以理解为该输出位置对应元素的语义信息。服务器对第一解码结果进行归一化处理,从而获得该输出位置对应的第一概率。

在本申请实施例中,第一翻译模型输出的第一解码结果分别与编码结果和历史翻译文本相关,这样避免了第一翻译模型过于关注第一样本待译语句或过于关注历史翻译文本的情况。

作为一种实施例,请参照图7,为本申请实施例提供的一种第一翻译模型的结构示意图,该第一翻译模型包括:编码模块、第一解码模块和第一归一化模块。编码模块用于对第一样本待译语句进行编码,获得编码结果;第一解码模块用于基于编码结果,对相应输出位置的历史翻译文本进行解码,从而获得第一解码结果;第一归一化模块用于对第一解码结果进行归一化处理,获得相应输出位置的第一概率。

进一步地,编码模块可以通过一个或多个编码器实现,编码器例如采用transformer模型中的编码器。同理,第一解码模块可以通过一个或多个解码器实现,解码器例如采用transformer模型中的解码器。第一归一化模块可以包括一个或多个归一化层。

作为一种可能的实施例,第一翻译模型还可以采用基于循环神经网络(Recurrentneural network,RNN)的神经机器翻译模型,或者直接采用transformer模型等。

以此类推,服务器可以对每个输出位置进行上述处理,从而获得每个输出位置对应的第一概率。

同理,在步骤513中,第一翻译辅助模型可以基于一个输出位置关联的历史翻译文本,确定该输出位置对应的第二概率。历史翻译文本的含义可以参照前文论述的内容,此处不再赘述。

作为一种实施例,步骤513的一种实现方式示例如下:

步骤2.1,基于第一翻译辅助模型,对一个输出位置关联的历史翻译文本进行解码,获得该输出位置的第二解码结果;

步骤2.2,基于第一翻译辅助模型,对该输出位置的第二解码结果进行归一化处理,获得该输出位置对应的第二概率。

在本申请实施例中,服务器可以直接根据该输出位置上的历史翻译文本,预测某个输出位置上属于相应第一目标元素的第二概率,也就是说,第一翻译辅助模型的输出仅仅与历史翻译文本相关,与第一待译语句无关,从而可以准确地模拟出第一翻译模型中过度关注历史翻译文本的过程,以便于后续更准确地确定第一翻译模型的忠实度训练损失值。

作为一种实施例,请参照图8,为本申请实施例提供的一种第一翻译辅助模型的结构示意图,该第一翻译辅助模型包括第二解码模块和第二归一化层,第二解码模块对一个输出位置关联的历史翻译文本进行解码,第二归一化层对第二解码模块的第二解码结果进行归一化处理,从而获得该输出位置的第二概率。

进一步地,请参照图9,为图8中第二解码模块的结构示意图,该第二解码模块包括嵌入层和N个解码器,每个解码器包括自注意力层、第三归一化层、前馈网络和第四归一化层,N的取值为大于或等于1的整数。

具体的,通过嵌入层,对第一样本翻译语句进行嵌入学习,获得第一样本翻译语句的样本序列化表示;通过自注意力层,采用自注意力机制,对样本序列化表示进行处理,获得每个输出位置的注意力表示;对同个输出位置对应的注意力表示以及样本序列化表示中的元素进行加权,获得各个输出位置上的第一加权结果;通过第三归一化层,分别对各个输出位置上的第一加权结果进行归一化处理,获得各个输出位置的第一归一化结果;通过前馈网络,对各个输出位置的第一归一化结果进行前馈处理;对同个输出位置上的前馈处理结果以及第一归一化结果进行加权,从而获得各个输出位置上的第二加权结果;通过第四归一化层,分别对各个输出位置上的第二加权结果进行归一化处理,获得各个输出位置对应的第二归一化处理结果。

以此类推,通过N个的解码器进行处理之后,再通过第二归一化模块,从而获得各个输出位置上的第二概率。

忠实度训练损失值的计算方式有多种,下面进行示例说明:

计算方式一:

以元素级别训练损失值(Margin-based Token-level Objective,MTO)表示忠实度训练损失值。其中,当元素为一个词时,那么元素级别训练损失值又可以称为词级别训练损失值或词级别优化目标。

具体的,服务器基于各个输出位置各自的第一概率和第二概率之间的概率差值,确定元素级别的训练损失值,其中,元素级别训练损失值与各个输出位置的概率差值负相关。元素级别训练损失值反映了第一翻译模型与第一辅助模型预测的各个元素之间的差异。

请参照图10,为本申请实施例提供的一种确定元素级别损失值的方法流程图,该方法流程图包括:

步骤1001,针对各个输出位置,分别执行以下操作:将一个输出位置的概率差值,代入预设函数,获得该输出位置上的第一训练分损失值,预设函数为单调递减函数;

步骤1002,根据该输出位置的第一概率,从而确定该输出位置的权重,其中,该输出位置的权重与该输出位置对应的第一概率负相关;

步骤1003,根据该输出位置的权重,对该输出位置的第一训练分损失值进行加权,从而获得该输出位置的第二训练分损失值;

步骤1004,基于各个输出位置对应的第二训练分损失值,从而获得元素级别损失函数。

在本申请实施例中,当某个输出位置上的第一概率较大时,表示第一翻译模型在该元素上学习的较好,不需要过于关注这个元素,因此可以适当减少该输出位置对应的训练分损失值;当某个输出位置上的第一概率较小时,第一翻译模型需要加强该元素的训练,因此可以适当增加该输出位置上的训练分损失,也就是说,本申请实施例中根据输出位置上的第一概率,根据第一翻译模型对各个元素的学习效果,灵活地调整相应输出位置上的训练分损失值的大小,有利于提高第一翻译模型的训练效果。

下面对元素级别损失值的计算过程进行介绍:

步骤3.1,确定第一翻译模型与第一翻译辅助模型在某个输出位置上的概率差值(又可以称为Margin),一种某个输出位置上的概率差值的计算公式示例如下:

Δ(t)=pNMT(yt|y<t,x)-pLM(yt|y<t) (1)

其中,Δ(t)即为Margin,或可以理解为第一翻译模型的忠实度,pNMT(yt|y<t,x)表示第一翻译模型在一输出位置上的第一概率,可以简写为pNMT(t),pLM(yt|y<t)表示第一翻译辅助模型在该输出位置上的第二概率,x表示第一样本待译语句,y<t表示该输出位置关联的历史翻译文本,yt表示该输出位置上的第一目标元素。

具体的,Δ(t)与第一翻译模型的过自信程度负相关,具体而言:当Δ(t)较大时,表示第一翻译模型显然优于第一翻译辅助模型,yt与第一样本待翻译语句x相关度较高,对应表示第一翻译模型没有过自信;当Δ(t)适中时,第一翻译模型可能略微过自信,有继续增强的空间;当Δ(t)较小时,第一翻译模型过于自信,可能无法正确翻译第一样本翻译语句。

步骤3.2,确定该输出位置上的第一训练分损失值第一训练分损失值的具体表达式可以为如下的任意一种:

(1)线性(Linear)函数:(1-Δ(t))/2

(2)立方(cube)函数:(1-Δ(t)3)/2

(3)五次方(Quintic)函数:(1-Δ(t)5)/2

(4)对数(Logarithmic)函数:其中,α为超参数

(5)sigmoid函数:1/(1+e-Δ(t))

在本申请实施例中,线性函数形式更为简单,而立方函数、五次方函数、对数函数和sigmoid函数对于不同的Δ(t),可以分别对应不同的斜率,从而可以拉开不同次训练过程中确定出的忠实度训练损失值的差距,利于快速地训练第一翻译模型。

步骤3.3,确定该输出位置上的第二训练分损失值,并对各个输出位置上的第二训练分损失值进行求和,获得初始元素级别训练损失值。

作为一种实施例,某个输出位置上的权重为:固定权重或(1-pNMT(yt|y<t,x))的M次方,固定权重例如取值为1,M为大于或等于1的数。当输出位置对应的权重取值为1时,相对计算元素级别训练损失值的计算量更小。

在本申请实施例中,当输出位置对应的权重与第一概率相关时,可以灵活地调整每个元素对应的训练分损失值,有利于确定更为合理的元素级别训练损失值。

步骤3.4,基于初始元素级别训练损失值,确定元素级别训练损失值,一种计算元素级别训练损失值的公式示例如下:

其中,(1-pNMT(yt|y<t,x))表示某个输出位置上的权重,T表示输出位置的总数量,为元素级别训练损失值。

可以以公式(2)的计算结果作为忠实度训练损失值,也可以对公式(2)的计算结果进行加权,从而获得忠实度训练损失值,也可以基于元素级别训练损失值和初始翻译训练损失值,确定忠实度训练损失值,服务器还可以根据各个输出位置的第一概率,确定第一翻译模型的初始翻译训练损失值,该初始翻译训练损失值例如,采用交叉熵损失函数计算。一种计算忠实度训练损失值的公式为:

其中,表示忠实度训练损失值,表示第一翻译模型的初始翻译训练损失值,即表示第一翻译模型的预测出的翻译语句与第一样本翻译语句之间的误差,λM为超参数。

作为一种实施例,例如可以采用第一翻译模型的交叉熵损失函数表示,此时,的计算公式示例如下:

其中,P(y|x)表示第一翻译模型预测出的翻译语句的第一句子概率,第一句子概率例如可以用翻译语句的条件概率来表示。

在计算方式一中,服务器利用各个输出位置的概率差值,计算元素级别训练损失值,且元素级别训练损失值与各个输出位置的概率差值负相关,提供了一种计算简单且合理的忠实度训练损失值的量化方式。

计算方式二:

以句子级别训练损失值(Margin-based Sentence-level Objective,MSO)表示忠实度训练损失值,句子级别训练损失值又可以称为句子级别优化目标。

具体的,服务器基于各个输出位置各自对应的第一概率和第二概率之间的概率差值,确定句子级别训练损失值。如果第一比值大于比值阈值,那么句子级别损失值为零;如果第一比值小于或等于比值阈值,那么句子级别损失值与各个输出位置的概率差值负相关。其中,第一比值为:基于各个输出位置的概率差值,确定概率差值小于差值阈值的元素的数量,与第一样本翻译语句中的各个元素的总数量之间的比值。

第一翻译模型相比第一翻译辅助模型,有额外的第一样本待译语句的信息,因此理论上第一翻译模型的预测结果应当比第一翻译辅助模型的预测结果更精确,也就是说,各个输出位置上Δ(t)均应大于0。但实际上存在Δ(t)小于0的元素,如果各个输出位置对应存在大量Δ(t)均应小于0的元素,那么表示第一翻译模型预测出该第一待译语句的翻译结果的准确性较差,即该第一翻译模型对该第一待译语句的翻译结果为幻觉,即翻译结果的忠实度较差,因此在本申请实施例中可以将这类第一样本训练数据的句子级别训练损失值设置为0,相当于将这一类第一样本训练数据视为“脏”数据,并剔除了这一类第一样本训练数据,从而提高训练第一翻译模型的效果。

当然,如果各个输出位置对应存在少量Δ(t)小于0的元素,那么表示第一翻译模型预测出该第一待译语句的翻译结果的准确性在可接受范围内,因此在本申请实施例中可以根据各个输出位置对应的概率差值,确定句子级别损失值,且句子级别训练损失值与各个输出位置的概率差值负相关。

作为一种实施例,一种句子级别训练损失值的计算公式示例如下:

其中,其中为示性函数,当时,否则 在训练阶段是动态变化的,k为比值阈值,为前文论述的元素级别训练损失值,即为第一比值。

其中,第一比值的计算公式示例如下:

其中,#{yt∈y:Δ(t)<0}指y中Δ(t)小于0的元素的数量,#{yt:yt∈y}指第一样本翻译语句y包括的元素的总数量。

作为一种实施例,比值阈值可以取值为0.3。

在计算方式二中,引入句子级别训练损失值,可以排除第一样本训练数据集合中预测准确性较差的第一样本训练数据,从而排除局部误差较大的一些样本训练数据,提高第一翻译模型的训练效果,另外,在训练的过程中,逐渐提高第一翻译模型辨别“脏”数据的能力,进一步提高第一翻译模型的训练效果。

计算方式三:

以句子级别训练损失值和元素级别训练损失值的加权求和结果,表示忠实度训练损失值。

在对句子级别训练损失值和元素级别训练损失值进行加权求和时,句子级别训练损失值和元素级别训练损失值各自的权重可以是相同的,也可以是不同,本申请不对此进行限制。其中,句子级别训练损失值与元素级别训练损失值各自的计算方式可以参照前文论述的内容,此处不再赘述。

在本申请实施例中,结合句子级别训练损失值与元素级别训练损失值,计算忠实度训练损失值,在量化第一翻译模型在翻译忠实度上的训练损失值的同时,还可以排除第一样本训练数据集合中的“脏”数据,以提高第一翻译模型的训练效果。

计算方式四:

以句子级别训练损失值和元素级别训练损失值中的至少一个,确定初始忠实度训练损失值;

基于初始训练损失值与初始翻译训练损失值,确定忠实度训练损失值,其中,初始翻译训练损失值是基于所述各个输出位置的第一概率确定的,用于表示所述第一翻译模型预测出的翻译语句和所述第一样本翻译语句之间的误差。

例如,可以将计算方式一中的元素级别训练损失值确定为初始忠实度训练损失值,也可以将计算方式二中的句子级别训练损失值,确定为初始忠实度训练损失值,也可以将计算方式二中的句子级别训练损失值和元素级别训练损失值的加权求和结果,确定为初始忠实度训练损失值。进一步地,初始翻译训练损失值的确定方式可以参照前文论述内容,此处不再赘述。服务器对初始翻译训练损失值和初始忠实度训练损失值进行加权求和,从而获得忠实度训练损失值。

在计算方式四中,不仅量化了第一翻译模型的忠实度,还引入了第一翻译模型的翻译损失,有利于整体提高第一翻译模型的翻译效果,对应提高了目标翻译模型的输出结果的翻译效果。

服务器在确定忠实度训练损失值之后,可以根据忠实度训练损失值调整第一翻译模型的参数,例如,服务器可以采用梯度下降算法等,调整第一翻译模型的参数。

作为一种实施例,为了提高第一翻译辅助模型和第一翻译模型的训练效果,本申请实施例中引入第一翻译辅助模型和第一翻译模型的第一联合训练损失值,第一联合训练损失值用于表示第一翻译辅助模型和第一翻译模型的翻译损失,进一步地,在训练第一翻译辅助模型和第一翻译模型时,可以基于忠实度训练损失值,以及第一联合训练损失值,对第一翻译辅助模型和第一翻译模型进行参数调整。

作为一种实施例,一种计算第一联合训练损失值的方式具体包括:

步骤4.1,基于各个输出位置各自对应的第一概率,确定第一翻译模型的第一翻译训练损失值;

步骤4.2,基于各个输出位置各自的第二概率,确定第一翻译辅助模型的第二翻译训练损失值;

步骤4.3,对第一翻译训练损失值和第二翻译训练损失值进行加权求和,获得第一联合训练损失值。

在步骤4.1中,服务器可以将各个输出位置各自对应的第一概率的乘积,作为第一翻译模型预测的翻译语句的第一句子概率,并基于该第一句子概率,从而确定该第一翻译模型的第一翻译训练损失值,该第一翻译训练损失值用于表示预测出的翻译语句与第一样本翻译语句之间的误差。

作为一种实施例,第一翻译训练损失值的计算公式可以参照前文公式(4)。

同理,在步骤4.2中,服务器可以将各个输出位置各自对应的第二概率的乘积,并基于该第二句子概率,从而确定该第一翻译模型的第一翻译训练损失值。

作为一种实施例,第二翻译训练损失值的计算公式为:

作为一种实施例,一种计算第一联合训练损失值的计算公式如下:

其中,λLM为超参数。

在计算出第一联合训练损失值之后,服务器可以根据第一联合训练损失值,调整第一翻译模型和第一翻译辅助模型的参数。

在本申请实施例中,联合第一联合训练损失值和忠实度训练损失值共同训练第一翻译模型和第一翻译辅助模型,在保证第一翻译模型的翻译忠实度时,还能保证第一翻译模型和第一翻译辅助模型的翻译效果,且,同步对第一翻译模型和第一翻译辅助模型进行训练,可以提高训练的效率。

作为一种实施例,为了保证第一翻译辅助模型预测出的翻译语句的准确性,在根据忠实度训练损失值调整第一翻译辅助模型的参数之前,可以对第一翻译辅助模型和第一翻译模型进行联合预训练,请参照图11,为本申请实施例提供的一种联合预训练的方法流程图,该方法流程图包括:

步骤110,基于第二样本训练数据集合,对待训练的第二翻译模型和待训练的第二翻译辅助模型进行多轮联合预训练,直到满足第二模型收敛条件为止,将多轮联合预训练中满足第二预设条件的第二翻译模型作为第一翻译模型,将多轮联合预训练中满足第三预设条件的第二翻译辅助模型作为第一翻译辅助模型,其中,每个第二样本训练数据包括第二样本待译语句和相应的第二样本翻译语句,每一轮联合预训练包括以下操作:

步骤1101,从第二样本训练数据集合中选取第二样本训练数据;

步骤1102,将第二样本训练数据,输入第二翻译模型,获得各个输出位置各自对应的第三概率;

其中,每个输出位置对应的第三概率为相应输出位置的第二目标元素的输出概率。

步骤1103,将第二样本训练数据中第二样本翻译语句,输入第二翻译辅助模型,获得第四概率;

其中,每个输出位置的第四概率为相应输出位置的第二目标元素的输出概率;

步骤1104,基于各个输出位置各自对应的第三概率,确定第二翻译模型的第三翻译训练损失值;

步骤1105,基于各个输出位置各自对应的第四概率,确定第二翻译辅助模型的第四翻译训练损失值;

步骤1106,对第三翻译训练损失值和第四翻译训练损失值进行加权求和,确定第二联合训练损失值;

作为一种实施例,确定第二联合训练损失值的方式可以参照前文公式(8)。

步骤1107,基于第二联合训练损失值,分别调整第二翻译模型和第二翻译辅助模型的参数。

其中,第二预设条件和第三预设条件可以参照前文第一预设条件的内容,此处不再赘述。

在每一轮联合预训练可以获得相应的一个第二翻译模型和一个第二翻译辅助模型,一个第二翻译模型可以进一步理解为第二翻译模型的参数,一个第二翻译辅助模型可以进一步理解为第二翻译辅助模型的参数,经过多轮联合预训练后,服务器相当于可以获得多个第二翻译模型,服务器可以从这多个第二翻译模型中,筛选满足第二预设条件的第二翻译模型。同理,服务器也可以从多个第二翻译辅助模型中,筛选出满足第三预设条件的第二翻译辅助模型。

在本申请实施例中,服务器可以基于忠实度训练损失值调整第一翻译模型之前,基于第二样本训练数据集合,对第一翻译模型和第一翻译辅助模型进行联合预训练,在联合预训练过程中,可以分别计算第一翻译模型和第一翻译辅助模型各自的翻译损失值,并对第一翻译模型和第一翻译辅助模型的翻译损失值进行加权求和,从而获得第二联合训练损失值,从而根据第二联合训练损失值,分别调整第二翻译模型和第二翻译辅助模型的参数。

需要说明的是,第一样本训练数据集合和第二样本训练数据集合可以是完全相同的数据集合,也可以是部分相同的数据集合,或者也可以是完全不同的数据集合,本申请不对此进行限制。

在本申请实施例中,可以提前对第二翻译模型和第二翻译辅助模型进行联合预训练,这样可以使得联合预训练后得到的第一翻译辅助模型能够输出更为准确的翻译语句,便于后续准确地确定第一翻译辅助模型的忠实度训练损失,提高第二翻译辅助模型的训练效果。

在图11所示的实施例中,由于需要联合预训练才能获得第一翻译辅助模型和第一翻译模型,因此在本申请实施例中,为了减少联合预训练量,在本申请实施例中,第二翻译模型至少包括与第二翻译辅助模型相同的结构,且第二翻译模型和第二翻译辅助模型相同的结构共享参数。

以第二翻译模型为前文图7所示的结构、第二翻译辅助模型为前文图8所示的结构为例,第二翻译模型中的第一解码模块可以与第二翻译辅助模型中的第二解码模块共享参数,第二翻译模型中的第一归一化模块可以与第二翻译辅助模型中的第二归一化模块共享参数。

基于上述图2的应用场景,下面结合图12所示的服务器和终端之间的交互过程示意图,对本申请实施例中的语句翻译方法进行介绍:

步骤121,终端响应于翻译操作,获取待翻译的目标语句,并生成翻译请求。

其中,翻译操作、翻译请求可以参照前文论述的内容,此处不再赘述。

步骤122,终端将翻译请求发送给服务器。

步骤123,服务器将目标语句输入已训练的目标翻译模型,获取目标翻译语句。

目标翻译模型的训练过程可以参照前文论述的内容,此处不再赘述。

步骤124,服务器将目标翻译语句发送给终端。

服务器在获得目标翻译语句之后,可以将目标翻译语句发送给终端,终端可以展示该目标翻译语句。

在本申请实施例中,服务器可以借助目标翻译模型,及时地为终端提供翻译结果,由于目标翻译模型是基于忠实度训练损失直接调整获得的,因此该目标翻译结果翻译出的翻译语句的忠实度更高,且,将目标翻译模型部署在服务器侧,可以相对减少终端侧的处理量。

例如,请参照图13,为本申请实施例提供的翻译过程中终端的翻译过程示例图,用户长按消息131,该消息131具体为图13中(1)所示的“Hallo,ich bin einPersonalvermittler von A company”,终端显示图13中(1)所示的控件列表,该控件列表包括翻译控件132,当用户点击该翻译控件132时,相当于进行了翻译操作,终端响应于该翻译操作,从而生成翻译请求,该翻译请求携带有该消息131,此时,该消息131作为目标语句,由服务器获得并将目标翻译语句发送终端。终端显示如图13中(2)所示的目标翻译语句133,具体为“你好,我是A公司的招聘人员”。

为了验证本申请实施例中目标翻译模型的翻译效果,本申请实施例采用机器翻译研讨会(Workshop on Machine Translation,WMT)数据库中的英语(English,En)->德语(Deutsch,De)数据集,对本申请实施例中的目标翻译模型的双语评估替补(BilingualEvaluation Understudy,BLEU)指标以及常规的NMT模型进行评估,评估结果具体如下表1所示:

表1

需要说明的是,常规方式训练出的NMT模型是指采用双语平行语料直接训练出的NMT模型;+MTO表示在训练NMT模型时,引入元素级别训练损失值调整NMT模型的参数;+MSO表示在训练NMT模型时,引入句子级别训练损失值,调整NMT模型的参数。

从上述表1中,可以看出,本申请实施例中引入忠实度训练损失值训练得到的翻译模型,在BLEU指标上的表现相较于常规的NMT模型,以及基于LM联合训练的NMT模型的表现更好。

同理,采用WMT数据库中的英语->法语(French,Fr)数据集和中文(Zh)->英语数据集,对对目标翻译模型的BLEU指标进行了评估,具体如下表2所示:

表2

模型名称以及模型的训练方式 En→Fr的BLEU指标 Zh→En的BLEU指标
常规的NMT(常规方式训练出的NMT模型) 41.07 25.75
+LM(引入LM联合训练出的NMT) 41.14 25.75
+MTO(引入元素级别训练损失值) 41.56 26.94
+MSO(引入句子级别训练损失值) 41.70 27.25

从上表2中可以看出,本申请实施例中在引入MTO或MSO训练得到的翻译模型,在英语翻译成法语上的BLEU指标,以及在中文翻译成英文上的BLEU指标,相较于常规的NMT模型和引入LM联合训练的NMT模型的BLEU指标更优。

进一步地,为了进一步地验证该目标翻译模型的训练效果,还基于将中文翻译成英文,对该目标翻译模型进行了人工评估,人工评估结果如下表3所示:

表3

表3中的平均得分是指忠实度和流利度的加权平均结果。

从上述表3,可以看出,引入MTO和MSO后训练得到的目标翻译模型,在忠实度和流利度上整体表现较好。

基于同一发明构思,本申请实施例提供一种语句翻译装置,该装置可以实现前文论述的终端或服务器的功能,请参照图14,该装置包括:

语句获得模块1401,用于获得待翻译的目标语句;

语句翻译模块1402,用于将目标语句,输入已训练的目标翻译模型,获得目标翻译语句;

其中,目标翻译模型是采用第一样本训练数据集合,对待训练的第一翻译模型进行训练的过程中,基于忠实度训练损失值对第一翻译模型进行参数调整后获得的,每个第一样本训练数据包括第一样本待译语句和相应的第一样本翻译语句,忠实度训练损失值是基于各个输出位置各自对应的第一概率与第二概率之间的差异获得的,每个输出位置对应的第一概率为基于第一翻译模型,以相应的第一样本训练数据为条件,获得的第一目标元素的输出概率,每个输出位置对应的第二概率为基于第一翻译辅助模型,以相应的第一样本翻译语句为条件,获得的第一目标元素的输出概率。

在一种可能的实施例中,装置还包括模型训练模块1403,该模型训练模块1403,具体用于采用以下方式训练获得的目标翻译模型:

基于第一样本训练数据集合,对待训练的第一翻译模型进行多次迭代训练,直到满足第一模型收敛条件为止,将多次迭代训练中满足第一预设条件的第一翻译模型作为目标翻译模型,其中,一次迭代训练包括以下操作:

从第一样本训练数据集合中选取第一样本训练数据;

将第一样本训练数据,输入第一翻译模型,获得各个输出位置各自对应的第一概率,其中,每个输出位置对应的第一概率是基于第一样本训练数据中的第一样本待译语句,以及相应输出位置关联的历史翻译文本确定的,其中,第一样本训练数据中的第一样本翻译语句中各个元素与各个输出位置一一对应,历史翻译文本为第一样本翻译语句中,位于相应输出位置对应的元素之前的文本内容;

将第一样本翻译语句,输入第一翻译辅助模型,获得各个输出位置各自对应的第二概率,其中,每个输出位置对应的第二概率是基于相应输出位置关联的历史翻译文本确定的;

基于各个输出位置各自对应的第一概率与第二概率之间的差异,获得忠实度训练损失值;

基于忠实度训练损失值,调整第一翻译模型的参数。

在一种可能的实施例中,模型训练模块1403具体用于:

基于第一翻译模型,对第一样本训练数据中的第一样本待译语句进行编码,获得编码结果;

基于第一翻译模型,分别针对各个输出位置执行以下操作:

针对一个输出位置,基于编码结果,对一个输出位置关联的历史翻译文本进行解码,获得一个输出位置的第一解码结果;

对一个输出位置的第一解码结果进行归一化处理,获得一个输出位置对应的第一概率。

在一种可能的实施例中,模型训练模块1403具体用于:

基于第一翻译辅助模型,分别针对各个输出位置执行以下操作:

对一个输出位置关联的历史翻译文本进行解码,获得一个输出位置的第二解码结果;

对一个输出位置的第二解码结果进行归一化处理,获得一个输出位置对应的第二概率。

在一种可能的实施例中,模型训练模块1403具体用于:

基于各个输出位置各自对应的第一概率和第二概率之间的概率差值,确定元素级别训练损失值,其中,元素级别训练损失值与各个输出位置的概率差值负相关;

基于各个输出位置各自对应的第一概率和第二概率之间的概率差值,确定句子级别训练损失值,其中,若第一比值大于比值阈值,则句子级别损失值为零,若第一比值小于或等于比值阈值,则句子级别损失值与各个输出位置的概率差值负相关,第一比值为:基于各个输出位置的概率差值,确定概率差值小于差值阈值的元素的数量,与第一样本翻译语句中的各个元素的总数量之间的比值;

基于元素级别训练损失值和句子级别训练损失值中的至少一种,获得忠实度训练损失值。

在一种可能的实施例中,模型训练模块1403具体用于:

基于元素级别训练损失值和句子级别训练损失值中的至少一种,获得初始忠实度训练损失值;

基于初始忠实度训练损失值与初始翻译训练损失值,确定忠实度训练损失值,其中,初始翻译训练损失值是基于各个输出位置的第一概率确定的,用于表示第一翻译模型预测出的翻译语句和第一样本翻译语句之间的误差。

在一种可能的实施例中,模型训练模块1403具体用于:

针对各个输出位置,分别执行以下操作:

将一个输出位置的概率差值,代入预设函数,获得一个输出位置的第一训练分损失值,其中,预设函数为单调递减函数;

基于一个输出位置对应的第一概率,确定一个输出位置的权重,其中,一个输出位置的权重与一个输出位置对应的第一概率负相关;

基于一个输出位置的权重,对第一训练分损失值进行加权,获得一个输出位置的第二训练分损失值;

基于获得的各个输出位置对应的第二训练分损失值,获得元素级别训练损失值。

在一种可能的实施例中,模型训练模块1403还用于:

基于忠实度训练损失值,调整第一翻译模型的参数之前,基于各个输出位置各自对应的第一概率,确定第一翻译模型的第一翻译训练损失值,第一翻译训练损失值表示预测出的翻译语句和第一样本翻译语句之间的误差;

基于各个输出位置各自对应的第二概率,确定第一翻译辅助模型的第二翻译训练损失值,第二翻译训练损失值表示预测出的翻译语句和第一样本翻译语句之间的误差;

对第一翻译训练损失值和第二翻译训练损失值进行加权求和,获得第一联合训练损失值;

基于忠实度训练损失值,调整第一翻译模型的参数时,基于第一联合训练损失值,调整第一翻译模型和第一翻译辅助模型的参数。

在一种可能的实施例中,模型训练模块1403还用于:

对待训练的第一翻译模型进行多次迭代训练之前,基于第二样本训练数据集合,对待训练的第二翻译模型和待训练的第二翻译辅助模型进行多轮联合预训练,直到满足第二模型收敛条件为止,将多轮联合预训练中满足第二预设条件的第二翻译模型作为第一翻译模型,将多轮联合预训练中满足第三预设条件的第二翻译辅助模型作为第一翻译辅助模型,每个第二样本训练数据包括第二样本待译语句和相应的第二样本翻译语句,每一轮联合预训练包括以下操作:

从第二样本训练数据集合中,选取第二样本训练数据;

将第二样本训练数据,输入第二翻译模型,获得各个输出位置各自对应的第三概率,其中,每个输出位置对应的第三概率为相应输出位置的第二目标元素的输出概率;

将第二样本训练数据中的第二样本翻译语句,输入第二翻译辅助模型,获得第四概率,每个输出位置的第四概率为相应输出位置的第二目标元素的输出概率;

基于各个输出位置各自对应的第三概率,确定第二翻译模型的第三翻译训练损失值,第三翻译训练损失值表示预测出的翻译语句和第二样本翻译语句之间的误差;

基于各个输出位置各自对应的第四概率,确定第二翻译辅助模型的第四翻译训练损失值,第四翻译训练损失值表示预测出的翻译语句和第二样本翻译语句之间的误差;

对第三翻译训练损失值和第四翻译训练损失值进行加权求和,确定第二联合训练损失值;

基于第二联合训练损失值,分别调整第二翻译模型和第二翻译辅助模型的参数。

在一种可能的实施例中,第二翻译模型至少包括与第二翻译辅助模型相同的结构,且第二翻译模型与第二翻译辅助模型相同的结构共享参数。

作为一种实施例,模型训练模块1403为可选的模块。

应当说明的是,图14所示的装置还可以实现前文论述的任一的语句翻译方法,此处不再赘述。

基于同一发明构思,本申请实施例提供一种计算机设备,该计算机设备可以实现前文服务器或终端的功能,请参照图15,该计算机设备包括处理器1501和存储器1502。

处理器1501可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本申请实施例中不限定上述存储器1502和处理器1501之间的具体连接介质。本申请实施例在图15中以存储器1502和处理器1501之间通过总线1503连接,总线1503在图15中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1503可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器1502可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1502也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1502可以是上述存储器的组合。

处理器1501,用于调用存储器1502中存储的计算机程序时执行如前文论述的语句翻译方法,还可以用于实现前文图14所示的装置的功能。

基于同一发明构思,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前文论述的任一的语句翻译方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

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

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

39页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种文本翻译方法和相关装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!