TextCNN

1033020837發表於2021-01-23
  1. 什麼是TextCNN

    Yoon Kim在論文(2014 EMNLP) Convolutional Neural Networks for Sentence Classification提出TextCNN,該模型將卷積神經網路CNN應用到文字分類任務,是卷積神經網路應用到文字分析的開創性工作之⼀。

  2. TextCNN的結構

    TextCNN的結構圖如下:

    sTMltJ.png

    具體包含如下結構:

    • Embedding層

      將詞的One-hot表示對映為稠密向量表示。

    • 一維卷積層

      寬度設為詞嵌入維度,高度為卷積核大小(超引數),在word-level上進行一維卷積。雖然文字經過詞嵌入後是二維資料,但是在embedding-level上的二維卷積沒有意義。同一卷積核大小一般設定多個卷積核來提取不同的特徵。

    • 時序最大池化層

      對一個卷積核得到的feature map取最大值,由於一個卷積核是在word-level即按照時序進行卷積的,所以稱為時序最大池化(max-over-time pooling)。

    • 全連線層

      將各個卷積、池化後的結果拼接後經過最後一層或多層全連線層將特徵轉化為label的概率分佈。

  3. TextCNN學到了什麼

    TextCNN不同大小的卷積核學習到的是卷積核大小n對應的某個n-gram特徵,時序最大池化層提取句子中該特徵的最大取值,最後的全連線層組合這些n-gram特徵進行分類。因此,TextCNN能夠學習到很多用於分類的區域性的特徵,適用於短文字的分類,而對於有較長依賴關係的長文字分類效果較差。