《Document Context Neural Machine Translation with Memory Networks》

博客围绕基于文档水平的翻译展开。指出多数神经机器翻译模型独立翻译,会忽略话语现象的远程依赖。提出引入两个记忆网络捕捉内部依赖,介绍了源和目标记忆网络的内容,还阐述了普通NMT decoder计算、记忆网络计算、训练目标及上下文向量计算等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:基于文档水平的翻译。尽管神经机器翻译具有灵活性,但大多数神经机器翻译模型都是独立翻译,代词回指和词汇一致性等话语现象可能取决于比前几句更远的远程依赖,在基于句子的翻译中会被忽略。

思路:翻译文本时,还是会翻译输出很多句子,每个时间步产生一个单词。在输出当前时刻的单词时,普通的神经机器翻译只考虑对应的源语句和之前的输出单词,这篇论文考虑了对应的源语句,之前输出的单词,其他的源语句和其他的目标语句。引入了两个记忆网络,源和目标各一个,用来捕捉内部依赖,用在上下文向量的计算中。源memory的内容:一个源语句经过双向RNN得到的隐藏层状态,再输入进一个双向RNN,相当于每个时间步输入一句话,最终获得整个文档的表示,训练过程中保持不变。目标memory的内容:decoder对每个句子输出时隐藏层的最后时刻状态,训练过程中是动态更新的。

普通的NMT decoder计算:

其中是decoder隐藏层状态。

记忆网络的计算:

记忆网络是向量的集合,对于记忆网络有两个操作:读和写,读操作的计算如下,对于查询向量q:        读操作可以简写为:

基于文档水平的机器翻译:每一个x和y都表示一个句子,捕捉之间的内部依赖,捕捉之间的依赖。表示除之外的句子,表示除之外的句子。

训练目标:

使用普通的神经机器翻译初始化每个句子的翻译,然后重复访问文本中的每个句子,使用更新翻译句子,更新这个句子的时候其他句子更新不变。

上下向量c的计算分为两个部分,分别是从源memory和目标memory中读取内容

其中分别表示第t个源语句和翻译语句,作为查询获得源的上下文向量,翻译共同作为查询获得目标的上下文向量,因此训练目标可以写成

 

在decoder的计算中隐藏层状态的计算为:

输出的计算为:

源memory的内容:

把一个语句输入进双向RNN(句子水平RNN)获得句子水平的表示,然后把这个句子水平的表示输入进另一个双向RNN(文档水平RNN),每个时间步输入一个语句的表示,最终获得文档水平的表示,文档水平RNN的所有隐藏层状态作为源memory的内容。

目标memory的内容:

把所有输出目标语句的decoder RNN隐藏层的最后时刻状态作为目标memory的内容。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值