技术领域
[0001] 本
发明涉及
机器翻译技术领域,具体涉及一种考虑评价指标的神经网络训练方法及装置。
背景技术
[0002] 随着互联网的发展,用户对语言翻译的需求日益增长。据Google翻译团队披露,Google翻译每天提供翻译服务达十亿次,相当于全球一年的人工翻译量,处理的文字数量相当于一百万册图书。互联网中所使用的语言众多,且每种语言都处于时时刻刻的发展变化中,同时还具有大量的多义性,加之如此大的翻译需求量,使得在线翻译无法满足用户的需求,导致用户在线翻译的使用体验不佳。为此需要对语言翻译服务提出更高的要求,以为用户提供高
质量的翻译服务。
[0003] 目前常用神经网络翻译模型进行语言翻译。该神经网络翻译模型在研究论文以及翻译评测任务中都取得了与统计机器翻译相当的效果。用户也感觉到利用神经网络翻译模型进行语言翻译所得的翻译结果比较流畅,提升了用户体验。
[0004]
现有技术中神经网络翻译模型使用极大似然估计方法进行训练。
发明人发现该极大似然估计方法只能优化标准参考译文的概率,不能直接优化评价指标。并且该方法脱离实际的解码过程导致其不能直接优化模型在实际解码中的表现。也就是说,极大似然估计进行训练并不能够完全地挖掘出神经网络翻译模型的潜
力。因此当前急需一种新的神经网络翻译模型的训练方法,能够解决极大似然估计方法无法对神经网络翻译模型进行充分有效训练的问题。
发明内容
[0005] 针对现有技术中的
缺陷,本发明提供一种考虑评价指标的神经网络训练方法及装置,可以解决现在技术中极大似然估计方法只能优化标准参考译文的概率导致神经网络翻译模型的无法得到充分有效训练的问题。
[0006] 第一方面,本发明提供了一种考虑评价指标的神经网络训练方法,所述方法包括:
[0007] 采用极大似然估计方法对神经网络翻译模型以获取该神经网络翻译模型的初始模型;
[0008] 根据评价指标定义新的目标函数,用于训练所述初始模型以得到最终的模型参数;
[0009] 利用训练得到的神经网络翻译模型对测试样例进行翻译。
[0010] 可选地,所述根据评价指标定义新的目标函数,用于训练所述初始模型以得到最终的模型参数的步骤包括:
[0011] 利用
源语言句子结合神经网络翻译模型生成多个翻译样例,所述多个翻译样例构成样例空间;
[0012] 利用损失函数计算所述多个翻译样例的损失;
[0013] 利用所述多个翻译样例的损失优化目标函数。
[0014] 可选地,所述损失函数Δ(y,y(s))=-sBLEU(y,y(s));
[0015] 式中,y为翻译样例;y(s)为第s个平行双语句中的标准
目标语言句子,sBLEU为句子级别的BLEU得分。
[0016] 可选地,所述利用所述多个翻译样例的损失优化目标函数的步骤中目标函数为:
[0017]
[0018] 式中, 为翻译样例空间中的期望损失;
[0019]
[0020] 式中,Q为各个翻译样例在翻译样例空间中的归一化概率;
[0021]
[0022] 式中,α为控制平滑程度的超参数。
[0023] 可选地,所述采用极大似然估计方法对神经网络翻译模型以获取该神经网络翻译模型的初始模型的步骤之前包括:
[0024] 采用平行双语句构建数据集并对所述数据集进行预处理;
[0025] 所述预处理包括对源语言和目标语言文本中的句子切分成词,并统一转换大小写与过滤无效字符。
[0026] 可选地,所述神经网络翻译模型采用循环神经网络翻译模型。
[0027] 第二方面,本发明
实施例还提供了一种考虑评价指标的神经网络训练装置,所述装置包括:
[0028] 初始模型获取模
块,用于采用极大似然估计方法对神经网络翻译模型以获取该神经网络翻译模型的初始模型;
[0029] 初始模型训练模块,用于根据评价指标定义新的目标函数,用于训练所述初始模型以以得到最终的模型参数;
[0030] 翻译模块,用于利用训练得到的神经网络翻译模型对测试样例进行翻译。
[0031] 可选地,所述初始模型训练模块包括:
[0032] 样例空间构成单元,用于利用源语言句子结合神经网络翻译模型生成多个翻译样例,所述多个翻译样例构成样例空间;
[0033] 损失计算模块,用于利用损失函数计算所述多个翻译样例的损失;
[0034] 目标函数优化模块,用于利用所述多个翻译样例的损失优化所述目标函数。
[0035] 可选地,所述损失计算模块采用以下公式计算所述多个翻译样例的损失:
[0036] Δ(y,y(s))=-sBLEU(y,y(s));
[0037] 式中,y为翻译样例;y(s)为第s个平行双语句中的标准目标语言句子,sBLEU为句子级别的BLEU得分。
[0038] 可选地,所述目标函数优化模块采用以下目标函数:
[0039]
[0040] 式中, 为翻译样例空间中的期望损失;
[0041]
[0042] 式中,Q为各个翻译样例在翻译样例空间中的归一化概率;
[0043]
[0044] 式中,α为控制平滑程度的超参数。
[0045] 由上述技术方案可知,本发明利用极大似然估计方法获取到神经网络翻译模型的初始模型,然后根据评价指标对该初始模型进行训练,之后利用训练得到的神经网络翻译模型对测试样例进行翻译。本发明考虑了神经网络翻译模型的评价指标,可以使该模型在该评价指标上表现得更好。相较于现有技术中的训练方法,能够有效地提高神经网络翻译模型的翻译质量。
附图说明
[0046] 通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
[0047] 图1是本发明实施例提供的一种考虑评价指标的神经网络训练方法流程示意图;
[0048] 图2是本发明实施例提供的一种考虑评价指标的神经网络训练装置结构
框图。
具体实施方式
[0049] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050] 第一方面,本发明实施例提供了一种考虑评价指标的神经网络训练方法,如图1所示,所述方法包括:
[0051] S1、采用极大似然估计方法对神经网络翻译模型以获取该神经网络翻译模型的初始模型;
[0052] S2、根据评价指标定义新的目标函数,用于训练所述初始模型以得到最终的模型参数;
[0053] S3、利用训练得到的神经网络翻译模型对测试样例进行翻译。
[0054] 为体现本发明实施例提供的神经网络训练方法的优越性,本发明实施例对上述各步骤作详细说明。
[0055] 首先,介绍S1、采用极大似然估计方法对神经网络翻译模型以获取该神经网络翻译模型的初始模型的步骤。
[0056] 需要说明的是,本发明实施例中需要获取平行双语句构成的数据集,并对该数据集进行预处理。其中预处理包括对源语言和目标语言文本中的句子切分成词,并统一转换大小写与过滤无效字符。
[0057] 本发明实施例中神经网络翻译模型采用循环神经网络翻译模型。当然也可以其他类型的神经网络翻译模型袜,本发明不作限定。
[0058] 本发明实施例中极大似然估计方法采用以下公式实现:
[0059]
[0060] 在神经网络翻译模型采用循环神经网络翻译模型时,似然值为:
[0061]
[0062] 式中,θ为神经网络翻译模型参数,S为平行双语句的数量,x(s)为第s句目标语言句(s)子的第n个词,y
[0063] 需要说明的是,本发明实施例中无论是循环神经网络翻译模型还是极大似然估计方法都是为了产生该神经网络翻译模型的初始模型参数。当然使用其他神经网络翻译模型或者训练方法同样可以产生初始模型参数,同样也落入本
申请的保护范围之内。
[0064] 其次,介绍S2、根据评价指标定义新的目标函数,用于训练所述初始模型以得到最终的模型参数的步骤。
[0065] 由步骤S1中给定的神经网络翻译模型的初始模型参数以及数据集。利用上述初始模型和源语言句子x(s)产生多个翻译样例,并且计算出每个翻译样例的概率。在循环神经网络翻译模型中,翻译样例的概率采用以下公式计算:
[0066]
[0067] 式中,N为目标句子长度。
[0068] 本发明实施例中使用评价指标来设计损失函数,用来衡量不同翻译样例的损失。例如,本实施例中定义负的句子级别BLEU得分作为损失函数:
[0069] Δ(y,y(s))=-sBLEU(y,y(s));
[0070] 式中,y为翻译样例;y(s)为第s个平行双语句中的标准目标语言句子,sBLEU为句子级别的BLEU得分。
[0071] 需要说明的是,本发明实施例中,例如句子级别的TER值sTER、句子级别的NIST得分sNIST、句子级别的ROUGE值sROUGE,甚至O1损失函数(正确为1,错误为0),都可以用于衡量不同翻译样例的损失。本领域技术人员可以根据具体的使用场景选择合适的损失函数,本发明不作限定。
[0072] 将上文中所得到不同翻译样例的损失加入到训练目标函数,以优化目标函数,使得整体的期望损失最小:
[0073] 步骤S2中评价指标定义新的目标函数为:
[0074]
[0075] 其中损失 表示翻译样例空间中的期望损失:
[0076]
[0077] Q为各个翻译样例在翻译样例空间中的归一化概率:
[0078]
[0079] α为控制平滑程序的超参数。
[0080] 根据优化目标,可以对参数θ求偏导数,之后可以利用任意的学习方法,例如SGD、ada_delta等方法对参数θ进行学习,从而使神经网络模块在该评价参数θ的表现更好。
[0081] 利用上述步骤S2进行若干次
迭代后,采用验证集验证该训练后的循环神经网络翻译模型的翻译效果,最终得到训练后的神经网络翻译模型。
[0082] 最后,介绍S3、利用训练得到的神经网络翻译模型对测试样例进行翻译的步骤。
[0083] 利用训练后的神经网络翻译模型对测试样例进行翻译。
[0084] 第二方面,本发明实施例还提供了一种考虑评价指标的神经网络训练装置,如图2所示,所述装置包括:
[0085] 初始模型获取模块M1,用于采用极大似然估计方法对神经网络翻译模型以获取该神经网络翻译模型的初始模型;
[0086] 初始模型训练模块M2,用于根据评价指标定义新的目标函数,用于训练所述初始模型以得到最终的模型参数;
[0087] 翻译模块M3,用于利用训练得到的神经网络翻译模型对测试样例进行翻译。
[0088] 可选地,所述初始模型训练模块M2包括:
[0089] 样例空间构成单元,用于利用源语言句子结合神经网络翻译模型生成多个翻译样例,所述多个翻译样例构成样例空间;
[0090] 损失计算模块,用于利用损失函数计算所述多个翻译样例的损失;
[0091] 目标函数优化模块,用于利用所述多个翻译样例的损失优化所述目标函数。
[0092] 可选地,所述损失计算模块采用以下公式计算所述多个翻译样例的损失:
[0093] Δ(y,y(s))=-sBLEU(y,y(s));
[0094] 式中,y为翻译样例;y(s)为第s个平行双语句中的标准目标语言句子,sBLEU为句子级别的BLEU得分。
[0095] 可选地,所述目标函数优化模块采用以下目标函数:
[0096]
[0097] 式中, 为翻译样例空间中的期望损失;
[0098]
[0099] 式中,Q为各个翻译样例在翻译样例空间中的归一化概率;
[0100]
[0101] 式中,α为控制平滑程度的超参数。
[0102] 由上可以看出,本发明上述实施例提供的神经网络训练装置是基于上文所述的神经网络训练方法实现的,因而可以解决同样的技术问题,并取得相同的技术效果,在此不再一一赘述。
[0103] 应当注意的是,在本实施例公开的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本公开不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。
[0104] 本公开的各个部件实施例可以以
硬件实现,或者以在一个或者多个处理器上运行的
软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用
微处理器或者数字
信号处理器(DSP)来实现根据本公开实施例的系统中的一些或者全部部件的一些或者全部功能。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,
计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网
网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0105] 应该注意的是,上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附
权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0106] 以上实施方式仅适于说明本公开,而并非对本公开的限制,有关技术领域的普通技术人员,在不脱离本公开的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本公开的范畴,本公开的
专利保护范围应由权利要求限定。