一、介绍
1.1 文章组织
本文简要介绍了BiLSTM的基本原理,并以句子级情感分类任务为例介绍为什么需要使用LSTM或BiLSTM进行建模。
1.2 情感分类任务
自然语言处理中的情感分类任务是对给定文本进行情感倾向分类的任务,粗略来看可以认为其是分类任务中的一种。对于情感分类任务,目前通常的做法是先对词或者短语进行表示,再通过某种组合方式把句子中词的表示组合句子的表示。最后,利用句子的表示对句子进行情感分类。
举一个对句子进行褒贬二分类的例子:
句子:我爱你
情感标签:褒义
1.3 什么是LSTM和BiLSTM
LSTM的全称是Long Short-Term Memory,它是RNN的一种。LSTM由于其设计的特点,非常合适用于对时序数据的建模,如文本数据。BiLSTM(directional Long Short-Term Memory)是由前向LSTM与后向LSTM组合而成。两者在自然语言处理任务中都常杯用来建模上下文信息。
1.4 为什么使用LSTM和BiLSTM
将词的表示组合成句子的表示,可以采用相加的方法,即将所有词的表示进行加和,或者取平均等方法,但是这些方法没有考虑到词语在句子中前后顺序。如句子“我不觉得他好”。“不”字是对后面“好”的否定,即该句子的情感极性是贬义。使用LSTM模型可以更好的捕捉到较长距离的依赖关系。因为LSTM通过训练过程可以学到记忆哪些信息和遗忘哪些信息。
但是利用LSTM对句子进行建模还存在一个问题:无法编码从后到前的信息。在更细粒度的分类时,如对于强程度的褒义、弱程度的褒义、中性、弱程度的贬义、强程度的贬义的五分类任务需要注意情感词、程度词、否定词之间的交互。举一个例子,“这个餐厅脏得不行,没有隔壁好”,这里的“不行”是对“脏”的程度的一种修饰,通过BiLSTM可以更好的捕捉双向的语义依赖。
二、BiLSTM原理简介
2.1 LSTM介绍
2.1.1总体框架
总体框架如图所示:
2.1.2 详细介绍计算过程
计算遗忘门,选择遗忘的信息。
输入:前一刻的隐层状态 h t − 1 h_{t-1} ht−1,当前时刻输入词 X t X_t Xt
输出:遗忘门的值 f t f_t ft
计算记忆们,选择要记忆的信息。
输入:前一刻的隐层状态 h t h_t ht,当前时刻的输入词 X t X_t Xt
输出:记忆门的值 i t i_t it,临时细胞状态 C ^ t \widehat{C}_t C t
计算当前时刻细胞状态。
输入:记忆们的值 i t i_t it,遗忘门的值 f t f_t ft,临时细胞状态 C ^ t − 1 \widehat{C}_{t-1} C t−1
输出:当前时刻细胞状态 C t C_t Ct
计算输出门和当前时刻隐层状态
输入:前一时刻的隐层状态 h t − 1 h_{t-1} ht−1,当前时刻的输入词 X t X_t Xt,当前时刻细胞状态 C t C_t Ct
输出:输出门的值 O t O_t Ot,隐层状态 h t h_t ht
最终,我们可以得到与句子长度相同的隐层状态序列{
h
0
,
h
1
,
h
2
,
.
.
.
,
h
n
−
1
h_0,h_1,h_2,...,h_{n-1}
h0,h1,h2,...,hn−1}
2.2 BiLSTM介绍
前向的LSTM与后向的LSTM结合成BiLSTM。比如,我们对“我爱中国”这句话进行编码,模型如图所示。
对于情感分类任务来说,采用的句子的表示往往是[ {
h
L
2
,
h
R
2
h_{L2},h_{R2}
hL2,hR2} ]。
因为其包含了前向与后向的所有信息,如图所示。
三、总结
本文中,我们结合情感分类任务介绍了LSTM以及BiLSTM的基本原理,除了情感分类任务,LSTM与BiLSTM在自然语言处理领域的其它任务上也得到了广泛应用,如机器翻译任务中使用其进行源语言的编码和目标语言的解码,机器阅读理解任务中使用其对文章和问题的编码等。