本次新人賽是Datawhale與天池聯合發起的0基礎入門系列賽事第三場 —— 零基礎入門NLP之新聞文本分類挑戰賽。git
賽題以天然語言處理爲背景,要求選手根據新聞文本字符對新聞的類別進行分類,這是一個經典文本分類問題。經過這道賽題能夠引導你們走入天然語言處理的世界,帶你們接觸NLP的預處理、模型構建和模型訓練等知識點。github
爲更好的引導你們入門,咱們同時爲本賽題定製了系列學習方案,其中包括數據科學庫、通用流程和baseline方案學習三部分。經過對本方案的完整學習,能夠幫助掌握數據競賽基本技能。同時咱們也將提供專屬的視頻直播學習通道。網絡
賽題以新聞數據爲賽題數據,數據集報名後可見並可下載。賽題數據爲新聞文本,並按照字符級別進行匿名處理。整合劃分出14個候選分類類別:財經、彩票、房產、股票、家居、教育、科技、社會、時尚、時政、體育、星座、遊戲、娛樂的文本數據。
賽題數據由如下幾個部分構成:訓練集20w條樣本,測試集A包括5w條樣本,測試集B包括5w條樣本。爲了預防選手人工標註測試集的狀況,咱們將比賽數據的文本按照字符級別進行了匿名處理。處理後的賽題訓練數據以下:學習
label | text |
---|---|
6 | 57 44 66 56 2 3 3 37 5 41 9 57 44 47 45 33 13 63 58 31 17 47 0 1 1 69 26 60 62 15 21 12 49 18 38 20 50 23 57 44 45 33 25 28 47 22 52 35 30 14 24 69 54 7 48 19 11 51 16 43 26 34 53 27 64 8 4 42 36 46 65 69 29 39 15 37 57 44 45 33 69 54 7 25 40 35 30 66 56 47 55 69 61 10 60 42 36 46 65 37 5 41 32 67 6 59 47 0 1 1 68 |
在數據集中標籤的對應的關係以下:測試
{'科技': 0, '股票': 1, '體育': 2, '娛樂': 3, '時政': 4, '社會': 5, '教育': 6, '財經': 7, '家居': 8, '遊戲': 9, '房產': 10, '時尚': 11, '彩票': 12, '星座': 13}
賽題數據來源爲互聯網上的新聞,經過收集並匿名處理獲得。所以選手能夠自行進行數據分析,能夠充分發揮本身的特長來完成各類特徵工程,不限制使用任何外部數據和模型。
數據列使用t進行分割,Pandas讀取數據的代碼以下:code
train_df = pd.read_csv('../input/train_set.csv', sep='t')
評價標準爲類別f1_score的均值,選手提交結果與實際測試集的類別進行對比,結果越大越好。
$$F1=2*\frac{Precision*Recall}{Precision+Recall}$$
能夠經過sklearn完成f1_score計算:視頻
from sklearn.metrics import f1_score y_true = [0, 1, 2, 0, 1, 2] y_pred = [0, 2, 1, 0, 0, 1] f1_score(y_true, y_pred, average='macro')
這裏是入門NLP的第一次打卡, 只對賽題作一個簡要的介紹,有關賽題的分析以及baseline的搭建, 後續會作詳細的介紹。遊戲
這是入門NLP的基礎比賽,對於NLP問題而言,首先想到的固然是用RNN來解決問題。 所以,Baseline會使用LSTM來搭建一個分類網絡。ci
固然,實際上,並不僅有一種解決方式, 咱們一樣能夠使用CNN來處理序列問題,後續討論。get