top of page

Stemização x Lemmatização

Foto do escritor: Amanda NascimentoAmanda Nascimento

A fórmula para organizar o sistema e trazer resultados rápidos em dados, é adotar o Processamento de Linguagem Natural (PLN). Esse processo ocorre por meio de técnicas ligadas à área de machine learning, como a lematização e a stemização.



Stemização


A stematização é o processo de redução de palavras à sua raiz (ou base) para igualar palavras semelhantes para fins de comparação ou compartilhamento.


Exemplo:


  • "corre", "correndo", "correu" → raiz corr

  • "amigos", "amizade", "amigável" → raiz amig

  • "gato", "gata", "gatinhos"  → raiz gat



O ato de stemizar, ajuda a analisar sentenças tokenizando-as de modo mais eficaz pois o algoritmo de aprendizado de máquina precisa aprender sobre a raiz gat, e não sobre todas suas variantes.



Técnicas de Stemização


Existem várias maneiras de realizar a stemização, sendo algumas das mais conhecidas:


  1. Algoritmos de Stemização:

    • Porter Stemmer: Um dos algoritmos de stemização mais populares, que realiza uma série de regras de substituição para reduzir palavras a suas raízes.

    • Lancaster Stemmer: Um algoritmo mais agressivo que pode reduzir as palavras de maneira mais drástica.

    • Snowball Stemmer: Uma versão aprimorada do Porter Stemmer, que pode ser mais precisa dependendo do idioma.


  2. Abordagem Linguística: A stemização pode ser feita utilizando regras específicas para cada idioma. Isso envolve a remoção de sufixos e prefixos comuns para criar a raiz da palavra.



Lemmatização



A lemmatização também visa reduzir as palavras a uma forma básica, mas, ao contrário da stemização, ela sempre retorna uma palavra que existe no idioma (a "lematização" da palavra). Enquanto a stemização pode produzir uma raiz que não é uma palavra real (como "corr" para "correr"), a lemmatização retorna o "lema" que é uma forma normalizada (como "correr" em vez de "corr") .É uma técnica mais apurada de vetorização que resulta em termos mais precisos (word vectors), e é usada principalmente para modelar tópicos textuais, eliminando plurais e utilizando sinônimos.

O que se quer extrair é o lemma (palavra base) do termo – por exemplo, a palavra base de “aprendendo”, “aprendizado”, “aprendido” e aprendiz” é sempre “aprender”.



Exemplos de Aplicação:


  • Análise de Sentimentos: Em um modelo de análise de sentimentos, palavras como "feliz", "felizmente" e "felicidade" podem ser reduzidas para "feliz", ajudando o modelo a entender melhor o sentimento subjacente.


  • Busca em Textos: Se um usuário procura por "correr", mas no seu sistema você tem registros de "correndo", a stemização ajuda a mapear essas palavras para a mesma raiz, permitindo que a busca seja mais eficiente.


  • Classificação de Textos: Para treinar um modelo de classificação de e-mails como "spam" ou "não spam", você pode usar a stemização para garantir que todas as variações de palavras, como "comprar", "comprado" e "compra", sejam tratadas da mesma forma.



Exemplos comparativos:


  • Lematização: "amando", "amou", "amaria" > "amar"

  • Stemização: "amando", "amou", "amaria" > "am"


© 2017-2025  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page