项目简介:roberta-base-finetuned-dianping-chinese
模型概述
roberta-base-finetuned-dianping-chinese是一个中文文本分类模型,该模型基于RoBERTa架构,并经过Fine-tuning以适应特定的数据集需求。这个项目由UER-py框架进行微调,UER-py是一种开源的预训练模型工具。除此之外,该模型还可以通过腾讯的TencentPretrain进行微调,后者支持更大规模的模型,并扩展支持多模态预训练。
模型下载
用户可以通过以下两种途径获取roberta-base-finetuned-dianping-chinese模型:
- UER-py Modelzoo页面
- 通过Hugging Face平台:roberta-base-finetuned-dianping-chinese
使用指南
如果想要使用该模型,可以通过Transformers库中的pipeline工具直接进行文本分类。以下是使用示例,该示例使用roberta-base-finetuned-chinanews-chinese模型进行情感分析:
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline
model = AutoModelForSequenceClassification.from_pretrained('uer/roberta-base-finetuned-dianping-chinese')
tokenizer = AutoTokenizer.from_pretrained('uer/roberta-base-finetuned-dianping-chinese')
text_classification = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer)
result = text_classification("这本书真的很不错")
print(result)
训练数据
该模型在五个中文文本分类数据集上进行微调,其中包含京东的两类不同情感极性用户评论数据集以及大众点评的评论数据集。此外,还有 Ifeng 和 Chinanews 两个数据集,分别包含不同类别的新闻文章的第一段文字。这些数据集由Glyph项目收集。
训练过程
在训练过程中,模型基于预训练的chinese_roberta_L-12_H-768进行微调。微调过程在腾讯云上进行,为期三次迭代,每次的文本序列长度为512。模型在每次迭代后,如果在开发集上取得最佳表现,则会进行保存。微调过程中所使用的超参数在不同的模型训练时保持一致。
以roberta-base-finetuned-chinanews-chinese为例,实际微调命令如下:
python3 finetune/run_classifier.py --pretrained_model_path models/cluecorpussmall_roberta_base_seq512_model.bin-250000 \
--vocab_path models/google_zh_vocab.txt \
--train_path datasets/glyph/dianping/train.tsv \
--dev_path datasets/glyph/dianping/dev.tsv \
--output_model_path models/dianping_classifier_model.bin \
--learning_rate 3e-5 --epochs_num 3 --batch_size 32 --seq_length 512
最终,将预训练模型转换为Huggingface的格式:
python3 scripts/convert_bert_text_classification_from_uer_to_huggingface.py --input_model_path models/dianping_classifier_model.bin \
--output_model_path pytorch_model.bin \
--layers_num 12
通过上述步骤,用户可以成功地下载、使用和理解roberta-base-finetuned-dianping-chinese模型,用于中文文本的情感分析和分类任务。