赛题背景
本次新人赛是 Datawhale 与天池联结发动的 0 根底入门系列赛事第三场 —— 零根底入门 NLP 之新闻文本分类挑战赛。
赛题以自然语言解决为背景,要求选手依据新闻文本字符对新闻的类别进行分类,这是一个经典文本分类问题。通过这道赛题能够疏导大家走入自然语言解决的世界,带大家接触 NLP 的预处理、模型构建和模型训练等知识点。
为更好的疏导大家入门,咱们同时为本赛题定制了系列学习计划,其中包含数据迷信库、通用流程和 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 读取数据的代码如下:
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 来搭建一个分类网络。
当然,实际上,并不只有一种解决形式,咱们同样能够应用 CNN 来解决序列问题,后续探讨。
Reference
[1] 比赛地址
[2] 官网赛题了解