deberta-italian-question-answering

osiria
Pregunta y respuesta

Este es un modelo DeBERTa para el idioma italiano, afinado para la Respuesta a Preguntas Extractivas en el conjunto de datos SQuAD-IT. El modelo está entrenado con un procedimiento mejorado que ofrece un rendimiento y una confiabilidad de primer nivel. La última actualización, con el nombre en clave LITEQA, ofrece una mayor robustez y mantiene resultados óptimos incluso en configuraciones no capitalizadas.

Como usar

Para obtener los mejores resultados del modelo, se recomienda usar el siguiente pipeline:

from transformers import DebertaV2TokenizerFast, DebertaV2ForQuestionAnswering
import re
import string
from transformers.pipelines import QuestionAnsweringPipeline

tokenizer = DebertaV2TokenizerFast.from_pretrained("osiria/deberta-italian-question-answering")
model = DebertaV2ForQuestionAnswering.from_pretrained("osiria/deberta-italian-question-answering")

class OsiriaQA(QuestionAnsweringPipeline):

def __init__(self, punctuation = ',;.:!?()[\]{}', **kwargs):

QuestionAnsweringPipeline.__init__(self, **kwargs)
self.post_regex_left = "^[\s" + punctuation + "]+"
self.post_regex_right = "[\s" + punctuation + "]+$"

def postprocess(self, output):

output = QuestionAnsweringPipeline.postprocess(self, model_outputs=output)
output_length = len(output["answer"])
output["answer"] = re.sub(self.post_regex_left, "", output["answer"])
output["start"] = output["start"] + (output_length - len(output["answer"]))
output_length = len(output["answer"])
output["answer"] = re.sub(self.post_regex_right, "", output["answer"])
output["end"] = output["end"] - (output_length - len(output["answer"]))

return output

pipeline_qa = OsiriaQA(model = model, tokenizer = tokenizer)
pipeline_qa(context = "Alessandro Manzoni è nato a Milano nel 1785",
question = "Dove è nato Manzoni?")

También puedes probar el modelo en línea usando esta aplicación web: https://huggingface.co/spaces/osiria/deberta-italian-question-answering

Funcionalidades

Afinado para la Respuesta a Preguntas Extractivas en el conjunto de datos SQuAD-IT
Procedimiento de entrenamiento mejorado para un rendimiento y confiabilidad de primer nivel
Rendimiento óptimo en configuraciones no capitalizadas
Mejora en la versión 2.0 con una estrategia de afinado en dos fases
Mejora en la versión 3.0 (LITEQA) con una estrategia de afinado en tres fases

Casos de uso

Responder preguntas extractivas basadas en un contexto dado
Aplicaciones de procesamiento de lenguaje natural en italiano
Modelos robustos y confiables para tareas comunes de PLN