点击上方,选择星标或置顶,每天给你送干货!
阅读大概需要1分钟
跟随小博主,每天进步一丢丢
张梅山教授个人主页:
http://zhangmeishan.github.io/
论文地址:
https://arxiv.org/pdf/1905.02878.pdf
这是我小导师今年的一篇论文,最近刚好有时间,就来简单分享下。
论文概括:
将训练好的句法分析模型的隐层,融入到经典的seq2seq NMT模型当中,使模型获得句法信息,来得到更好的翻译效果。解决了之前融入句法信息的方法:Tree RNN模型和Tree Linearization模型的错误传播的问题。
简单概括
这个是由两部分组成,可以看做是parser和seq2seq NMT联合模型(joint model)。
其中左边的是用随机选择50k Chinese Treebank 7.0在SOTA模型biaffine parser上训练好的模型,其中包括encoder和decoder。这里主要用的是encoder输入的隐层。
比如一个句子的依存树,长这个样子:
输入一句话,通过训练好的parser模型,得到encoder的隐层:
这里的O1-O6就是要输入到右边的NMT模型当中的隐层。
右边就是经典的seq2seq NMT模型。
encoder:
decoder:
这两个模型相连是通过一个映射单元projection来连接的:
这个O就是上面encoder的每个输出,通过这样一个线性变化(映射),和输入的embedding concat到一起作为NMT的encoder的输入。
模型就是大概这个样子!
使用parser隐层的原因?
是这个样子的,以前融入句法信息用的具体的依存树,类似下面这个:
而这个依存树是由parser解析出来的。这样会有两个问题:
1. 解析出来的树一般不是100%正确的,会带来错误传播问题。
2. 依存树只能表示一些信息,还有一些信息还在隐层里没有表示出来,所以直接用依存树会缺失一些或许必要的信息。
使用parser的隐层,恰恰解决了上述两个问题。
而用对于具体的依存树,之前用的融入方法就是Tree RNN或Tree Linearization。
这里提一下,Tree RNN很不容易并行化,做batch会很慢很慢,当初我打算把句法信息融入到法律文本里做预测,就用了依存树,方法是Tree LSTM,训练了一天,跑了一轮,速度降低了30倍。。哈哈哈。。额。。
实验分析
其中,baseline就是经典的seq2seqNMT,也就是该论文模型的右半部分。SAWR(syntax-aware word representations)就是该论文模型的名称 .可以看出,效果还是提升的很明显哒!
因为左边是训练好的模型,所以,可以试试finetune与否的效果:
可以看出,不finetune的效果更好,分析的原因是:
finetune可能导致parser 的encoder不再单纯存依存句法信息,而重复学到右边模型该学的机翻信息。
和其他模型相比,该模型更能很好地学到词与词直接的信息,比如上面。
前天的一篇解析论文:
【一分钟论文】轻松解读Semi-supervised Sequence Learning半监督序列学习
就到这里吧,该睡啦!
写作不易,还望给个在看!
今天留言内容为:
【day n】今天我学到了什么或者今天打算学什么。
(至少10个字,越详细越好)
督促自己,每天进步一丢丢!
推荐阅读:
详解Transition-based Dependency parser基于转移的依存句法解析器