天池数据竞赛–零基础入门NLP - 新闻文本分类
一 赛题数据
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}
三 评测标准
评价标准为类别f1_score的均值,选手提交结果与实际测试集的类别进行对比,结果越大越好。
通过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')
四 赛题分析
通过观察训练集发现,文本按照字符级别进行了匿名处理,因此应当考虑文字间的前后联系,所以后期建议使用attention机制,例如用transformer。
赛题难点: 文本匿名化,无法快速用 词向量等表示
整体思路: 特征分析 + 建模
根据参考文献的方法,初步尝试 TF-IDF + 机器学习分类器。
参考文献: