🚀 用於阿拉伯語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