Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Lematização | Stemming e Lematização
Introdução ao PLN com Python

bookLematização

Compreendendo a Lemmatização

Note
Definição

Lemmatização é uma técnica de normalização de texto utilizada em PLN para reduzir palavras à sua forma de dicionário, conhecida como lema.

Diferente do stemming, que remove afixos de forma bruta, a lematização considera o contexto e converte a palavra para sua forma de dicionário. Por exemplo, 'am', 'are' e 'is' são todos lematizados para 'be'. Essa abordagem pode reduzir significativamente o tamanho do vocabulário (o número de palavras únicas) em grandes corpora de texto, aumentando assim a eficiência durante o treinamento de modelos.

Por outro lado, embora a lematização seja mais precisa, ela também é mais computacionalmente custosa e pode ser demorada em conjuntos de dados grandes. Além disso, para obter ainda mais precisão, recomenda-se realizar análise morfológica e etiquetagem de classe gramatical antes da lematização.

Note
Nota

Não se preocupe com part-of-speech tagging por enquanto, pois este será o próximo tópico que você irá aprender.

Lemmatização com NLTK

O WordNet Lemmatizer, fornecido pela biblioteca NLTK, utiliza o corpus WordNet para realizar a lematização.

Note
Estude Mais

WordNet é um banco de dados lexical semanticamente rico para o inglês que vai muito além de um simples corpus. Ele agrupa palavras em conjuntos de sinônimos, ou synsets, cada um representando um conceito distinto e acompanhado de definições e exemplos de uso. Além disso, o WordNet codifica relações significativas entre esses synsets — como hypernyms (termos mais amplos e gerais) e hyponyms (termos mais restritos e específicos) — oferecendo uma estrutura poderosa para explorar e desambiguar significados de palavras.

Ao utilizar o WordNet Lemmatizer, ele consulta a base de dados WordNet para encontrar o lema mais apropriado da palavra.

Como mencionado acima, como as palavras podem ter significados diferentes em diferentes contextos (por exemplo, "running" como verbo vs. "running" como substantivo), o lematizador pode exigir que você especifique a classe gramatical (por exemplo, verbo, substantivo, adjetivo). Isso o ajuda a selecionar o lema correto com base na função da palavra na frase.

1234567891011
from nltk.stem import WordNetLemmatizer import nltk # Download the WordNet corpus nltk.download('wordnet') # Initialize the WordNet lemmatizer lemmatizer = WordNetLemmatizer() # Parts of speech, 'v' for verb and 'n' for noun parts_of_speech = ['v', 'n'] # Lemmatize words lemmatized_words = [lemmatizer.lemmatize("running", pos) for pos in parts_of_speech] print("Lemmatized words:", lemmatized_words)
copy

Você pode omitir a especificação da classe gramatical ao chamar lemmatizer.lemmatize("running"), mas como pode perceber, diferentes classes gramaticais produzem resultados diferentes. Por isso, o ideal é realizar a marcação de classe gramatical previamente.

question mark

Qual é o principal benefício de usar lematização em comparação com stemming?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

bookLematização

Deslize para mostrar o menu

Compreendendo a Lemmatização

Note
Definição

Lemmatização é uma técnica de normalização de texto utilizada em PLN para reduzir palavras à sua forma de dicionário, conhecida como lema.

Diferente do stemming, que remove afixos de forma bruta, a lematização considera o contexto e converte a palavra para sua forma de dicionário. Por exemplo, 'am', 'are' e 'is' são todos lematizados para 'be'. Essa abordagem pode reduzir significativamente o tamanho do vocabulário (o número de palavras únicas) em grandes corpora de texto, aumentando assim a eficiência durante o treinamento de modelos.

Por outro lado, embora a lematização seja mais precisa, ela também é mais computacionalmente custosa e pode ser demorada em conjuntos de dados grandes. Além disso, para obter ainda mais precisão, recomenda-se realizar análise morfológica e etiquetagem de classe gramatical antes da lematização.

Note
Nota

Não se preocupe com part-of-speech tagging por enquanto, pois este será o próximo tópico que você irá aprender.

Lemmatização com NLTK

O WordNet Lemmatizer, fornecido pela biblioteca NLTK, utiliza o corpus WordNet para realizar a lematização.

Note
Estude Mais

WordNet é um banco de dados lexical semanticamente rico para o inglês que vai muito além de um simples corpus. Ele agrupa palavras em conjuntos de sinônimos, ou synsets, cada um representando um conceito distinto e acompanhado de definições e exemplos de uso. Além disso, o WordNet codifica relações significativas entre esses synsets — como hypernyms (termos mais amplos e gerais) e hyponyms (termos mais restritos e específicos) — oferecendo uma estrutura poderosa para explorar e desambiguar significados de palavras.

Ao utilizar o WordNet Lemmatizer, ele consulta a base de dados WordNet para encontrar o lema mais apropriado da palavra.

Como mencionado acima, como as palavras podem ter significados diferentes em diferentes contextos (por exemplo, "running" como verbo vs. "running" como substantivo), o lematizador pode exigir que você especifique a classe gramatical (por exemplo, verbo, substantivo, adjetivo). Isso o ajuda a selecionar o lema correto com base na função da palavra na frase.

1234567891011
from nltk.stem import WordNetLemmatizer import nltk # Download the WordNet corpus nltk.download('wordnet') # Initialize the WordNet lemmatizer lemmatizer = WordNetLemmatizer() # Parts of speech, 'v' for verb and 'n' for noun parts_of_speech = ['v', 'n'] # Lemmatize words lemmatized_words = [lemmatizer.lemmatize("running", pos) for pos in parts_of_speech] print("Lemmatized words:", lemmatized_words)
copy

Você pode omitir a especificação da classe gramatical ao chamar lemmatizer.lemmatize("running"), mas como pode perceber, diferentes classes gramaticais produzem resultados diferentes. Por isso, o ideal é realizar a marcação de classe gramatical previamente.

question mark

Qual é o principal benefício de usar lematização em comparação com stemming?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
some-alt