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

2023-11-12

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