Processamento de Linguagem Natural

Hoje vou comentar um pouco sobre uma das áreas mais importantes dentro do campo da ciência de dados, que é essencial para a nossa empresa, falarei sobre Processamento de Linguagem Natural,  PLN para os mais íntimos, ou NLP para os bilíngues. O objetivo principal é extrair informações e padrões tendo como partida dados brutos no formato de texto, o que faz muito sentido no contexto em que vivemos, principalmente por causa da quantidade de texto que temos nas redes sociais e outros vários portais da internet.

 

A principal diferença não está na forma de aprendizado, podemos utilizar aprendizado supervisionado ou não-supervisionado para várias tarefas de NLP, a diferença está no pré-processamento, o que fazemos antes de passar os dados para o modelo (veremos um pouco melhor esse tópico outro dia). Mas por que é diferente? Bom, diferente de ter uma tabela, onde os dados estão explícitos e diretos (usualmente), em textos a informação nem sempre é o que parece ser, palavras podem ter mais de um significado, assim como frases também podem ter mais de um significado. Por isso que permitir um computador entender o significado dos textos humanos é uma tarefa complicada. Então, além de termos os dados de uma forma não estruturada, precisamos extrair informações muito mais complexas.

 

Uma vez que o problema da estrutura dos dados está resolvido, podemos realizar tarefas como a análise de sentimento, que nos permite compreender qual a opinião das pessoas sobre um produto ou um assunto, podemos realizar também a identificação de entidades, conseguindo extrair informações importantes de uma frase ou de um texto. Além disso podemos ciar modelos de linguagem, estruturas capazes de gerar textos completamente novos baseado no que foi visto nos treinos.

 

Dois dos usos mais comuns de Processamento de Linguagem Natural no nosso cotidiano é no tradutor online da Google, que utiliza de redes neurais para traduzir as sentenças de um idioma para outro e a digitação inteligente dos celulares, que gera opções para completar ou recomendar palavras.

 

Por Otávio Parraga, desenvolvedor do #TimeUbots.