NLP实战 -中文文本分类问题:THUCNews数据集

中文文本分类问题:THUCNews数据集

  • 1 THUCNews数据集与预处理
    • 1.1 数据集下载
    • 1.2 数据量
    • 1.3 预处理
      • 1.3.1 read_file(),读取文件数据;
      • 1.3.2 build_vocab()构建词汇表
      • 1.3.2 read_vocab()读取已存储的词汇表,
  • 2 特征向量化
    • 2.1 TF-IDF
  • 3 情感分析
  • 4 模型搭建
    • 4.1 CNN模型
    • 4.2 RNN模型
  • 5 参考

1 THUCNews数据集与预处理

1.1 数据集下载

本文采用了清华NLP组提供的THUCNews新闻文本分类数据集的子集
数据下载链接:
THUCNews数据子集:https://pan.baidu.com/s/1hugrfRu 密码:qfud

1.2 数据量

该数据集使用了其中的10个分类,每个分类6500条,总共65000条新闻数据。
类别如下:在这里插入图片描述
数据集共有三个文件,如下:
cnews.train.txt: 训练集(500010条)
cnews.val.txt: 验证集(500
10条)
cnews.test.txt: 测试集(1000*10条)

1.3 预处理

data/cnews_loader.py为数据的预处理文件。

  • read_file(): 读取文件数据;
  • build_vocab(): 构建词汇表,使用字符级的表示,这一函数会将词汇表存储下来,避免每一次重复处理;
  • read_vocab(): 读取上一步存储的词汇表,转换为{词:id}表示;
  • read_category(): 将分类目录固定,转换为{类别: id}表示;
  • to_words(): 将一条由id表示的数据重新转换为文字;
  • preocess_file(): 将数据集从文字转换为固定长度的id序列表示;
  • batch_iter(): 为神经网络的训练准备经过shuffle的批次的数据。

1.3.1 read_file(),读取文件数据;

在cnews.train.txt中,每一条数据包含一段文字和对应的label,也就是相应的类别category, 如下如所示:
在这里插入图片描述
NLP实战 -中文文本分类问题:THUCNews数据集_第1张图片

1.3.2 build_vocab()构建词汇表

基于cnews.train.txt 训练集的数据,采用 build_vocab() 构建词汇表。添加一个 来将所有文本pad为同一长度。

NLP实战 -中文文本分类问题:THUCNews数据集_第2张图片

1.3.2 read_vocab()读取已存储的词汇表,

read_vocab()读取已存储的词汇表,并将词汇表中的词转换为对应的数字id,并用dict形式存储。
在这里插入图片描述

2 特征向量化

2.1 TF-IDF

3 情感分析

4 模型搭建

4.1 CNN模型

4.2 RNN模型

5 参考

[1] https://blog.csdn.net/u011439796/article/details/77692621
[2] 代码: https://github.com/gaussic/text-classification-cnn-rnn/blob/master/data/cnews_loader.py

你可能感兴趣的:(NLP)