fbpx

Processamento de linguagem natural, o que é?

push-chatbot-processamento-de-linguagem-natural

Processamento de linguagem natural (PLN) vem do inglês: natural language processing (NLP) e é um âmbito da inteligência artificial que ajuda as máquinas a entenderem e interpretarem a língua humana e vice-versa.

Compreender um texto é muito mais complexo do que se imagina. É necessário que os computadores possam identificar um contexto, fazer análises sintática, morfológica, semântica e léxica dele, produzir resumos, realizar traduções para outras línguas, absorver informações, interpretar sentidos e sentimentos e extrair aprendizados.

Como surgiu o PLN?

Os estudos começaram na década de 40, com a criação da Machine Translation, que tinha a proposta de diferenciar idiomas e perceber problemas de sintaxe. A máquina evoluiu para sistemas baseados em dicionários que podiam fazer traduções simples.

Em 1950, Noam Chomsky publicou estudos sobre a gramática gerativa – teoria que diz que a capacidade gerativa das línguas faz uso infinito de recursos léxicos e gramaticais finitos – e fez com que as pesquisas de PLN, que anteriormente eram direcionadas apenas à computação, rumassem à linguística também.

Todavia, somente no final dos anos 60, as coisas começaram a caminhar a passos mais largos. Depois do trabalho de Chomsky acerca das competências linguísticas – conjunto de “normas” internalizadas em nossas mentes que nos permite perceber se as frases estão gramaticalmente corretas ou não -,  vários métodos foram desenvolvidos, com a preocupação principal quanto aos modelos de representação do significado.

Um grande destaque nesse desenrolar foi Eliza, o primeiro chatbot da história. Criada pelo alemão Joseph Weizenbaum no laboratório de Inteligência Artificial do MIT, Eliza simulava conversas entre paciente e psicólogo – sendo ela a psicóloga -.

Já no fim dos anos 70, os cientistas enfatizaram as pesquisas em prol de sistemas que conseguissem realizar tarefas orientados por diálogos.

A década de 80 foi caracterizada pelas tentativas de solucionar problemas no PLN e pelo progresso da interpretação de contextos.

Na de 90, várias pesquisas triunfaram na identificação da linguagem e tratamento da ambiguidade, por exemplo.

Nos últimos anos, tornou-se possível desenvolver e modelar sistemas linguísticos sofisticados para atender objetivos específicos. Hoje, o processamento de linguagem natural faz parte do nosso dia a dia nas mínimas coisas e segue evoluindo.

Como funciona?

Pré-processamentos

Para concentrar os dados e moldar a língua, de modo que a máquina possa compreendê-la, são indispensáveis pré-processamentos textuais.

Normalização é o processo no qual estão abarcados os ajustes como a tokenização, a remoção de tags e caracteres especiais e a mudança de letras maiúsculas para minúsculas. A tokenização lexical marca cada palavra como um token no texto e a sentencial identifica e marca sentenças. Isso é o que começa a estruturar o texto.

A remoção de stopwords retira palavras muito repetidas, como “a”, “o”, “que” e “de”, porque, no geral, não são relevantes na construção do modelo. Essas remoções só devem ocorrer quando as stopwords realmente não forem importantes.

Remover numerais e os símbolos que os acompanham (por exemplo: “R$”, “US$”, “km”, “kg”) também é necessário.

O uso de corretores ortográficos é bastante habitual para tratar os erros de digitação, abreviações e vocabulário informal.

O processo de stemização reduz uma palavra ao seu radical e a lematização ao seu lema.

Processamentos

Há 7 níveis de processamento: fonologia, morfologia, léxico, sintático, semântico, discurso e pragmático.  

A fonologia identifica e interpreta os sons que formam as palavras quando a máquina precisa entender a linguagem falada.

A morfologia cuida do que se refere à composição das palavras e sua natureza, dividindo-as em morfemas (menores unidades de significação que constituem as palavras: desinência, raiz, radical, afixo, tema e vogal temática). Enquanto o processamento sintático analisa a formação da sentença e a especificação das estruturas permitidas na linguagem.

O léxico analisa a entrada de linhas de caracteres (como o código-fonte de um programa) e produz uma sequência de símbolos léxicos (lexical tokens). Capta o significado individual das palavras.

A análise semântica se ocupa com o significado da frase. Extrai um significado da estrutura sintática. E o discurso verifica o total do significado do texto.

Por fim, o processamento pragmático interpreta os conceitos extraídos do texto, averiguando se o significado da análise semântica está correto e determinando significados que não estejam claros.

Tipos de abordagem

Os níveis de processamento são abordados de 4 formas: simbólica, estatística, conexionista e híbrida.

A abordagem simbólica se baseia nas regras linguísticas sem ambiguidades e bem estruturadas.

A estatística utiliza modelos matemáticos para deduzir o uso correto dos níveis, sem aplicar regras linguísticas.

A conexionista também desenvolve modelos genéricos para a linguagem, mas faz isso utilizando aprendizado estatístico e teorias de representação do conhecimento, podendo transformar, inferir e manipular os textos.

Finalmente, a abordagem híbrida mistura as abordagens anteriores. Flexibiliza e trata problemas de PLN amplamente e com mais eficácia.

Tecnologias de PLN

Podemos encontrar o processamento de linguagem natural em diversos âmbitos e a tendência é que atinja cada vez mais áreas. Veja algumas das tecnologias!

Os sistemas de diálogo tentam reproduzir uma conversa humana, por meio de vozes, textos e até gestos.

Aplicação de perguntas e respostas, como já diz o nome, responde perguntas específicas dos usuários. É o caso da Siri, da Apple.

A Compreensão da linguagem natural dá um significado que as máquinas possam entender para as sentenças da língua humana.

Tradução de máquina é uma tecnologia complexa de tradução de textos de um idioma para outro, que é considerada uma das principais dificuldades da inteligência artificial.

Bothub

Um ótimo exemplo de sistema de processamento de linguagem natural é uma das mais recentes criações da nossa equipe (Ilhasoft). Depois da expertise e percepções que adquirimos no aprimoramento da plataforma Push, decidimos desenvolver o Bothub, uma plataforma inteligente, democrática e aberta, capaz de compreender vários idiomas – 7, por enquanto -.

O software permite que os profissionais do ramo de T.I. treinem exemplos de frases, determinem sinônimos e façam traduções.


Gostou desse conteúdo? Acompanhe o nosso blog!

Leave a comment