Articulo de referencia

Bola de nieve (lenguaje de programación)

Snowball es un pequeño lenguaje de programación para el procesamiento de cadenas diseñado para crear algoritmos de lematización para su uso en la recuperación de información . [...

Snowball es un pequeño lenguaje de programación para el procesamiento de cadenas diseñado para crear algoritmos de lematización para su uso en la recuperación de información . [ 1 ]

El nombre Snowball fue elegido como un homenaje al lenguaje de programación SNOBOL , "con el que comparte el concepto de patrones de cadena que entregan señales que se utilizan para controlar el flujo del programa". [ 2 ] El creador de Snowball, el Dr. Martin Porter , "jugó con la idea de llamarlo 'strippergram'", porque "efectivamente proporciona una 'GRAMÁTICA STRIPPER con sufijo'". [ 1 ]

El compilador Snowball traduce un script de Snowball (un archivo .sbl) a un programa en ANSI C , Java , Ada, C#, Go, JavaScript , Object Pascal , Python o Rust, con seguridad para subprocesos . [ 3 ] [ 4 ] Para ANSI C, cada script de Snowball produce un archivo de programa y un archivo de cabecera correspondiente (con extensiones .c y .h). [ 3 ] El compilador Snowball comprueba la coherencia de su script, y esta comprobación se utilizó para descubrir un error tipográfico en un artículo académico fundamental de Lovins que había permanecido sin detectar durante 30 años. [ 5 ]

Los tipos de datos básicos que maneja Snowball son cadenas de caracteres, enteros con signo y valores booleanos , o simplemente cadenas, enteros y booleanos. Los caracteres de Snowball son de 8 o 16 bits, según el modo de uso. En particular, se admiten tanto ASCII como Unicode de 16 bits . [ 2 ] Al igual que el lenguaje de programación SNOBOL , el flujo de control en Snowball se organiza mediante el uso implícito de señales (cada instrucción devuelve un valor verdadero o falso), en lugar del uso explícito de construcciones como if, then y break que se encuentran en C y muchos otros lenguajes de programación. [ 2 ]

Aunque el sitio web original de Snowball, mantenido por el Dr. Martin Porter y su colega Richard Boulton, cerró en 2014 tras la jubilación del Dr. Porter, [ 1 ] [ 4 ] [ 6 ] el sitio sigue siendo accesible y el lenguaje continúa desarrollándose como un proyecto comunitario en GitHub . [ 1 ] [ 4 ] Además, grandes proyectos como el Natural Language Toolkit (NLTK) para Python emplean Snowball junto con algoritmos de lematización diseñados por el Dr. Porter y otros colaboradores del lenguaje Snowball. [ 7 ] [ 8 ]

Referencias

  1. 1 2 3 4 "Snowball" , Martin Porter, página web. Consultado el 2 de septiembre de 2014.
  2. 1 2 3 "Manual de Snowball" , Martin Porter, página web. Consultado el 2 de septiembre de 2014.
  3. 1 2 Porter, Martin. "Snowball: Introducción rápida" . Recuperado el 4 de mayo de 2025 .
  4. 1 2 3 "Snowball README" . 27 de marzo de 2025. Consultado el 4 de mayo de 2025 .
  5. Martin Porter (diciembre de 2001). "Lovins revisitado" . snowball.tartarus.org . Consultado el 6 de agosto de 2024 .
  6. Porter, Martin. "Snowball - Créditos" . Consultado el 4 de mayo de 2025 .
  7. "Documentación de nltk.stem.SnowballStemmer" . Natural Language Toolkit . Consultado el 4 de mayo de 2025 .
  8. "Código fuente para nltk.stem.snowball" . Natural Language Toolkit . Consultado el 4 de mayo de 2025 .
  • Sitio web oficial
  • Proyecto de lenguaje y algoritmos de Snowball Stemming en GitHub
  • Porter Stemmer en Snowball