BERT模型—5.BERT模型在句子分类任务(意图识别)上的微调
文章目录
- 引言
- 一、项目环境配置
- 二、数据集介绍
- 三、代码介绍
- 四、测试结果
- 1.代码执行流程
- 2. 预测流程
- 数据代码见:https://gitee.com/lj857335332/bert_finetune_cls
引言
这一节学习BERT模型如何在句子分类任务上进行微调。项目代码框架如下:
争取做到每行代码有注释!!!
一、项目环境配置
- python>=3.6
- torch==1.6.0
- transformers==3.0.2
- seqeval==0.0.12
- pytorch-crf==0.7.2
二、数据集介绍
Train | Dev | Test | Intent Labels | ||
---|---|---|---|---|---|
ATIS | 4,478 | 500 | 893 | 21 |
- 标签的数量基于训练数据集
- 对于仅在 dev 和 test数据集中显示的意图,为标签添加
UNK
我们这一节使用atis数据,数据集由训练集、验证集、测试集组成
seq.in
文件:每一行是一个文本
label
文件:每一行一个意图标签
intent_label.txt
文件:这个文件是由vocab_process.py
文件生成的意图标签统计文件,一共22个,基于训练数据集标签文件的21个,再加上两个额外标签“UNK”
三、代码介绍
data_loader.py
文件:这个文件的功能是将文本文件转化成InputExample类数据,并将输入样本转化为bert能够读取的InputFeatures类数据,最后保存至cache文件中,方便下次快速加载。
utils.py
文件:封装了很多实用程序,方便统一调用
trainer.py
文件:定义了任务的训练与评估以及保存模型与加载模型
main.py
文件:用于模型的训练与评估
predict.py
文件:用于模型的预测
四、测试结果
1.代码执行流程
在命令行输入:
python bert_finetune_cls/main.py --data_dir bert_finetune_cls/data/ --task atis --model_type bert --model_dir bert_finetune_cls/experiments/outputs/clsbert_0 --do_train --do_eval --train_batch_size 8 --num_train_epochs 2 --linear_learning_rate 5e-4
测试结果为:
intent_acc = 0.888
loss = 0.4982787650078535
2. 预测流程
在命令行输入
python bert_finetune_cls/predict.py --input_file bert_finetune_cls/data/atis/test/seq.in --output_file bert_finetune_cls/experiments/outputs/clsbert_0/atis_test_predicted.txt --model_dir bert_finetune_cls/experiments/outputs/clsbert_0
如果对您有帮助,麻烦点赞关注,这真的对我很重要!!!如果需要互关,请评论或者私信!
BERT模型—5.BERT模型在句子分类任务(意图识别)上的微调相关推荐
- bert获得词向量_手把手教你完成句子分类,最好上手的BERT初级使用指南
大数据文摘出品 来源:github 编译:LYLM.王转转.李雷.钱天培 过去几年里,机器学习语言处理模型的发展十分迅速,已经不再局限于实验阶段,而是可以应用于某些先进的电子产品中. 举个例子,最近谷 ...
- 使用bert模型做句子分类
使用bert模型微调做下游任务,在goole发布的bert代码和huggingface的transformer项目中都有相应的任务,有的时候只需要把代码做简单的修改即可使用.发现代码很多,我尝试着自己 ...
- BERT模型—7.BERT模型在句子分类任务上的微调(对抗训练)
文章目录 引言 二.项目环境配置 二.数据集介绍 三.代码介绍 四.测试 1.代码执行流程 数据代码见:https://gitee.com/lj857335332/bert_finetune_cls_ ...
- 自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 基于BERT模型微调实现句子分类
自然语言处理NLP星空智能对话机器人系列:深入理解Transformer自然语言处理 基于BERT模型微调实现句子分类 目录 基于BERT模型微调实现句子分类案例实战 Installing the H ...
- NLP之文本分类:「Tf-Idf、Word2Vec和BERT」三种模型比较
英语原文:Text Classification with NLP: Tf-Idf vs Word2Vec vs BERT 翻译:雷锋字幕组(关山.wiige) 概要 在本文中,我将使用NLP和Pyt ...
- bert模型可以做文本主题识别吗_NLP之文本分类:「Tf-Idf、Word2Vec和BERT」三种模型比较...
字幕组双语原文:NLP之文本分类:「Tf-Idf.Word2Vec和BERT」三种模型比较 英语原文:Text Classification with NLP: Tf-Idf vs Word2Vec ...
- 7个Bert变种模型baseline在7个文本分类数据集上训练和测试
引入和代码项目简介 https://github.com/songyingxin/Bert-TextClassification 模型有哪些? 使用的模型有下面七个 BertOrigin, BertC ...
- word2vec模型评估_NLP之文本分类:「Tf-Idf、Word2Vec和BERT」三种模型比较
字幕组双语原文:NLP之文本分类:「Tf-Idf.Word2Vec和BERT」三种模型比较 英语原文:Text Classification with NLP: Tf-Idf vs Word2Vec ...
- 5 分钟入门 Google 最强NLP模型:BERT
BERT (Bidirectional Encoder Representations from Transformers) 10月11日,Google AI Language 发布了论文 BERT: ...
最新文章
- UAVStack的慢SQL数据库监控功能及其实现
- 设置VMware随系统开机自动启动并引导虚拟机操作系统
- 康奈尔大学王飞博士:AI处理医疗数据面临的8大挑战
- java实用教程——组件及事件处理——DocumentEvent事件
- Java求数组元素的最大和最小值
- TCP四种定时器--学习笔记
- QQ通讯录VS360通讯录对新建信息界面中草稿的处理
- 十步轻松搞定IIS+PHP环境搭建
- mysql 策略_MySQL 密码策略
- Android 6.0 扫描不到 Ble 设备需开启位置权限
- VS C++ 字符串分割 strtok
- 中国智能硬件调研报告
- 移动前端图片压缩上传
- 利用openpyxl在Excel文件中批量复制模板表格
- 交通灯系统设计 educoder实训项目 logisim实现
- 无锡学院----软件工程导论----李振宏知识点整理
- Centos7.5安装redis
- 关于实习、校招的科普
- 网络适配器不见了网络连接不见了的解决方法
- 手把手教你入门深度强化学习(附链接代码)