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

相关推荐
橙子小哥的代码世界9 分钟前
【深度学习】05-RNN循环神经网络-02- RNN循环神经网络的发展历史与演化趋势/LSTM/GRU/Transformer
人工智能·pytorch·rnn·深度学习·神经网络·lstm·transformer
985小水博一枚呀2 小时前
【深度学习基础模型】神经图灵机(Neural Turing Machines, NTM)详细理解并附实现代码。
人工智能·python·rnn·深度学习·lstm·ntm
SEU-WYL3 小时前
基于深度学习的任务序列中的快速适应
人工智能·深度学习
OCR_wintone4213 小时前
中安未来 OCR—— 开启高效驾驶证识别新时代
人工智能·汽车·ocr
matlabgoodboy3 小时前
“图像识别技术:重塑生活与工作的未来”
大数据·人工智能·生活
最近好楠啊3 小时前
Pytorch实现RNN实验
人工智能·pytorch·rnn
OCR_wintone4213 小时前
中安未来 OCR—— 开启文字识别新时代
人工智能·深度学习·ocr
学步_技术3 小时前
自动驾驶系列—全面解析自动驾驶线控制动技术:智能驾驶的关键执行器
人工智能·机器学习·自动驾驶·线控系统·制动系统
IFTICing3 小时前
【文献阅读】Attention Bottlenecks for Multimodal Fusion
人工智能·pytorch·python·神经网络·学习·模态融合
程序猿阿伟4 小时前
《C++游戏人工智能开发:开启智能游戏新纪元》
c++·人工智能·游戏