IT & Engineering

Dicas de desenvolvimento de chatbot: como começar com IA conversacional

Os chatbots estão vivendo um ótimo momento agora. Obtenha informações essenciais sobre o que é preciso para criar um bot e descubra as práticas recomendadas que profissionais de desenvolvimento devem seguir ao entrar no mundo da IA conversacional.
Imagem para Dicas de desenvolvimento de chatbot: como começar com IA conversacional

A ascensão do chatbot chegou. E se você quiser ficar do lado bom dessas criações com inteligência artificial, provavelmente deve saber uma coisa ou outra sobre como criá-las. Parafraseando o conhecido ditado de Sun Tzu: “Mantenha seus amigos por perto, e os bots mais perto ainda.”

Brincadeiras à parte, os chatbots estão se tornando algo muito importante. E embora o e-mail seja o nosso forte na Sinch Mailgun, existem grandes vantagens no uso de chatbots para aprimorar a experiência de uso. Principalmente, os chatbots podem fornecer respostas imediatas… em qualquer dia e a qualquer hora. Os chatbots também podem aumentar a adoção do produto, ajudar o público a navegar pelo seu aplicativo e responder a perguntas de suporte recorrentes.

Entender como os chatbots funcionam e como criar um bot ajudará você a diversificar suas skills e a se destacar ainda mais como profissional de desenvolvimento.

É claro que a imagem estereotipada de quem desenvolve software é a de uma pessoa em uma sala escura, cercada por telas cheias de programação, enquanto engole grandes quantidades de cafeína.

Talvez haja um fundo de verdade nisso. Mas os melhores profissionais de desenvolvimento também entendem como criar uma experiência de uso ideal. Quando se trata do desenvolvimento de chatbot, isso inclui o conhecimento das formas como as pessoas falam, enviam mensagens, pensam e sentem.

Como aprendemos com Fréderic Godin, head de IA na Chatlayer da Sinch, há muito mais na criação de um chatbot do que programação.

O básico: como os chatbots funcionam?

Um chatbot é um software programado para simular uma conversa humana. De acordo com a CX Today, existem três métodos principais para a execução de um chatbot:

  1. A correspondência de padrões é um método que os bots baseados em regras usam para classificar o texto e responder com base nas palavras-chave que reconhecem nas perguntas.
  2. Outros bots usam algoritmos, como o Naïve Bayes Multinomial , projetado para analisar entradas de texto e resolver problemas com inúmeras classes.
  3. Chatbots ainda mais avançados usam redes neurais artificiais, que são algoritmos mais complexos baseados na forma como os neurônios funcionam no cérebro humano.

Os chatbots mais eficazes usam o processamento de linguagem natural (NLP), que é um ramo da inteligência artificial (IA). O objetivo do NLP é ajudar as máquinas a entender como as pessoas se comunicam para que a IA possa gerar uma resposta útil. Como Fréderic explica, um bom chatbot pode até identificar emoções humanas.

Por meio do processamento de linguagem natural, o bot consegue entender se uma pessoa está com raiva, feliz ou neutra. E ele pode responder de acordo.
Fréderic Godin Head de IA, Chatlayer da Sinch

Alguns bots respondem a comunicações de texto, enquanto os voicebots permitem que as pessoas interajam em um dispositivo por meio da fala, eliminando a necessidade de digitar.

Embora todos os chatbots usem lógica de negócios básica para fornecer respostas predefinidas a perguntas, os bots baseados em regras ou correspondência de padrões só podem fazer isso com base em um número limitado de perguntas e palavras-chave reconhecíveis. No entanto, a tecnologia de chatbot progrediu muito além disso.

Bots mais avançados usam machine learning para expandir seu conhecimento e recursos com base nas solicitações e interações de quem os utiliza. Com o tempo, esses bots são programados para melhorar as respostas a pessoas reais, com base nas conversas que tiveram com elas.

É isso que é conhecido como IA conversacional. É quando um bot usa NLP, machine learning e design de conversa para replicar uma interação realista de pessoa para pessoa. Resumindo, a IA conversacional faz com que os chatbots soem humanos, e não como um robô.

Esse é um desafio extremamente complicado. Considere o fato de que leva até os 12 anos para a pessoa típica aprender as 20.000 palavras mais comuns de seu idioma nativo. Portanto, imagine desenvolver um chatbot multilíngue e eficaz para uma organização internacional.

Felizmente, grande parte do trabalho de base já foi feito. Plataformas de criação de chatbot como a Chatlayer da Sinch ajudam a simplificar e otimizar o processo. Um bot pode ser criado em um idioma e compreender mais de 100 outros sem precisar de novo treinamento.

Como os chatbots respondem a perguntas

