电竞比分网-中国电竞赛事及体育赛事平台

分享

幾種使用了CNN(卷積神經網絡)的文本分類模型

 xyzhao 2017-04-13

 下面就列舉了幾篇運用CNN進行文本分類的論文作為總結。

1 yoon kim 的《Convolutional Neural Networks for Sentence Classification》。(2014 Emnlp會議)

這里寫圖片描述 
他用的結構比較簡單,就是使用長度不同的 filter 對文本矩陣進行卷積,filter的寬度等于詞向量的長度,然后使用max-pooling 對每一filter提取的向量進行操作,最后每一個filter對應一個數字,把這些filter拼接起來,就得到了一個表征該句子的向量。最后的預測都是基于該句子的。該模型作為一個經典的模型,作為很多其他改領域論文里實驗參照。

2 《A Convolutional Neural Network for Modelling Sentences》(2014 ACL會議) 
這里寫圖片描述

這個模型看起來就相對復雜一些,不過其基礎也是基于卷積的。每一層的卷積操作之后同樣會跟上一個max pooling操作。整個模型操作相對于上面的那個模型比較繁瑣,同時我有以下幾個比較質疑的地方: 
1 倒數第二到倒數第三層使用了k-max 的pooling操作,也就是說第三層中相鄰的詞語對應于原來的句子可能不再是相鄰的,而且它們只有相對的先后關系保存了下來。倒數第三層中不同卷積平面對應的詞語在原句子中可能處于不同的位置,甚至是不同的詞語,因此倒數第三道倒數第四之間的卷積是沒有意義的。

2 關于這里的folding操作。把同一個詞語向量的不用維度之間進行加法操作,這樣原文里是這樣解釋的“With a folding layer, a feature detector of the i-th order depends now on two rows of feature values in the lower maps of order i -1.”。但是這樣的操作有意義嗎??從來沒有見人提到用過,也許我們未來可以探索一下這樣是否能夠提高卷積器的性能。

3《A C-LSTM Neural Network for Text Classification》(arXiv preprint arXiv) 
這里寫圖片描述 
其實這篇論文里只是用cnn對原文的詞向量以某一長度的filter進行卷積抽象,這樣原來的純粹詞向量序列就變成了經過卷積的抽象含義序列。最后對原句子的encoder還是使用lstm,由于使用了抽象的含義向量,因此其分類效果將優(yōu)于傳統(tǒng)的lstm,這里的cnn可以理解為起到了特征提取的作用。

4 《Recurrent Convolutional Neural Networks for Text Classification》(2015 AAAi會議) 
這里寫圖片描述 
正如標題所說的,把lstm和cnn結合起來了,不過這個結合的方式和上面的不一樣。舉例來說對于詞序列: A B C D E F來說,在形成C詞的向量化表示的時候,使用的不再僅僅是C的word embedding,而是C左邊的內容構成的向量和C以及C右邊內容構成的向量的拼接形式。由于使用到了左右兩邊的內容故使用的是雙向的Lstm。然后如圖中所示使用1-d convolution的方式得到一系列的y,最后經過max-pooling的方式得到整個句子的向量化表示,最后的預測也是基于該句子的。

5 《Learning text representation using recurrent convolutional neural network with highway layers》(arXiv preprint arXiv) 
這里寫圖片描述 
這個模型幾乎就是稍微的更改了一下4中的模型,只不過在C向量拼接完畢將要進行卷積操作之前經過了一個highway而已。(本人對于僅僅加了一個highway就能提高模型準確率的做法感到十分懷疑,畢竟這個網絡的層數并不深)

原文鏈接:http://blog.csdn.net/guoyuhaoaaa/article/details/53188918



    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多