一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于文档上下文的神经机器翻译方法及装置与流程

2022-06-05 18:10:01 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,具体涉及一种基于文档上下文的神经机器翻译方法、装置、设备、介质和程序产品。


背景技术:

2.尽管神经机器翻译(neural machine translation,nmt)在近几年取得了很好的发展,但是在翻译整篇文章时,标准的nmt模型没有考虑各个句子间的关联,而是独立地翻译文中的每个句子。于是,有很多文档级的nmt(docnmt)方法被提出。这些方法利用基于注意力机制的神经网络,提取源语言或目标语言文档的语句间的文本信息来提升文档的翻译质量。然而现有的大多数docnmt方法没有考虑到翻译不同的源语言语句需要从不同的上下文中提取文本信息,在翻译时容易丢失有用的上下文信息,或者被冗余的上下文信息干扰,会导致文档的翻译结果不够准确。


技术实现要素:

3.鉴于上述问题,本公开提供了一种基于文档上下文的神经机器翻译方法、装置、设备、介质和程序产品。
4.根据本公开的第一个方面,提供了一种基于文档上下文的神经机器翻译方法,包括:获取源语言语句;从源语言语句所在的上下文中选取多个候选辅助语句;将源语言语句分别与多个候选辅助语句组合并输入上下文评分器,得到多组评分;根据多组评分从多个候选辅助语句中确定目标辅助语句,目标辅助语句用于辅助翻译源语言语句;使用源语言语句和目标辅助语句进行神经机器翻译。
5.根据本公开的实施例,将源语言语句分别与多个候选辅助语句组合并输入上下文评分器包括:使用特殊符号标记将源语言语句分别与多个候选辅助语句连接,构成多个实例;将多个实例输入上下文评分器中,上下文评分器包括两层变形金刚编码器,其中第一层变形金刚编码器的输出作为第二层变形金刚编码器的输入。
6.根据本公开的实施例,根据将源语言语句分别与多个候选辅助语句组合并输入上下文评分器还包括:使用特殊符号标记将源语言语句与空文本语句连接,构成第一实例;将第一实例输入上下文评分器中。
7.根据本公开的实施例,将源语言语句分别与多个候选辅助语句组合并输入上下文评分器,得到多组评分包括:根据第二层变形金刚编码器的输出使用评分函数计算得到每组的注意力评分;将每组的注意力评分进行归一化处理,得到注意力概率分布。
8.根据本公开的实施例,根据多组评分从多个候选辅助语句中确定目标辅助语句包括:从多个候选辅助语句中确定概率高于第一概率的候选辅助语句作为目标辅助语句;其中,第一概率为第一实例对应的注意力概率。
9.根据本公开的实施例,将源语言语句分别与多个候选辅助语句组合并输入上下文评分器之前还包括:对上下文评分器、神经机器翻译模型进行强化学习训练;其中,神经机
器翻译模型包括两个共享训练参数的文档级神经机器翻译模型。
10.根据本公开的实施例,对上下文评分器、神经机器翻译模型进行强化学习训练包括:将多个候选辅助语句中的任意一个语句与当前目标辅助语句分别输入两个文档级神经机器翻译模型;使用文档级神经机器翻译模型进行翻译,根据翻译的结果分别得到第一奖励值和第二奖励值;根据第一奖励值和第二奖励值进行梯度计算,并将梯度值分别反馈给上下文评分器、神经机器翻译模型进行训练。
11.根据本公开的实施例,使用文档级神经机器翻译模型进行翻译包括:用bleu算法评分进行翻译效果评判。
12.根据本公开的实施例,对上下文评分器、神经机器翻译模型进行强化学习训练包括:在强化学习训练中,使用负对数似然函数作为源语言语句与翻译得到的目标语言语句之间的损失函数。
13.根据本公开的实施例,对上下文评分器、神经机器翻译模型进行强化学习训练包括:将神经机器翻译模型训练的负对数似然函数与强化学习目标函数通过平衡因子进行结合,得到结合后的损失函数。
14.本公开的第二方面提供了一种基于文档上下文的神经机器翻译的系统,包括:获取模块,用于获取源语言语句;选取模块,用于从源语言语句所在的上下文中选取多个候选辅助语句;评分模块,用于将源语言语句分别与多个候选辅助语句组合并输入上下文评分器,得到多组评分;确定模块,用于根据多组评分从多个候选辅助语句中确定目标辅助语句,目标辅助语句用于辅助翻译源语言语句;翻译模块,用于使用源语言语句和目标辅助语句进行神经机器翻译。
15.本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述基于文档上下文的神经机器翻译方法。
16.本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述基于文档上下文的神经机器翻译方法。
17.本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述基于文档上下文的神经机器翻译方法。
附图说明
18.通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
19.图1示意性示出了根据本公开实施例的基于文档上下文的神经机器翻译方法、装置、设备、介质和程序产品的应用场景图;
20.图2示意性示出了根据本公开实施例的基于文档上下文的神经机器翻译方法的流程图;
21.图3示意性示出了根据本公开实施例的将源语言语句分别与多个候选辅助语句组合并输入上下文评分器方法的流程图;
22.图4示意性示出了根据本公开实施例的上下文评分器的结构示意图;
23.图5示意性示出了根据本公开实施例的将源语言语句分别与多个候选辅助语句组
合并输入上下文评分器第二方法的流程图;
24.图6示意性示出了根据本公开实施例的将源语言语句分别与多个候选辅助语句组合并输入上下文评分器,得到多组评分方法的流程图;
25.图7示意性示出了根据本公开实施例的强化学习训练过程的流程图;
26.图8示意性示出了根据本公开实施例的对上下文评分器、神经机器翻译模型进行强化学习训练方法的流程图;
27.图9示意性示出了根据本公开一实施例的基于文档上下文的神经机器翻译的系统的结构框图;以及
28.图10示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。
具体实施方式
29.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
30.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
31.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
32.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
33.附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
34.基于传统神经机器翻译方法的缺点,本公开的实施例提供了一种基于文档上下文的神经机器翻译方法、装置、设备、介质和程序产品,应用于人工智能领域,能够有效提升翻
译结果的准确性。
35.图1示意性示出了根据本公开实施例的可以应用于基于文档上下文的神经机器翻译方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
36.如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
37.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
38.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
39.服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
40.需要说明的是,本公开实施例所提供的基于文档上下文的神经机器翻译方法一般可以由终端设备101、102、103和服务器105执行。相应地,本公开实施例所提供的基于文档上下文的神经机器翻译系统一般可以设置于终端设备101、102、103和服务器105中。本公开实施例所提供的基于文档上下文的神经机器翻译方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的基于文档上下文的神经机器翻译系统也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
41.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
42.以下将基于图1描述的场景,通过图2~图10对公开实施例的基于文档上下文的神经机器翻译方法进行详细描述。
43.图2示意性示出了根据本公开实施例的基于文档上下文的神经机器翻译方法的流程图。
44.如图2所示,该基于文档上下文的神经机器翻译方法200可以包括操作s210~s250。
45.在操作s210,获取源语言语句。
46.机器翻译是利用计算机实现自然语言翻译的技术;神经机器翻译是新一代采用单一的神经网络来最大化机器翻译性能的翻译技术,即把一个源语言语句x={x1,

,xi}翻译成一个目标语言语句y={y1,

,y
t
}。
47.在操作s220,从源语言语句所在的上下文中选取多个候选辅助语句。
48.根据当前源语言语句在文档中的位置,在其上下文中选取多个候选辅助语句,例如可以为其前n个句子、前m段、后n个句子、后m段或者整篇文档。
49.在操作s230,将源语言语句分别与多个候选辅助语句组合并输入上下文评分器,得到多组评分。
50.上下文评分器根据当前的源语言语句x,对每个候选辅助语句的参考价值进行打分。
51.在操作s240,根据多组评分从多个候选辅助语句中确定目标辅助语句,目标辅助语句用于辅助翻译源语言语句。
52.根据参考价值分数,使用概率优先的策略来选择有用的上下文语句,即目标辅助语句。
53.在操作s250,使用源语言语句和目标辅助语句进行神经机器翻译。
54.把源语言语句和选择得到的目标辅助语句输入到docnmt模型中,获得翻译结果。
55.本公开的方法能够动态地选择上下文语句,从而在翻译文档时,能够较为充分地利用上下文语句中的信息,避免上下文信息的不足或冗余的问题,提升翻译结果的准确性。
56.图3示意性示出了根据本公开实施例的将源语言语句分别与多个候选辅助语句组合并输入上下文评分器第一方法的流程图。
57.如图3所示,该将源语言语句分别与多个候选辅助语句组合并输入上下文评分器可以包括操作s2311~s2312。
58.在操作s2311,使用特殊符号标记将源语言语句分别与多个候选辅助语句连接,构成多个实例。
59.使用特殊符号标记源语言语句的边界,例如通过在源句子的开头添加文档标签作为附加标记;同时在源语言语句与每个候选辅助语句之间通过特殊符号标记将两个语句连接构成一个个实例。
60.在操作s2312,将多个实例输入上下文评分器中,上下文评分器包括两层变形金刚编码器,其中第一层变形金刚编码器的输出作为第二层变形金刚编码器的输入。
61.图4示出了本公开实施例的上下文评分器的结构,主要包括两层变形金刚编码器(transformer layers),l1层的变形金刚编码器与l2层的变形金刚编码器结构相同,但它们不共享权重,也就是说,每一层的可训练参数都独立拥有数值、梯度和更新。每层变形金刚编码器又分为两个子层:自注意力层(self-attention)和前向反馈神经网络层(feed-forward)。每层变形金刚编码器的输入首先流经自注意力层,该层可以帮助变形金刚编码器在对特定单词进行编码时查看输入句子中的其他单词;自注意力层的输出被馈送到前向反馈神经网络层,完全相同的前向反馈神经网络独立应用于一个输入实例的每个位置上的单词。对于一个输入实例,在l1层的变形金刚编码器输出上下文语句的隐层状态后,该隐层状态又作为l2层的变形金刚编码器的输入。l2层的变形金刚编码器的作用是对上下文语句之间的关联信息进行建模。
62.图5示意性示出了根据本公开实施例的将源语言语句分别与多个候选辅助语句组合并输入上下文评分器第二方法的流程图。
63.如图5所示,该根据将源语言语句分别与多个候选辅助语句组合并输入上下文评分器可以包括操作s2321~s2322。
64.在操作s2321,使用特殊符号标记将源语言语句与空文本语句连接,构成第一实例。
65.在操作s2322,将第一实例输入上下文评分器中。
66.如图4所示,“non”表示一个特殊的空文本语句,该空文本语句与源语言语句组成一特殊的实例,该实例表示在没有上下文的情况下翻译前述源语言语句,用于帮助选择策略做决策。
67.图6示意性示出了根据本公开实施例的将源语言语句分别与多个候选辅助语句组合并输入上下文评分器,得到多组评分方法的流程图。
68.如图6所示,该根据将源语言语句分别与多个候选辅助语句组合并输入上下文评分器,得到多组评分可以包括操作s2331~s2332。
69.在操作s2331,根据第二层变形金刚编码器的输出使用评分函数计算得到每组的注意力评分。
70.在操作s2332,将每组的注意力评分进行归一化处理,得到注意力概率分布。
71.根据第二层变形金刚编码器的输出,输入到一个2层的mlp中,获取上下文语句与需要翻译的语句的关联程度的分数,该分数通过评分函数进行计算,得到的分数即为每组的注意力评分,注意力评分越高,说明翻译的下一个词受到该编码器隐藏状态的影响越大。将候选辅助语句、空文本语句分别与源语言语句组成的所有实例的评分进行归一化处理,得到注意力概率分布。
72.在上述实施例的基础上,根据多组评分从多个候选辅助语句中确定目标辅助语句包括:从多个候选辅助语句中确定概率高于第一概率的候选辅助语句作为目标辅助语句;其中,第一概率为第一实例对应的注意力概率。
73.采用概率优先的选择策略,根据前述得到的注意力概率分布,可以确定出有用的上下文语句并用于后续翻译。具体地,可以选择概率高于空文本语句实例对应的概率的上下文语句。如果空文本语句实例对应的概率最高,则上下文语句数量设置为0,说明上下文语句对当前源语言语句的翻译无法起到辅助作用。随着源语言语句的改变,选取的上下文语句的数量和位置也动态地改变。上下文语句数量的范围是[0,|s|],还可以进一步把上下文语句数量设为固定值,也就是选择固定数量的概率最高的上下文语句。本公开通过上下文评分器和选择策略对候选的上下文语句进行评分和选择,从而得到包含有用信息的上下文语句,避免了上下文信息的不足或冗余的问题。
[0074]
在上述实施例的基础上,将源语言语句分别与多个候选辅助语句组合并输入上下文评分器之前还包括:对上下文评分器、神经机器翻译模型进行强化学习训练;其中,神经机器翻译模型包括两个共享训练参数的文档级神经机器翻译模型。
[0075]
在训练模型的阶段,采用策略梯度法来训练上下文评分器和docnmt模型,强化学习训练过程如图7所示。上下文评分器和docnmt模型经过强化学习训练,可以产生更接近标准翻译结果的语句。
[0076]
图8示意性示出了根据本公开实施例的对上下文评分器、神经机器翻译模型进行强化学习训练方法的流程图。
[0077]
如图8所示,该对上下文评分器、神经机器翻译模型进行强化学习训练可以包括操作s2301~s2303。
[0078]
在操作s2301,将多个候选辅助语句中的任意一个语句与当前目标辅助语句分别输入两个文档级神经机器翻译模型。
[0079]
在操作s2302,使用文档级神经机器翻译模型进行翻译,根据翻译的结果分别得到第一奖励值和第二奖励值。
[0080]
在操作s2303,根据第一奖励值和第二奖励值进行梯度计算,并将梯度值分别反馈给上下文评分器、神经机器翻译模型进行训练。
[0081]
强化学习中每一步当前的信号和刺激会影响以后的信号与刺激,而强化学习的奖励机制会根据所得翻译结果会反馈一个奖励值(reward),使得翻译效果朝着一个好的方向前进。通过将强化学习的机制融入到模型训练中,使得翻译结果更加地准确可靠。
[0082]
在上述实施例的基础上,使用文档级神经机器翻译模型进行翻译包括:用bleu算法评分进行翻译效果评判。
[0083]
bleu算法是现阶段对机器翻译技术进行评估的一个基准,该算法通过对比待评测的翻译译文和提供的参考翻译译文,如若待评测翻译译文和提供的参考翻译译文中共现的n-gram(统计语言模型的一种,包括一元模型、二元模型、三元模型和四元模型等)越多,则说明待评测译文与提供的参考译文越相似,进而表明机器翻译的翻译结果质量越高。
[0084]
在上述实施例的基础上,在强化学习训练中,使用负对数似然函数作为源语言语句与翻译得到的目标语言语句之间的损失函数。
[0085]
对文档级翻译模型进行训练的目标为最小化负对数似然,损失函数例如为:
[0086][0087]
其中,x={x1,

,xi}为源语言语句,y={y1,

,y
t
}为翻译得到的目标语言语句,z为候选上下文语句集s的一个子集,xi为x中的第i个单词,y
t
为y中的第t个单词,y
t
为在t时刻翻译得到的目标语言的单词,θ为一组模型参数,t为目标序列y的单词数。
[0088]
对文档级翻译模型进行训练的训练损失函数例如交叉熵损失函数、语义损失函数和词损失函数;其中,所述交叉熵损失函数为当前源语言语句的目标翻译译文和最终翻译译文之间的交叉熵损失;训练的目标是使得前述交叉熵损失函数最小化。
[0089]
在上述实施例的基础上,对上下文评分器、神经机器翻译模型进行强化学习训练包括:
[0090]
将神经机器翻译模型训练的负对数似然函数与强化学习目标函数通过平衡因子进行结合,得到结合后的损失函数。
[0091]
具体地,结合后的损失函数l(θ)例如为:
[0092]
l(θ)=α*l
mle
(1-α)*l
r1
[0093]
其中,l
mle
为神经机器翻译模型训练目标函数,l
rl
为强化学习目标函数,α为平衡因子。
[0094]
通过α值对模型训练目标和强化学习目标进行权衡,使模型效益最大化。
[0095]
下面通过具体实施方式对本公开作进一步说明。在以下实施例中对上述神经机器翻译方法及系统进行具体说明。但是,下述实施例仅用于对本公开进行例示,本公开的范围不限于此。
[0096]
docnmt模型借助文本间的信息z,把一个源语言语句x={x1,

,xi}翻译成一个目标语言语句y={y1,

,y
t
},其中z是候选上下文语句集s的一个子集。信息z主要来源于源语言语句所在文档的上下文语句。模型的训练目标是最小化负对数似然,损失函数如公式
(1):
[0097][0098]
本施例的方法翻译一个文档中的语句x主要分为三步:第一步,使用选择模块从上下文中选取有助于翻译语句x的文本。选择模块的核心组件是一个上下文评分器,它根据当前的被翻译语句x,对每个候选的上下文语句的参考价值进行打分。第二步,根据该分数,使用概率优先的策略来选择有用的上下文语句。第三步,将选择出的上下文语句输入到docnmt模型中,获得翻译结果。
[0099]
上下文评分器的结构如图4所示。首先需要获取语句的表征,然后进行打分。首先把源语言语句和一个上下文语句连接起来构成一个实例,在其句首添加一个“《dcs》”标记,在两个语句之间添加“《sep》”。该实例被输入到一个l1层的变形金刚编码器中。“《dcs》”标记可以通过自注意力很好地编码源语言文档中的上下文语句的信息。其中“non”表示一个特殊的空文本语句,用于帮助选择策略做决策。
[0100]
对于一个候选上下文语句z∈s,在l1层的变形金刚编码器输出隐层状态“《dcs》”后,它又作为l2层的变形金刚编码器的输入,把l2层的变形金刚编码器的输出记为最后,采用一个两层的线性评分网络来计算出上下文与需要翻译的语句的关联程度的分数,如公式(2)所示:
[0101]
scorez=σ(w2(w1hz b1) b2)
ꢀꢀꢀ
(2)
[0102]
其中σ表示逻辑sigmoid函数,b1表示l1层的原始输入,b2表示l2层的原始输入。
[0103]
考虑到训练过程的采样操作,对候选集s中所有的评分进行规范化处理,求出的概率分布p
select
如公式(3)所示:
[0104]
p
select
=softmax([score1;

;score
|s|
)
ꢀꢀꢀ
(3)
[0105]
其中[a;b]表示把数值a和b连接成一个向量,|s|是候选集s中语句的数量。
[0106]
本施例采用了概率优先的选择策略。根据p
select
中的选择概率,可以得到有用的上下文语句并用于翻译任务。为了动态地选择上下文语句,在候选语句集中添加了一个特殊的空语句标记“《non》”,它表示在没有上下文的情况下翻译一个源语言语句。最后,选择了那些概率高于“《non》”的概率的上下文语句。如果“《non》”的概率最高,则上下文语句数量设置为0。随着被翻译语句的改变,选取的上下文语句也动态地改变。上下文语句数量的范围是[0,|s|]。把上下文语句数量设为固定值,也就是选择固定数量的概率最高的上下文语句。
[0107]
在训练模型的阶段,本施例采用策略梯度法来训练选择模块和docnmt模型。图7展示了该强化学习训练过程。
[0108]
本施例使用标准的语句级nmt模型的参数来初始化docnmt模型。对于选择模块,本施例把上下文评分器作为一个二分类任务进行初始化,并且没有考虑上下文语句之间的依赖。其中的两个docnmt模型共享训练参数。
[0109]
上下文评分器的初始化过程分为两步。
[0110]
第一步,本施例创建候选上下文语句的伪标签。每个上下文语句被标记为1或0。本
施例把公式(2)中的scorez视为预测标签1的概率。通过另一个由一句随机的上下文语句训练的docnmt模型来生成伪标签。本施例把不同的候选上下文语句输入到需要训练的docnmt模型,选择出bleu分数高于“《non》”的上下文语句并标记为1,bleu分数低于“《non》”的语句标记为0。
[0111]
第二步,本施例训练上下文评分器来预测伪标签。本施例与初始的docnmt模型共享了嵌入层的参数,并通过最小化交叉熵损失来训练初始的评分器。
[0112]
本施例采用一个可以评估翻译质量并且对上下文的改变比较敏感的奖励机制来进行强化训练。对于解码时间t,本施例计算了生成准确的目标单词y
t
的代价g
t
,,如公式(4)所示:
[0113][0114]
其中,前两项计算了准确的目标单词y
t
和预测概率分布中概率最高的单词之间的对数概率的差值。最后一项是一个规范化形式,它反应了预测概率分布中概率最高的单词与概率第二高的单词之间的差距,差距越大表示预测的可信度越高。
[0115]
本施例获得了生成准确语句y={y1,

,y
t
}的平均代价,然后利用一个单调递减函数来得到最终的奖励值(其范围在0~1之间),如公式(5)所示:
[0116][0117]
奖励值越大表明生成准确的目标单词的可能性越大。因此,应该鼓励选择该上下文语句。相反,如果奖励值很低,则不鼓励选择该上下文语句。
[0118]
本施例对模型进行强化训练的目标是最小化负期望奖励。在损失函数中采用一个来自策略p的简单样本u来近似,如公式(6)所示:
[0119]
l
rl
=-e
u~p
[r(u)]≈-r(u),u~p
ꢀꢀꢀ
(6)
[0120]
本施例在训练中引入一个基线奖励r(u’)来减少梯度的变化幅度,其中u’通过测试阶段的推理算法得到,通过公式(7)来评估最终的梯度:
[0121][0122]
本施例把上下文评分器和docnmt模型的参数分别表示为ω和θ。对于每一句源语言语句x,通过前文提到的选择策略来选择一组上下文语句z
*
,然后根据公式(3)中的p
select
采样出另一组相同大小的上下文语句两组上下文语句被输入到相同的docnmt模型中,可以分别计算出奖励值r(z
*
)和因此,上下文评分器的梯度可以由公式(8)计算:
[0123][0124]
其中,是从p
select
中采样出的概率。基本奖励值r(z
*
)是通过当前最好的策略得到,这种方法鼓励了模型去寻找更有用的上下文,其奖励值高于当前选择的最好的上下文。
[0125]
对于docnmt模型,本施例把mle目标函数(见公式(1))和强化学习目标函数(见公式(6))相结合,如公式(9)所示:
[0126][0127]
其中,α是一个平衡因子。
[0128]
本施例把强化学习的目标函数引入docnmt模型,从而使模型能更好地利用已经选择的上下文。docnmt模型的强化学习梯度通过公式(10)来计算:
[0129][0130]
其中是一个由当前的docnmt模型和采样的上下文得到的翻译结果。
[0131]
由此,docnmt模型和文本选择模块经过强化学习训练,可以产生更接近标准翻译结果的语句。
[0132]
本公开采用动态选择方法从文档中选择可变大小的上下文语句,并应用于文档级翻译;通过上下文评分器和选择策略对候选的上下文语句进行评分和选择,从而得到包含有用信息的上下文语句;并使用策略梯度方法对上下文评分器和docnmt模型进行强化学习训练,与传统的docnmt模型相比,该方法可以提取文档中的有用信息,对于准确翻译文档中的语句有很好的辅助作用。将本公开的神经机器翻译方法应用于金融领域的docnmt模型的训练中,可以提升金融领域docnmt模型的翻译表现。
[0133]
图9示意性示出了根据本公开一实施例的基于文档上下文的神经机器翻译的系统的方框图。
[0134]
如图9所示,该基于文档上下文的神经机器翻译的系统900包括:获取模块910、选取模块920、评分模块930、确定模块940、翻译模块950。
[0135]
获取模块910,用于获取源语言语句;根据本公开的实施例,获取模块910例如可以用于执行上文参考图2所描述的s210步骤,在此不再赘述。
[0136]
选取模块920,用于从源语言语句所在的上下文中选取多个候选辅助语句。根据本公开的实施例,该选取模块920例如可以用于执行上文参考图2所描述的s220步骤,在此不再赘述。
[0137]
评分模块930,用于将源语言语句分别与多个候选辅助语句组合并输入上下文评分器,得到多组评分。根据本公开的实施例,该评分模块930例如可以用于执行上文参考图2所描述的s230步骤,在此不再赘述。
[0138]
确定模块940,用于根据多组评分从多个候选辅助语句中确定目标辅助语句,目标辅助语句用于辅助翻译源语言语句。根据本公开的实施例,该确定模块940例如可以用于执行上文参考图2所描述的s240步骤,在此不再赘述。
[0139]
翻译模块950,用于使用源语言语句和目标辅助语句进行神经机器翻译。根据本公开的实施例,该翻译模块950例如可以用于执行上文参考图2所描述的s250步骤,在此不再赘述。
[0140]
需说明的是,根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或
固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0141]
例如,获取模块910、选取模块920、评分模块930、确定模块940、翻译模块950中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块910、选取模块920、评分模块930、确定模块940、翻译模块950中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块910、选取模块920、评分模块930、确定模块940、翻译模块950中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0142]
图10示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0143]
如图10所示,本实施例中所描述的电子设备1000,包括:处理器1001,其可以根据存储在只读存储器(rom)1002中的程序或者从存储部分1008加载到随机访问存储器(ram)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0144]
在ram 1003中,存储有系统1000操作所需的各种程序和数据。处理器1001、rom 1002以及ram 1003通过总线1004彼此相连。处理器1001通过执行rom 1002和/或ram 1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除rom 1002和ram 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0145]
根据本公开的实施例,电子设备1000还可以包括输入/输出(i/o)接口1005,输入/输出(i/o)接口1005也连接至总线1004。系统1000还可以包括连接至i/o接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至i/o接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
[0146]
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施
例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0147]
本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的基于文档上下文的神经机器翻译方法。
[0148]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 1002和/或ram 1003和/或rom1002和ram 1003以外的一个或多个存储器。
[0149]
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的基于文档上下文的神经机器翻译方法。
[0150]
在该计算机程序被处理器1001执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
[0151]
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0152]
在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0153]
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c ,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0154]
需要说明的是,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。
[0155]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0156]
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0157]
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献