Segundo a Wikipedia, o termo ChatBot ou ChatterBot foi criado por Michael Mauldin em 1994 e consiste em um programa de computador que tenta simular um ser humano na conversação com as pessoas.
Essa definição está “OK”, apesar de eu discordar um pouco dela, já que nem todos os chatbots são implementados com a ambição de passar no Teste de Turing.
Frequentemente tenho ministrado treinamentos in company, prestado consultorias e auxiliado times a desenvolverem chatbots, além de falar muito sobre isso na comunidade. Por diversas vezes vejo as pessoas confundindo um pouco as coisas quando o assunto é chatbot e/ou inteligência artificial. Esse post tem o objetivo de elucidar alguns pontos.
Utilizando IA em Projetos
A inteligência artificial possui várias áreas de estudo, aplicadas a diversos segmentos e é apresentada de diferentes formas. Ao longo desse post eu citarei duas dessas formas que possibilitam utilizar IA em seus projetos e acho importante defini-las sucintamente:
- Modelos customizados: São construídos com base em um cenário ou demanda específica através do uso de algoritmos específicos. É comum usarmos frameworks e ferramentas construídas para auxiliar nesse processo.
- Modelos pré-construídos: São modelos que já foram previamente construídos para atender um determinado nicho e/ou resolver problemas específicos. É comum vermos esses tipos de modelos sendo oferecidos como SaaS (Software as a Service) ou PaaS (Platform as Service). Em alguns casos ele está pronto para o uso (como o Video Indexer) e em outros é necessário alimentar uma base de dados e treiná-lo (como o LUIS).
Em um outro momento, pretendo abordar de forma mais específica alguns serviços, frameworks e ferramentas.
O Equívoco
Escutando algumas pessoas ou até mesmo quando me procuram com alguma demanda de automatização de rotinas via chatbot, é muito comum ouvir que estão precisando implantar IA (Inteligência Artificial) na empresa, seja para reduzir trabalhos repetitivos ou até mesmo para reduzir custos com atendimento, etc.
É compreensível que os termos “Chatbot” e “IA” estejam frequentemente ligados, mas isso não é uma obrigatoriedade.
Geralmente a minha pergunta padrão é: “Será que você realmente precisa de IA nesse caso?”
A intenção da pergunta é simples, entender se a tecnologia está sendo usada para atender a demanda ou se a demanda está sendo moldada para encaixar na tecnologia. Essa “forçação de barra” não é característica específica de situações que envolvem chatbos e IA. É preciso entender que devemos partir do problema para a solução e que o contrário não é válido.
Na maioria das vezes, apenas com essa pergunta já é possível corrigir os conceitos e desenhar uma solução alinhada com o problema a ser resolvido.
Os Problemas
Quais são os problemas em não entender a diferença do conceito de chatbot e IA ou achar que um chatbot precisa de IA para funcionar?
Os problemas envolvem alguns pontos, como:
- Custo: Aumento do custo da solução como um todo, seja pela utilização de um serviço pré-construído que se utilize de IA ou até mesmo o processo de construção de um modelo inteligente que atenda as necessidades (inclusive o custo com os profissionais especializados que você terá que contratar).
- Complexidade: IA está longe de ser algo simples, mesmo fazendo uso de serviços prontos (o que facilita muito a vida), se engana quem acha que não haverá um aumento na complexidade, seja na implementação ou gerenciamento dos recursos.
- Manutenibilidade: Esse problema é ao mesmo tempo uma consequência do aumento da complexidade e uma das causas do aumento do custo do projeto.
Obviamente, os pontos acima são considerados problemas caso você faça escolhas desnecessárias, caso contrário ainda serão pontos que devem ser levados em consideração, porém, com uma motivação.
“Qual seria um exemplo de chatbot que não precisaria fazer uso de IA?“
Existem cenários e cenários, com seus diferentes requisitos e particularidades, mas uma demanda que quase sempre pode dispensar o uso de IA é a automatização do preenchimento de formulários. Nesse cenário, você tem um chatbot que guia o usuário no preenchimento de informações relevantes ao processamento de alguma rotina, ele é basicamente a abstração de um formulário convencional, mas faz isso de maneira mais fluída (e talvez, menos intediante) através de um passo a passo.
“Ah mas esse tipo de chatbot poderia ser implementado com algum serviço de IA para processamento de linguagem natural!“
Sim, poderia, mas realmente é necessário? Nesse cenário, as respostas para as questões do formulário normalmente são objetivas e exigem um padrão de preenchimento (que pode ser validado tranquilamente), possibilitando sua implementação de uma maneira mais convencional, sem adicionar custo e complexidade desnecessária.
Sempre busque ser o mais transparente possível sobre o que será feito e o que será entregue (aliás, esse alinhamento de expectativas é indispensável em qualquer projeto).
Conclusão
Chatbot não é Inteligência Artificial. Ele pode ser implementado utilizando algorítmos ou serviços de IA, mas é importante não torná-los sinônimos.
Todo e qualquer equívoco em um simples conceito pode gerar problemas na comunicação e principalmente na implementação de um projeto.
Se você está na posição de prestador do serviço, você não está sendo chato por corrigir, você está alinhando as expectativas do que está sendo contratado e o que será entregue. Afinal, em um projeto de software você não quer ter surpresas no meio do caminho, principalmente se essas surpresas tenham sido geradas por um problema de comunicação.
Evite utilizar buzzwords sem nenhum embasamento ou motivo, elas ajudarão a construir uma falsa ideia de algo que talvez não seja entregue. No final das contas, a transparência é sempre o melhor caminho.
Ótima explicação, parabéns.