模型:

HooshvareLab/bert-base-parsbert-uncased

英文

ParsBERT: 基于Transformer的波斯语语言理解模型

ParsBERT是基于Google的BERT架构的单语言模型,其配置与BERT-Base相同。

ParsBERT论文: arXiv:2005.12515

所有模型(下游任务)均为无大小写,并采用整个单词屏蔽进行训练。(即将推出,请关注)

简介

该模型在大规模的波斯语语料库上进行预训练,语料库包含了多种写作风格和各种主题(如科学、小说、新闻)的超过2百万个文档。其中,一个大的子集是通过手动爬取得到的。

作为ParsBERT方法学的一部分,进行了广泛的预处理,包括POS标注和WordPiece分词,以使语料库符合正确的格式。该过程生成了超过4千万个真实句子。

评估

ParsBERT在三个自然语言处理下游任务上进行了评估:情感分析(SA),文本分类和命名实体识别(NER)。由于资源不足,为了这个目的,手动组合了两个用于SA和两个用于文本分类的大型数据集,这些数据集可供公众使用和基准测试。在波斯语语言建模方面,ParsBERT在所有任务中表现优于所有其他语言模型,包括多语言BERT和其他混合深度学习模型,提高了最先进的性能。

结果

以下表格总结了ParsBERT与其他模型和架构相比获得的F1分数。

情感分析(SA)任务

Dataset ParsBERT mBERT DeepSentiPers
Digikala User Comments 81.74* 80.74 -
SnappFood User Comments 88.12* 87.87 -
SentiPers (Multi Class) 71.11* - 69.33
SentiPers (Binary Class) 92.13* - 91.98

文本分类(TC)任务

Dataset ParsBERT mBERT
Digikala Magazine 93.59* 90.72
Persian News 97.19* 95.79

命名实体识别(NER)任务

Dataset ParsBERT mBERT MorphoBERT Beheshti-NER LSTM-CRF Rule-Based 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,并希望将结果添加到上述表格中,请打开拉取请求或与我们联系。还请确保您的代码在线上可用,以便我们可以将其添加为参考。

如何使用

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 Research Cloud (TFRC) program 提供给我们必要的计算资源表示感谢。我们还感谢 Hooshvare 研究小组为数据集收集和在线文本资源爬取提供便利。

贡献者

发布版本

Release v0.1(2019年5月27日)

这是基于BERT BASE的ParsBERT的第一个版本。