本文是對阿里雲新人競賽中的「零基礎入門nlp - 新聞文字分類」解體過程進行的記錄,目前僅使用了textcnn模型進行**,後續還會考慮使用lstm進行對比。
賽題資料由以下幾個部分構成:訓練集20w條樣本,測試集a包括5w條樣本,測試集b包括5w條樣本。為了預防選手人工標註測試集的情況,我們將比賽資料的文字按照字元級別進行了匿名處理。
官方給出了多種模型的解題方法,包括fasttext、textcnn、tf-idf、textrnn等。我按照官方教程跑通tf-idf後發現得分只有0.87左右,嘗試更改引數後提公升不大,故考慮改用textcnn進行**。
目前使用的網路結構如下:
其中使用三種不同尺寸的fiter對文字資料進行卷積。
由於原始資料長度分布中位值大概在2000字元左右,作為初次試算,選擇構建vocabulary的的最大字長取為1000字元。
第一次選擇1w資料量進行訓練和驗證,其中訓練集80%,結果如下,可見在40次迭代後訓練集精度達到1左右,已經很難再繼續下降了。此時考慮增加資料量至10w,並將學習率設定為隨迭代梯度下降。目前訓練到50epoch,使用官方提供的測試資料,打分為0.9328,排名大概60+。
精度收斂曲線
損失收斂曲線
零基礎入門NLP 新聞文字分類
1 transformer transformer是一種新的編碼器 解碼器架構,它僅使用注意力機制而不是rnn來編碼每個位置,並關聯有關其自身的輸入和輸出的兩個遠端單詞,然後可以並行化處理,因而加快訓練。2 attention 模仿人類視覺注意力機制,學習出乙個對影象特徵的權重分布,再把這個權重分布...
零基礎入門NLP 新聞文字分類 方案整理
零基礎入門nlp 新聞文字分模擬賽方案分享 nano rank1 主要思路 零基礎入門nlp 新聞文字分模擬賽 top2參賽經驗 原始碼分享 主要思路 嘗試了nlp文字分類任務中常用的思路,並且給出了實驗中的一些總結,給我比較大的啟發的地方是 rnn網路,最大的亮點就是seq len使用了2000個...
零基礎入門NLP賽事 新聞文字分類記錄 task2
資料處理 train集合240m test集合60m 並不大直接用pandas讀入即可。可以看到資料格式如下,label列是新聞的類別,text列是新聞的字元。二者均為數值型。可以看成,還需要處理一下分隔符。應該改為 df train pd.read csv data train set.csv s...