Cómo gzip genera texto usando la compresión como modelo de lenguaje

Fuentes: How gzip generates text using compression as a language model

Un proyecto de software llamado gzipt demuestra que el algoritmo de compresión DEFLATE, utilizado por gzip, puede funcionar como un modelo de lenguaje sin redes neuronales ni parámetros aprendidos. La herramienta opera basándose en la equivalencia entre predicción y compresión: cualquier algoritmo de compresión es inherentemente un modelo de predicción. Al alimentar a gzip con un corpus de texto, como una versión abreviada de Shakespeare, el sistema utiliza la ventana deslizante de 32 KiB para encontrar la continuación que minimiza la longitud del archivo comprimido. Este proceso permite al sistema 'predecir' el siguiente byte seleccionando la secuencia que mejor se ajusta a los patrones ya presentes en la ventana, reduciendo así la redundancia.

Para mejorar la calidad de la generación, gzipt emplea una búsqueda de haz (beam search) en lugar de elegir un solo byte a la vez. Este método evalúa múltiples continuaciones parciales, manteniendo las más prometedoras según su puntuación de compresión, para evitar que el algoritmo caiga en bucles verbales simples. El código, escrito en Python estándar utilizando la librería zlib, está disponible en GitHub. Aunque la generación inicial puede parecer incoherente, el resultado revela que gzip captura una estructura semántica significativa del texto primado, validando la hipótesis de que la compresión es una forma de modelado probabilístico.