Auditoria do chatbot





Os chatbots estão agora difundidos em várias áreas de negócios. Por exemplo, os bancos podem usá-los para otimizar o trabalho de seu contact center, respondendo instantaneamente a perguntas populares dos clientes e fornecendo-lhes informações de referência. Para os clientes, os chatbots também são uma ferramenta conveniente: é muito mais fácil escrever uma pergunta no chat do que esperar por uma resposta ligando para um contact center.



Em outras áreas, os chatbots também funcionam bem: na medicina, eles podem entrevistar um paciente, transmitir os sintomas a um especialista e marcar uma consulta com um médico para estabelecer um diagnóstico. Em empresas de logística, os bots de bate-papo ajudam você a combinar a data de entrega, mudar o endereço e escolher um ponto de coleta conveniente. Em grandes lojas online, os bots de bate-papo assumem parcialmente a manutenção dos pedidos e, no campo dos serviços de compartilhamento de carros, os bots de bate-papo realizam até 90% das tarefas do operador. No entanto, os bots de bate-papo ainda não são capazes de resolver o trabalho de reivindicações. O feedback negativo e as situações controversas ainda recaem sobre os ombros de operadores e especialistas.



Portanto, a maioria das empresas em crescimento já está usando ativamente os chatbots para trabalhar com os clientes. No entanto, os benefícios de implementar um chatbot costumam variar: em algumas empresas o nível de automação chega a 90%, em outras empresas é de apenas 30-40%. De que depende? Quão boa é essa métrica para uma empresa? Existem maneiras de aumentar o nível de automação do chatbot? Este artigo abordará questões que o ajudarão a entender isso.



avaliação comparativa



Hoje, quase todas as áreas de negócios têm seu próprio ambiente competitivo. Muitas empresas adotam abordagens de negócios semelhantes. Portanto, se empresas concorrentes usam bots de bate-papo em suas atividades, é aconselhável compará-los. O benchmarking é uma boa ferramenta de comparação.



Em nosso caso, o benchmarking do chatbot envolverá uma pesquisa secreta para comparar a funcionalidade dos chatbots dos concorrentes com a funcionalidade do seu próprio chatbot. Vamos considerar um caso usando um bot de bate-papo de banco como exemplo.



Suponha que um banco tenha desenvolvido um chatbot para otimizar a operação do contact center e reduzir o custo de manutenção. Para realizar benchmarking, é necessário analisar outros bancos e identificar os chatbots mais funcionais de seus concorrentes.



É necessário formar uma lista de questões para verificação (pelo menos 50 questões divididas em vários tópicos):



  • Perguntas sobre serviços bancários , por exemplo: "Quais são suas taxas de depósito?", "Como reemitir um cartão?" etc.
  • Informações de referência , por exemplo: "Qual é a taxa de câmbio atual?", "Como obter um crédito de férias?" etc.
  • Nível de compreensão do cliente. (Resistência do bot a erros ortográficos, percepção da fala coloquial), por exemplo: "Estou abrindo o mapa, o que estou fazendo?", "Encha o celular", etc.
  • Conversa sobre tópicos abstratos , por exemplo: "Conte uma piada", "O que fazer durante o auto-isolamento?" etc.


Nota: esses tópicos de perguntas são dados como um exemplo e podem ser expandidos ou alterados.



Estas são as perguntas que você deve fazer ao seu chatbot, bem como aos chatbots dos concorrentes. Depois de escrever a questão, são possíveis 3 opções para o resultado (dependendo do resultado, a pontuação correspondente é colocada):



  • o bot não reconheceu a pergunta do cliente (0 pontos);
  • o bot reconheceu a pergunta do cliente, mas somente depois de esclarecer as dúvidas (0,5 pontos);
  • o bot reconheceu a pergunta na primeira tentativa (1 ponto).


Se o chatbot transferiu o cliente para a operadora, a pergunta também é considerada não reconhecida (0 pontos).



Em seguida, o número de pontos marcados por cada chatbot é somado, após o qual a parcela de perguntas corretamente reconhecidas em cada tópico é calculada (baixo - menos de 40%, médio - de 40 a 80%, alto - mais de 80%) e a classificação final é compilada. Os resultados podem ser apresentados na forma de tabela:







Suponha que, de acordo com os resultados do benchmarking, o chatbot do banco ficasse em segundo lugar. Que conclusões podem ser tiradas? O resultado não é o melhor, mas também não é o pior. Com base na tabela, podemos dizer sobre seus lados não os mais fortes: em primeiro lugar, os algoritmos precisam ser aprimorados para reconhecer corretamente as perguntas do cliente (o chatbot nem sempre entende as perguntas do cliente contendo erros e erros de digitação), e também nem sempre suporta o diálogo sobre tópicos abstratos ... Uma diferença mais detalhada pode ser vista ao comparar com o chatbot de primeiro lugar.



O chatbot, que ficou em terceiro lugar, mostrou-se pior: em primeiro lugar, requer uma revisão séria da base de conhecimento sobre serviços bancários e informações de referência e, em segundo lugar, está mal treinado para dialogar com um cliente sobre temas abstratos. É óbvio que o nível de automação de tal chatbot está em um nível inferior em comparação com os concorrentes que ocuparam os lugares I e II.



Assim, com base nos resultados do benchmarking, foram identificados os pontos fortes e fracos no trabalho dos bots de chat e feita a comparação de bots de chat concorrentes entre si. A próxima etapa é identificar essas áreas problemáticas. Como isso pode ser alcançado? Vamos considerar algumas abordagens baseadas na análise de dados: AutoML, Mineração de processos, abordagem DE.



AutoML



