Bert_Árabe-SQuADv2-QA

zohaib99k
Pregunta y respuesta

Este es el modelo AraElectra, afinado utilizando el conjunto de datos Arabic-SQuADv2.0. Ha sido entrenado en pares de preguntas y respuestas, incluidas preguntas sin respuesta, para la tarea de Respuesta a Preguntas. Se utiliza el Clasificador AraElectra para predecir preguntas sin respuesta.

Como usar

Para obtener los mejores resultados, utilice 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)
threshold = 0.5 # el hiperparámetro se puede ajustar
## nota: resultados de clasificación
## etiqueta0 probabilidad de que se pueda responder la pregunta
## etiqueta1 probabilidad de que no se pueda responder
## si la probabilidad de la etiqueta1 es > al umbral, considere que la salida de qa_res es una cadena vacía, de lo contrario, tome el 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
Idioma: Árabe
Tarea de bajada de datos: QA Extractiva
Datos de entrenamiento: Arabic-SQuADv2.0
Datos de evaluación: Arabic-SQuADv2.0
Datos de prueba: Arabic-SQuADv2.0
Código disponible en Github
Infraestructura: 1x Tesla K80

Casos de uso

Respuestas exactas a preguntas basadas en contexto en idioma árabe
Detección de preguntas sin respuesta