讀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

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