O processamento de linguagem natural permite que os computadores processem o que estamos dizendo em comandos que podem ser executados. Descubra como funciona e como está sendo usado para melhorar nossas vidas.
Índice
O que é processamento de linguagem natural?
Quer seja Alexa, Siri, Google Assistant, Bixby ou Cortana, todos com um smartphone ou alto-falante inteligente têm um assistente ativado por voz hoje em dia. A cada ano, esses assistentes de voz parecem ficar melhores em reconhecer e executar as coisas que lhes mandamos fazer. Mas você já se perguntou como esses assistentes processam as coisas que estamos dizendo? Eles conseguem fazer isso graças ao Processamento de Linguagem Natural, ou PNL.
Historicamente, a maioria dos softwares só consegue responder a um conjunto fixo de comandos específicos. Um arquivo será aberto porque você clicou em Abrir, ou uma planilha irá computar uma fórmula com base em certos símbolos e nomes de fórmula. Um programa se comunica usando a linguagem de programação em que foi codificado e, portanto, produzirá uma saída quando receber uma entrada que ele reconheça. Nesse contexto, as palavras são como um conjunto de diferentes alavancas mecânicas que sempre fornecem a saída desejada.
Isso está em contraste com as línguas humanas, que são complexas, não estruturadas e têm uma infinidade de significados com base na estrutura da frase, tom, sotaque, tempo, pontuação e contexto. Processamento de linguagem natural é um ramo da inteligência artificial que tenta preencher essa lacuna entre o que uma máquina reconhece como entrada e a linguagem humana. Assim, quando falamos ou digitamos naturalmente, a máquina produz uma saída em linha com o que dissemos.
Isso é feito pegando uma grande quantidade de pontos de dados para derivar significado dos vários elementos da linguagem humana, além dos significados das palavras reais. Esse processo está intimamente ligado ao conceito conhecido como aprendizado de máquina , que permite que os computadores aprendam mais à medida que obtêm mais pontos de dados. Essa é a razão pela qual a maioria das máquinas de processamento de linguagem natural com as quais interagimos frequentemente parecem melhorar com o tempo.
Para iluminar melhor o conceito, vamos dar uma olhada em duas das técnicas de nível mais alto usadas na PNL para processar linguagem e informação.
Tokenização
Tokenização significa dividir a fala em palavras ou frases. Cada pedaço de texto é um token, e esses tokens são os que aparecem quando sua fala é processada. Parece simples, mas na prática é um processo complicado.
Digamos que você esteja usando um software de texto para voz, como o teclado do Google, para enviar uma mensagem a um amigo. Você quer enviar a mensagem: “Encontre-me no parque”. Quando seu telefone pega essa gravação e a processa por meio do algoritmo de texto para fala do Google, o Google deve então dividir o que você acabou de dizer em tokens. Esses tokens seriam “encontrar”, “me”, “em”, “o” e “estacionar”.
As pessoas têm diferentes durações de pausa entre as palavras, e outros idiomas podem não ter muito pouca duração em termos de pausa audível entre as palavras. O processo de tokenização varia drasticamente entre idiomas e dialetos.
Derivação e lematização
A lematização e a lematização envolvem o processo de remoção de acréscimos ou variações a uma palavra raiz que a máquina pode reconhecer. Isso é feito para tornar a interpretação da fala consistente em diferentes palavras que significam essencialmente a mesma coisa, o que torna o processamento da PNL mais rápido.
Stemming é um processo simples e rápido que envolve a remoção de afixos de uma palavra raiz, que são adições a uma palavra anexada antes ou depois da raiz. Isso transforma a palavra na forma básica mais simples, simplesmente removendo as letras. Por exemplo:
- “Caminhar” se transforma em “caminhar”
- “Mais rápido” se transforma em “rápido”
- “Gravidade” se transforma em “sever”
Como você pode ver, a lematização pode ter o efeito adverso de alterar totalmente o significado de uma palavra. “Severidade” e “sever” não significam a mesma coisa, mas o sufixo “ity” foi removido no processo de lematização.
Por outro lado, a lematização é um processo mais sofisticado que envolve a redução de uma palavra à sua base, conhecido como lema. Isso leva em consideração o contexto da palavra e como ela é usada em uma frase. Também envolve a pesquisa de um termo em um banco de dados de palavras e seu respectivo lema. Por exemplo:
- “São” se transforma em “ser”
- “Operação” se transforma em “operar”
- “Severidade” se transforma em “severa”
Neste exemplo, a lematização conseguiu transformar o termo “severidade” em “severa”, que é sua forma de lema e palavra raiz.
Casos de uso de PNL e o futuro
Os exemplos anteriores apenas começam a arranhar a superfície do que é Processamento de Linguagem Natural. Ele abrange uma ampla gama de práticas e cenários de uso, muitos dos quais usamos em nosso dia a dia. Estes são alguns exemplos de onde a PNL está em uso:
- Texto preditivo : quando você digita uma mensagem em seu smartphone, ele sugere automaticamente palavras que se encaixam na frase ou que você já usou.
- Tradução automática : serviços de tradução para o consumidor amplamente usados, como o Google Translate, para incorporar uma forma de PNL de alto nível para processar a linguagem e traduzi-la.
- Chatbots: a PNL é a base para chatbots inteligentes, especialmente no atendimento ao cliente, onde eles podem ajudar os clientes e processar suas solicitações antes de enfrentarem uma pessoa real.
Há mais por vir. Os usos da PNL estão sendo desenvolvidos e implantados em campos como mídia de notícias, tecnologia médica, gerenciamento de locais de trabalho e finanças. Há uma chance de que possamos ter uma conversa sofisticada e completa com um robô no futuro.
Se você estiver interessado em aprender mais sobre PNL, há muitos recursos fantásticos no blog Towards Data Science ou no Standford National Langauge Processing Group que você pode conferir.