🚀 用于阿拉伯语SQuADv2问答的AraElectra模型
本项目使用 AraElectra 模型,基于 阿拉伯语SQuADv2.0 数据集进行微调。该模型在问答对(包括无法回答的问题)上进行训练,用于问答任务,并借助 AraElectra分类器 来预测无法回答的问题。
✨ 主要特性
- 数据集:使用
ZeyadAhmed/Arabic-SQuADv2.0
数据集。
- 评估指标:
- 精确匹配(exact_match):值为 65.12
- F1值:值为 71.49
📚 详细文档
概述
- 语言模型:AraElectra
- 语言:阿拉伯语
- 下游任务:抽取式问答
- 训练数据:阿拉伯语SQuADv2.0
- 评估数据:阿拉伯语SQuADv2.0
- 测试数据:阿拉伯语SQuADv2.0
- 代码:查看GitHub上的更多信息
- 基础设施:1x Tesla K80
超参数
batch_size = 8
n_epochs = 4
base_LM_model = "AraElectra"
learning_rate = 3e-5
optimizer = AdamW
padding = dynamic
阿拉伯语维基百科和用户提供上下文的在线演示
查看在Streamlit上托管的模型演示 
💻 使用示例
基础用法
为获得最佳效果,请使用由aub-mind开发的AraBert 预处理器。
from transformers import ElectraForQuestionAnswering, ElectraForSequenceClassification, AutoTokenizer, pipeline
from preprocess import ArabertPreprocessor
prep_object = ArabertPreprocessor("araelectra-base-discriminator")
question = prep_object('ما هي جامعة الدول العربية ؟')
context = prep_object('''
جامعة الدول العربية هيمنظمة إقليمية تضم دولاً عربية في آسيا وأفريقيا.
ينص ميثاقها على التنسيق بين الدول الأعضاء في الشؤون الاقتصادية، ومن ضمنها العلاقات التجارية الاتصالات، العلاقات الثقافية، الجنسيات ووثائق وأذونات السفر والعلاقات الاجتماعية والصحة. المقر الدائم لجامعة الدول العربية يقع في القاهرة، عاصمة مصر (تونس من 1979 إلى 1990).
''')
qa_modelname = 'ZeyadAhmed/AraElectra-Arabic-SQuADv2-QA'
cls_modelname = 'ZeyadAhmed/AraElectra-Arabic-SQuADv2-CLS'
qa_pipe = pipeline('question-answering', model=qa_modelname, tokenizer=qa_modelname)
QA_input = {
'question': question,
'context': context
}
CLS_input = {
'text': question,
'text_pair': context
}
qa_res = qa_pipe(QA_input)
cls_res = cls_pipe(CLS_iput)
threshold = 0.5
qa_model = ElectraForQuestionAnswering.from_pretrained(qa_modelname)
cls_model = ElectraForSequenceClassification.from_pretrained(cls_modelname)
tokenizer = AutoTokenizer.from_pretrained(qa_modelname)
性能评估
该模型在阿拉伯语SQuAD 2.0测试集上进行评估,使用 官方评估脚本,并对预处理部分进行了小幅度修改以适配阿拉伯语 修改后的评估脚本。
"exact": 65.11555277951281,
"f1": 71.49042547237256,
"total": 9606,
"HasAns_exact": 56.14535768645358,
"HasAns_f1": 67.79623803036668,
"HasAns_total": 5256,
"NoAns_exact": 75.95402298850574,
"NoAns_f1": 75.95402298850574,
"NoAns_total": 4350