A derivação no processamento de linguagem natural (PLN) envolve a redução das palavras à sua forma raiz ou radical, que nem sempre é uma palavra válida. Por exemplo, "discutindo" e "discutiu" podem ser reduzidas a "discut", que não é uma palavra correta. Isso é feito principalmente removendo sufixos. A remoção de sufixos agrupa diferentes formas da mesma palavra e ajuda os computadores a processá-las com mais eficiência. Esse processo melhora a precisão e a eficiência de várias tarefas de PNL, reduzindo o número de palavras únicas a serem consideradas.
O objetivo principal da derivação é reduzir as variações de uma palavra que uma máquina precisa processar. Ao reduzir as palavras à forma básica, as máquinas podem tratar diferentes formas da mesma palavra como uma única entidade. Por exemplo, "correndo", "corre" e "corredor" seriam reduzidas ao radical "corr". Essa simplificação pode ajudar a melhorar a precisão e a eficiência de várias tarefas de PNL.
Alguns dos principais objetivos da derivação incluem:
Os algoritmos de stemming usam um conjunto de regras para identificar e remover sufixos de palavras. Essas regras geralmente são baseadas em padrões linguísticos ou análises estatísticas de grandes coleções de texto. Os algoritmos geralmente funcionam em uma série de etapas, cada uma removendo um tipo específico de sufixo. Por exemplo, uma regra simples de stemming pode ser remover o sufixo "-ando" de palavras que terminam em "-ando". O processo costuma ser rápido e computacionalmente barato, o que o torna adequado para processar grandes quantidades de dados de texto.
Um conceito importante relacionado à redução ao radical é a conflação, que envolve o tratamento de palavras ou frases diferentes como correspondências semânticas porque se referem à mesma ideia central. Por exemplo, "decidido" e "decidível" podem não ser sinônimos, mas podem ser tratados como semelhantes em determinados contextos, como ao analisar tópicos relacionados a processos de tomada de decisão. O stemming pode ser visto como um tipo de conflação que se concentra na redução das variações flexionais das palavras.
O stemming também desempenha um papel importante na conflação de termos, que é um processo mais geral de redução de variações lexicais no texto. A conflação de termos tem como objetivo reduzir diferentes formas de palavras (como stemming e lematização), bem como variações de significado, gramática ou ortografia. Ao reduzir essas diferenças, o stemming pode tornar a análise de texto e a pesquisa de informações mais eficazes.
A base para os algoritmos de stemming foi estabelecida em 1968 por Julie Beth Lovins, que desenvolveu o primeiro stemmer publicado. Desde então, vários algoritmos de stemming diferentes foram criados, cada um com seus próprios pontos fortes e fracos:
O stemmer de Porter é um dos algoritmos de derivação mais antigos e amplamente usados, desenvolvido por Martin Porter em 1980. Ele usa uma série de regras para remover sufixos de palavras em inglês. Ele é conhecido pela simplicidade e velocidade, mas às vezes reduz demais as palavras, o que leva a imprecisões. Além disso, ele pode não funcionar bem para outros idiomas além do inglês. Por exemplo, um stemmer de Porter pode reduzir "university", "universal" e "universities" ao mesmo radical: "univers". Isso demonstra claramente a natureza agressiva e a possível perda de significado do algoritmo.
O stemmer de Snowball foi desenvolvido como uma melhoria do stemmer Porter. Ele é compatível com vários idiomas (não apenas inglês) e geralmente é considerado mais preciso. No entanto, nem sempre é garantido que ele evite o excesso de radicalização. É um algoritmo mais sofisticado, que permite capturar mais nuances linguísticas e produzir radicais com mais significado semântico, além de oferecer um melhor equilíbrio entre precisão e velocidade. Isso pode ser útil em aplicativos em que preservar o contexto e o significado das palavras é essencial, como recuperação de informações e tradução automática.
O stemmer de Lancaster é outro algoritmo conhecido por sua redução mais agressiva de palavras. Embora isso possa levar a um processamento mais rápido, muitas vezes resulta em mais erros de stemming em comparação com os stemmers Porter ou Snowball. A maior velocidade, embora útil em certas situações, como o processamento de grandes volumes de texto em que o tempo é essencial, pode não compensar a possível perda de precisão em muitos aplicativos.
Embora o stemming e a lematização sejam dois métodos usados para reduzir as palavras à sua forma básica, eles não são iguais. A lematização é uma versão mais avançada do stemming que considera o contexto e a gramática da palavra. Ela usa um dicionário e uma análise morfológica para descobrir a forma da palavra no dicionário, também conhecida como lema. A lematização geralmente produz uma palavra válida (o lema), ao contrário da derivação, que pode não produzir. Embora a lematização seja geralmente mais precisa do que o stemming, ela pode ser computacionalmente mais cara, pois leva mais tempo e esforço para ser feita.
Recurso | Derivação | Lematização |
Complexidade | Menor | Maior |
Acurácia | Menor | Maior |
Velocidade | Mais rápida | Mais lento |
Saída | Pode não ser uma palavra válida | Sempre uma palavra válida |
Recurso
Derivação
Lematização
Complexidade
Menor
Maior
Acurácia
Menor
Maior
Velocidade
Mais rápida
Mais lento
Saída
Pode não ser uma palavra válida
Sempre uma palavra válida
A derivação pode ser usada em várias tarefas de PLN:
Sistemas de recuperação de informações, como mecanismos de pesquisa, ferramentas de pesquisa de desktop, geração aumentada de recuperação (RAG) e sistemas de gerenciamento de documentos, podem se beneficiar muito da derivação. Ao aplicar a redução de radicais aos termos de pesquisa e aos documentos pesquisados, esses sistemas podem corresponder consultas a conteúdo relevante de forma mais eficaz, mesmo quando a redação não é idêntica.
A redução ao radical pode ajudar a melhorar a precisão dos algoritmos de classificação de texto, diminuindo o número de atributos ou recursos dos dados de texto e aumentando a probabilidade de que palavras relacionadas sejam agrupadas. Isso facilita a identificação de padrões e a classificação precisa dos textos pelo algoritmo.
O resumo de texto pode usar a redução de radicais para ajudar a identificar as palavras mais importantes e reduzir a redundância. Ao agrupar palavras relacionadas, o stemming ajuda a criar resumos mais concisos e informativos.
A redução ao radical pode ajudar a descobrir se um texto é positivo, negativo ou neutro, encurtando as palavras à sua forma principal. Por exemplo, "feliz", "felicidade" e "alegremente" se tornam "feliz". Isso facilita a identificação do sentimento positivo geral e evita confusão com diferentes formas de palavras. No entanto, às vezes, o stemming pode causar erros se remover informações importantes ou encurtar palavras incorretamente. Ainda assim, ela geralmente melhora e acelera a análise de sentimento ao se concentrar no significado principal das palavras, e não na gramática.
O uso da derivação pode oferecer várias vantagens em potencial:
O stemming pode ajudar a melhorar a performance dos seus modelos de PNL ao reduzir o número de palavras únicas. Isso pode levar a tempos de treinamento mais rápidos e maior precisão de previsão. Ao agrupar palavras relacionadas, a redução ao radical fortalece o sinal para identificação de padrões no texto. Como resultado, você pode ver modelos mais robustos e precisos, especialmente para tarefas como classificação de texto e análise de sentimento. Por exemplo, na Vertex AI, usar a redução de radicais como uma etapa de pré-processamento pode melhorar a acurácia dos modelos de análise de sentimento, reduzindo o impacto de pequenas variações de palavras.
A redução da dimensionalidade dos dados diminuindo a contagem de palavras únicas processadas pode ser alcançada diretamente por meio da derivação. Isso pode ajudar a minimizar significativamente os recursos necessários para tarefas como a criação de matrizes de frequência de termos ou a criação de um índice de vocabulário. A redução da dimensionalidade também pode se traduzir em velocidades de processamento mais rápidas e menor consumo de memória.
Em sistemas de recuperação de informações, a redução ao radical pode melhorar significativamente a recuperação. Por exemplo, alguém que pesquisa "bastões de caminhada" também pode encontrar documentos que contenham "caminhadas", "caminhante" ou "caminhou". O stemming preenche a lacuna entre diferentes formas da mesma palavra, garantindo que documentos relevantes não sejam perdidos devido a pequenas variações na redação. Essa melhoria na recuperação pode ser crucial para garantir resultados de pesquisa abrangentes, embora possa gerar mais resultados irrelevantes.
O clustering de documentos e a modelagem de tópicos podem ser melhorados com a derivação. Ao reduzir as palavras às suas formas radicais, o stemming ajuda a agrupar documentos com base no significado semântico subjacente, em vez de variações superficiais nas formas das palavras. Isso pode resultar em clusters ou tópicos mais coerentes e significativos.
A redução ao radical pode simplificar muito o pipeline geral de pré-processamento de texto. Ele reduz o número de termos exclusivos que precisam ser considerados nas etapas subsequentes, como remoção de palavras irrelevantes, extração de atributos (TF-IDF, embeddings de palavras) e normalização de dados. Uma representação de dados mais limpa e concisa costuma ser mais fácil de gerenciar e analisar, o que ajuda a economizar tempo e recursos de desenvolvimento.
Em modelos de machine learning que lidam com dados de texto, o stemming pode ajudar a reduzir a esparsidade dos dados agrupando diferentes formas da mesma palavra. Isso pode evitar o overfitting, em que o modelo memoriza formas específicas de palavras em vez de aprender padrões generalizáveis.
Apesar dos benefícios, a derivação também tem algumas possíveis limitações:
Vários produtos do Google Cloud são relevantes ao trabalhar com stemming ou técnicas relacionadas de processamento de texto:
Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.