Processamento de linguagem natural

O que é o processamento de linguagem natural e quais são suas aplicações?

Digital Ciência IA

O processamento de linguagem natural (PLN) reúne duas disciplinas tão aparentemente distantes como a linguística e a inteligência artificial. Atualmente, este campo das ciências da computação, que consiste em transformar a linguagem natural em uma linguagem formal (como a de programação) que os computadores possam processar, não para de evoluir e suas aplicações são cada vez maiores.

O PLN permite que uma máquina possa processar uma linguagem natural e gerar respostas de forma automática.
O PLN permite que uma máquina possa processar uma linguagem natural e gerar respostas de forma automática.

Se alguma vez você perguntou aos assistentes virtuais Alexa ou Siri que horas são, você terá se dado conta de que não é preciso fazer a pergunta sempre da mesma forma. Você pode dizer: “Que horas são?" ou “pode me informar a hora?” e, em ambos os casos, receberá uma resposta adequada. O mesmo acontece com o tradutor automático do Google, que detecta as nuances entre diferentes palavras conforme o contexto. Estes exemplos, entre muitos outros, têm detrás de si o chamado processamento de linguagem natural (PLN).

O QUE É O PROCESSAMENTO DE LINGUAJEM NATURAL (PLN)

Conforme a definição da IBM, o processamento da linguagem natural é o campo da computação (mais concretamente, da inteligência artificial) que tem a função de fornecer aos computadores a capacidade de entender a linguagem falada e escrita da mesma forma que os seres humanos. Atualmente, esta tecnologia atingiu um alto nível graças à aplicação de tecnologias como o machine learning (aprendizado de máquina), o big data, e a internet das coisas (IoT) ou as redes neurais.

Algumas das aplicações mais importantes se concentram na inteligência de negócios (business intelligence), que permite analisar automaticamente as reações dos clientes através do que publicam na Internet ou das perguntas que são feitas para obterem informações. Os chatbots são outra aplicação que, embora ainda tenha uma grande margem de melhoria, agiliza a interação com os clientes via chats ou secretárias telefônicas, oferecendo respostas rápidas e automatizadas em função do processamento de linguagem natural.

O processamento de linguagem natural tem suas origens na década de 1950, quando Alan Turing publicou um artigo (Máquinas Computacionais e Inteligência) onde propunha o que atualmente conhecemos como Teste de Turing. O teste examinava a capacidade de uma máquina para expressar um comportamento inteligente similar ao de um ser humano. A partir desse momento, a evolução dos algoritmos associados a esta tecnologia permitiu chegar ao progresso atual.

A evolução do processamento da linguagem natural e seus algoritmos.
A evolução do processamento da linguagem natural e seus algoritmos.

 VER INFOGRÁFICO: A evolução do processamento da linguagem natural e seus algoritmos [PDF] Link externo, abra em uma nova aba.

COMO FUNCIONA O PROCESSAMENTO DA LINGUAGEM NATURAL

Os primeiros modelos de análise de linguagem natural eram simbólicos e estavam baseados em codificar manualmente as regras da linguagem. Por exemplo, permitia distinguir os tempos e conjugações dos verbos e extrair o significado da raiz. Nos anos 80 e 90 ocorreu a revolução estatística. Em lugar de escrever conjuntos de regras (e exceções), os sistemas de PLN começaram a usar algoritmos de inferência estatística para analisar outros textos e realizar comparações em busca de padrões.

A vantagem dos modelos estatísticos é que são mais confiáveis ao compreenderem novas palavras ou detectarem erros, como por exemplo palavras mal escritas ou omitidas acidentalmente. A maioria dos sistemas atuais utiliza uma combinação de modelos simbólicos e estatísticos. Especificamente, os sistemas de processamento de linguagem natural realizam vários tipos de análise:

  • Morfológico: se concentra em distinguir os diferentes tipos de palavras (verbos, substantivos, preposições, etc.) e sus variações (gênero, número, tempo, etc.).
  • Sintático: separa algumas frases de outras e analisa as partes que as compõem (sujeito, verbo, predicado) para assim poder retirar seu sentido.
  • Semântico: analisa o significado não só das palavras individuais, mas também das frases das quais elas fazem parte e do discurso em seu conjunto.
  • Pragmático: encarrega-se de encontrar a intenção do texto dependendo de seu contexto, permitindo diferenciar fatores tais como ironia, ambiguidade ou estado de ânimo.

APLICAÇÕES DO PROCESSAMENTO DE LINGUAGEM NATURAL (EXEMPLOS)

O corretor ortográfico de seu processador de textos ou o corretor automático de seu celular utilizam técnicas de processamento de linguagem natural, mas as aplicações vão muito mais além:

 Classificação de documentos

A tarefa de classificar grandes quantidades de documentos conforme seu assunto ou estilo pode ser agilizada com sistemas de PLN.

 Análise do sentimento e da opinião

Os comentários nas redes sociais sobre produtos ou serviços são muito relevantes para as empresas e os sistemas de PLN permitem retirar informações relevantes.

 Comparação de textos

Os sistemas de PNL permitem encontrar padrões em textos e localizar coincidências entre eles, o que facilita a detecção de plágios e o controle de qualidade.

 Anonimização de documentos

Através de sistemas PLN podem ser processados documentos para identificar e eliminar as menções de dados pessoais, certificando assim a privacidade das pessoas e instituições.

FERRAMENTAS PARA O PROCESSAMENTO DE LINGUAGEM NATURAL

Numerosas empresas oferecem ferramentas de software para aplicar técnicas de processamento em linguagem natural. Para desenvolvê-las, eles utilizam linguagens de programação padrão, especialmente Python — a mais amplamente aplicada para este fim — :

  • Natural Language Toolkit (NLTK): esta biblioteca da Python possui uma estrutura modular que facilita as funções da PLN, como a etiquetagem e a classificação, entre outras.
  • MonkeyLearn: é uma plataforma de PLN que possui modelos para tarefas de análise de textos ou de sentimentos, de classificação de temas ou de extração de palavras-chave.
  • IBM Watson: é um conjunto de serviços de IA armazenados na nuvem da IBM que oferece sistemas de PLN, permitido a identificação e extração de categorias, sentimentos, entidades, etc.
  • Google Cloud Natural Language: esta API de linguagem natural proporciona vários modelos para a análise de sentimentos, classificação de conteúdos e a extração de entidades, entre outros.
  • Amazon Comprehend: é um serviço de PLN integrado na infraestrutura da Amazon Web Services para a análise de sentimentos, modelagem de assuntos ou reconhecimento de entidades, entre outros.
  • SpaCy: é uma das bibliotecas de código aberto para PLN com Python mais recentes e se destaca por sua usabilidade e por estar concebida para analisar grandes volumes de dados.
  • GenSim: é uma biblioteca da Python especializada e responsável pela modelagem de assuntos, reconhecimento de semelhanças entre textos ou navegação entre diferentes documentos.