Snowball é uma linguagem de processamento de pequenas strings para criar algoritmos de stemização para uso na recuperação de informações, além de uma coleção de algoritmos de stemização implementados usando-a.
Snowball foi originalmente projetado e construído por Martin Porter. Martin se aposentou do desenvolvimento em 2014 e o Snowball agora é mantido como um projeto comunitário. Martin escolheu originalmente o nome Snowball como uma homenagem ao SNOBOL, a excelente linguagem de manipulação de strings da década de 1960. Agora também serve como uma metáfora de como o projeto cresce ao reunir contribuições ao longo do tempo.
O compilador Snowball traduz um programa Snowball em código-fonte em outra linguagem - atualmente são suportados Ada, ISO C, C#, Go, Java, Javascript, Object Pascal, Python e Rust.
Este repositório contém o código-fonte do compilador bola de neve e dos algoritmos de lematização. O compilador bola de neve é escrito em ISO C - você precisará de um compilador C que suporte C99 para construí-lo (mas o código C que ele gera deve funcionar com qualquer compilador ISO C).
Consulte https://snowballstem.org/ para obter mais informações sobre o Snowball.
O lematização mapeia diferentes formas da mesma palavra para um "radical" comum - por exemplo, o lematizador inglês mapeia conexão , conexões , conectivo , conectado e conexão para conectar . Portanto, uma busca por conectado também encontraria documentos que possuem apenas os demais formulários.
Esta forma radical é muitas vezes uma palavra em si, mas nem sempre é o caso, pois não é um requisito para sistemas de pesquisa de texto, que são o campo de utilização pretendido. Também pretendemos fundir palavras com o mesmo significado, em vez de todas as palavras com uma raiz linguística comum (portanto, espanto e terrível não têm o mesmo radical), e o over-stemming é mais problemático do que o under-stemming, por isso tendemos a não surgem em casos de difícil resolução. Se você deseja sempre reduzir as palavras a uma forma de raiz e/ou obter uma forma de raiz que seja uma palavra, os algoritmos de lematização do Snowball provavelmente não são a resposta certa.