SajjadAyoubi/xlm-roberta-large-fa-qa
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