Nessa aula você vai compreender o que é a lematização em processamento de linguagem natural e como você pode implementar um exemplo funcional em Python. O objetivo dessa aula é mostrar didaticamente como é possível utilizar essa técnica para reduzir palavras para sua forma mais básica e criar aplicações mais complexas que envolvem o processamento de textos.
Quer aprender mais sobre processamento de linguagem natural? Veja nosso curso gratuito.
O que é lematização?
A lematização é o processo, efetivamente, de deflexionar uma palavra para determinar o seu lema (as flexões chamam-se lexemas). Por exemplo, as palavras gato, gata, gatos, gatas são todas formas do mesmo lema: gato. Igualmente, as palavras tiver, tenho, tinha, tem são do mesmo lema ter. E bom, melhor e ótimo são lexemas do lema bom. [1]
A lematização é útil quando queremos ver os usos de palavras em contextos sem importância das flexões. Por exemplo, para a criação e uso de índices ou na investigação linguística. Ninguém quer ficar obrigado a pesquisar todas as formas duma palavra para encontrá-la num texto. Se pesquisássemos gato, seria melhor ter quaisquer das quatro formas como resultado, não só a forma masculina singular.
Lematização versus Stemming
As duas técnicas possuem o mesmo objetivo de inflexionar uma palavra, no entanto, os outputs de uma mesma palavra são diferentes. O Stemming não se importa com a legibilidade da palavra gerada como output. Já a lematização resulta em uma palavra no infinitivo (geralmente – não obrigatoriamente).
Veja um exemplo da palavra andando:
- Porter stemmer: and
- Lematização: anda
Lematizando com NLTK
# se queremos extrair o "lemma" de uma palavra estaremos reduzindo essa palavra a sua forma raiz # por exemplo: intelligently - inteligent from nltk.stem import WordNetLemmatizer lemmatizer = WordNetLemmatizer() for i in range (len(sentences)): words = nltk.word_tokenize(sentences[i]) newwords = [lemmatizer.lemmatize(word) for word in words] sentences[i] = ' '.join(newwords) print (sentences)
['France , in Western Europe , encompasses medieval city , alpine village and Mediterranean beach .', 'Paris , it capital , is famed for it fashion house , classical art museum including the Louvre and monument like the Eiffel Tower .', 'The country is also renowned for it wine and sophisticated cuisine .', 'Lascaux ’ s ancient cave drawing , Lyon ’ s Roman theater and the vast Palace of Versailles attest to it rich history .']
Referências
[1] Adaptado de Manual do Aplicativo Iramuteq. Maria Elisabeth Salviati. 2017. Link
NLTK suporta lematizar em português?
Olá leonardo!
Suporta sim… é só baixar o pacote adequado.