DataWhale 零基础入门NLP赛事-新闻文本分类 TASK1 赛题理解

TASK 1 赛题理解

赛题;零基础入门NLP赛事-新闻文本分类
地址:新闻文本分类

学习目标

  1. 理解赛题背景与赛题数据
  2. 完成赛题报名和数据下载,理解赛题的解题思路

了解赛题

  • 赛题概况
  • 数据概况
  • 预测指标
  • 分析赛题

赛题概况

赛题数据为新闻文本,并按照字符级别进行匿名处理。整合划分出14个候选分类类别:财经、彩票、房产、股票、家居、教育、科技、社会、时尚、时政、体育、星座、游戏、娱乐的文本数据。
赛题数据由以下几个部分构成:训练集20w条样本,测试集A包括5w条样本,测试集B包括5w条样本。为了预防选手人工标注测试集的情况,我们将比赛数据的文本按照字符级别进行了匿名处理。

数据概况

处理后的赛题数据如下:
DataWhale 零基础入门NLP赛事-新闻文本分类 TASK1 赛题理解_第1张图片
数据集中标签对应关系如下:

0 科技 1 股票 2 体育
3 娱乐 4 时政 5 社会
6 教育 7 财经 8 家居
9 游戏 10 房产 11 时尚
12 彩票 13 星座

评价指标

本赛题的评价指标为类别的f1_score 的均值:
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 \times \frac{precision \times recall}{precision + recall} F1=2×precision+recallprecision×recall

p r e c i s i o n = t r u e    p o s i t i v e s t r u e    p o s i t i v e s + f a l s e    p o s i t i v e s precision = \frac{true \; positives}{true \; positives + false \; positives} precision=truepositives+falsepositivestruepositives

r e c a l l = t r u e    p o s i t i v e s t r u e    p o s i t i v e s + f a l s e    n e g a t i v e s recall = \frac{true \; positives}{true \; positives + false \; negatives} recall=truepositives+falsenegativestruepositives

f1_score: 是recall和precision的调和均值,调和平均可以惩罚极端情况。一个具有 1.0 的精度,而召回率为 0 的分类器,这两个指标的算术平均是 0.5,但是 f1_score 会是 0。f1_score 给了精度和召回率相同的权重,它是通用 fβ指标的一个特殊情况,在 fβ中,β 可以用来给召回率和精度更多或者更少的权重。(还有其他方式可以结合精度和召回率,例如二者的几何平均,但是 f1_score 是最常用的。)

本赛题尝试将 f1_score 最大化,结果越大分类效果越好。

赛题分析

赛题思路分析:赛题本质是一个文本分类的问题,需要根据每句的字符进行分类。但是赛题给的数据是匿名化的,不能直接使用中文分词等操作。
对匿名化字符进行建模,进而完成文本分类过程。文本数据是一种典型的非结构化数据,因此可能涉及到特征提取分类模型两个部分。

  • 思路1: TF-IDF + 机器学习分类器
  • 思路2:FastText
  • 思路3: WordVec + 深度学习分类器
  • 思路4: Bert词向量

TF-IDF + 机器学习分类器

TF-IDF (Term Frequency-inverse Document Frequency):一种针对关键词的统计分析方法,用于评估一个词对一个语料库的重要程度。
评估标准:认为词的重要程度跟它在文章中出现的次数成正比,与它在语料库出现的次数成反比。(为了剔除常用词对关键字的影响,提高关键词和文章的相关性)
例如:the this 这类的词可能在文章中占比很高,以此认为该词为关键词的话最终分类效果很弱。

  • TF 词频
    对某文档 d j d_j dj里的词语 t i t_i ti而言, t i t_i ti的词频表示为:
    t f i , j = n i , j ∑ k n k , j tf_{i,j} = \frac{n_{i,j}}{\sum_k n_{k,j}} tfi,j=knk,jni,j

                                       $n_{i,j} : t_i$在文档$d_j$中出现的次数
    
                                       分母为$d_j$中出现的所有字数
    
  • IDF 逆向文件频率
    如果包含词语t的文档越少,则IDF越大。用以说明t在整个文档集上具有很好的区分能力。
    I D F = l o g ( 语 料 库 中 文 档 总 数 包 含 该 词 的 文 档 数 + 1 ) IDF = log(\frac{语料库中文档总数}{包含该词的文档数 + 1}) IDF=log(+1)

  • 在使用TF-IDF对文本提取特征之后,使用分类器进行选择:SVM, LR, XGBoost, RandomForest等等

你可能感兴趣的:(DataWhale,nlp,自然语言处理,深度学习,pytorch)