# text_bert_cnn
**Repository Path**: xiaoliIT/text_bert_cnn
## Basic Information
- **Project Name**: text_bert_cnn
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-11-30
- **Last Updated**: 2021-11-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# TEXT_BERT_CNN
在 Google BERT Fine-tuning基础上,利用cnn进行中文文本的分类;
没有使用tf.estimator API接口的方式实现,主要我不太熟悉,也不习惯这个API,还是按原先的[text_cnn](https://github.com/cjymz886/text-cnn)实现方式来的;
训练结果:在验证集上准确率是96.4%左右,训练集是100%;,这个结果单独利用cnn也是可以达到的。这篇blog不是来显示效果如何,主要想展示下如何在bert的模型下Fine-tuning,觉得以后这种方式会成为主流。
1 环境
=
python3
tensorflow 1.9.0以上
2 数据
=
还是以前的数据集,涉及10个类别:categories = \['体育', '财经', '房产', '家居', '教育', '科技', '时尚', '时政', '游戏', '娱乐'];
下载链接:[https://pan.baidu.com/s/11AuC5g47rnsancf6nfKdiQ] 密码:1vdg
[BERT-Base, Chinese](https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip): Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M parameters
3 运行
=
python text_run.py train
python text_run.py test
4 结论
=
我个人感觉在bert基础上对text_cnn提升并不大,不过这个数据集我优化的最好结果在验证集上也只是97%左右,怀疑数据集中可能有些文本的类别不是特别明显,或是属于多个类别也是合理的
bert在中文上目前只是支持字符级别的,而且文本长度最大为128,这个长度相对于单独卷积就处于劣势
bert会导致运行效率降低很多,毕竟模型的参数量摆在那里,实际应用要一定的硬件支持
5 参考
=
1. [google-research/bert](https://arxiv.org/abs/1408.5882)
2. [brightmart/bert_language_understanding](https://github.com/brightmart/bert_language_understanding)
