今日任务:Datawhale零基础入门NLP赛事-Task1 赛题理解
今日目标
- 理解赛题背景和赛题数据
- 完成赛题报名和数据下载,理解赛题思路
一、天池比赛报名及数据下载
1.1 比赛报名
1.1.1 注册账号
打开天池官网https://tianchi.aliyun.com/ 注册账号。注意可以用淘宝/支付宝账号直接登录,节省很多时间。
1.1.2 完善个人信息
注册完成后,点击右上角账号,进入个人信息页,完善个人信息。比如 邮箱,手机号,工作单位,学校,专业等。信息不完善影响后续报名比赛。本次题目是学习赛题,所以不需要实名即可报名。
1.1.3 比赛报名
打开https://tianchi.aliyun.com/competition/gameList/coupleList 学习赛页面,点击【零基础入门NLP - 新闻文本分类】进行报名。
1.2 数据下载
在报名成功后的页面,选择【赛题与数据下载】,可以下载数据。
打开下载下来的NLP_data_list_0715.csv文件, 里面包含三个链接
将数据下载到本地目录,并解压。至此,准备工作完成。
二、理解赛题背景及赛题数据
2.1 赛题背景
零基础入门NLP-新闻文本分类塞是Datawhale与天池联合发起的零基础入门系列赛事。赛题以自然语言处理为北京,要求根据新闻文本字符对行文的类别进行分类。
2.2 赛题数据
在【1.2】中下载的数据为3个csv文件,里面是按照字符级别进行匿名处理过的新闻文本信息。整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐。
- train_set.csv 训练集,20w条样本。包括分类(label)和文本(text)两列。
在数据集中标签的对应的关系如下:
分类 0 1 2 3 4 5 6 7 8 9 10 11 12 13 标签 科技 股票 体育 娱乐 时政 社会 教育 财经 家居 游戏 房产 时尚 彩票 星座 - test_a.csv 测试集A,包含5w条样本。
- test_a_sample_submit.csv 提交结果样例数据.
2.3 数据读取
import pandas as pd
train_df = pd.read_csv('./train_set.csv', sep = '\t', nrows=100)
print(train_df.head())
2.4 评估指标
评价标准为f1_score的均值,越大,说明模型的质量越好。
F1-Score意义及计算方式见wiki:https://blog.csdn.net/zaishaoyi/article/details/100586936#1%E3%80%81%E6%95%B0%E5%80%BC%E6%8C%87%E6%A0%87
三、理解赛题思路
赛题本质是一个文本分类问题,需要根据每句的字符进行分类,但是赛题给出的数据是匿名化的,不能使用中文分词等操作,我们需要对匿名字符进行建模,然后进行文本分类。 由于文本是一种典型的非结构化数据,因此需要涉及 特征提取和分类模型两个部分。任务链接中给出了一些参考模型:
-
TF-IDF + 机器学习分类器
使用TF-IDF对文本提取特征,然后使用分类器分类,可以选择SVM, LR, XGBOOST分类器。
参照:https://blog.csdn.net/zaishaoyi/article/details/107490880
-
FastText
FastText是入门款的词向量,利用Facebook提供的FastText工具,可以快速构建出分类器。
-
WordVec + 深度学习分类器
WordVec是进阶款的词向量,通过构建深度学习完成分类,深度学习分类的网络结构可以选择TextCNN, TextRNN或者BiLSTM
-
Bert词向量
Bert是高配款的词向量具有强大的建模学习能力。