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