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.