当前位置: 首页 > news >正文

NeuralNLP-NeuralClassifier的使用记录(一),训练预测自己的【英文文本多分类】

NeuralNLP-NeuralClassifier的使用记录,训练预测自己的英文文本多分类

NeuralNLP-NeuralClassifier是腾讯开发的一个多层多分类应用工具,支持的任务包括,文本分类中的二分类、多分类、多标签,以及层次多标签分类。支持的文本编码模型包括 FastText, TextCNN, TextRNN, RCNN, VDCNN等。这篇博客将介绍如何使用这个项目实现文本的多标签多分类任务。

这里记录本人的英文文本分类,总共分6类。数据背景是:

2023 国际高等教育数学成型竞赛-A题 购物评论的数据分析的英文评论数据。

NeuralNLP-NeuralClassifier项目代码地址:
GitHub项目原开源代码

文章末有本次实验全部代码和数据。上传百度网盘,下载解压即可使用

项目目录介绍:

|--conf     # config文件存放目录
|--data    # 所有数据和schema存放目录
|--dataset  # 构建dataloader所需脚本
|--evaluate
|--model|--classification   # 项目中使用到的所有特征编码器|--attention.py|--embedding.py|-- ......  各模型通用的一些模块
|--predict.txt    # 执行预测生成的预测结果
|--checkpoint_dir_{}  # 训练过程中保存下来的权重文件目录
|--dict_{}              # 加载数据时产生的缓存文件目录
|--train.py            # 官方提供的训练脚本
|--eval.py            # 官方提供的评估脚本
|--predict.py        # 官方提供的预测脚本

在这里插入图片描述

一、构建自己的数据集格式

数据样式很简单,逐行的json格式,包括四个字段,使用者需要按照如下的形式去组织数据:

{"doc_label":["Computer--MachineLearning--DeepLearning", "Neuro--ComputationalNeuro"],"doc_token": ["I", "love", "deep", "learning"],"doc_keyword": ["deep learning"],"doc_topic": ["AI", "Machine learning"]
}"doc_keyword" and "doc_topic" are optional.

在这里插入图片描述

"doc_label"就是这篇文档对应的所有标签构成的list,如果是单分类任务,list的长度为1,层次分类任务,各层之间用“–”进行分隔;

"doc_token"是这篇文档对应的所有token,中文可以使用各种分词工具进行分词。

“doc_keyword” 和"doc_topic"是在fasttext算法中提供额外的输入特征的,可以不提供,但是这两个字段必须要有,可以置为空。

二、构建自己的数据集:

自己数据数据处理成JSON文件,一段英文文本的标签,以及它的文本的词等等…

如何构建自己数据集url

在这里插入图片描述

在这里插入图片描述

编写自己数据的文本标签类别,我这里是数字标签,也可以文本标签,代表自己数据集总共有哪些标签。

后面的训练配置文件需要填入该文件的路径

三、训练:

模拟conf/train.json,自己数据就得写训练配置参数:

在这里插入图片描述

训练配置参数主要修改:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

训练命令:

终端命令界面:

python train.py conf/english_train_conf.json

训练完后会生成相应的文件夹:有保存模型权重的、以及记录训练的:

在这里插入图片描述

验证命令:

python eval.py conf/english_train_conf.json

运行完后会生成混淆矩阵,评价指标:

在这里插入图片描述

四、预测:

预测时,构造预测数据,类似于训练的数据集,只是label为空:

处理待测的数据集,处理成JSON文件,如何处理,请看另一篇博文:
NeuralNLP-NeuralClassifier的使用记录(二),训练预测自己的【中文文本多分类】

在这里插入图片描述

在这里插入图片描述

放入文件夹:

在这里插入图片描述

预测命令:

python predict.py conf/english_train_conf.json englishdata/pridetct.json 

预测完后:

会生成predict.txt文本,txt里每一行就是每一个英文文本的预测分类:

在这里插入图片描述

代码获取:

链接:https://pan.baidu.com/s/1PSA_0rMAzVBNGUmZQBczdw
提取码:2023

http://www.lryc.cn/news/127139.html

相关文章:

  • Pycharm社区版连接WSL2中的Mysql8.*
  • 前端传递参数时,form-data 和 json 的区别
  • FairyGUI-Unity侧菜单扩展
  • 学习笔记十八:污点、容忍度
  • amis百度前端框架,在js中使用amis写json转页面
  • openEuler安装jdk、openEuler离线安装jdk、openEuler设置jdk、openEuler在线安装
  • Photoshop制作漂亮光泽感3D按钮
  • 【网络爬虫】模拟登录与代理
  • 无线局域网基础知识与架构
  • uniapp tabbar 浏览器调试显示 真机不显示
  • 极智AI | 地平线BPU跑通YOLOv5
  • 循环服务器(同时连接多个客户端,为每个客户端创建一个子进程处理其消息)
  • 【从零学习python 】38.Python包的使用及导入方式
  • docker 容器满了常用处理方法
  • 28、springboot的静态模版(前端页面)重加载和 devtools开发者工具
  • [FPGA IP系列] FPGA常用存储资源大全(RAM、ROM、CAM、SRAM、DRAM、FLASH)
  • Spark SQL优化:NOT IN子查询优化解决
  • 代码审计-java项目-组件漏洞审计
  • 接口测试的测试用例该怎么写呢
  • C语言例题讲解(if语句,循环语句,函数)
  • 深入探索JavaEE单体架构、微服务架构与云原生架构
  • 【STM32】FreeRTOS互斥量学习
  • Docker容器基础
  • Ajax及前端工程化
  • electron的使用和操作
  • Python最重要的数据结构是列表(list)的使用方法
  • 二开ChatGPT微信小程序源码 AI聊天微信小程序源码 适配H5和WEB端 支持AI聊天次数限制
  • VGG简单学习
  • Stable Diffusion - 人物坐姿 (Sitting) 的提示词组合 与 LoRA 和 Embeddings 配置
  • [oneAPI] 手写数字识别-GAN