Snowball es un pequeño lenguaje de procesamiento de cadenas para crear algoritmos de derivación para su uso en recuperación de información, además de una colección de algoritmos de derivación implementados con él.
Snowball fue diseñado y construido originalmente por Martin Porter. Martin se retiró del desarrollo en 2014 y Snowball ahora se mantiene como un proyecto comunitario. Martin eligió originalmente el nombre Snowball como homenaje a SNOBOL, el excelente lenguaje de manejo de cuerdas de los años 1960. Ahora también sirve como metáfora de cómo crece el proyecto al reunir contribuciones a lo largo del tiempo.
El compilador Snowball traduce un programa Snowball al código fuente en otro idioma; actualmente se admiten Ada, ISO C, C#, Go, Java, Javascript, Object Pascal, Python y Rust.
Este repositorio contiene el código fuente del compilador bola de nieve y los algoritmos de derivación. El compilador bola de nieve está escrito en ISO C; necesitará un compilador de C que admita C99 para compilarlo (pero el código C que genera debería funcionar con cualquier compilador ISO C).
Consulte https://snowballstem.org/ para obtener más información sobre Snowball.
La raíz asigna diferentes formas de la misma palabra a una "raíz" común; por ejemplo, la raíz en inglés asigna conexión , conexiones , conectivo , conectado y conectando para conectar . Por lo tanto, una búsqueda de conectados también encontrará documentos que solo tienen otros formularios.
Esta forma de raíz suele ser una palabra en sí misma, pero no siempre es así, ya que no es un requisito para los sistemas de búsqueda de texto, que son el campo de uso previsto. También pretendemos combinar palabras con el mismo significado, en lugar de todas las palabras con una raíz lingüística común (por lo que asombro y horror no tienen la misma raíz), y la derivación excesiva es más problemática que la insuficiente, por lo que tendemos a no surgir en casos de difícil solución. Si siempre desea reducir las palabras a una forma raíz y/u obtener una forma raíz que sea en sí misma una palabra, entonces los algoritmos de derivación de Snowball probablemente no sean la respuesta correcta.