As pessoas podem fazer a mesma pergunta de várias formas diferentes. É por isso que Fréderic diz que um chatbot bem programado precisa conseguir lidar com uma variedade de consultas. Ele pode usar machine learning para isso, mas primeiro você precisa dar ao bot algo com que trabalhar.

Ao criar um bot, você deve fornecer a ele alguns exemplos de como as pessoas perguntam algo. Por exemplo, se você quiser permitir que as pessoas peçam pizza, dará ao bot cinco formas pelas quais as pessoas costumam fazer esse pedido. Com base nesses exemplos, tentamos garantir que o bot entenda todas as variantes de como as pessoas pedem pizza.
Fréderic Godin Head de IA, Chatlayer da Sinch

Fréderic diz que um chatbot de ponta também deve entender erros ortográficos, erros de digitação, gírias, sinônimos e frases que tenham palavras em ordens diferentes.

Chatbots e NLP

Quando os chatbots usam um mecanismo de processamento de linguagem natural, eles conseguem interpretar uma grande variedade de entradas do público, mesmo sem as palavras-chave mais importantes na mensagem enviada. Além disso, um mecanismo de NLP ajuda os bots a processarem erros de digitação e outras inconsistências.

Graphic illustrating natural language processing for a pizza order

É claro que a realidade é muito mais complexa do que a imagem acima. Aqui estão vários termos essenciais relacionados ao NLP e à experiência com o chatbot:

  • Mensagens e expressões
  • Intenção
  • Taxa de confiança
  • Respostas
  • Entidades
  • Sentimentos

Juntos, esses termos compõem os componentes básicos que, quando conectados, criam o fluxo de uma conversa de chatbot. Aprender como criar esses fluxos é uma prática conhecida como design de conversa.

Uma mensagem é a pergunta ou comentário que um cliente ou usuário envia ao chatbot: “Eu quero pedir uma pizza.” Essa mensagem é mapeada para uma intenção antes de ser enviada ao chatbot.

Uma intenção é o objetivo geral que o cliente quer alcançar. Nesse caso: Fazer um pedido de pizza.

É claro que há mais de uma forma de pedir pizza. As expressões representam as diferentes formas de fazer a solicitação:

  • “Posso pedir uma pizza?”
  • “Preciso de uma pizza urgente.”
  • “Estou com fome de pizza!”

Quando um cliente envia uma mensagem, o mecanismo de NLP tenta entender a expressão e mapeá-la para a intenção certa. Ele também dá à mensagem uma pontuação de confiança, que avalia o grau de certeza da tecnologia sobre a previsão de intenção. Profissionais de desenvolvimento podem definir um limite para a pontuação de confiança, para que, se for muito baixo, o bot possa fornecer uma resposta de “não entendi” e, possivelmente, pedir para que o cliente reformule para esclarecimento.

Respostas são (imagine só) o que o bot envia de volta ao cliente. Nem sempre essa é uma resposta direta. Muitas vezes, é outra pergunta que ajuda a esclarecer a mensagem e mantém a conversa fluindo. Além disso, a inclusão de várias respostas do bot faz com que a interação pareça mais autêntica para os clientes recorrentes.

  • “Claro, que sabor de pizza você quer?”
  • “Sem problemas, qual tamanho você gostaria de pedir?”
  • “Claro! Será para entrega ou retirada?”

Entidades são frases encontradas dentro de uma expressão que fornecem informações de que o chatbot precisará em algum momento e sugerem o tipo de resposta que ele deve oferecer. Por exemplo, a mensagem inicial de um cliente sobre pizza pode incluir o tamanho ou os sabores. Portanto, o chatbot deve processar essas informações e fornecer uma resposta adequada sem ter de fazer a pergunta mais tarde.

  • Cliente: “Posso pedir uma pizza grande?”
  • Bot: “Claro, o que você quer na sua pizza grande?”

Por fim, os sentimentos em uma mensagem fornecem pistas ao chatbot sobre o que a pessoa está sentindo. Por exemplo, se a pessoa parecesse frustrada, o bot poderia responder com um pedido de desculpas empático.

  • Cliente: “Onde diabos está a minha pizza?!”
  • Bot: “Sinto muito pela demora. Deixe-me ver se posso ajudar.”

O mecanismo de NLP mapeia a mensagem para a intenção certa, mas também extrai entidades da expressão e pode captar o sentimento a fim de enviar uma resposta perfeitamente adaptada.

Aqui está uma tabela que mostra como todo esse fluxo pode funcionar no setor de viagens:

Natural language processing flow for a chatbot

Clique para ver um gráfico em tamanho real

Chatbots e dados

