SajjadAyoubi/xlm-roberta-large-fa-qa

SajjadAyoubi
Pregunta y respuesta

El modelo xlm-roberta-large-fa-qa de Sajjad Ayoubi está diseñado para el procesamiento y la respuesta a preguntas en idioma farsi (persa). Este modelo es parte de la librería de transformers y es compatible con PyTorch y TensorFlow. Se utiliza principalmente para aplicaciones relacionadas con la búsqueda de respuestas a partir de un contexto dado en el idioma farsi.

Como usar

Cómo usar

Requisitos

Los Transformers requieren transformers y sentencepiece, ambos se pueden instalar utilizando pip.

pip install transformers sentencepiece

Pipelines 🚀

En caso de que no estés familiarizado con Transformers, puedes usar pipelines en su lugar. Ten en cuenta que los pipelines no pueden tener respuestas nulas para las preguntas.

from transformers import pipeline

model_name = "SajjadAyoubi/lm-roberta-large-fa-qa"
qa_pipeline = pipeline("question-answering", model=model_name, tokenizer=model_name)

text = "سلام من سجاد ایوبی هستم ۲۰ سالمه و به پردازش زبان طبیعی علاقه دارم"
questions = ["اسمم چیه؟", "چند سالمه؟", "به چی علاقه دارم؟"]

for question in questions:
    print(qa_pipeline({"context": text, "question": question}))

Enfoque Manual 🔥

Usando el enfoque manual, es posible no tener una respuesta con un rendimiento incluso mejor.

PyTorch
from transformers import AutoTokenizer, AutoModelForQuestionAnswering
from src.utils import AnswerPredictor

model_name = "SajjadAyoubi/lm-roberta-large-fa-qa"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForQuestionAnswering.from_pretrained(model_name)

text = "سلام من سجاد ایوبی هستم ۲۰ سالمه و به پردازش زبان طبیعی علاقه دارم"
questions = ["اسمم چیه؟", "چند سالمه؟", "به چی علاقه دارم؟"]

# esta clase es de src/utils.py y puedes leer más sobre ella
predictor = AnswerPredictor(model, tokenizer, device="cpu", n_best=10)
preds = predictor(questions, [text] * 3, batch_size=3)

for k, v in preds.items():
    print(v)

Salida producida:

100%|██████████| 1/1 [00:00<00:00, 3.56it/s]
{'score': 8.040637016296387, 'text': 'سجاد ایوبی'}
{'score': 9.901972770690918, 'text': '۲۰'}
{'score': 12.117212295532227, 'text': 'پردازش زبان طبیعی'}
TensorFlow 2.X
from transformers import AutoTokenizer, TFAutoModelForQuestionAnswering
from src.utils import TFAnswerPredictor

model_name = "SajjadAyoubi/lm-roberta-large-fa-qa"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = TFAutoModelForQuestionAnswering.from_pretrained(model_name)

text = "سلام من سجاد ایوبی هستم ۲۰ سالمه و به پردازش زبان طبیعی علاقه دارم"
questions = ["اسمم چیه؟", "چند سالمه؟", "به چی علاقه دارم؟"]

# esta clase es de src/utils.py, puedes leer más sobre ella
predictor = TFAnswerPredictor(model, tokenizer, n_best=10)
preds = predictor(questions, [text] * 3, batch_size=3)

for k, v in preds.items():
    print(v)

Salida producida:

100%|██████████| 1/1 [00:00<00:00, 3.56it/s]
{'score': 8.040637016296387, 'text': 'سجاد ایوبی'}
{'score': 9.901972770690918, 'text': '۲۰'}
{'score': 12.117212295532227, 'text': 'پردازش زبان طبیعی'}

Funcionalidades

Modelo basado en xlm-roberta
Compatible con PyTorch y TensorFlow
Diseñado para la tarea de respuesta a preguntas (Question Answering)
Utiliza AutoTokenizer y AutoModelForQuestionAnswering de transformers
Compatible con Inferencia de Endpoints

Casos de uso

Búsqueda de respuestas en contextos en el idioma farsi
Aplicaciones de chatbot en idioma farsi
Sistemas de soporte automatizado
Entrenamiento en comprensión de textos en farsi