Head-Lexicalized Bidirectional Tree LSTMs

关注公众号【算法码上来】,每日算法干货马上就来!

首先给大家说明一下,前两天因为新入手了一个ukulele(就是下图这玩意),所以痴迷于学习弹奏,没有更新博客。照这个节奏下去,PaperDaily恐怕是要变成PaperWeekly了。(囧。。。)寒假一定要学会《小幸运》,嗯。

好了,今天开始恢复吧(说不准过两天我又鸽了,嘻嘻嘻)。

今天要讲的这篇是TACL2017的,是关于树状LSTM的。

介绍


前两年已经有人提出了树状LSTM的概念,之前一直不知道是个啥高大上的结构。其实就是递归神经网络中的结点单元替换成LSTM的结点单元。那有人要问了,LSTM不是有$x$输入吗,还有一个$h_{t-1}$输入,那这树状的哪来这两个输入?其实很简单,只要把这两个输入替换成左右儿子的输出表示就行了。瞬间感觉也没啥意思,就是换了结点函数,使得树状LSTM具有了遗忘功能,从而能够处理很长的句子罢了。

今天介绍的这篇paper就是在这基础上做了两点改进。

  • 除了左右儿子作为输入之外,还增加了$x$输入。$x$是啥呢?就是左右儿子中的头结点,头结点的话传统方法是根据规则来判断谁是头结点的,这里省去了这些复杂的步骤,直接将头结点的判断丢进神经网络中训练。
  • 增加了反向的树状LSTM,也就是top-down的LSTM。那有人就很好奇了,一个结点分解成两个结点,怎么可能?其实从头结点到任意一个其他结点的路径都可以看成一个独立的LSTM,如果向左参数就是$U_L$,否则就是$U_R$。

模型



图1是序列LSTM和树状LSTM的结构区别,这个树状LSTM是之前传统的树状LSTM,不带head结点的。

之前的基本的树状LSTM的结点单元的具体公式如下:

具体我就不解释了(懒。。。),自行类比序列LSTM。

加入head结点之后,公式区别如下(加粗所示):


那么top-down是怎么做的呢?

这里可以看出来,向左向右是用的两套不同的参数。注意到,top-down方向的LSTM前提是一定要用head机制作为支撑!不然头结点的$x$算不出来的话是没有办法计算的哦。

具体训练过程等等就不再阐述了。

总结


这个模型主要是用在了文本分类和情感分类上,我在想能不能用在我的毕设上面。

我觉得head机制可以加进去,但是反向LSTM貌似是不可行的,因为这里的短语结构树全部是给定的,所以向下计算知道什么时候停止。但是我是做句法分析任务的,没有给定句法树,向下计算无法知道什么时候停止扩展,情况有无数种!向上计算倒是无所谓,最多卡特兰数级别,加上动态规划,可以缩小到$n\log n$级别。


   转载规则


《Head-Lexicalized Bidirectional Tree LSTMs》 韦阳 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Top-down Tree Long Short-Term Memory Networks Top-down Tree Long Short-Term Memory Networks
关注公众号【算法码上来】,每日算法干货马上就来! 昨天又鸽了一天,由于水平有限,最主要还是懒,一篇paper看了两天才看了个大概。最近很颓废啊,白天啥都不想干一天就这么过去了,明天开始还是写写毕设代码吧,再好好研究研究。 介绍 这次介
2018-01-15
下一篇 
Parsing with Compositional Vector Grammars Parsing with Compositional Vector Grammars
关注公众号【算法码上来】,每日算法干货马上就来! 今天也没看新的paper,就讲讲我的毕设的paper吧,估计等我文本挖掘这门课上完,也不会再看太多序列标注相关的了,重点要转移到parsing了。毕竟序列标注效果也已经很好了,迁移学习
2018-01-10
  目录