【NLP学习笔记】1-NLP新闻文本分类赛题理解

目录

  • Introduction
    • Task
    • 1、数据读取-pandas学习
    • 2、 转化分词
    • 3、匿名字符建模
    • 4、方法思路
    • 5、F1-score

Introduction

以自然语言处理为背景,对所给新闻文本进行分类。利用训练样本训练模型,利用测试样本预测,根据F1-score得分来评判预测结果好坏1
数据集:这里数据集提前被匿名处理,共有14个labels标签,对应关系如下:
{‘科技’: 0, ‘股票’: 1, ‘体育’: 2, ‘娱乐’: 3, ‘时政’: 4, ‘社会’: 5, ‘教育’: 6, ‘财经’: 7, ‘家居’: 8, ‘游戏’: 9, ‘房产’: 10, ‘时尚’: 11, ‘彩票’: 12, ‘星座’: 13}
测试样本 :A/B each 5W
训练样本 :20W

Task

Tool:python(以前大多数还是会用R,买了几本python的书还是会闲置在家,这里推荐《python语言程序设计》这本书,可以一起来学习。)

  • 数据读取—pandas
  • 训练模型方法学习
  • 测试集合预测
  • F1-score综合评分

1、数据读取-pandas学习

pd.read_csv(filepath,encoding,sep,header,names,usecols,index_col,skiprows,nrows)

//注意事项:
filepath尽量使用英文名称
encoding默认编码为utf-8,如果是csv,且数据中有中文时,则要指定encoding=‘gbk’
sep:指定分割符形式,CSV默认逗号分割,可以忽略这个参数,如果是其它分割方式,则要填写其他分割字符。
names: 当header=0时,用names可以替换掉第数据中的第一行作为列名,header=None,用names可以增加一行作为列名,无header参数时,用names会增加一行作为列名,原数据的第一行仍然保留。
usecols:指定读取的列名
index_col: 指定哪几列作为索引
skiprows: 跳过n行再读取数据
nrows: 读取多少行

2、 转化分词

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

3、匿名字符建模

这里关于建模涉及特征提取相关工作

4、方法思路

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

    • TF_IDF入门系列,根据词频来统计关键词,提取完相关特征后可以利用svm或者回归进行分类训练】
  • FastText
    FastText是入门款的词向量,利用Facebook提供的FastText工具,可以快速构建出分类器。1

    • FastText教程学习
    • 知乎介绍Fastrank
  • WordVec + 深度学习分类器WordVec是进阶款的词向量,并通过构建深度学习分类完成分类。深度学习分类的网络结构可以选择TextCNN、TextRNN或者BiLSTM。

    • wordvec转化为词向量,文本神经网络TextCNN or BiLSTM。
    • word2vec主要有两种模型:skip-gram 模型和CBOW模型,
  • Bert词向量
    Bert是高配款的词向量,具有强大的建模学习能力。

5、F1-score

召回率和准确率的计算。


  1. 赛题链接 ↩︎ ↩︎

你可能感兴趣的:(【NLP学习笔记】1-NLP新闻文本分类赛题理解)