【NLP实践】二、自训练数据实现中文文本分类并提供RestfulAPI服务

目录

前言

使用场景:随着用户使用量的增加,用户投诉量也日益增加,为了方便售后人员处理解决投诉问题以及售后问题的分类以及分析,所以利用NLP对投诉进行文本分类,分类为:用户抱怨、整机、异味、硬件、软件等等类型。随着系统的使用,标签矫正,可以使得模型在持续迭代日益精准。

预训练模型:
bert-base-chinese

谷歌开源的预训练模型,2018年至今,依然bert神一般的存在,性价比高、使用成本低,无脑套用就完事了。

前置条件

下载项目

shell 复制代码
git clone https://github.com/zpskt/MultiModelNLP.git
cd MultiModelNLP

创建环境

shell 复制代码
conda create -n sentiment --override-channels -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ python=3.12.11

安装依赖

shell 复制代码
conda activate sentiment
pip install -r src/bert/requirements.txt
#pip install -r src/bert/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

激活环境

shell 复制代码
conda activate sentiment

下载模型

如果你没有vpn或者任何代理服务器,那么访问huggingface.co会显示失败。此时可以使用国内的源:https://hf-mirror.com

配置环境变量

Linux/Mac

bash 复制代码
export HF_ENDPOINT=https://hf-mirror.com

你也可以添加到bash中

bash 复制代码
vim ~/.zshrc  # linux为 vim ~/.bashrc

Windows(这里没贴图,可以自行查阅添加环境变量)

我的电脑-》环境变量

加上HF_ENDPOINT并配置值 https://hf-mirror.com


此时你就可以往后走了,如果后面还不通,在执行这里的步骤

如果你还是下载不下来,那么就下载到本地

如果下载失败,那么就手动下载模型

shell 复制代码
wget -P model/bert-base-chinese https://hf-mirror.com/google-bert/bert-base-chinese/resolve/main/pytorch_model.bin

其他的我都下载完了,只需要下载一个bin就行了

准备训练数据

训练数据放置于data/train.csv,可以参照我的格式准备训练数据,需要你针对业务进行打标签处理,里面如果标签数据是中文,那么你就把labels中文映射一下即可。

使用

训练数据

开始训练

shell 复制代码
python train.py 

训练结束后,会在reslts文件下出现训练后的模型。

文件名 说明
[config.json](file://D:\zpskt\sentiment\model\bert-base-chinese\config.json) 模型配置文件,保存模型的超参数和架构配置信息
model.safetensors 模型权重文件,使用 safetensors 格式存储模型参数
optimizer.pt 优化器状态文件,保存优化器的参数和状态,用于恢复训练
rng_state.pth 随机数生成器状态文件,确保训练过程的可重现性
scheduler.pt 学习率调度器状态文件,保存学习率调整策略的状态
trainer_state.json 训练器状态文件,记录训练过程中的各种状态信息
training_args.bin 训练参数文件,保存训练时使用的命令行参数配置

该目录保存了训练过程中的模型检查点,包含模型权重、配置和训练状态等文件

用于模型的恢复训练或推理部署

当使用时,加载模型选择某个文件夹模型即可,要保证结构与我的一致。

main方法启动

可以看到我这里路径已经改为训练后的路径了。

shell 复制代码
cd src/bert
uvicorn api:app --reload

持续迭代

因为后续的代码是在公司完成,所以没有上传,而且较为简单,所以省略了。

流程就是,每次纠正标签后,都将纠正后的标签数据整理到一个csv然后利用原来已经训练完的模型再接着训练得出新的即可。

相关推荐
OAFD.4 分钟前
机器学习之线性回归:原理、实现与实践
人工智能·机器学习·线性回归
SHIPKING3932 小时前
【机器学习&深度学习】LMDeploy的分布式推理实现
人工智能·深度学习
mit6.8242 小时前
[RestGPT] docs | RestBench评估 | 配置与环境
人工智能·python
CareyWYR3 小时前
每周AI论文速递(250818-250822)
人工智能
门思科技3 小时前
LoRaWAN 的网络拓扑全解析:架构、原理与应用实践
服务器·网络·人工智能·科技·物联网·架构
兔子的倔强3 小时前
Transformer在文本、图像和点云数据中的应用——经典工作梳理
人工智能·深度学习·transformer
lxmyzzs4 小时前
【图像算法 - 21】慧眼识虫:基于深度学习与OpenCV的农田害虫智能识别系统
人工智能·深度学习·opencv·算法·yolo·目标检测·计算机视觉
Gloria_niki5 小时前
机器学习之K 均值聚类算法
人工智能·机器学习
AI人工智能+5 小时前
表格识别技术:通过图像处理与深度学习,将非结构化表格转化为可编辑结构化数据,推动智能化发展
人工智能·深度学习·ocr·表格识别
深圳多奥智能一卡(码、脸)通系统5 小时前
智能二维码QR\刷IC卡\人脸AI识别梯控系统功能设计需基于模块化架构,整合物联网、生物识别、权限控制等技术,以下是多奥分层次的系统设计框架
人工智能·门禁·电梯门禁·二维码梯控·梯控·电梯