参考:https://github.com/yaleimeng/TextClassify_with_BERT
说明:https://blog.csdn.net/qq_34101364/article/details/115338445
# TextClassify_with_BERT
使用BERT模型做文本分类;面向工业用途
+ 自己研究了当前开源的使用BERT做文本分类的许多存储库,各有各的缺点。通病就是面向学术,不考虑实际应用。
+ 使用txt、tsv、csv等不同数据集也就算了,有些项目甚至似乎存在bug。所以还是要自己动手解决。
+ 已经较为完整可用,欢迎收藏加关注。有问题可提issue交流。
## 与同类代码库相比的亮点:
- 在自定义Processor类中添加了针对单条文本的处理方法。在常规的针对test数据集的predict方法之外添加了针对单条数据的类别预测方法。
- 编写了简单的web服务,直接搭建对外服务的API接口。
- estimator 从 tf.contrib.tpu.TPUEstimator换成 tf.estimator.Estimator,以便在 gpu 上更高效运行。于此同时 model_fn 里tf.contrib.tpu.TPUEstimatorSpec 也修改成 tf.estimator.EstimatorSpec形式,相关调用参数也做了调整。
- 在转换成较普通的 estimator 后便可以使用常用方式处理,如生成用于部署的 *.pb 文件等。
## 使用方法:
0. 准备工作
+ 首先要下载[BERT-Base中文模型](https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip)或者从[Chinese-BERT-wwm](https://github.com/ymcui/Chinese-BERT-wwm)下载全词mask版本并解压到合适的目录;后面需要作为model_dir配置。
1. 单机运行
+ 在arguments.py中修改运行参数。主要是**数据目录、BERT目录、模型目录、序列长度、batch大小、学习率**等。
> 如果仅对test.txt执行预测,只需要把 do_predict 设为True,do_train 与do_eval 设置为false。
+ 训练+评估:运行train_eval.py </br>
> 如果上面步骤进展顺利,恭喜,在输出目录内已经生成了训练和评估结果。屏幕上也打印出了评估准确率等。</br>
+ 测试:先修改自己要测试的问题,运行predict.py</br>
2. 使用自己的真实数据集。修改训练参数,重新进行训练和评估。
3. 搭建分类预测服务
+ 使用自己的pb模型+[开源框架](https://github.com/macanv/BERT-BiLSTM-CRF-NER)。 【强烈推荐】
+ 运行server.py 【仅供玩耍】
+ 有pb模型自己使用TensorFlow Serving部署
4. 关于用bert-base搭建服务的简介:
+ 在服务器端、客户端安装:pip install bert-base
+ 在PB模型所在目录下新建一个 run.sh文件,写入以下内容:
> bert-base-serving-start \ </br>
-model_dir ./ \ # 训练输出目录【主要是其他Mode用到】。</br>
-bert_model_dir F:\chinese_L-12_H-768_A-12 # BERT自身的目录。</br>
-model_pb_dir ./ \ # pb模型路径,就填./ 当前目录就行了。。 </br>
-mode CLASS \ # 运行模式,分类就是CLASS</br>
-max_seq_len 200 \ # 最大序列长度。要跟训练时参数一致。</br>
+ 运行编写好的run.sh,如果没报错,提示已经开始监听的话就表示服务成功开启。可以使用客户端运行示例了。</br>
非本机运行的话,构造BertClient时需要设置ip参数,例如BertClient(ip=192.168.20.20 )。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于深度学习的webshell检测.zip (18个子文件)
资料总结
train_eval.py 27KB
data
val.txt 220KB
test.txt 3.86MB
train.txt 23.41MB
LICENSE 11KB
domain_classifier_v2.py 34KB
predict.py 25KB
output
README.md 25B
uncased_L-12_H-768_A-12
README.md 97B
modeling.py 37KB
server.py 1KB
optimization.py 6KB
pb
README.md 25B
tokenization.py 12KB
arguments.py 2KB
.gitignore 51B
README.md 3KB
config.py 2KB
共 18 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功