-
什麼是TextCNN
Yoon Kim在論文(2014 EMNLP) Convolutional Neural Networks for Sentence Classification提出TextCNN,該模型將卷積神經網路CNN應用到文字分類任務,是卷積神經網路應用到文字分析的開創性工作之⼀。
-
TextCNN的結構
TextCNN的結構圖如下:
具體包含如下結構:
-
Embedding層
將詞的One-hot表示對映為稠密向量表示。
-
一維卷積層
寬度設為詞嵌入維度,高度為卷積核大小(超引數),在word-level上進行一維卷積。雖然文字經過詞嵌入後是二維資料,但是在embedding-level上的二維卷積沒有意義。同一卷積核大小一般設定多個卷積核來提取不同的特徵。
-
時序最大池化層
對一個卷積核得到的feature map取最大值,由於一個卷積核是在word-level即按照時序進行卷積的,所以稱為時序最大池化(max-over-time pooling)。
-
全連線層
將各個卷積、池化後的結果拼接後經過最後一層或多層全連線層將特徵轉化為label的概率分佈。
-
-
TextCNN學到了什麼
TextCNN不同大小的卷積核學習到的是卷積核大小n對應的某個n-gram特徵,時序最大池化層提取句子中該特徵的最大取值,最後的全連線層組合這些n-gram特徵進行分類。因此,TextCNN能夠學習到很多用於分類的區域性的特徵,適用於短文字的分類,而對於有較長依賴關係的長文字分類效果較差。