ParsBERT:基于Transformer的波斯语理解模型
ParsBERT是基于谷歌BERT架构的单语种语言模型,其配置与BERT-Base相同。
相关论文:arXiv:2005.12515
所有下游任务模型均为小写格式,并采用全词掩码训练(即将上线,敬请期待)。
简介
该模型在包含多种写作风格(如科学、小说、新闻等)的波斯语大型语料库上进行了预训练,语料库文档数量超过200万。其中大部分数据通过人工手动爬取。
作为ParsBERT方法论的一部分,我们结合词性标注和WordPiece分词技术对语料进行了深度预处理,将其转化为规范格式。该处理过程生成了超过4000万条有效句子。
性能评估
ParsBERT在三个NLP下游任务上进行了评测:情感分析(SA)、文本分类(TC)和命名实体识别(NER)。由于资源限制,我们人工构建了两个大型情感分析数据集和两个文本分类数据集,这些数据集已公开供研究使用和基准测试。ParsBERT在所有任务中均超越了包括多语言BERT和其他混合深度学习模型在内的所有语言模型,刷新了波斯语语言建模的最优性能记录。
实验结果
下表对比展示了ParsBERT与其他模型架构的F1分数表现。
情感分析(SA)任务
数据集 |
ParsBERT |
mBERT |
DeepSentiPers |
Digikala用户评论 |
81.74* |
80.74 |
- |
SnappFood用户评论 |
88.12* |
87.87 |
- |
SentiPers(多分类) |
71.11* |
- |
69.33 |
SentiPers(二分类) |
92.13* |
- |
91.98 |
文本分类(TC)任务
数据集 |
ParsBERT |
mBERT |
Digikala杂志 |
93.59* |
90.72 |
波斯新闻 |
97.19* |
95.79 |
命名实体识别(NER)任务
数据集 |
ParsBERT |
mBERT |
MorphoBERT |
Beheshti-NER |
LSTM-CRF |
基于规则的CRF |
BiLSTM-CRF |
PEYMA |
93.10* |
86.64 |
- |
90.59 |
- |
84.00 |
- |
ARMAN |
98.79* |
95.89 |
89.9 |
84.03 |
86.55 |
- |
77.45 |
如果您在公开数据集上测试过ParsBERT并希望将结果加入上表,请提交Pull Request或联系我们。同时请确保相关代码已开源以便我们添加引用
使用指南
TensorFlow 2.0
from transformers import AutoConfig, AutoTokenizer, TFAutoModel
config = AutoConfig.from_pretrained("HooshvareLab/bert-base-parsbert-uncased")
tokenizer = AutoTokenizer.from_pretrained("HooshvareLab/bert-base-parsbert-uncased")
model = AutoModel.from_pretrained("HooshvareLab/bert-base-parsbert-uncased")
text = "ما در هوشواره معتقدیم با انتقال صحیح دانش و آگاهی، همه افراد میتوانند از ابزارهای هوشمند استفاده کنند. شعار ما هوش مصنوعی برای همه است。"
tokenizer.tokenize(text)
>>> ['ما', 'در', 'هوش', '##واره', 'معتقدیم', 'با', 'انتقال', 'صحیح', 'دانش', 'و', 'اگاهی', '،', 'همه', 'افراد', 'میتوانند', 'از', 'ابزارهای', 'هوشمند', 'استفاده', 'کنند', '.', 'شعار', 'ما', 'هوش', 'مصنوعی', 'برای', 'همه', 'است', '.']
PyTorch
from transformers import AutoConfig, AutoTokenizer, AutoModel
config = AutoConfig.from_pretrained("HooshvareLab/bert-base-parsbert-uncased")
tokenizer = AutoTokenizer.from_pretrained("HooshvareLab/bert-base-parsbert-uncased")
model = AutoModel.from_pretrained("HooshvareLab/bert-base-parsbert-uncased")
NLP任务教程
即将上线,敬请期待
引用规范
若在研究中使用了ParsBERT,请在出版物中引用以下论文:
@article{ParsBERT,
title={ParsBERT: Transformer-based Model for Persian Language Understanding},
author={Mehrdad Farahani, Mohammad Gharachorloo, Marzieh Farahani, Mohammad Manthouri},
journal={ArXiv},
year={2020},
volume={abs/2005.12515}
}
致谢
我们诚挚感谢TensorFlow研究云(TFRC)计划提供的计算资源支持,同时感谢Hooshvare研究团队在数据集收集和网络文本爬取方面提供的协助。
核心贡献者
版本发布
v0.1版(2019年5月27日)
首个基于BERTBASE的ParsBERT版本