🚀 ParsBERT:基于Transformer的波斯语理解模型
ParsBERT是一个基于谷歌BERT架构的单语言模型,其配置与BERT - Base相同。它能够有效处理波斯语相关的自然语言处理任务,为波斯语的语言理解提供了强大的支持。
介绍ParsBERT的论文:arXiv:2005.12515
所有模型(下游任务)均不区分大小写,并使用全词掩码进行训练。(即将推出,敬请关注)
🚀 快速开始
安装
本部分暂未提供具体安装命令,后续可参考相关文档或根据使用示例中的依赖库进行安装。
使用示例
基础用法
以下是在TensorFlow 2.0中使用ParsBERT的示例代码:
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中使用ParsBERT的示例代码:
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")
✨ 主要特性
- 大规模语料预训练:该模型在一个大型波斯语语料库上进行了预训练,语料库包含来自众多主题(如科学、小说、新闻等)的各种写作风格的文档,文档数量超过200万篇。其中很大一部分语料是手动爬取的。
- 深度预处理:作为ParsBERT方法的一部分,进行了结合词性标注和WordPiece分词的广泛预处理,将语料转换为合适的格式。此过程生成了超过4000万个真实句子。
- 多任务表现优异:ParsBERT在三个自然语言处理下游任务(情感分析、文本分类和命名实体识别)上进行了评估。在所有任务中,它都优于其他语言模型,包括多语言BERT和其他混合深度学习模型,提升了波斯语语言建模的现有技术水平。
📚 详细文档
评估
ParsBERT在三个自然语言处理下游任务上进行了评估:情感分析(SA)、文本分类和命名实体识别(NER)。由于资源不足,手动构建了两个用于情感分析的大型数据集和两个用于文本分类的数据集,这些数据集可供公众使用和基准测试。
结果
以下表格总结了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,并希望将您的结果添加到上述表格中,请发起拉取请求或与我们联系。同时,请确保您的代码可在线获取,以便我们将其作为参考。
📄 引用
如果您在研究中使用了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的第一个版本。