【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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/800734.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++相关概念和易错语法(22)(final、纯虚函数、继承多态难点)

1.final final在继承和多态中都可以使用,在继承中是指不想将自己被继承,在多态中是指不想该函数被重写,比较简单,下面是一些使用例子。 2.纯虚函数 当我们需要抽象一个类的时候,我们就需要用到纯虚函数。所谓抽象的类…

【微服务】Spring Cloud Config解决的问题和案例

文章目录 强烈推荐引言解决问题1. 配置管理的集中化2. 配置的版本控制3. 环境特定配置4. 配置的动态刷新5. 安全管理敏感数据6. 配置的一致性 组件1. **配置服务器(Config Server)**2. **配置客户端(Config Client)** 配置示例配置…

电脑数据恢复软件哪个好?这六款软件轻松恢复数据

随着电脑使用的日益频繁,数据的丢失也成为了一个不可避免的问题。在生活中,我们常因误删除、误格式化、分区失败、中病毒等而丢失数据。在这种情况下,一个好的数据恢复软件就显得尤为重要。 电脑数据恢复软件哪个好?本文将为大家…

Midjourney 商业实战案例(附AI学习工具教程资料)

前言 Midjourney 商业实战案例 (附AI学习工具教程资料) 如何把 AI 绘画应用到设计工作中? AI 绘画技术可以应用于设计工作中,帮助设计师更快速、更高效地完成设计工作,以下是一些常见的应用: **1. 快速…

对接企业微信API自建应用配置企业可信IP

前言 为了实现系统调用团队会议功能,组织发起企业微信会议,于是需要和企业微信做API对接。对接过程很难受,文档不清晰、没有SDK、没有技术支持甚至文档报文和实际接口报文都不匹配,只能说企业微信的API是从业以来见过的最难用的AP…

【数据结构与算法 经典例题】判断二叉树是否对称

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法 经典例题》C语言 期待您的关注 目录 一、问题描述 二、解题思路 三、C语言实现代码 一、问题描述 给你一个二…

ENSP中NAT的相关实验(两个私网,一个公网)

题目 实验需求 1.按照图示配置IP地址,公网地址100.1.1.1/24 2.私网A通过NAPT,使R1接入到互联网,私网B通过EASY IP,使R3接入到互联网 3.私网A配置NAT SERVER把Telnet的Telnet服务发布到公网,使PC2可以访问 三、实验…

Vue中使用mind-map实现在线思维导图

概述 在前面的文章Vue中实现在线画流程图实现中介绍了流程图的在线绘制,在本文,给大家分享一下基于mind-map实现在线的思维导图,并实现:1. 导图导出为图片;2. 打开xmind文件。 实现效果 实现 1. mind-map简介 simp…

随笔(三):CSS

一、CSS .(类选择器)和 #(ID选择器)在CSS中的主要区别在于它们的选择范围和用途: 1. 选择范围 类选择器(. 开头): 类选择器用于选择具有指定类名的所有HTML元素。由于一个HTML元素…

spring boot基础知识

spring boot是整合spring 一系列的包的坐标集合 对依赖进行整合 总体介绍 spring boot是用来方便构建项目的工具 spring cloud是用来方便spring boot项目之间进行数据交互通讯和配置的 spring cloud data Flow 是用来进行数据的连接的 Spring 缺点 配置繁琐 虽然Spring的组件代…

超市管理系统 需求分析与设计 UML 方向

一、项目介绍 1.1项目背景 随着经济一体化和电子商务的迅速发展,网络传播信息的速度打破了传统信息传递的模式,互联网的高速发展和计算机应用在各个高校进展迅速,更多信息化产品的突飞猛进,让现代的管理模式也发生了巨大的变化&…

vue数据缓存

data 对象未定义或未正确传递:确保 data 对象在你调用 onMounted 钩子时已经存在且包含 base.columns 属性。 columns 响应式引用未定义:确保 columns 是一个使用 ref 或 reactive 创建的响应式引用。 异步数据问题:如果 data 是通过异步操…

vue 搭建 pinia

文章目录 环境设置存储读取数据【 storeToRefs】借助storeToRefs将store中的数据转为ref对象,方便在模板中使用【getters】当state中的数据,需要经过处理后再使用时,可以使用getters配置【$subscribe】通过 store 的 $subscribe() 方法侦听 s…

用动态规划算法均分纸牌,谈谈理解思路

🏆本文收录于《CSDN问答解答》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&…

升级自动交易!打通miniQMT接口!股票量化分析工具QTYX-V2.8.7

前言 我们的股票量化系统QTYX在实战中不断迭代升级!!! 我们用Python搭建自己的量化交易系统,之前主要以手动交易或者是easytrader库为主,属于曲线救国的方案。 在大家的强烈推荐下,我们决定使用正规的量化交易平台作为下单的最后环节——QMT&…

【Visual Studio】Visual Studio使用技巧及报错解决合集

目录 目录 一.概述 二.Visual Studio报错问题及解决方法 三.Visual Studio操作过程中遇到的问题及解决方法 四.Visual Studio编译优化选项 五.Visual Studio快捷键 一.概述 持续更新Visual Studio报错及解决方法,包括Visual Studio报错问题及解决方法、Visua…

mac安装win10到外接固态硬盘

1、制作win10系统 1.1 下载 winToUSB,打开后选择第一个 1.2 选择本地下载镜像, 我用的分区方案是适用于UEFI的GPT模式 1.3 点右下角执行,等待执行完成即可 2、mac系统下载win驱动 2.1 comman空格 搜索启动转换助理,打开后选择…

Ubuntu 22.04.4 LTS (linux) 安装certbot 免费ssl证书申请 letsencrypt

1 安装certbot sudo apt update sudo apt-get install certbot 2 申请letsencrypt证书 sudo certbot certonly --webroot -w 网站目录 -d daloradius.域名.com 3 修改nginx 配置ssl 证书 # 配置服务器证书 ssl_certificate /etc/letsencrypt/live/daloradius.域名.com/f…

浅谈后置处理器之正则表达式提取器

浅谈后置处理器之正则表达式提取器 JMeter是一款功能强大的开源负载测试工具,广泛应用于Web应用、数据库等的性能测试。在进行接口测试或负载测试时,经常需要从服务器响应中提取某些数据作为后续请求的参数。这时,“正则表达式提取器”&…

Web开发:<br>标签的作用

br作用 介绍基本用法常见用途注意事项使用CSS替代 介绍 在Web开发中&#xff0c;<br> 标签是一个用于插入换行符的HTML标签。它是“break”的缩写&#xff0c;常用于需要在文本中强制换行的地方。<br> 标签是一个空标签&#xff0c;这意味着它没有结束标签。 基本…