Text Classification
Transformers
Safetensors
Spanish
clasif_propuestas
image-feature-extraction
multi-label-classification
spanish
hierarchical
custom_code
Instructions to use PENCR/clasif-gen5a-gen5b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use PENCR/clasif-gen5a-gen5b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="PENCR/clasif-gen5a-gen5b", trust_remote_code=True)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("PENCR/clasif-gen5a-gen5b", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
# Load model directly
from transformers import AutoModel
model = AutoModel.from_pretrained("PENCR/clasif-gen5a-gen5b", trust_remote_code=True, dtype="auto")Quick Links
Clasificación jerárquica de propuestas (es)
Modelo jerárquico que clasifica propuestas de política pública en 7 temas y, dentro de cada uno, en 49 subtemas.
Construido sobre bertin-project/bertin-roberta-base-spanish, añadiendo:
- Una rama de Bag-of-Words con
HashingVectorizer(1024 features). - Una feature de log-longitud del texto (solo en el modelo principal).
- Cabezas multi-label independientes para tema y para cada submodelo de subtemas.
Uso rápido
from transformers import pipeline
clf = pipeline("clasif-propuestas", model="PENCR/clasif-gen5a-gen5b",
trust_remote_code=True)
clf("Promover cooperativas comunales para reciclaje y economía circular.")
Salida:
[
{
"tema": "TEMA_4_MEDIO_AMBIENTE",
"prob_tema": 0.93,
"subtemas": [
{"nombre": "SUBTEMA_39_USO_DE_LOS_RECURSOS", "prob": 0.81},
{"nombre": "SUBTEMA_36_CONSERVACION", "prob": 0.42},
...
]
},
{"tema": "TEMA_2_ECONOMIA_Y_EMPLEO", "prob_tema": 0.31, "subtemas": [...]},
...
]
Lista ordenada de mayor a menor prob_tema. Las probabilidades vienen de sigmoids independientes (multi-label), no suman 1.
Parámetros opcionales
clf(texto, return_format="flat") # filas planas tema/subtema
clf(texto, top_k_temas=3) # solo los 3 temas más probables
Temas
| idx | Etiqueta | # subtemas |
|---|---|---|
| 0 | TEMA_1_POBREZA_Y_DESIGUALDAD | 10 |
| 1 | TEMA_2_ECONOMIA_Y_EMPLEO | 12 |
| 2 | TEMA_3_GESTION_POLITICA | 11 |
| 3 | TEMA_4_MEDIO_AMBIENTE | 5 |
| 4 | TEMA_5_SOLVENCIA_DEL_ESTADO | 5 |
| 5 | TEMA_6_CONVIVENCIA_SOCIAL | 5 |
| 6 | TEMA_7_OTRO | 0 (sin submodelo) |
Los nombres completos de subtemas están en labels.py.
Detalles del modelo
- Backbone:
bertin-project/bertin-roberta-base-spanish(RoBERTa, 768 dim) - Longitud máxima: 256 tokens
- Loss de entrenamiento: BCEWithLogitsLoss multi-label
- Total de parámetros: ~7 × 125 M (todos los submodelos comparten arquitectura)
- Tamaño en disco: ~3.4 GB en
safetensors
Hardware sugerido
| Setup | Tiempo por predicción |
|---|---|
| GPU NVIDIA | ~0.2 s |
| Apple Silicon M1 (MPS+FP16) | ~0.8–1.5 s |
| CPU | ~5–10 s |
Limitaciones
- Inferencia jerárquica corre todos los submodelos siempre (no hay poda por probabilidad de tema).
- TEMA_7_OTRO no tiene submodelo: devuelve un placeholder.
- Probabilidades en FP16 (MPS) pueden variar ~1e-3 vs FP32.
Cita
@misc{clasificacion_propuestas,
title = {Clasificación jerárquica de propuestas (es)},
author = {Equipo del proyecto},
year = {2026},
}
- Downloads last month
- 2
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="PENCR/clasif-gen5a-gen5b", trust_remote_code=True)