[ACL2017]Sequence-to-Dependency Neural Machine Translation

来源:互联网 发布:北京软件开发外包 编辑:程序博客网 时间:2024/05/29 18:10

conventional NMT的翻译过程:
(1)an encoder reads in source sentences of various lengths
(1)encoder 读取变长的原句子这里写图片描述
(2) 将其转换为中间隐变量表示:这里写图片描述
(3)计算aij, 并计算出ct, 然后由decoder生成目标语言

目前提出的NMT方法中大都致力于解决的问题包括
(1)out-of-vocabulary words
(2)designing attention mechanism
(3)to more efficient parameter
(4)using source-side syntactic trees for better encoding and so on
不同于以上的关注点:本文的主要想法是使用目标语言的句法知识以提高翻译的质量
在NMT framework 中利用target syntactic structures存在以下难点:
(1)如何用RNN生成句法树
(2)如何同时生成目标词序列和构建目标语的句法结构
(3)如何有效利用句法结构提高翻译质量
本文给出的解决方案是:decoder时给出两个RNN:
A: word-RNN 用于生成目标语
B: Action-RNN用于构建句法树(这个就是生成依存树的过程,采用的arc-standard algorithm)
此时又出现了一个严重问题:词序列和action序列长度不一致
解决方案:当Action-RNN预测的标签为SH(shift)时,word-RNN才生成目标词
为了使得生成的词序列与action序列保持一致,这里引入了虚拟的词序列标签这里写图片描述
ŷ j的定义如下:
这里写图片描述
意思是说当action-RNN生成的标签是SH时,此时word-RNN生成目标词yvj, 否则不生成目标词而是复制vj1时的生成词作为vj时刻的生成词
为了有效利用action-RNN的结果,本文将公式(5)修改成了了公式(10)
这里写图片描述
这里写图片描述
公式(10)sj1是j-1时候action-RNN的hidden state

阅读全文
0 0
原创粉丝点击