读TextRCNN文章

    TextRCNN 顾名思义,对文本处理包含RNN 和 CNN的元素,其中CNN部分是用到了池化,RNN部分是考虑了上下文的因素

 

1.模型结构

 

RNN 部分:

  • 拿上图中 x4举例, x4= [cl(w4),along,cr(w4)]   , l 是left的缩写, r是right的缩写
  • 对于cl(w4),有cl(w3) 和 stroll 指向它,所以可以看出  cl(w4) 是由 cl(w3) 和 stroll 两边部分构成
  • 对于cr(w4),有 the 和 cr(w5) 指向它,所以可以看出 cr(w4) 是由 the 和 cr(w5) 两部分构成
  • cl 和 cr 表示 RNN是双向的

 

具体公式如下: 

 

非线性激活部分:

  • yi就是潜在语义向量,接下去判断 哪个 xi 在 潜在第1,2,3,4个语义空间中起到的作用最大?采用max-polling来判断

 

maxpooling部分

y(3) 和 y(2) 的长度是一样的
 

 

全连接层

Softmax

  • 采用SGD方法进行优化
  • 初始化参数从均匀分布中
  • 用预训练的词向量,具体采用skip-gram模型训练出的

 

 

2. 试验的一些设置

  • 英文分词采用斯坦福的分词器,中文分词采用中科院的ICTCLAS
  • 没有去掉停用词
  • 划分 train ,val , test ;如果数据集没有自带的val,就从train datasets中划分10% 作为val
  • 采用Macro-F1 来衡量分类的效果,这个指标一般用于多分类任务中,首先对每个类求F值,然后再对每个类的F值求平均
  • 学习率设置为0.01
  • 隐藏层神经元个数为H=100
  • 词向量长度为50
  • 文本的长度设置为50

 

看下参数部分:

 

 

 

 

3. 几种比对的模型

Bag of Words/Bigrams + LR/SVM 

Average Embedding + LR

LDA

Tree Kernels

RecursiveNN

CNN , 

 

  • cnn , rnn , rcnn 的效果比传统机器学习的方法的要更出色,在所有的4份数据集上,神经网络能更好的捕获上下文的信息
  • cnn 和 crnn 跟 rnn 比较的话,cnn 和 rcnn 效果更好,认为主要的原因是 cnn可以通过池化选择更显著的特征,通过卷积层捕获上下文的信息,二RNN智能捕获上下文信息,依赖于模型的结构
  • 在ACL 和 SST 数据集上,RCCN表现更好
  • 比对RCNN 和 CNN,发现RCNN在所有的case中,表现更好,认为主要的用RNN的结构比CNN用滑窗口的结果下更好,

 

上下文信息捕获上:

比对RCNN 和CNN, 其中CNN采用固定的滑窗的方式,窗口的大小有一些影响,一个比较小的窗口,会损失距离较远的信息,太大会导致数据稀疏的问题,另外,大量的参数也更难训练。

 

 

refer:Recurrent Convolutional Neural Networks for Text Classification

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章