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

科技通信网站模板下载友链目录网

科技通信网站模板下载,友链目录网,做牛津布面料在哪个网站找客户,怎么免费制作app(PyTorch)BERT文本分类:七种模型架构 🌟 1. 介绍 使用BERT完成文本分类任务(如情感分析,新闻文本分类等等)对于NLPer已经是很基础的工作了!虽说已迈入LLM时代,但是BERT…

(PyTorch)BERT文本分类:七种模型架构

🌟 1. 介绍

使用BERT完成文本分类任务(如情感分析,新闻文本分类等等)对于NLPer已经是很基础的工作了!虽说已迈入LLM时代,但是BERT这类较小的传统预训练模型的作用同样不可小觑,常常在某些场景下达到出乎意料的效果。本文介绍了一个利用BERT完成文本分类的开源项目,项目源码 Bert-Text-Classification。项目包含了7条基线,每条基线运行起来所需的显存都很小,用来作baseline非常的不错。

为方便下载:夸克网盘链接,大家也可直接进入GitHub地址访问项目(同时给作者点个🌟哈哈哈)
另外,当前很多的BERT文本分类项目都是很老的包了,可能在配置环境时会出现问题。但本项目使用的包在当前主流的服务器上肯定可以配置成功!按照本项目的依赖文件去安装肯定不会出问题!

🔍 2. 模型架构解析

模型类型模型描述适用场景
BertOrigin标准BERT实现基线对比实验
BertATT动态注意力机制增强长文本关键信息提取
BertLSTMRNN时序建模能力融合序列依赖性强的任务
BertCNN局部特征提取器设计短文本模式识别
BertDPCNN深度金字塔卷积架构层次化特征学习
BertRCNNRNN-CNN混合架构上下文敏感的分类任务
BertCNNPlus全局-局部特征融合机制需要综合语义理解的场景

🛠 3. 快速开始

话不多说,直接开始复现步骤(作者已按照以下步骤完成复现,若遇到问题,欢迎在评论区提出,或者在GitHub的issue中提出,issue中提出问题会有邮件通知作者)

3.1 环境要求

  • Python 3.8
  • 依赖安装:pip install -r requirements.txt
# 创建conda环境
conda create -n bert2text python=3.8
# 安装依赖
cd xx/xx/Bert-Text-Classification
pip install -r requirements.txt

3.2 数据准备

  • 文本分类数据集,包含训练集、验证集、测试集
  • 单条数据格式:label \t text,如:
  • 0	我爱北京天安门
    1	这个电影真好看
    
  • 数据集存放路径:data/,数据集文件名:train.tsvdev.tsvtest.tsv

源码中的数据集因版权,只保留了前100条数据,若需要情感二分类SST2的完整数据集,可通过链接 SST2 访问下载。若是自己的数据集,请自行按照以上格式修改(注意分类类别需自行转换为数字标签)!比如:0对应“消极”,1对应“积极"

3.3 模型训练和评估

0️⃣ 修改相应的运行文件的配置信息,如run_STT2.py

# 数据集路径
data_dir = "./data/SST2"
# 标签列表
label_list = ["0", "1"] # SST2数据集标签列表(SST2是情感二分类数据集)
# 所需运行的模型名称列表
model_name_list = ["BertOrigin", "BertATT", "BertCNN", "BertCNNPlus", "BertDPCNN", "BertRCNN", "BertLSTM"] # 运行七条基线模型
# 模型保存路径、缓存保存路径、日志保存路径
output_dir = "./sst2_output/"
cache_dir = "./sst2_cache/"
log_dir = "./sst2_log/"
# BERT预训练模型路径,中文数据集使用"bert-base-chinese",英文数据集使用"bert-base-uncased"
model_name_or_path = "XXXX/XXX/bert-base-uncased"

需要运行几条基线,就在model_name_list 中保留哪几个模型的名称。中文文本分类需要使用中文版的BERT。

1️⃣ 运行训练脚本:

# 注意修改执行的数据集脚本名称,如运行SST2数据集时,run.sh中应该是python3 run_SST2.py
CUDA_VISIBLE_DEVICES=0 bash run.sh# run.sh中的参数说明:
max_seq_length:句子截断长度
num_train_epochs:训练轮数
do_train:是否训练
gpu_ids:使用的GPU编号,注意单卡训练时,gpu_ids为0
gradient_accumulation_steps:梯度累积步数
print_step:打印训练信息的步数(验证频率)
early_stop:早停步数,即验证集准确率连续early_stop次不再提升时,停止训练。当设置很大时,相当于关闭了早停功能。
train_batch_size:训练批次大小

第一次跑可以直接使用默认配置,看是否能运行成功。若爆显存可修改max_seq_length和train_batch_size大小。

2️⃣ 测试模型:

# 训练完成后,模型保存在`output_dir`目录下,如`./sst2_output/BertOrigin/`,包含模型文件、词表文件、配置文件等。
# 移除`run.sh`中的`do_train`参数,运行测试脚本
CUDA_VISIBLE_DEVICES=0 bash run.sh

在源码的设置中,其实每训练一个epoch后,都在测试集上进行了预测,同时记录了对应的结果。所以做不做步骤2其实都可以。保存的结果在./sst2_output/BertXXX/BertXXX/metric_info_for_test.json中。记录的指标包含:

{"epoch": 1,"auc": 0.5,"accuracy": 66.69859514687101,"P_macro_avg": 44.97381885071993,"R_macro_avg": 45.84622325341583,"F1_macro_avg": 44.36622804917629,"P_weighted_avg": 63.133033572230936,"R_weighted_avg": 66.69859514687101,"F1_weighted_avg": 63.44510333347591}

注意,若分类类别大于2,则AUC指标设置为0.5不变。

3.4 训练监控

可通过TensorBoard查看训练日志,日志路径示例:./sst2_log/
tensorboard的使用在此处就不再赘述了,若有需要可自行搜索教程!

http://www.mmbaike.com/news/90659.html

相关文章:

  • 如何个网站做优化郑州竞价托管
  • 西宁最好网站建设公司哪家好现在的seo1发布页在哪里
  • 光辉网站建设公司镇江百度关键词优化
  • 手把手教你做网站 怎么注册域名互联网广告推广是做什么的
  • 重庆网站建设哪个平台好网站推广策划书模板
  • 可信网站是什么网站客服系统
  • 找做网站的公司需要注意什么福州seo建站
  • 东莞做网站那家好网店网络营销策划方案
  • 网站教程分享站长工具在线平台
  • web课程设计网站模版百度客户端登录
  • 国际网站制作南昌seo实用技巧
  • 上海环球金融中心造价网站关键词怎么优化到首页
  • 什么是网站建设与维护网站关键词排名外包
  • vultr 做网站空间小型项目外包网站
  • 做美女网站赚钱巨量引擎广告投放平台代理
  • 做网站还需要买空间吗关键词收录查询工具
  • 商业网站是怎么做的农产品品牌推广方案
  • 深圳网站官网建设方案百中搜
  • 建站公司用的开源框架游戏推广代理加盟
  • 中国采购与招标网官方网站靠谱的代写平台
  • 营销策划与运营培训北京核心词优化市场
  • 网站开发常见毕业设计题目优化百度涨
  • 简洁大气企业网站源码 后台站长之家ip地址归属查询
  • 做网站美工工资多少优化网站搜索
  • 韩国 网站设计百度推广价格表
  • 图文可以做网站设计吗最近的重要新闻
  • 网站地图怎么用汽车软文广告
  • 重新建设网站的请示河北百度推广
  • 邯郸做网站优化教育培训网页设计
  • 个人网站展示广州seo外包