赛题理解
- 赛题名称:零基础入门NLP之新闻文本分类
- 赛题目标:通过这道赛题可以引导大家走入自然语言处理的世界,带大家接触NLP的预处理、模型构建和模型训练等知识点。
- 赛题任务:赛题以自然语言处理为背景,要求选手对新闻文本进行分类,这是一个典型的字符识别问题。
赛题数据
赛题以匿名处理后的新闻数据为赛题数据,数据集报名后可见并可下载。赛题数据为新闻文本,并按照字符级别进行匿名处理。整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐的文本数据。
赛题数据由以下几个部分构成:训练集20w条样本,测试集A包括5w条样本,测试集B包括5w条样本。为了预防选手人工标注测试集的情况,我们将比赛数据的文本按照字符级别进行了匿名处理。
处理后的赛题训练数据如下:
在数据集中标签的对应的关系如下:{'科技': 0, '股票': 1, '体育': 2, '娱乐': 3, '时政': 4, '社会': 5, '教育': 6, '财经': 7, '家居': 8, '游戏': 9, '房产': 10, '时尚': 11, '彩票': 12, '星座': 13}
评测指标
评价指标选取为f1_score,改指标的具体公式为:
后续需要增加侧重点时,我们可以选取评价指标为fbeta_score,具体公式为:
具体可以取为2或者0.5,若取2时召回率的权重高于精确率,若取0.5时,精确率的权重高于召回率。
解题思路
赛题思路分析:赛题本质是一个文本分类问题,需要根据每句的字符进行分类。但赛题给出的数据是匿名化的,不能直接使用中文分词等操作,这个是赛题的难点。
数据匿名化(data anonymization)是通过消除或加密将个人与存储数据联系起来的标识符,以保护私人或敏感信息的过程。匿名化后的数据应该不能从中识别出自然人或车牌等信息。我觉得可以理解为本次数据匿名化,它是对所有的文字进行特殊的编码,没有按常用的方式进行编码。
因此本次赛题的难点是需要对匿名字符进行建模,进而完成文本分类的过程。由于文本数据是一种典型的非结构化数据,因此可能涉及到特征提取和分类模型两个部分。为了减低参赛难度,我们提供了一些解题思路供大家参考:
- 思路1:TF-IDF + 机器学习分类器
直接使用TF-IDF对文本提取特征,并使用分类器进行分类。在分类器的选择上,可以使用SVM、LR、或者XGBoost。
- 思路2:FastText
FastText是入门款的词向量,利用Facebook提供的FastText工具,可以快速构建出分类器。
- 思路3:WordVec + 深度学习分类器
WordVec是进阶款的词向量,并通过构建深度学习分类完成分类。深度学习分类的网络结构可以选择TextCNN、TextRNN或者BiLSTM。
- 思路4:Bert词向量
Bert是高配款的词向量,具有强大的建模学习能力。
这次使用的就是Bert深度学习的方法。
数据下载
#数据下载
! mkdir ./data
#训练集
# train data
! wget https://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531810/train_set.csv.zip
! unzip train_set.csv.zip -d ./data
! rm train_set.csv.zip
#测试集
# test data
! wget https://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531810/test_a.csv.zip
! unzip test_a.csv.zip -d ./data
! rm test_a.csv.zip
#预训练下载
! wget http://tianchi-media.oss-cn-beijing.aliyuncs.com/dragonball/NLP/emb.zip
! unzip emb.zip
! rm emb.zip
! mv ./emb/bert-mini/bert_config.json ./emb/bert-mini/config.json
#新建保存目录
! mkdir ./save
#安装必要包
! pip install fasttext transformers==2.9.0 gensim torch==1.3.0#这个后面的要根据自己的torch版本来,不知道的可以print(torch.__version__)
叹号后面是终端操作请注意。
如果上述操作有问题可以采用下列数据集下载方式:
训练集数据:https://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531810/train_set.csv.zip
测试集A榜数据:https://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531810/test_a.csv.zip
测试集A榜数据提交样例:https://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531810/test_a_sample_submit.csv