Paper: Document Modeling with Gated Recurrent Neural Network for Sentiment Classification
Author: Duyu Tang, et al.
Publication: 2015, EMNLP.
1 背景
文本级别的情感分类要求基于文本内容对文本进行两个情感倾向的判断,它是情感分析工作的基础工作,且对于理解社交网络或产品评论中用户给出的内容至关重要。
之前的工作主要基于机器学习的方法,基于手动提取出的特征构建情感分类器,这类方法非常依赖于所选特征的有效性。
而且它们往往没有关注到文本中对文本情感倾向具有关键作用的提示词,所以需要一种端到端的、自底向上的方法来对文本的表征进行有效地建模。
此文作者提出了一种基于文本的组成原则的方法,它以句子或文本的各个组成部分的意义来对整个句子或文本进行理解。
该方法首先基于词的表达使用CNN或LSTM来构建句子的表达,然后基于句子和它们的内在关系使用GNN来构建文本的表达。整个过程使用交叉熵作为损失函数,SGD作为梯度下降方式进行训练。
2 创新点
- 使用神经网络构建了文本中句子之间的关系,以用于情感分类。
- 实验证明该方法的文本级别情感分类的结果比其他baseline都要好。
- 实验证明GRU比普通的RNN效果好。
3 核心方法
3.1 句子表达
首先使用语料库的词嵌入矩阵将词进行嵌入,转成嵌入d维的词向量。
然后使用CNN或LSTM进行句子表达的学习。
以CNN为例,使用宽度为1,2,3三种卷积核来挖掘句子中一元、二元和三元的特征。
如下图所示,假设:
e
i
∈
R
d
e_i\in \mathbb{R}^d
ei∈Rd 是每一个单词的d维嵌入表示。
I
c
=
[
e
i
;
e
i
+
1
;
.
.
.
;
e
i
+
l
c
−
1
]
∈
R
d
⋅
l
c
I_c=[e_i;e_{i+1};...;e_{i+l_c-1}]\in\mathbb{R}^{d\cdot l_c}
Ic=[ei;ei+1;...;ei+lc−1]∈Rd⋅lc 是卷积层的输出,卷积中的线性层的输入。
那么线性层的输出为:
O
c
=
W
c
⋅
I
c
+
b
c
O_c=W_c\cdot I_c+b_c
Oc=Wc⋅Ic+bc
为了能够获取句子全局的语义,将线性层输出到均值池化层,将其转为长度固定的向量。
最后,增加一个tanh激活函数来引入非线性,然后将整合三个卷积的结果平均为输出。
3.2 文本表达
其中Gated RNN如下式计算。
i
t
=
s
i
g
m
o
i
d
(
W
i
⋅
[
h
t
−
1
;
s
t
]
+
b
i
)
i_t=sigmoid(W_i\cdot[h_{t-1};s_t]+b_i)
it=sigmoid(Wi⋅[ht−1;st]+bi)
f
t
=
s
i
g
m
o
i
d
(
W
f
⋅
[
h
t
−
1
;
s
t
]
+
b
f
)
f_t=sigmoid(W_f\cdot[h_{t-1};s_t]+b_f)
ft=sigmoid(Wf⋅[ht−1;st]+bf)
g
t
=
t
a
n
h
(
W
r
⋅
[
h
t
−
1
;
s
t
]
+
b
r
)
g_t=tanh(W_r\cdot[h_{t-1};s_t]+b_r)
gt=tanh(Wr⋅[ht−1;st]+br)
h
t
=
t
a
n
h
(
i
t
⊙
[
h
t
−
1
;
s
t
]
+
b
i
)
h_t=tanh(i_t\odot[h_{t-1};s_t]+b_i)
ht=tanh(it⊙[ht−1;st]+bi)
结构如下图所示,(a)GatedNN将最后一个隐藏层的输出向量作为用于情感分类的特征表达,并且可以进一步使用(b)所示的均值来整合历史信息。
3.3 情感分类
4 实验
4.1 实验设置
使用了一个IMDB影评数据集和Yelp餐馆评价2013、2014、2015三个数据集。
以训练、验证、测试:0.8、0.1、0.1的比例进行划分。
4.2 实验结果