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 simples, 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 no 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 a língua inglesa 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.
Conforme 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 auxilia na seleção do 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)
É possível omitir a especificação da classe gramatical ao chamar lemmatizer.lemmatize("running"), mas, como pode ser observado, diferentes classes gramaticais produzem resultados distintos. Por esse motivo, é recomendável 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
Awesome!
Completion rate improved to 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 simples, 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 no 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 a língua inglesa 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.
Conforme 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 auxilia na seleção do 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)
É possível omitir a especificação da classe gramatical ao chamar lemmatizer.lemmatize("running"), mas, como pode ser observado, diferentes classes gramaticais produzem resultados distintos. Por esse motivo, é recomendável realizar a marcação de classe gramatical previamente.
Obrigado pelo seu feedback!