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格式,包括四个字段,使用者需要按照如下的形式去组织数据:

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

相关推荐
冴羽19 分钟前
Nano Banana Pro 很强,但你要学会写提示词才能为所欲为
人工智能·aigc·mcp
修一呀19 分钟前
【企业级对话处理】自动估计说话人数 + 声纹聚类 + ASR 转写(FunASR + ModelScope + ClearVoice)
机器学习·数据挖掘·聚类
ATMQuant29 分钟前
量化指标解码11:挤压动量 - 捕捉低波动后的爆发行情
人工智能·ai·量化交易·vnpy
Aurora-silas40 分钟前
Mac 本地运行 Hugging Face 大模型完全指南:PyTorch (MPS) vs Apple MLX
人工智能·pytorch·macos
机器不学习我也不学习1 小时前
人工智能综合项目开发14----技术文档撰写
人工智能
GISer_Jing1 小时前
SSE Conf大会分享支付宝xUI引擎:AI时代的多模态交互革命
前端·人工智能·交互
有一个好名字1 小时前
Spring AI ——Java开发者的AI集成神器
java·人工智能·spring
WordPress学习笔记1 小时前
专业建外贸网站公司推荐
大数据·前端·人工智能
p***95001 小时前
DeepSeek R1 简易指南:架构、本地部署和硬件要求
人工智能·架构