Atualmente, a inteligência artificial já penetrou e continua a penetrar em muitas áreas de negócios, o que inevitavelmente acarreta um aumento da demanda por competências na área de DataScience. No entanto, a demanda por tais especialistas está crescendo mais rápido do que seu nível de habilidade. O fato é que o desenvolvimento de modelos de aprendizado de máquina consome muitos recursos e requer não apenas uma grande quantidade de conhecimento de um especialista, mas também uma quantidade significativa de tempo gasto na construção de modelos e na sua comparação. Para reduzir a pressão criada pela escassez, bem como diminuir o tempo de desenvolvimento de modelos, muitas empresas começaram a criar algoritmos que podem automatizar o trabalho de DataScientists. Esses algoritmos são chamados de AutoML.



O AutoML, também conhecido como aprendizado de máquina automatizado, ajuda o DataScientist a automatizar as tarefas demoradas e repetitivas de desenvolvimento de modelos de aprendizado de máquina, mantendo sua qualidade. Embora os modelos AutoML possam economizar seu tempo, eles só serão eficazes quando o problema que resolvem for persistente e repetitivo. Nessas condições, os modelos AutoML funcionam bem e mostram resultados aceitáveis.



Agora vamos usar o AutoML para resolver nosso problema: identificar áreas problemáticas no trabalho de bots de bate-papo. Como mencionado acima, um chatbot é um robô ou um programa especializado. Ela sabe como extrair palavras-chave de uma mensagem e pesquisar uma resposta adequada em seu banco de dados. Uma coisa é buscar a resposta certa, outra é manter um diálogo lógico, imitando a comunicação com uma pessoa real. Este processo depende da qualidade do script do chatbot.



Imagine uma situação em que um cliente tem uma pergunta e um chatbot responde de maneira estranha, não lógica ou geralmente sobre outro tópico. Como resultado, o cliente não está satisfeito com essa resposta e, na melhor das hipóteses, escreve sobre sua incompreensão da resposta, na pior das hipóteses - mensagens negativas para o chatbot. Portanto, a tarefa do AutoML será identificar diálogos negativos a partir do número total (com base nos logs do chatbot descarregados do banco de dados), após o que é necessário identificar a quais cenários esses diálogos estão relacionados. O resultado obtido servirá de base para o refinamento desses cenários.



Primeiro, vamos marcar as caixas de diálogo do cliente com o chatbot. Em cada diálogo, deixamos apenas mensagens de clientes. Se na mensagem do cliente houver uma negativa na direção do chatbot, ou não entender suas respostas, defina flag = 1, nos outros casos = 0:





Marcando mensagens de clientes



Em seguida, declaramos o modelo AutoML, treinamos nos dados marcados e os salvamos (todos os parâmetros de modelo necessários também são passados, mas não são mostrados no exemplo abaixo).



automl = saa.AutoML
res_df, feat_imp = automl.train('test.csv', 'test_preds.csv', 'classification', cache_dir = 'tmp_dir', use_ids = False)
automl.save('prec')


Carregamos o modelo resultante, após o qual fazemos uma previsão da variável de destino para o arquivo de teste:



automl = saa.AutoML
automl.load('text_model.pkl')
preds_df, score, res_df = automl.predict('test.csv', 'test_preds.csv', cache_dir = 'tmp_dir')
preds_df.to_csv('preds.csv', sep=',', index=False)


Em seguida, avaliamos o modelo resultante:



test_df = pd.read_csv('test.csv')
threshold = 0.5
am_test = preds_df['prediction'].copy()
am_test.loc[am_test>=threshold] = 1
am_test.loc[am_test<threshold] = 0
clear_output()
print_result(test_df[target_col], am_test.apply(int))


A matriz de erros resultante:







No processo de criação do modelo, tentamos minimizar o erro de 1ª espécie (atribuir um diálogo bom a um mau), portanto, para o classificador obtido, paramos na medida f1 igual a 0,66. Com o auxílio do modelo treinado, foi possível identificar 65 mil sessões "ruins", o que, por sua vez, possibilitou a identificação de 7 cenários insuficientemente eficazes.



Mineração de Processo



Para identificar cenários problemáticos, também podemos usar ferramentas baseadas em Process Mining - o nome geral de uma série de métodos e abordagens projetadas para analisar e melhorar processos em sistemas de informação ou processos de negócios com base no estudo de logs de eventos.



Usando este método, fomos capazes de identificar 7 cenários que estão envolvidos em diálogos longos e ineficazes:







18% dos diálogos têm mais de 4 mensagens do chatbot.



Cada elemento no gráfico acima é um cenário. Como você pode ver na figura, os scripts estão em loop, e as setas em negrito indicam um longo diálogo entre o cliente e o chatbot.



Em seguida, para encontrar cenários ruins, preparamos um conjunto de dados separado e construímos um gráfico com base nele. Para isso, foram deixados apenas os diálogos em que não havia acesso ao operador, após o que eles filtraram os diálogos com problemas não resolvidos. Como resultado, identificamos 5 cenários de revisão, nos quais o chatbot não resolve a dúvida do cliente.







Os cenários identificados figuram em cerca de 15% de todos os diálogos



Abordagem DE (Engenharia de Dados)



Uma abordagem analítica simples também foi usada para pesquisar cenários de problemas: foram identificados diálogos, a avaliação de feedback em que (do lado do cliente) variou de 1 a 7 pontos, então foram selecionados os cenários mais comuns nesta amostra.



Por exemplo, usando as abordagens baseadas em AutoML, Process Mining e DE de uma maneira abrangente, identificamos áreas problemáticas no chatbot da empresa que requerem melhorias.







Agora o chatbot está cada vez melhor!



All Articles