Instructions to use WalterWi/transformers_clas_texto with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use WalterWi/transformers_clas_texto with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="WalterWi/transformers_clas_texto")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("WalterWi/transformers_clas_texto") model = AutoModelForSequenceClassification.from_pretrained("WalterWi/transformers_clas_texto", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Clasificador de comentarios con Transformers: 驴positivo o negativo?
Descripci贸n del modelo
Este modelo es un ejemplo pedag贸gico del Seminario de Actualizaci贸n (IFTS N.潞 18). Muestra todas las piezas que se publican cuando se comparte un modelo de Hugging Face Transformers: la arquitectura, los pesos y el tokenizer.
Clasifica comentarios cortos sobre departamentos como positivo o negativo.
Es un BERT diminuto entrenado desde cero con un vocabulario propio y muy chico. En un caso real no se entrena desde cero: se hace fine-tuning de un modelo preentrenado del Hub. Igual, los archivos que se publican son los mismos.
Objetivo
Clasificar un texto en una de dos clases. Es un problema de clasificaci贸n binaria, como el de la Clase 11, pero con texto como entrada.
Datos de entrenamiento
- Dataset: sint茅tico, generado en
train.pya partir de 5 plantillas de frases y 16 adjetivos (8 positivos y 8 negativos). - Cantidad de registros: 368 comentarios. Se usan 294 para entrenar y 74 para evaluar.
- Entrada (X): el texto del comentario, por ejemplo "el departamento es muy luminoso".
- Salida (y): la etiqueta,
negativo(0) opositivo(1).
Entrenamiento
- Tipo de aprendizaje: supervisado.
- Problema: clasificaci贸n de texto (binaria).
- Arquitectura:
BertForSequenceClassificationcon 2 capas, 2 cabezas de atenci贸n, dimensi贸n 32 y unos 20.500 par谩metros. - Tokenizer: a nivel palabra (
WordLevel), con 37 tokens. Pasa todo a min煤sculas y saca las tildes. - Funci贸n de p茅rdida: entrop铆a cruzada. La calcula el modelo cuando recibe
labels. - Optimizador:
AdamW, con tasa de aprendizaje 0,001. - 脡pocas: 15, en lotes de 16.
- Biblioteca: Hugging Face Transformers, con PyTorch.
Evaluaci贸n
Se evalu贸 sobre 74 comentarios que el modelo no vio durante el entrenamiento.
| M茅trica | Resultado |
|---|---|
| Accuracy | 1,000 |
Que acierte el 100 % no quiere decir que el modelo sea bueno. Los comentarios de test usan las mismas plantillas y los mismos adjetivos que los de entrenamiento: es un examen con las mismas preguntas que la pr谩ctica. Ver Limitaciones.
Archivos
| Archivo | Qu茅 es |
|---|---|
config.json |
la arquitectura: capas, dimensiones, etiquetas (id2label) |
model.safetensors |
los pesos |
tokenizer.json |
el vocabulario y c贸mo se corta el texto en tokens |
tokenizer_config.json |
la configuraci贸n del tokenizer y sus tokens especiales |
train.py |
el c贸digo que lo entren贸 |
predict.py |
c贸mo cargarlo y usarlo |
requirements.txt |
las dependencias |
README.md |
esta Model Card |
Modelo y tokenizer van juntos. Si el modelo se publica sin su tokenizer, no se puede usar: los n煤meros que entiende el modelo son posiciones del vocabulario de ese tokenizer y de ning煤n otro.
C贸mo utilizar el modelo
Desde esta carpeta:
from transformers import pipeline
clasificador = pipeline("text-classification", model=".")
print(clasificador("el departamento es muy luminoso"))
# [{'label': 'positivo', 'score': 0.99...}]
Una vez publicado en el Hub, se cambia la carpeta por el nombre del repo:
clasificador = pipeline("text-classification", model="tu-usuario/nombre-del-repo")
Funciona con Transformers 4 (la versi贸n de Colab) y con Transformers 5.
Limitaciones
- Tiene fines exclusivamente educativos.
- Solo conoce 37 palabras. Cualquier otra palabra se convierte en
[UNK](desconocida). Por ejemplo, "tiene una vista incre铆ble" queda como[UNK] [UNK] [UNK] [UNK]. El modelo igual responde, y con seguridad alta: dicenegativo (1.00). Un modelo puede equivocarse con total confianza cuando le llega algo distinto de lo que vio al entrenar. - No entiende negaciones ("no es luminoso") ni iron铆a. Las frases de entrenamiento no las tienen.
- El dataset sale de plantillas, as铆 que el accuracy de test es optimista.
- Para un uso real, conviene partir de un modelo preentrenado en espa帽ol y hacerle fine-tuning con comentarios reales.
Autor铆a
Modelo desarrollado con fines educativos para el IFTS N.潞 18. Docente: Cynthia M. Villagra.
- Downloads last month
- -