Transformation Networks for Target-Oriented Sentiment Classification
标签(空格分隔): 论文笔记 情感分类
Abstract
目的是利用句子里的目标词进行分类,对句子中的目标词作为关注点进行极性判断,从而判断句子的极性,输入的是(target,sentence),传统的一些基于RNN通常用于翻译,主要利用基于词级别特征来进行分类,但是存在的一些噪声会降低准确度。利用(target, sentence)组进行预测,提取每个词与target之间的关系,
例如:This dish is my favorite and I always get it and never get tired of it.
这个句子是积极的,但是存在never和tired这两个负面词,会对结果产生影响。另一方面,CNN确实能解决模型的分类问题,但是对于一个句子存在多个目标词还有一些问题,并不能充分利用被RNN抽取到的目标信息,也就是一个句子有一个目标词能处理,有多个目标词并不能区分开来。
检查了基于注意力机制的RNN模型实现情感分类和CNN在实现情感分类存在的一些问题后,提出了一个新的模型,被称为 TargetSpecific Transformation Networks (TNet)模型,在这两个层之间,利用一个组件生成一个句子中词的特殊目标向量。同时吸收RNN保存上下文信息的机制,被称为Target-Specific Transformation (TST) 。TST能对句子中单个的目标词生成单独的特征,TST能使非目标词对每个目标词的不同作用体现出来,把目标信息融合到句子中每个词中,TNet模型首先利用LSTM模型把词语转换为上下文相关的词向量。为了把目标词的信息加入词向量中,利用了一个TST结构,TST首先对每个词和目标词生成特定的向量,比如下面这个句子
I am pleased with the fast log on, and the long battery life
TST首先测量词语long与目标词之间的联系,是用这个联系生成long关于目标词的特征向量,每个词语都与目标向量生成一个特征向量,这样做的好处是能区别目标词之外的词与目标词之间的关系,这样能训练出针对目标词的积极词和消极词。TST跟好的把目标信息整合到词向量中了。
具体实现:
第一层:第一层是一个LSTM层
输入是一个目标-句子对(WT,W)(W^T, W)(WT,W), WT=w1T,w1T,...,wmTW^T={w_1^T, w_1^T,...,w_m^T}WT=w1T,w1T,...,wmT, W=w1,w2,...,wnW = {w_1,w_2,...,w_n }W=w1,w2,...,wn,WTW^TWT是WWW的子向量。和相对应的词向量XT=x1T,x2T,...,xmTX^T={x_1^T,x_2^T,...,x_m^T}XT=x1T,x2T,...,xmT和x=x1,x2,...,xnx={x_1,x_2,...,x_n}x=x1,x2,...,xn分类的目标是预测句子的情感类别y⊂P,N,Oy\subset{P,N,O}y⊂P,N,O。
输入是向量x⊂Rn×dimwx \subset R^{n\times dim_w}x⊂Rn×dimw利用LSTM模型生成词特征h(0)={h1(0),h2(0),...,hn(0)}⊂Rn×2dimhh^(0)= \{h_1^{(0)},h_2{(0),...,h_n^{(0)}}\} \subset R^{n \times 2dim_h}h(0)={h1(0),h2(0),...,hn(0)}⊂Rn×2dimh, 向量h能体现出词语之间的关系。
第二层:第二层是一个CPT层
CPT层主要是由TST组件组成,TST组件能把每个目标词融合到每个词的词向量中,CPT还有一个上下文保存机制,
第三层:也是最后一层,是一个卷积层。
对词语和目标词之间的位置关系进行卷积。
首先利用双向LSTM计算每个词上下文特征的向量hi(0)⊂R(2dimh)h_i^{(0)}\subset R^{(2dim_h)}hi(0)⊂R(2dimh): hi(0)=[LSTM→(xi);LSTM(xi)←],i⊂[1,n]h_i^{(0)}=[\overrightarrow{ LSTM}(x_i);\overleftarrow{LSTM(x_i)}], i\subset[1,n]hi(0)=[LSTM(xi);LSTM(xi)],i⊂[1,n]
然后:因为句子中每个词对目标词的情感贡献不一样,并且一个句子可能有多个情感,因此提出了动态计算目标词对于句子中每个词的重要度,首先利用BiLSTM获得目标词向量hT⊂Rm×2dimhh^T\subset R{m\times2dim_h}hT⊂Rm×2dimh:
hjT=[LSTM→(xjT);LSTM←(xjT)],j⊂[1,m]h_j^T=[\overrightarrow{LSTM}(x_j^T);\overleftarrow{LSTM}(x_j^T)],j\subset[1,m]hjT=[LSTM(xjT);LSTM(xjT)],j⊂[1,m]
把hjTh_j^ThjT 与词向量结合生成目标向量 riTr_i^TriT
riT=∑j=1mhjT∗F(hi(l),hj(T))r_i^T=\sum^m_{j=1}h_j^T * F(h_i^{(l)},h_j^{(T)})riT=j=1∑mhjT∗F(hi(l),hj(T))
函数F为
F(hi(l),hjT)=exp(hi(l)ThjT)∑k=1mexp(hi(l)ThkT)F(h_i^{(l)},h_j^T)=\frac{exp(h_i^{(l)T}h_j^T)}{\sum_{k=1}^m exp(h_i^{(l)T}h_k^T)}F(hi(l),hjT)=∑k=1mexp(hi(l)ThkT)exp(hi(l)ThjT)
最后把riTr_i^TriT和hi(l)h_i^{(l)}hi(l)联结在一起作为全连阶层的输入,获得第i个特定目标的词向量
h~i(l)=g(WT[hi(l):riT]+bT)\widetilde h_i^{(l)}=g(W^T[h_i^{(l)}:r_i^T]+b^T)hi(l)=g(WT[hi(l):riT]+bT) g(∗)g(*)g(∗)为非线性的激活函数
上下文保留机制
经过非线性的TST组件之后,由于特征向量中的特征的均值和方差会发生变化,从BiLSTM层中通过上下文化表示捕获的上下文信息将会丢失。为了不使上下文信息丢失,利用两个机制去改善:Lossless Forwarding (LF) and Adaptive Scaling (AS),这两种方法被命名为TNet-LF和TNet-AS
Lossless Forwarding:
hi(l+1)=hi(l)+h~i(l),i⊂[0,L]h_i^{(l+1)}=h_i^{(l)}+\widetilde h_i^{(l)}, i\subset[0, L]hi(l+1)=hi(l)+hi(l),i⊂[0,L]
Adaptive Scaling
该方法引入了一个门控函数来控制转换后的特征和输入特征的传递比例:
ti(l)=σ(Wtranshi(l)+btrans)t_i^{(l)}=\sigma(W_{trans}h_i^{(l)}+b_{trans})ti(l)=σ(Wtranshi(l)+btrans)
hi(l+1)=ti(l)⊙h~i(l)+(1−ti(l))⊙hi(l)h_i^{(l+1)}=t_i^{(l)}\odot \widetilde h_i^{(l)}+(1-t_i^{(l)})\odot h_i^{(l)} hi(l+1)=ti(l)⊙hi(l)+(1−ti(l))⊙hi(l)
⊙\odot⊙表示元素相乘
卷及特征抽取
注意力机制
比如我们想根据一张图片生成一个标题或者一句话,当我们利用CNN进行训练的时候,生成的句子并不能与图片的每个部分都匹配,信息会出现丢失,这是我们能利用注意力机制,把图片根据根据图片里的信息分成多个部分,每一部分生成该部分表示的词语,最后把所有的词语组合起来就能完整的描述图片里的信息。
待续。。。
本文介绍了Target-Specific Transformation Networks (TNet)模型,用于目标导向的情感分类。TNet结合了LSTM的上下文保留和TST组件,通过动态计算目标词对句子中每个词的重要性,增强非目标词与目标词的关系表示,从而提高分类准确性。TNet解决了RNN和CNN在处理多目标词句子时的问题,通过Lossless Forwarding和Adaptive Scaling保持上下文信息。
267





