何志勇 Effective LSTMs for Target-dependent Sentiment classification
新闻来源:IR实验室       发布时间:2016/11/3 10:57:04

Effective LSTMs for Target-dependent Sentiment classification

Duyu Tang, Bing Qin, Xiaocheng Feng, Ting Liu

Harbin Institute of Technology, Harbin, China

{dyTang, qinb, xcfeng, tliu}@ir.hit.edu.cn

 

本文将先介绍一些循环神经网络(RNN)和长短期记忆模型(LSTM)的基础知识,然后,介绍一篇LSTM模型应用情感分类任务中的论文。

1、循环神经网络(RNN

在传统的神经网络模型中,数据流从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络在很多问题中却表现很无力,比如,预测句子的下一个单词是什么,一般要用到句子前面的单词,因为句子中前后单词之间并不是相互独立的。而RNNs之所以称之为循环神经内网络,就是因为序列当前的输出与前面的输出有关系。其具体的表现形式为神经网络会对前面的信息进行记忆并应用与当前输出的计算中,即隐藏层之间不再是无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。下面是一个典型的循环神经网络:

 

其展开形式如下所示:

 

在图中:有一条单向流动的信息流是从输入单元到达隐藏单元的,与此同时另一条单向流动的信息流从隐藏单元到达输出单元。在某些情况下,RNNs会打破后者的限制,引导信息从输出单元返回隐藏单元,这些被称为Back Projections,并且隐藏层的输入还包括上一隐藏层的状态,即隐藏层内的节点可以自连也可以互连。

循环神经网络(RNN)目的是用来处理序列数据,利用历史信息用于当前序列输出的计算,然而这种记忆模型带来的问题是长时间的记忆中导致的梯度消失/爆炸问题,因此学者们针对这个问题,提出了专门的解决方法,就是长短期记忆模型的诞生。

下面是一个梯度消失问题的示意图:

 

2、长短期记忆模型(LSTM

RNN遇到一个很大的问题,叫做 The vanishing gradient problem for RNNs,也就是后面时间的节点对于前面时间的节点感知力下降,也就是忘事儿,这也是NN在很长一段时间内得不到发展的原因,网络一深训练就变得非常困难,没法训练,RNN解决这个问题用到的就叫LSTM,简单来说就是你不是忘事儿吗?我给你拿个小本子把事记上,所以LSTM引入一个核心元素就是Cell

LSTM模型与一般的RNNs结构本质上并没有什么不同,只是使用了不同的函数去去计算隐藏层的状态,简单来说就是用一个称之为“记忆模块”去代替RNNs隐藏层中每一个神经单元,“记忆模块”示意图如下。在LSTMs中,i结构被称为cells,可以把cells看作是黑盒用以保存当前输入xt之前的保存的状态ht1,这些cells更加一定的条件决定哪些cell抑制哪些cell兴奋。它们结合前面的状态、当前的记忆与当前的输入。该网络结构在对长序列依赖问题中非常有效。

记忆模块示意图:

 

其中重要的是引进了“门”的概念,Input GatesOutput GatesForget Gates

理解一下这个记忆模块:

   (1Cell,就是我们说说的小本子,其中有个叫做state的参数用来记事

   (2Input GatesOutput Gates,在参数进行输入输出起作用,就是用来算一算东西

   (3Forget Gates:用来选择性的遗忘一些东西

LSTM模型示意图:

 

接下来说一些模型训练中记忆模块的前向传播计算

 

对这个公式的理解就是,看都有谁连向了Input Gates:外面的输入体现在公式的第一项,来自Cell的虚线连接(peephole连接)体现在公式的第三项,计算就是普通的累积求和。中间那个式子是一个泛指连接,表现在隐藏层节点之家可能存在的自连接和相互连接。

 

 

 

输出门、遗忘门、Cell公式的理解都是相同的道理。

最后得到记忆模块的最终输出:

 

当然还有一大波反向传导的计算公式,具体公式细节就不展开讨论了。

 

3、论文部分

LSTM

首先用到的是普通的LSTM,把句子的最后一个单词的隐状态作为softmax分类器的输入,但是带来问题,如果一个句子中有多个targetaspect),那么每次预测时得到的句子表示都是一样的,预测结果也必然一样,显然不合理,因为一句话可能对不同target有不同的情感。

 

 

TD-LSTMTarget-dependent LSTM

在构建句子的向量表示时加入target信息。首先需要说明的一点是,target可能由一个单词或多个单词组成,在LSTM的链式结构中,从左到右递归到target的最后一个单词,从右到左递归到target的第一个单词,然后将两个隐状态的串联作为softmax分类器的输入。但是还有存在问题的地方就是没有捕获target和上下文单词的交互信息。

 

  TC-LSTM target-connection LSTM

 target-connection LSTM,增加了一个target connection组件。在生成句子表示时,显示的利用target单词和每个上下文单词之间的联系。将target所有组成单词的向量的均值作为target的向量,每个单词的词向量和该target向量串联作为RNN的输入。

 

4、参考文献


[1] Duyu Tang, Bing Qin, Xiaocheng Feng, Ting Liu. Effective LSTMs for 

Target-Dependent Sentiment Classification. Proceeding of the 26th International 

Conference on Computational   Linguistics (COLING 2016, full paper)

[2] Li Dong, Furu Wei, Chuanqi Tan, Duyu Tang, Ming Zhou, Ke Xu.Adaptive

Recursive Neural Network for Target-dependent Twitter Sentiment Classification.Proceeding of the 52th Annual 

Meeting of the Association forComputational Linguistics (ACL 2014, short paper) 

[3]RNN以及LSTM的介绍和公式梳理

  http://blog.csdn.net/Dark_Scope/article/details/47056361