Outro fator importante no desenvolvimento de chatbot é ter uma base de dados confiável. Você precisa de dados dos usuários para descobrir detalhes sobre os tipos de perguntas que o bot irá responder. Em seguida, é necessário ter um banco de dados que ajude o bot a fornecer as informações certas em resposta.

Vamos usar a Alexa como exemplo…

Se você perguntar para a Alexa: “Como está o tempo hoje?”, a IA já sabe onde você está. Esse é um dado que ela tem sobre você. Depois, ela precisa se conectar a um banco de dados com informações meteorológicas atualizadas para a sua localização para poder informar a previsão do tempo.

Uma solução de IA conversacional eficaz se integrará a outras plataformas para acessar os dados que melhoram e personalizam a experiência do chatbot. Por exemplo, Integrações da Chatlayer incluem ferramentas como a Salesforce, a ZenDesk e a Hootsuite.

Fréderic diz que uma forma de aproveitar os zero-party data na IA conversacional é por meio do acesso aos registros de suporte ao cliente.

Se o áudio foi gravado entre quem liga e os atendentes humanos, temos ferramentas para identificar as perguntas mais frequentes e como as pessoas normalmente as fazem. Dessa forma, você obtém insights e dados que podem ser usados para criar um bot com base no que os clientes realmente perguntam no seu call center.
Fréderic Godin Head de IA, Chatlayer da Sinch

Quando um chatbot não sabe o que fazer

Os chatbots também precisam saber o que fazer quando não conseguem satisfazer um cliente ou não têm uma resposta para o problema dele. Nesse caso, Fréderic diz que o NLP, inclusive a capacidade de identificar emoções, é muito útil. A equipe de desenvolvimento pode programar os bots para reconhecer quando um cliente precisa de um atendente humano.

Você pode dizer: “Bem, se a pessoa estiver com muita raiva, talvez devêssemos encaminhá-la para o call center, em vez de deixá-la continuar falando com o chatbot.” Mas se a atitude do cliente for neutra, o bot pode pedir que reformule a pergunta que não entendeu.
Fréderic Godin Head de IA, Chatlayer da Sinch

Uma observação interessante de Fréderic sobre as interações com chatbots é como as pessoas mudam a forma de fazer perguntas depois de perceber que estão falando com um bot. Quando necessário, as pessoas parecem “simplificar” um pouco as coisas para o bot. Parece que nós estamos nos adaptando aos bots enquanto eles aprendem a nos entender.

Entenda a fundo antes de começar

Embora saber programar certamente seja um grande benefício no desenvolvimento de chatbot, você também precisa reservar um tempo para planejar o projeto. Aqui estão cinco perguntas-chave para fazer antes de começar a criar um bot:

  1. Qual é o objetivo? Há algo que a sua organização espera alcançar com o desenvolvimento de um chatbot? Por que você precisa de um? Determine como será uma experiência de chatbot eficaz e meça os resultados.
  2. Quais são os casos de uso? Como o chatbot será aplicado no mundo real? Ele desempenhará a função de atendente de suporte ao cliente ou recomendará produtos? Você quer que ele ajude as pessoas a fazerem e acompanharem pedidos? Ele deve ser capaz de agendar compromissos? Certifique-se de definir com clareza o que o bot fará.
  3. Quem interagirá com o bot? Compreender os usuários e as necessidades deles é extremamente importante. Pense no que o seu público esperaria de uma experiência com um chatbot e aconselhe-se com colegas que têm contato direto com os clientes.
  4. Qual é a personalidade do seu chatbot? Você quer que o seu bot soe de forma autenticamente humana, mas isso pode mudar dependendo do setor e do cliente. Ele deve ser formal e educado, ou os seus usuários gostariam de interagir com um chatbot divertido?

    Sua equipe de marketing também pode querer que o bot reflita uma voz específica da marca. Se for um voicebot, você precisará literalmente escolher uma voz com um som que se adapte à personalidade desejada do bot.
  5. Onde o seu chatbot irá operar? A IA conversacional pode ocorrer em um site, via SMS, apps de mensagens sociais, pela automação do call center ou dentro do seu software. O canal escolhido pode impactar as escolhas de desenvolvimento do chatbot.

Práticas recomendadas para o desenvolvimento de chatbot

Quando chegar a hora de começar a criar o seu bot, Fréderic Godin e a equipe da Chatlayer da Sinch têm muitos conselhos. Aqui estão algumas de suas melhores dicas de desenvolvimento de chatbot:

Faça uma apresentação adequada

As primeiras impressões são importantes. A forma como o seu bot se apresenta aos seus usuários dita o tom da conversa. Além disso, permite que as pessoas saibam exatamente o que esperar do chatbot.

Aqui está um exemplo:

“Oi, James! Sou a Bessie, uma assistente virtual, e estou aqui para ajudar você a descobrir como criar um site para a sua pequena empresa.”

