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