Impulsionada pelos avanços em inteligência artificial e processamento de linguagem natural (NLP), a revolução digital provocou a necessidade de um atendimento ao cliente mais eficiente e personalizado. O uso de chatbots no ecossistema de atendimento das marcas representou o primeiro passo. No entanto, muitos usuários ainda enfrentam frustrações ao interagir com essas ferramentas, levando a expressões como "robô burro" e questionando o verdadeiro potencial dessa tecnologia. Por isso, a ascensão dos modelos de linguagem generativa, como o ChatGPT, indica que estamos prestes a vivenciar uma transformação significativa na arquitetura de desenvolvimento dos nossos chatbots.
Diferentemente dos chatbots tradicionais, construídos com base em árvores de decisão, a tecnologia desenvolvida pelo ChatGPT proporciona uma conversa mais fluida, com a verdadeira intenção de simular um bate-papo um-a-um, como se pretendia inicialmente com esses robôs. Para esclarecer a diferença entre essas duas abordagens, vamos analisar em detalhes as características de cada uma:
- Chatbots com árvores de decisão:
Chatbots que utilizam árvores de decisão adotam uma estrutura hierárquica predefinida de perguntas e respostas, selecionando respostas com base no trajeto que o consumidor percorre na árvore. Geralmente, eles possuem um conjunto limitado de respostas predefinidas e lidam melhor com consultas simples e diretas. Contudo, enfrentam dificuldades para lidar com perguntas ambíguas, complexas ou fora do escopo, podendo fornecer respostas pouco naturais ou irrelevantes, como o conhecido "desculpe, não entendi". Isso ocorre devido à natureza da arquitetura desses chatbots, conforme ilustrado em um modelo na imagem a seguir:
Fig1: Modelo de árvore de decisão na arquitetura de um chatbot
2. Chatbots com modelos de linguagem generativa, como o ChatGPT:
Por outro lado, o ChatGPT utiliza técnicas de aprendizado mais sofisticadas e aprofundadas. Para alcançar isso, foi necessário treiná-lo, inicialmente, com uma base de 175 bilhões de parâmetros[1], permitindo que ele aprendesse lógicas textuais e produzisse conteúdos inéditos a partir da combinação desses parâmetros. O resultado é a impressão de que ele "sabe tudo" e se comporta de maneira muito semelhante a uma conversa humana. Confira um comparativo entre as duas abordagens:
Características
|
Chatbots baseados em árvores de decisão
|
Chatbots com modelos de linguagem generativa (ChatGPT) |
Estrutura | Pré-definida | Dinâmica |
Respostas | Limitadas e predefinidas | Flexíveis e contextuais |
Aprendizado | Baseado em regras e condições | Aprendizado contínuo e aprimoramento |
Flexibilidade | Baixa | Alta |
Capacidade de lidar com perguntas variadas | Limitada | Maior, graças à base de conhecimento ampla |
Manutenção e atualização | Trabalhosa | Mais simples e automática |
Experiência do usuário | Pode ser rígida e frustrante | Mais natural e fluida |
Com esse comparativo, fica fácil perceber as limitações de um chatbot baseado em árvore de decisão. A boa notícia é que é possível aplicar essa arquitetura de modelos de linguagem generativa à base de conhecimento sobre os produtos e/ou serviços de sua empresa, fazendo com que o chatbot se comporte de maneira semelhante ao GPT.
Um artigo[2] recente, publicado por pesquisadores do Facebook, Universidade de Londres e Universidade de Nova York, apresentou os resultados de experimentos utilizando uma abordagem chamada Retrieval-Augmented Generation (RAG). Essa técnica busca melhorar o desempenho dos modelos de linguagem em tarefas que exigem conhecimento externo e específico, combinando a geração de texto com base em modelos de processamento de linguagem natural e a recuperação desses conteúdos externos.
Imagine que seu chatbot se comunicasse exatamente como o ChatGPT, mas, em vez de falar sobre assuntos gerais, falasse exclusivamente sobre sua empresa e os conteúdos de seus produtos e serviços. Para que isso funcionasse, seria necessário treinar o ChatGPT com base em uma biblioteca de informações sobre sua empresa, produto ou serviço. A técnica apresentada no artigo acima promove uma conexão entre essa biblioteca e a inteligência do ChatGPT. A cada pergunta do usuário, seu chatbot disponibilizaria a biblioteca para o ChatGPT e solicitaria que ele o ajudasse a responder ao cliente de forma mais "humana".
Então, o que muda? Para unir o conhecimento específico sobre produtos ou serviços de uma empresa aos modelos de conversação como o ChatGPT, é preciso deixar de lado as árvores de decisão e criar um banco de informações acessível por meio de uma API, como a do GPT.
Primeiramente, desenvolvemos um repositório de conhecimento específico sobre a empresa, coletando informações de todo o sistema da organização, como respostas do SAC, informações de produtos, perguntas frequentes, publicações em redes sociais, artigos de blog e outros materiais relevantes. Isso delimita o universo de respostas possíveis, assegurando uma base sólida e abrangente para o chatbot interagir de forma eficiente e personalizada com os usuários.
Em seguida, usamos esse material para criar uma integração com a API do GPT, permitindo que o modelo refine o conteúdo e o transforme em linguagem natural (NLP). Isso garante que a inteligência por trás do GPT consiga entender as intenções das perguntas dos usuários e fornecer respostas variadas e personalizadas para os contextos encontrados na biblioteca de conteúdos criada na primeira etapa. Com isso, temos o seguinte workflow:
Fig 2: Fluxo de informação
Com essa abordagem, o processo de desenvolvimento de um chatbot que levaria em torno de 20 dias para ser finalizado, passa a ser construído em apenas algumas horas de definição de prompts e organização de conteúdo. Com isso, podemos aproveitar o melhor dos dois mundos: oferecer respostas relevantes e melhorar a experiência e a satisfação dos usuários ao interagir com os chatbots.
William Ferreira, Head of operations na Elife.
[1] Disponível em: https://www.bbc.com/portuguese/articles/c3gze230pj1o
[2] Disponível em: https://arxiv.org/pdf/2005.11401.pdf