Como posso ajudar hoje?”

Nesse exemplo, digamos que, como o usuário está conectado, o bot também consegue personalizar a apresentação com seu primeiro nome.

Comece de forma simples

Quando você começa a desenvolver um chatbot, todas essas possíveis perguntas e várias expressões podem ser avassaladoras. Fréderic diz que a melhor coisa a fazer é escolher um problema fácil do cliente e construir a partir daí.

Recomendamos que você escolha um caso de uso que queira abordar primeiro. Normalmente, é algo muito repetitivo e não muito difícil de responder.
Fréderic Godin Head de IA, Chatlayer da Sinch

Por exemplo, Fréderic sugere responder a uma pergunta com uma resposta educada na qual o bot simplesmente fornece um link que direciona os usuários para uma página da web em que eles podem encontrar a solução de que precisam.

Torne-o dinâmico e eficiente

À medida que seu projeto de desenvolvimento de chatbot se torna mais avançado e complexo, busque formas de reduzir a quantidade de trabalho que você e o seu bot precisam fazer. Isso pode significar a reutilização de diálogos do bot e variáveis, quando possível.

Você também deve garantir que o seu chatbot consiga acessar e reutilizar informações. Se você pedir o número do pedido de um cliente uma vez, o bot não precisará perguntar de novo mais tarde na interação.

Um chatbot dinâmico é resiliente às mudanças. Você pode programar um chatbot dinâmico fazendo com que ele acesse informações de bancos de dados externos em vez de codificá-las rigidamente no bot. O seu banco de dados externo serve como a “fonte da verdade”. Dessa forma, ao atualizar o banco de dados, o seu chatbot também será atualizado. Você só precisa fazer a alteração em um local.

Deixe o seu chatbot aprender

Não espere a perfeição quando o seu chatbot finalmente começar a interagir com os humanos. As equipes de desenvolvimento de chatbot podem aprender muito ao observar o que funciona e o que não funciona.

Coloque o seu bot em uso no mundo real o mais rápido possível. Veja como os clientes usam o bot. Com base nisso, adicione novas expressões ao bot que se assemelhem a perguntas reais. Como as pessoas realmente fazem para pedir pizza, por exemplo?
Fréderic Godin Head de IA, Chatlayer da Sinch

Você encontrará mais práticas recomendadas de criação de bots e um checklist de design de conversa na documentação da Chatlayer da Sinch. Há também modelos predefinidos de criação de chatbot para setores específicos, que podem ajudar você a dar um pontapé inicial na criação e na personalização do seu bot.

Considere o seu retorno sobre o desenvolvimento

Embora Fréderic seja um grande defensor dos chatbots, ele admite prontamente que, em algum momento, as coisas ficam complexas demais, e você precisa da intervenção de uma pessoa real. Quanto mais avançadas se tornam as mensagens dos usuários, mais tempo e recursos são investidos no desenvolvimento da IA. Com isso, você acaba enfrentando retornos decrescentes do seu trabalho.

É possível chegar ao ponto de ser totalmente automatizado? Provavelmente. Mas quanto mais perto de 100% de automação você chegar, mais investimento precisará fazer para que isso aconteça. Portanto, acredito que sempre haverá uma fração de perguntas para as quais você precisará de auxílio humano.
Fréderic Godin Head de IA, Chatlayer da Sinch

Por esse motivo, certifique-se de programar um chatbot para enviar os clientes a atendentes humanos em busca de ajuda quando for provável que a IA não seja suficiente.

Mais sobre como melhorar as experiências com chatbots

Os chatbots se tornaram uma tecnologia útil para a comunicação omnicanal. Essa é uma abordagem das experiências do usuário que permite interações consistentes entre pessoas e marcas em qualquer canal que o usuário preferir (SMS, voz, e-mail, apps de mensagens etc.).

Fréderic destaca que você pode personalizar a experiência de um chatbot com base no canal em que uma conversa ocorre. Por exemplo, você pode querer que as respostas do chatbot no Instagram soem mais informais do que as de uma função de chat integrada ao seu aplicativo.

É claro que a melhor forma de criar uma melhor experiência do usuário é entender o que se passa na cabeça do cliente. Você não precisa ler mentes, mas é útil compreender a história do cliente.

Para ajudar você com isso, nossos amigos da Sinch Mailjet criaram um e-book gratuito sobre o que eles chamam de “a jornada do herói omnicanal.” No e-book, você descobrirá o que seus usuários têm em comum com heróis conhecidos como Luke Skywalker e Harry Potter. Além disso, você terá algumas ideias de qual papel o seu chatbot pode desempenhar na história. (Dica: R2D2 e C3PO são duas apostas muito boas.)