Datawhale九月組隊學習:情感分析
往期指路:
???Task01情感分析BaseLine
???Task02情感分析Upgrade
???Task03情感分析Faster
文章目錄
- Datawhale九月組隊學習:情感分析
- 前言
- 筆記要點
- 一、 模型搭建流程
- 二、 資料預處理要點記錄
- 三、 模型搭建要點記錄
- 四、模型訓練要點記錄
- 總結
前言
??本篇主要是將卷積神經網路應用到了情感分類任務當中,本篇所用的模型來自論文Convolutional Neural Networks for Sentence Classification,了解細節的小伙伴們可以查看原文,
??在上一個教程中,我們研究了FastText模型,該模型通過將bi-gram顯式添加到文本末尾來使用bi-gram,在這個CNN模型中,我們將使用多個不同大小的filter,這些filter將查看文本中的bi-grams(a 1x2 filter)、tri-grams(a 1x3 filter)and/or n-grams(a 1x
n
n
n filter)
筆記要點
一、 模型搭建流程
??1、資料預處理
??2、構建模型
??3、訓練模型
??4、模型驗證
二、 資料預處理要點記錄
??與 task3 使用FastText模型的方法不同,本節不再需要刻意地創建bi-gram將它們附加到句子末尾,
這里的處理方法依然是:
- 加載IMDB資料集
- 構建詞典,加載預訓練詞向量
- 創建迭代器
三、 模型搭建要點記錄
問題:如何將CNN用于文本處理?
??1、影像一般是二維的,而文本是一維的,所以我們可以將一段文本中的每個單詞沿著一個軸展開,向量中的元素沿著另一個維度展開,
??2、然后我們可以使用一個 [n x emb_dim] 的filter,這將完全覆寫 n n n 個words,因為它們的寬度為emb_dim 尺寸,這里有4個詞和5維嵌入,創建了一個[4x5] “image” 張量,一次覆寫兩個詞(即bi-grams))的filter 將是 [2x5] filter,filter 的每個元素都有一個與之相關的 weight,此filter 的輸出將是一個實數,它是filter覆寫的所有元素的加權和,
??3、filter “down” 移動影像(或穿過句子)以覆寫下一個bi-gram,并計算另一個輸出(weighted sum),
??4、最后,filter 再次向下移動,并計算此 filter 的最終輸出,
注意:CNN處理文本圖文細節點這里
實作細節
??1、in_channels引數是影像中進入卷積層的“通道”數,但是當使用文本時,我們只有一個通道,即文本本身,
??2、out_channels是 filters 的數量,kernel_size是 filters 的大小,我們的每個“卷積核大小”都將是 [n x emb_dim] 其中
n
n
n 是n-grams的大小,
注:如果句子的長度小于實驗設定的最大filter,那么必須將句子填充到最大filter的長度,
四、模型訓練要點記錄
??訓練和前面task一樣,我們初始化優化器、損失函式(標準),并將模型和標準放置在GPU上,
總結
?? 以上就是Task04的全部內容了,接下來的學習繼續堅持呀~,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/303127.html
標籤:其他
上一篇:【Java】GUI實作貪吃蛇
