0 有用
4 下载

【Demo】基于Transformers的文本分类

文件列表(压缩包大小 30.01M)

免费

概述

基于Transformers的文本分类


基于 huggingface 出品的 transformers v2.2.2代码进行重构。为了保证代码日后可以直接复现而不出现兼容性问题,这里将 transformers 放在本地进行调用。

Highlights


  • 支持transformer模型后接各种特征提取器
  • 支持测试集预测代码
  • 精简原始transformers代码,使之更适合文本分类任务
  • 优化logging终端输出,使之输出内容更加合理

Support


model_type:

✔ bert ✔ bert_cnn ✔ bert_lstm ✔ bert_gru ▢ xlnet ✔ xlnet_cnn ✔ xlnet_lstm ✔ xlnet_gru ▢ albert

Content


  • dataset:存放数据集
  • pretrained_models:存放预训练模型
  • transformers:transformers文件夹
  • results:存放训练结果

Usage


1. 使用不同模型

在shell文件中修改model_type参数即可指定模型

如,BERT后接FC全连接层,则直接设置model_type=bert;BERT后接CNN卷积层,则设置model_type=bert_cnn.

在本README的Support中列出了本项目中各个预训练模型支持的model_type。

最后,在终端直接运行shell文件即可,如:

bash run_classifier.sh

注:在中文RoBERTa、ERNIE、BERT_wwm这三种预训练语言模型中,均使用BERT的model_type进行加载。

2. 使用自定义数据集
  • dataset文件夹里存放自定义的数据集文件夹,如TestData.

  • 在根目录下的utils.py中,仿照class THUNewsProcessor写一个自己的类,如命名为class TestDataProcessor,并在tasks_num_labels, processors, output_modes三个dict中添加相应内容.

  • 最后,在你需要运行的shell文件中修改TASK_NAME为你的任务名称,如TestData.

Environment


  • one 2080Ti, 12GB RAM
  • Python: 3.6.5
  • PyTorch: 1.3.1
  • TensorFlow: 1.14.0(仅为了支持TensorBoard,无其他作用)
  • Numpy: 1.14.6

Performance


数据集: THUNews/5_5000 epoch:1 train_steps: 5000

model dev set best F1 and Acc remark
bert_base 0.9308869881728941, 0.9324 BERT接FC层, batch_size 8, learning_rate 2e-5
bert_base+cnn 0.9136314735833212, 0.9156 BERT接CNN层, batch_size 8, learning_rate 2e-5
bert_base+lstm 0.9369254464106703, 0.9372 BERT接LSTM层, batch_size 8, learning_rate 2e-5
bert_base+gru 0.9379539112313108, 0.938 BERT接GRU层, batch_size 8, learning_rate 2e-5
roberta_large RoBERTa接FC层, batch_size 2, learning_rate 2e-5
xlnet_mid 0.9530066512880131, 0.954 XLNet接FC层, batch_size 2, learning_rate 2e-5
xlnet_mid+lstm 0.9269927348553552, 0.9304 XLNet接LSTM层, batch_size 2, learning_rate 2e-5
xlnet_mid+gru 0.9494631023945569, 0.9508 XLNet接GRU层, batch_size 2, learning_rate 2e-5

Download Chinese Pre-trained Models

NPL_PEMDC

来源https://github.com/zhanlaoban/Transformers_for_Text_Classification

理工酷提示:

如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈

评论(0)

0/250