Ir al contenido
  1. Posts/

Clasificación de Texto con el Módulo zstd de Python 3.14

··265 palabras·2 mins·

🗜️ ¿Clasificar texto… con compresión? Python 3.14 hace que esta técnica sea práctica por primera vez.

Python 3.14 incorporó el módulo compression.zstd (Zstandard de Facebook) a la librería estándar. Y esto abre una forma elegante y sorprendente de clasificar texto sin modelos de ML tradicionales.

🧠 La idea central: Si comprimís un texto junto a un corpus de una categoría, el resultado será más pequeño cuanto más parecido sea el texto a esa categoría. Esto se basa en la complejidad de Kolmogorov: los datos similares se comprimen mejor juntos.

💡 El truco práctico con zstd:

from compression.zstd import ZstdCompressor, ZstdDict

# Para cada clase, construir un "diccionario" con su corpus
zd_tacos = ZstdDict(tacos_corpus, is_raw=True)
comp = ZstdCompressor(zstd_dict=zd_tacos)

# El texto que produce el output más corto es la clase ganadora
len(comp.compress(nuevo_texto))

✨ Ventajas:

  • Cero dependencias externas (stdlib de Python 3.14)
  • Funciona en modo online/streaming: no requiere re-entrenar desde cero
  • Muy rápido: reconstruir el compresor tarda microsegundos

⚠️ Limitaciones:

  • Menos preciso que modelos modernos como BERT
  • Mejor para casos de baja latencia o recursos limitados

💡 Explicación en pocas palabras
#

La idea es simple: si querés saber si un texto habla de “tacos” o “padel”, comprimilo junto a textos de cada categoría. El texto se comprimirá mejor con los textos a los que se parece más. Es una forma de medir similitud usando matemáticas de compresión, sin entrenar ningún modelo.

Más información en el link 👇

También publicado en LinkedIn.
Juan Pedro Bretti Mandarano
Autor
Juan Pedro Bretti Mandarano