1. 引言
前面介绍了LSTM_CNN文本分类模型,虽然在CNN前加上一层LSTM层,可以提取文本中的序列信息,但是当文本的长度比较长时,LSTM提取信息的能力是有限的,并且,在LSTM中,每个词汇对应的隐藏状态都只包含了前面序列的信息,而没有考虑到后续序列的信息(BiLSTM除外),因此,本文将介绍一个新的模型结构,该结构采用一种递归CNN的形式,即每个词汇的向量表示既包括了其本身的词向量,也包括其前面序列和后面序列的上下文向量,从而使得每个词汇的向量信息更加丰富。
2. RCNN模型介绍
2.1 RCNN模型的结构
首先,对于每一个文本,用一串词汇序列
表示,并且记该文本属于某一类别
的概率为
,其中,
表示模型中的参数。RCNN模型主要包含三部分,分别是递归CNN层、max-pooling层、输出层。
在递归CNN层,对于每个词汇,RCNN会递归地计算其左侧上下文向量和右侧上下文向量,然后将这两部分向量与当前词汇的词向量进行拼接作为该词汇的向量表示,如图1所示。记、
分别为词汇
的左侧上下文向量和右侧上下文向量,它们都是长度为
的实数向量,计算公式分别如下:
其中,