NLP入門競賽,搜狗新聞文字分類!拿幾十萬獎金!

視學演算法發表於2020-04-06

該資料集來自若干新聞站點2012年6月—7月期間國內,國際,體育,社會,娛樂等18個頻道的新聞資料。

根據新聞正文內容分析新聞的類別資料集官網連結:

 http://www.sogou.com/labs/resource/tce.php.

 該資料集樣例格式如下所示:

640?wx_fmt=png

在 FlyAI競賽平臺上 提供了超詳細的參考程式碼,我們可以通過參加搜狗新聞文字分類預測練習賽進行進一步學習和優化。

1.1、演算法流程及實現

演算法流程主要分為以下四個部分進行介紹:

1.資料載入

2.構建網路

3.模型訓練

1.資料載入

640?wx_fmt=jpeg

640?wx_fmt=jpeg

對每條新聞資料的讀取和處理是在processor.py檔案中完成。

具體實現如下:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

2.構建網路

由於是搜狗新聞文字類資料,這裡我們可以使用一維卷積Conv1D + BiGRU來構建網路,網路結構如下所示:

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

執行summary()方法後輸出的網路結構如下圖:

640?wx_fmt=jpeg

3.模型訓練

這裡我們設定了epoch為5,batch為128,採用adam優化器來訓練網路,EarlyStopping可以加速調參過程。然後通過呼叫FlyAI提供的train_log方法可以在訓練過程中實時的看到訓練集和驗證集的準確率及損失變化曲線。

640?wx_fmt=jpeg

1.2.最終結果

通過使用自定義CNN網路結構+雙向GRU網路的方法,在epoch為10,batch為128的條件下使用adam優化器下不斷優化模型引數,使用early_stopping規則在model訓練達到early_stopping條件時提前終止訓練提高model優化效率,最終模型在測試集的準確率達到91+。

在看 640?wx_fmt=jpeg

相關文章