Uma visão geral sobre Natural Language Processing (NLP)

Entendendo o Processamento de Linguagem Natural

Elint
ElintTech
Published in
3 min readMay 12, 2022

--

Natural Language Processing (NLP) é um subcampo da Inteligência Artificial estruturado para possibilitar que os computadores sejam capazes de “ler, entender e processar” a linguagem humana.

A linguagem humana, por sua vez, possui diversas particularidades como expressões idiomáticas, homônimos, metáforas, exceções gramaticais, variações na estrutura de frases, entre outras, e por isso, várias tarefas de NLP dividem texto humano e dados de voz de forma a ajudar o computador a entender o que está sendo “ingerido” por ele. Algumas dessas tarefas incluem:

  • O reconhecimento de fala, também chamado de speech-to-text, é responsável por converter de forma confiável dados de voz em dados de texto. Ele é necessário para qualquer aplicativo que siga comandos de voz ou responda a perguntas faladas.
  • Part-of-speech tagging, também chamada marcação gramatical, é o processo de determinar a parte da fala de uma palavra ou trecho de texto específico com base em seu uso e contexto.
  • A desambiguação do sentido da palavra, que é a análise semântica que determina a seleção da palavra que mais faz sentido no contexto da frase, considerando uma palavra que possui múltiplos significados.
  • O reconhecimento de entidade nomeada (NER) consiste em identificar e categorizar informações-chave (entidades) em textos. Uma entidade pode ser qualquer palavra ou série de palavras que se referem ao mesmo tema. Cada entidade detectada é classificada em uma categoria predeterminada. Por exemplo, as entidades podem ser nomes de pessoas, organizações, locais, horários, quantidades, valores monetários, porcentagens, entre outros.
  • A resolução de co-referências, que identifica quando duas palavras se referem à mesma entidade. Um exemplo comum é determinar a pessoa ou objeto ao qual um determinado pronome se refere.
  • A análise de sentimentos, tarefa responsável por analisar opiniões, avaliações e atitudes das pessoas em relação a um assunto de interesse. Por exemplo, ela pode “decifrar um sentimento” de um texto: ele é positivo, negativo, ambos ou nenhum dos dois?

Como NLP está presente no dia a dia?

Essa técnica está presente em diversas atividades do dia a dia, como filtros de spam e classificação de e-mails, otimização de buscas e pesquisas, textos preditivos (autofill), tradução de idiomas, análise de sentimentos, verificações ortográficas, entre outras funções.

Uma aplicação muito popular de NLP nos últimos anos são as tarefas executadas por chatbots. Eles auxiliam as equipes de atendimento ao cliente a resolver problemas, entendendo as solicitações de linguagem humana e respondendo-as automaticamente.

Statistical NLP, Machine Learning e Deep Learning

Atualmente os modelos de deep learning e machine learning baseados em redes neurais convolucionais (CNNs) e redes neurais recorrentes (RNNs) permitem que sistemas de NLP “aprendam” à medida que trabalham e extraem significados cada vez mais precisos de grandes volumes de texto bruto e conjuntos de dados de voz.

As redes convolucionais possuem maior capacidade de trabalhar com dados esparsos, como imagens, enquanto as redes recorrentes são mais bem aplicadas a dados temporais, que possuem uma sequência, como frases. Isso se dá pois CNNs empregam filtros dentro de camadas convolucionais para transformar dados, enquanto RNNs são preditivos, reutilizando funções de ativação de outros pontos de dados na sequência para gerar a próxima saída em uma série.

Essa evolução de redes convolucionais para redes recorrentes é de extrema importância para a área de NLP, pois o entendimento de uma palavra está extremamente relacionado ao contexto no qual ela é empregada, que por sua vez está ligado à sequência na qual as palavras estão dispostas. Por exemplo, o seguinte texto em inglês:

President Roosevelt was one of the most influential presidents in American history. However, Roosevelt Street in Manhattan was not named after him.”

Na primeira frase, Roosevelt deve ser rotulado como uma entidade de pessoa, mas na segunda sentença deve ser rotulado como um nome de rua ou um local. Conhecer essas distinções não é possível sem levar em conta as palavras antes delas (“Presidente”) e depois delas (“Rua”).

--

--