Artículo

🧠 Píldoras LLM #05 — Clasificación Zero-Shot

Pilodoras LLM 05

Se corresponde con el capítulo 1 del curso de Hugging Face

🔗 ✨ Ver cuaderno en 🟠 Google Colab


🔍 ¿Qué es la clasificación Zero-Shot?

En muchos proyectos reales no disponemos de textos etiquetados previamente, y generar esas etiquetas manualmente puede ser lento y costoso. Ahí entra en juego el pipeline zero-shot-classification de Hugging Face.

👉 Permite clasificar cualquier texto sin necesidad de entrenar un modelo con tus propios datos. Solo tienes que definir tus propias etiquetas, y el modelo estimará la probabilidad de que el texto pertenezca a cada una.


⚙️ Ejemplo práctico


from transformers import pipeline

classifier = pipeline("zero-shot-classification")
classifier(
    "This is a course about the Transformers library",
    candidate_labels=["education", "politics", "business"],
)

Como resultado, obtenemos el siguiente diccionario:


{'sequence': 'This is a course about the Transformers library',
 'labels': ['education', 'business', 'politics'],
 'scores': [0.8445994257926941, 0.11197380721569061, 0.04342673346400261]}

📊 Resultado: el modelo devuelve puntajes de probabilidad para cada etiqueta.En este caso, la categoría con mayor probabilidad sería education.


🧩 ¿Por qué “Zero-Shot”?

  • No necesitas ajustar ni entrenar el modelo.
  • Las etiquetas (candidate_labels) las defines tú mismo.
  • El modelo compara el texto con cada etiqueta y calcula qué tan probable es que pertenezca a esa clase, aunque nunca haya visto esas categorías antes.

📦 Por defecto, este pipeline usa el modelo facebook/bart-large-mnli, especializado en razonamiento textual.


🚀 Experimenta tú mismo

Prueba cambiando las etiquetas y observa cómo varían las probabilidades: ¿Detecta correctamente el contexto? ¿Qué ocurre con etiquetas ambiguas?

💡 Explorar es la mejor forma de entender cómo “razonan” estos modelos.

Entrada Anterior Siguiente Entrada