TextRCNN论文笔记

TextRCNN是2015年中科院发表的一篇文本分类的论文,TextRCNN实际是将RNN和CNN进行结合,先使用双向RNN获取输入文本的上语义和语法信息,接着使用最大池化自动地筛选出最重要的特征。然后接一个全连接层用于分类。下面详细介绍下论文的重要部分。
论文链接:Recurrent Convolutional Neural Networks for Text Classification

1 文章的主要贡献

提出了TextRCNN用于文本分类,并通过实验验证了RCNN在中英文的文本分类任务上都取得了较好的效果。
论文提出的RCNN实际上是综合了RNN和CNN的优点。作者认为,使用RNN处理输入序列时,是对输入序列的词按照次序进行处理,它通过隐藏层储存了之前的序列信息,能更好地获取上下文信息。然而RNN是有偏模型,后面输入的词的重要性要高于之前的词,而实际上一个文本中后面的词并不一定是最重要的词,最重要的词可能出现在文本的任何地方。而CNN则是无偏模型,通过最大池化来自动地筛选文本中重要的词,能够解决RNN有偏的问题。然而CNN是通过使用一定尺寸的窗口来提取特征(卷积操作),窗口的尺寸实际很难确定,尺寸太小则会丢失重要的信息,尺寸过大导致参数过多且难以训练。为了结合RNN和CNN的优点,论文提出了TextRCNN模型。

2 TextRCNN的结构

TextRCNN的结构为:
在这里插入图片描述
网络主要由循环结构层,最大池化层以及全连接层三个部分组成
循环结构层
这一层只要由Embedding层以及双向RNN组成。
其中论文做Embedding使用的是预训练的词向量,使用的模型为word2vec的Skip-Gram模型,中英文的训练语料都是Wikipedia语料。
预训练完成后,输入的词通过Embedding层后由one-hot形式转为为稠密词向量,接着输入到一个双向RNN中。下面介绍下具体的公式:
左边的第i个词处的表征为:
在这里插入图片描述
输入为左边的第i-1个词处的表征以及第i-1个词的词向量
同理右边的第i个词处的表征为:
在这里插入图片描述
(注意左右两边的词的顺序是相反的)
然后结合左右两边的结果以及当前词的词向量得到的第i个词处的表征为:
在这里插入图片描述
将xi做一次线性变换,然后输入到一个激活函数中得到第i个词处对应的输出:
在这里插入图片描述
最大池化层
应用最大池化层可以自动的筛选出最重要的特征,将不同长度的输入序列都转化成一样的维度
在这里插入图片描述
全连接层
最后接上一个用于分类的全连接层,使用softmax函数得到类别的概率分布。
在这里插入图片描述
在这里插入图片描述

3 实验结果

在这里插入图片描述

4 参考文献

Recurrent Convolutional Neural Networks for Text Classification

发布了37 篇原创文章 · 获赞 6 · 访问量 5405

猜你喜欢

转载自blog.csdn.net/qq_37891889/article/details/103453049