NLP新闻文本分类学习赛 - Task1 赛题理解

文章目录

  • 一、赛题理解
  • 二、赛题数据
  • 三、数据标签
  • 四、评测指标
    • 4.1 四个基本概念 TP FP FN TN
    • 4.2 召回率Recall
    • 4.3 精确率 Precision
    • 4.4 F1 score
    • 4.5 Micro-F1和Macro-F1
  • 五、数据读取
  • 六、解题思路
  • 七、参考文献

本章将会对新闻文本分类进行赛题讲解,对赛题数据进行说明,并给出解题思路。

一、赛题理解

  • 赛题名称:零基础入门NLP之新闻文本分类 link
  • 赛题目标:通过这道赛题可以引导大家走入自然语言处理的世界,带大家接触NLP的预处理、模型构建和模型训练等知识点。
  • 赛题任务:赛题以自然语言处理为背景,要求选手对新闻文本进行分类,这是一个典型的字符识别问题。

二、赛题数据

赛题以匿名处理后的新闻数据为赛题数据,数据集报名后可见并可下载。赛题数据为新闻文本,并按照字符级别进行匿名处理。整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐的文本数据。

赛题数据由以下几个部分构成:训练集20w条样本,测试集A包括5w条样本,测试集B包括5w条样本。为了预防选手人工标注测试集的情况,我们将比赛数据的文本按照字符级别进行了匿名处理。

三、数据标签

处理后的赛题训练数据如下:
在这里插入图片描述

在数据集中标签的对应的关系如下:{‘科技’: 0, ‘股票’: 1, ‘体育’: 2, ‘娱乐’: 3, ‘时政’: 4, ‘社会’: 5, ‘教育’: 6, ‘财经’: 7, ‘家居’: 8, ‘游戏’: 9, ‘房产’: 10, ‘时尚’: 11, ‘彩票’: 12, ‘星座’: 13}

四、评测指标

评价标准为类别f1_score的均值,选手提交结果与实际测试集的类别进行对比,结果越大越好。

分类问题的几个评价指标:
Precision、Recall、F1-Score、Micro-F1、Macro-F1

4.1 四个基本概念 TP FP FN TN

True Positive 真阳性:预测为正,实际也为正
False Positive 假阳性:预测为正,实际为负
False Negative 假阴性:预测与负、实际为正
True Negative 真阴性:预测为负、实际也为负。

4.2 召回率Recall

R e c a l l = T P T P + F N {\mathop{\rm Re}\nolimits} call = \frac{ {TP}}{ {TP + FN}} Recall=TP+FNTP

4.3 精确率 Precision

P r e c i s i o n = T P T P + F P {\rm{Precision = }}\frac{ {TP}}{ {TP + FP}} Precision=TP+FPTP

召回率(查全率)表达的是模型找到数据集中相关实例的能力
精确度(查准率)表达模型找到的数据点中实际相关的比例。
一般召回率越高,精确度越低。

作为预测者,我们当然是希望,Precision和Recall都保持一个较高的水准,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是正确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高,此时我们可以引出另一个评价指标—F1-Score(F-Measure)。

4.4 F1 score

F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种加权平均,它的最大值是1,最小值是0。

数学定义:F1分数(F1-Score),又称为平衡F分数(BalancedScore),它被定义为精确率和召回率的调和平均数。
F 1 = 2 ⋅ P r e c i s i o n ⋅ R e c a l l P r e c i s i o n + R e c a l l {F_1} = 2 \cdot \frac{ {Precision \cdot Recall}}{ {Precision + Recall}} F1=2Precision+RecallPrecisionRecall

更一般的,我们定义 F β F_β Fβ分数为:
F β = ( 1 + β 2 ) ⋅ P r e c i s i o n ⋅ R e c a l l β 2 ⋅ P r e c i s i o n + R e c a l l {F_β} = (1+β^2) \cdot \frac{ {Precision \cdot Recall}}{ {β^2 \cdot Precision + Recall}} Fβ=(1+β2)β2Precision+RecallPrecisionRecall

除了F1分数之外,F0.5分数和F2分数,在统计学中也得到了大量应用,其中,F2分数中,召回率的权重高于精确率,而F0.5分数中,精确率的权重高于召回率。

4.5 Micro-F1和Macro-F1

在一个多标签分类任务中,可以对每个“类”,计算F1,显然我们需要把所有类的F1合并起来考虑。

这里有两种合并方式:

第一种计算出所有类别总的Precision和Recall,然后计算F1,这种方式被称为Micro-F1微平均。

第二种方式是计算出每一个类的Precison和Recall后计算F1,最后将F1平均,这种方式叫做Macro-F1宏平均。

五、数据读取

使用Pandas库完成数据读取操作,并对赛题数据进行分析。

六、解题思路

赛题思路分析:赛题本质是一个文本分类问题,需要根据每句的字符进行分类。但赛题给出的数据是匿名化的,不能直接使用中文分词等操作,这个是赛题的难点。

因此本次赛题的难点是需要对匿名字符进行建模,进而完成文本分类的过程。由于文本数据是一种典型的非结构化数据,因此可能涉及到特征提取和分类模型两个部分。为了减低参赛难度,我们提供了一些解题思路供大家参考:

  • 思路1:TF-IDF + 机器学习分类器

直接使用TF-IDF对文本提取特征,并使用分类器进行分类。在分类器的选择上,可以使用SVM、LR、或者XGBoost。

  • 思路2:FastText

FastText是入门款的词向量,利用Facebook提供的FastText工具,可以快速构建出分类器。

  • 思路3:WordVec + 深度学习分类器

WordVec是进阶款的词向量,并通过构建深度学习分类完成分类。深度学习分类的网络结构可以选择TextCNN、TextRNN或者BiLSTM。

  • 思路4:Bert词向量

Bert是高配款的词向量,具有强大的建模学习能力。

七、参考文献

Datawhale Task1 赛题理解
F1 score 参考1
F1 score 参考2

你可能感兴趣的:(Datawhale零基础入门)