ZeyadAhmed/AraElectra-Arabic-SQuADv2-QA
ZeyadAhmed
Pregunta y respuesta
Este es el modelo AraElectra, ajustado utilizando el conjunto de datos Arabic-SQuADv2.0. Ha sido entrenado en pares de preguntas y respuestas, incluyendo preguntas sin respuesta, para la tarea de Respuesta a Preguntas, con la ayuda del Clasificador AraElectra para predecir preguntas sin respuesta.
Como usar
Para mejores resultados, use el preprocesador AraBert de aub-mind.
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).
''')
# a) Obtener predicciones
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)
umbral = 0.5 # el hiperparámetro se puede ajustar
## nota: resultados de clasificación etiqueta0 probabilidad de que se pueda responder etiqueta1 probabilidad de que no se pueda responder
## si la probabilidad de la etiqueta1 > umbral, entonces considere la salida de qa_res como una cadena vacía, de lo contrario, tome qa_res
# b) Cargar modelo y tokenizador
qa_model = ElectraForQuestionAnswering.from_pretrained(qa_modelname)
cls_model = ElectraForSequenceClassification.from_pretrained(cls_modelname)
tokenizer = AutoTokenizer.from_pretrained(qa_modelname)
Funcionalidades
- Modelo de lenguaje: AraElectra
- Tarea downstream: QA extractiva
- Datos de entrenamiento: Arabic-SQuADv2.0
- Datos de evaluación: Arabic-SQuADv2.0
- Datos de prueba: Arabic-SQuADv2.0
- Infraestructura: 1x Tesla K80
- batch_size: 8
- n_epochs: 4
- base_LM_model: AraElectra
- learning_rate: 3e-5
- optimizador: AdamW
- padding: dinámico
Casos de uso
- Responder preguntas basadas en textos en árabe.
- Identificar preguntas que no tienen respuesta.