Lematização
Compreendendo a Lemmatizaçã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.
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.
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.
1234567891011from 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)
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.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Incrível!
Completion taxa melhorada para 3.45
Lematização
Deslize para mostrar o menu
Compreendendo a Lemmatizaçã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.
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.
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.
1234567891011from 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)
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.
Obrigado pelo seu feedback!