【NLP实战】基于TextCNN的新闻文本分类

TextCNN文本分类在pytorch中的实现

基于TextCNN和transformers.BertTokenizer的新闻文本分类实现,包括训练、预测、数据加载和准确率评估。

目录

  1. 项目代码
  2. TextCNN网络结构
  3. 相关模型仓库
  4. 准备工作
  5. 项目调参
  6. 预测与评估

1.项目代码

https://github.com/NeoTse0622/TextCNN-pytorch

2.模型结构

Structure of TextCNN:
在这里插入图片描述

3.相关模型仓库

(1)在./bert-base-chinese下载BERT分词器模型(必要)
pytorch.bin

(2)下载本项目提供的训练模型(可选)
本项目提供训练好的模型文件,可供项目直接实现预测分类。
点击链接textcnn_model.pth
下载预测分类模型。

(3)项目环境

pip install requirementx.txt

4.准备工作

(1)训练集、验证集样例:
在这里插入图片描述

(2)训练集、验证集格式:
在这里插入图片描述

(3)根据实际数据集映射标签设置

# 标签映射字典
label_map = {
    0: '体育',
    1: '财经',
    2: '房产',
    3: '家居',
    4: '教育',
    5: '科技',
    6: '时尚',
    7: '时政',
    8: '游戏',
    9: '娱乐'
}

5.项目调参config.py

在文本分类任务中,超参数的选择对模型性能有显著影响。以下是本项目中使用的主要超参数:

vocab_size:词汇表的大小。

embed_size:词嵌入的维度。

num_classes:分类的类别数量。

kernel_sizes:卷积核的大小列表。

num_channels:每个卷积核的数量(输出通道数)。

dropout:dropout 概率。

batch_size:每批次处理的样本数量。

lr:学习率。

num_epochs:训练的迭代次数。

num_workers:数据加载时的线程数量。

6.预测与评估

(1)预测
在dataset文件夹中放置需要预测的测试集data_test.csv,获得label预测列。

(2)评估
从data_validation.csv中获取每一类新闻的分类精度。


Please Cite This Work

引用请@Neo很努力
Update time:2024/7/16
URL:https://github.com/NeoTse0622
CSDN:https://blog.csdn.net/qq_45193872?spm=1018.2226.3001.5343
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值