CNN用於文本分類本就是一個不完美的解決方案,由於CNN要求輸入都是必定長度的,而對於文本分類問題,文本序列是不定長的,RNN能夠完美解決序列不定長問題,網絡
由於RNN不要求輸入是必定長度的。那麼對於CNN用於解決文本分類問題而言,能夠判斷文本的長度範圍,例如若是大多數文本長度在100如下,極少數在100以上,那就blog
能夠設定文本長度是100,不足100的文本用padding補齊,多於100的文本則截斷。具體過程以下圖:神經網絡
首先把分詞以後的句子按照設定的維度展開,這裏維度是9,每一個單詞都會有一個向量表達,維度是6(word embedding),而後用一個一維卷積核(也能夠是多個)對其進行卷積操做,注意,單詞的Embedding的長度就是原始輸入的通道數,也就是卷積核的通道數;卷積操做以後,再對其進行Pooling操做,有max-pool和average-pool操做兩種,注意,這裏是對時間維度,也就是句子序列上作Pooling;最後再輸入到一個全鏈接神經網絡中,獲得分類結果。並行
CNN和RNN用於解決文本分類問題的對比:im