/ Модель

Характеристики

Контекст
512 токенов
Параметры
162 млн
Архитектура
electra · dense
Опубликована
4 мая 2023

Bert_Arabic-SQuADv2-QA

Ответы на вопросыТекст → текст4 профессии

Производная модели ZeyadAhmed/AraElectra-Arabic-SQuADv2-QA. Дообученная на Arabic-SQuADv2.0 модель AraElectra извлекает ответы на арабские вопросы из заданного текста и распознаёт вопросы без ответа.

32скачиваний за 30 дней1лайквеса обновлены4 мая 2023

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Карточка модели zohaib99k/Bert_Arabic-SQuADv2-QA на Hugging Face совпадает с карточкой ZeyadAhmed/AraElectra-Arabic-SQuADv2-QA, поэтому описание составлено по ней.

AraElectra-Arabic-SQuADv2-QA — модель ZeyadAhmed для извлечения ответов на вопросы по тексту на арабском языке. Она дообучена на AraElectra на наборе Arabic-SQuADv2.0, включающем вопросы без ответа, и использует классификацию для определения таких вопросов.

Модель построена на архитектуре ELECTRA и содержит 162,4 млн параметров. Она принимает вопрос и контекст и возвращает найденный в контексте ответ либо определяет, что ответа нет. Максимальная длина контекста — 512 токенов. README рекомендует использовать препроцессор AraBERT для арабского текста.

Модель предназначена для извлечения ответов из текстовых отрывков, включая контексты из арабской Википедии и пользовательские тексты. В README описана оценка на тестовой части Arabic-SQuAD 2.0, однако численные результаты не приведены. Лицензия в предоставленных данных не указана.

Сценарии применения

  • поиск ответа на вопрос в арабской статье Википедии
  • извлечение ответа из предоставленного арабского отрывка
  • определение, можно ли ответить на вопрос по заданному контексту

Ограничения

Работает с контекстом длиной до 512 токенов и ориентирована на арабский язык; для предобработки README рекомендует AraBERT preprocessor. Численные показатели качества и условия лицензии в предоставленных данных отсутствуют.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

AraElectra for Question Answering on Arabic-SQuADv2

This is the AraElectra model, fine-tuned using the Arabic-SQuADv2.0 dataset. It's been trained on question-answer pairs, including unanswerable questions, for the task of Question Answering. with help of AraElectra Classifier to predicted unanswerable question.

Overview

Language model: AraElectra Language: Arabic Downstream-task: Extractive QA
Training data: Arabic-SQuADv2.0
Eval data: Arabic-SQuADv2.0 Test data: Arabic-SQuADv2.0 Code: See More Info on Github
Infrastructure: 1x Tesla K80

Hyperparameters

batch_size = 8
n_epochs = 4
base_LM_model = "AraElectra"
learning_rate = 3e-5
optimizer = AdamW
padding = dynamic

Online Demo on Arabic Wikipedia and User Provided Contexts

See model in action hosted on streamlit Open in Streamlit

Usage

For best results use the AraBert preprocessor by 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) Get predictions
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 #hyperparameter can be tweaked
## note classification results label0 probability it can be answered label1 probability can't be answered 
## if label1 probability > threshold then consider the output of qa_res is empty string else take the qa_res
# b) Load model & tokenizer
qa_model = ElectraForQuestionAnswering.from_pretrained(qa_modelname)
cls_model = ElectraForSequenceClassification.from_pretrained(cls_modelname)
tokenizer = AutoTokenizer.from_pretrained(qa_modelname)

Performance

Evaluated on the Arabic-SQuAD 2.0 test set with the official eval script except changing in the preprocessing a little to fit the arabic language the modified eval script.

"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

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · question-answering

Можно запустить

Подбираем GPU…

Класс архитектуры
ElectraForQuestionAnswering
Ревизия весов
4c2f4d6

0 моделей