[Resolvido] Tratar multiplas mensagens


#1

Bom dia!
Tenho o seguinte cenário. Um cliente ao iniciar a conversa com o bot envia varias mensagens de uma vez, antes do bot mandar a primeira. Isso faz com que cada mensagem passe pelas condições do bloco, porem como elas já foram enviadas, as instruções contidas são ignoradas e o bot não se comporta como deveria.
Existe alguma maneira de manusear múltiplas mensagens dessa forma via builder? Caso o cliente envie várias mensagens seguidas ele apenas considere a ultima recebida desde a ultima resposta? Entendo que não é a melhor solução mas evita do bot ‘pirar’.


#2

Esse é um problema sério que até então é uma duvida sobre como tratar de forma correta.

Normalmente os usuários, na primeira interação, quebram tudo e a experiência não é boa para uma primeira impressão.

Também tenho essa dúvida.


#3

Infelizmente o blip não trata múltiplas mensagens ainda.
Cada resposta do usuário vai fazer o fluxo andar uma casa.

Infelizmente, você terá que controlar a resposta do usuário armazenando em uma variável e validando se é aquilo que espera…e isso vai deixar a conversa um pouco mais chata!

Isso é uma coisa que a IA poderia ter, um interpretador de “desabafo” hehehhe

Acompanhando…


#4

Oi Lucas!

Tiveum problema semelhante, vê se serve como solução pra você:

A interação era iniciada muito da forma:

User > Oi!
Bot > Olá usuário, qual seu nome?
User > Boa tarde
Bot > Opa, não entendi, tenta de novo
User > Tudo bom?
Bot > Ainda não entendi.

Lidei fazendo reconhecimento de frases comuns de início de conversa (saudação, cumprimento, etc) e o bot não responde a elas. Ficou assim:

User > Oi!
Bot > Olá usuário, qual seu nome?
User > Boa tarde
User > Tudo bom?
User > Me chamo Blip
Bot > Oi, Blip! Vamso começar.


#5

Obrigado pela resposta.
Entendi a dica, porem não parece funcionar adequadamente pro meu caso.
No meu bot tentei bastante prever o que o cliente diz, inclusive coloquei esse manuseio de saudações/cumprimentos via AI. O grande problema esta em casos onde o cliente fala ‘pausadamente’, usando parágrafos. Devido ao delay no envio de mensagens, principalmente em Whatsapp, o cliente tem tempo de digitar varias coisas antes do bot receber a mensagem. Um exemplo:

Cliente: Bom dia
Bot:Bom dia! Você já é cliente? (aqui o bot aguarda por uma confirmação, que será comparada via entidade)
Cliente: Sim
Cliente: Poderia verificar uma fatura pra mim?
Cliente: Pode mandar no meu email cliente@provedor.com.br
(até então, devido ao delay do chat, o bot nao recebeu nenhuma mensagem)
Bot: Ótimo, pode me passar seu CPF?
Bot: Por favor digite um CPF válido
Bot: Por favor, verifique se seu CPF está correto

Em outro caso:

Cliente: Pode mandar
Cliente: minha fatura atualizada
Cliente: por favor
Bot: Desculpa, não consegui entender
Bot: Estou verificando suas faturas. Deseja receber em seu email ou via chat? (match via intenções)
Bot: Desculpa, não consegui entender

Este é realmente um problema complexo de se resolver, e se dá em sua maior parte pelo cliente não entender que o bot segue os comandos (quase) literais. Uma vez que é impossível prever tudo que o cliente vai falar, acredito que uma melhor solução seria uma forma de agrupar (ou, no mínimo, pegar apenas a ultima) as mensagens recebidas após a ultima mensagem enviada pelo bot. Assim seria feito um join em todos os parágrafos em um único texto, evitando que o bot passe por vários blocos descontroladamente. Porem, não consegui pensar em como criar isso via builder. Também deixar o cliente sem resposta mesmo após falar ‘Oi’ não me parece legal, ao menos uma mensagem de correção deveria ser enviada.


#6

Eu já pensei muito nisso e vejo que a saída menos dolorosa é apresentar um menu numérico pro usuário e fazer ele andar na linha por toda a conversa.

Esse negócio de IA pra interpretar a vontade do usuário é utopia!

Nunca vi um bot de IA inteligente nesse ponto.

O que um humano faz na vida real?
Ele lê um conjunto de mensagens e entende o contexto.
Na sequência ele coloca o usuário nos trilhos novamente, na ordem de atendimento desejada.
Ainda podem existir muitos contextos na enxurrada de mensagens.
Mesmo assim, o atendente humano resolve seguir os trilhos pra organizar a conversa e seguir o protocolo de atendimento.


#7

Sim @Jhoni_Desb não discordo de você.
No meu modelo, ele tenta decifrar o que o cliente quer, se não consegue apresenta um menu numérico.
O problema é mais simples que isso, apenas evitar um spam de mensagens pra atrapalhar o fluxo. Melhor o bot não entender uma mensagem e enviar apenas uma correção, do que 4 seguidas e enviar 4 correções.


#8

Minha tentativa para amenizar os impactos da mensagens quebradas é deixar uma instrução para o usuário digitar tudo em um único paragrafo.


#9

Sim, é como se o bot tivesse um delay time para reagir…
Podia inclusive reagir apenas depois do status “digitando…”
Mas essa sincronia é complicada e pode onerar inclusive conversas que deveriam ser rápidas.
Complicado mesmo.


#10

Isso é bom, guiar o usuário deixa o fluxo bem mais controlado.