O que é o Processamento de Linguagem Natural?

Como interpretar mensagens codificadas em linguagem natural e decifrá-las para a linguagem de máquina?

Jéssica Rodrigues
Jul 14, 2017 · 4 min read
Image for post
Image for post

Normalização

A normalização abrange tratativas como a tokenização, transformação de letras maiúsculas para minúsculas, remoção de caracteres especiais, remoção de tags HTML/Javascript/CSS, dentre outras. O processo de tokenização tem como objetivo separar palavras ou sentenças em unidades. A tokenização lexical marca cada palavra como um token no texto, identificando-a mesmo se tiver encostada em alguma pontuação. Um exemplo de texto tokenizado lexicalmente seria:

Image for post
Image for post
Image for post
Image for post

Remoção de Stopwords

Uma das tarefas muito utilizadas no pré-processamento de textos é a remoção de stopwords. Esse método consiste em remover palavras muito frequentes, tais como “a”, “de”, “o”, “da”, “que”, “e”, “do” entre outras, pois na maioria das vezes não são informações relevantes para a construção do modelo. Remova stopwords somente quando não forem relevantes para a tarefa. No caso da Análise de Sentimentos, não poderíamos remover a stopword “não”, pois traz uma conotação de negatividade para a sentença, indicando justamente o sentimento transmitido. Uma lista de stopwords pode facilmente ser encontrada disponível na internet.

Remoção de numerais

Outra remoção necessária é dos numerais presentes no texto. Eles não agregam informação relevante por não trazerem carga semântica. Remova também os símbolos que os acompanham, como “R$”, “$”, “US$”, “kg”, “km”, “milhões”, “bilhões” dentre outros.

Correção Ortográfica

Os corretores ortográficos (Spell Checkers) são muito usuais para tratar um dataset que contém erros de digitação, abreviações e vocabulário informal. Esses erros são prejudiciais por gerarem novos tokens, aumentando a esparsidade dos dados. Uma boa introdução à verificação ortográfica pode ser encontrada na página da Peter Norvig (http://norvig.com/spell-correct.html). O artigo apresenta uma simples implementação de um corretor ortográfico de 21 linhas em Python, combinando modelos simples de linguagem e erro para prever a palavra que um usuário pretende digitar. É necessário ter um grande córpus no idioma para o qual o corretor ortográfico será projetado, que precisa ser contemporâneo e de linguagem formal. Uma sugestão são córpus de gênero jornalístico e literário. Estima-se a probabilidade de uma determinada palavra ‘C’ estar no córpus, que pode ser escrita como ‘P(C)’. O modelo de erro estima a probabilidade ‘P(W|C)’ do usuário digitar a versão incorreta ‘W’ condicionalmente à intenção de digitar a palavra correta ‘C’. O corretor ortográfico retorna a palavra ‘C’ correspondente ao valor mais alto de ‘P(W|C) P(C)’ entre todas as palavras presentes no córpus.

Stemização e Lematização

O processo de stemização (do inglês, stemming) consiste em reduzir uma palavra ao seu radical. A palavra “meninas” se reduziria a “menin”, assim como “meninos” e “menininhos”. As palavras “gato”, “gata”, “gatos” e “gatas” reduziriam-se para “gat”. A lematização reduz a palavra ao seu lema, que é a forma no masculino e singular. No caso de verbos, o lema é o infinitivo. Por exemplo, as palavras “gato”, “gata”, “gatos” e “gatas” são todas formas do mesmo lema: “gato”. Igualmente, as palavras “tiver”, “tenho”, “tinha”, “tem” são formas do mesmo lema “ter”. A vantagem de aplicar a stemização ou lematização é clara: redução de vocabulário e abstração de significado.


Bots Brasil

Conectamos pessoas e compartilhamos conteúdos relacionados…

Sign up for bostBR.Radar 📡

By Bots Brasil

Novidades do mercado de chatbots, inteligência artificial e interfaces conversacionais entregues no seu email. Take a look

By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy practices.

Check your inbox
Medium sent you an email at to complete your subscription.

Thanks to Caio Calado

Jéssica Rodrigues

Written by

MSc. Student in Computer Science, Artificial Intelligence, Federal University of São Carlos (UFSCar)

Bots Brasil

Conectamos pessoas e compartilhamos conteúdos relacionados à Bots, Inteligência Artificial e Interfaces Conversacionais em Português.

Jéssica Rodrigues

Written by

MSc. Student in Computer Science, Artificial Intelligence, Federal University of São Carlos (UFSCar)

Bots Brasil

Conectamos pessoas e compartilhamos conteúdos relacionados à Bots, Inteligência Artificial e Interfaces Conversacionais em Português.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store