Como funciona o processamento de linguagem natural nos chatbots

Quando conversamos com alguém, fornecemos através da linguagem informações que podem ser compreendidas pelo nosso interlocutor, a partir do contexto. A forma como as pessoas se comunicam no dia a dia, é uma linguagem natural.

 

Partindo para o universo da computação, um dos maiores desafios da ciência é habilitar as máquinas para que elas sejam capazes de interpretar e reagir às informações fornecidas por uma pessoa, de forma natural, como em uma conversa. Esse conhecimento é uma das áreas de inteligência artificial, conhecida como processamento de linguagem natural ou NLP (Natural Language Processing).

 

No post sobre Elementos essenciais para a experiência de um chatbot falamos sobre os estilos de comunicação. Lá mencionamos que uma das possibilidades de comunicação é a interação conversacional. É exatamente nesse ponto que o processamento de linguagem natural reside.

 

Como as pessoas acham que é

Puxando para o contexto dos chatbots, há uma certa confusão sobre a capacidade e o limite desse tipo de processamento. Muitas pessoas imaginam que o chatbot será um robô tão inteligente quanto o C3PO (o robô doméstico do Star Wars), capaz de conversar livremente sobre qualquer assunto, a qualquer momento, respondendo inclusive questões sobre a vida, o universo e tudo o mais. Infelizmente, a realidade ainda não permite esse nível de interação. O mais próximo disso atualmente no mercado são os assistentes virtuais, como Alexa (Amazon), Siri (Apple) e Allo (Google). E ainda assim, eles “não vão entender” boa parte do que você disser, porque eles ainda estão aprendendo.

 

Como realmente funciona

Como já mencionamos, interpretar linguagem natural é extremamente desafiador. É algo muito complexo, pois além das estruturas linguísticas (frase, sujeito, verbo, etc), existe ambiguidade em um vocabulário muito extenso. Assim, é preciso saber compreender o contexto para identificar o sentido que uma determinada expressão pode ter. Esse contexto conta com diversos fatores, como o assunto que está sendo conversado, o local onde a pessoa se encontra e uma série de outros fatores.

 

Para trabalhar com toda essa complexidade, existe uma parte da ciência da computação chamada machine learning. Com essa tecnologia é possível gerar programas que aprendem a se comunicar, sem serem programados explicitamente para isso. Dentro de machine learning existe a deep learning, que permite criar algoritmos que conseguem aprender padrões mais complexos.

 

Basicamente, esses sistemas partem de uma coleção de treino, que fornece os dados iniciais para que possam identificar intenções. Quanto mais aprofundada a tecnologia, maior a capacidade da máquina de “fazer o match” entre uma intenção e uma possível resposta, de forma natural. Ou seja, ele usa esse treinamento para construir frases coerentes, que sejam compreendidas por pessoas, como um diálogo natural. As limitações estão justamente na etapa do treino.

 

NLP em um contexto de chatbot

Os chatbots desenvolvidos para empresas podem ser baseados em inteligência artificial e utilizar o processamento de linguagem natural. Para isso, é necessário determinar em que contexto o chatbot irá operar. Isso fará parte da etapa de treino, que mencionamos acima. Quanto mais abrangente for, mais demorado e complexo será o desenvolvimento. Ele precisa ser carregado de intenções, ser integrado à bases de dados que contenham as informações que eles precisam para responder aos usuários. Na prática, é necessário que eles sejam treinados, assim como um novo funcionário, para identificar intenções e fornecer as respostas.

 

A diferença de um chatbot baseado em script para um chatbot baseado em processamento de linguagem natural, é que o primeiro irá ter um menu de opções e a partir da seleção, dará uma resposta pré-configurada, podendo seguir um fluxo padrão. Já o segundo irá buscar a resposta mais coerente a partir da interpretação da mensagem do usuário, como numa conversa. Isso significa que ele não irá seguir um fluxo padrão, pois pode ocorrer de um usuário fazer uma pergunta que exigirá ao bot solicitar uma nova informação para continuar e outro pode entrar e já fornecer toda a informação necessária, quebrando o script.

 

Esse entendimento é de extrema importância! Muitos projetos de chatbot falham por falta de clareza quanto a esse processo. Uma das coisas mais desagradáveis é obrigar um cliente a interagir com um robô que obriga ele a seguir um fluxo, ignorando todas as informações já passadas, como ocorre em alguns call centers por aí. A tecnologia deve facilitar a vida dos usuários e otimizar os processos das empresas. Afinal, espera-se dos robôs no mínimo que sejam eficientes e capazes de solucionar problemas, aumentando a satisfação dos usuários.