Como Methodius se tornou Anna: a experiência de desenvolver e lançar classificadores de mensagens de voz. Parte 2

Meta e objetivo


Deixe-me lembrá-lo que no primeiro artigo obtivemos um modelo com uma qualidade que nos satisfaz e chegamos à conclusão de que não vale a pena construir redes neurais imediatamente, não haverá grandes benefícios com dados incorretos. Para evitar desperdiçar tempo e energia, basta analisar erros em modelos "simples".

Neste artigo, falaremos sobre a derivação de um modelo de trabalho em um produtivo.

O primeiro classificador testa. De Metódio a Anna


Então, depois de analisar os erros, eles obtiveram uma qualidade aceitável e decidiram trazer o modelo para produtivo. Implementamos o modelo como um serviço da Web, adicionamos uma chamada de serviço de telefonia durante uma chamada. E se antes disso lutávamos com as complexidades típicas das tarefas ml (marcação, desequilíbrio), os métodos para lidar com elas são conhecidos, então a diversão começou.

Sem pensar muito, decidimos começar com o robô Methodius, que atenderá os clientes com uma voz robótica.

Metódio serviu pessoas assim.


O primeiro dia de teste mostrou que as pessoas não estão felizes com o robô.
Methodius
Tubos abandonados19%
O silencioso58%

19% dos clientes desligaram, 58% não disseram nada e não responderam ao Methodius. Por alguma razão, somente após esses números pensamos que antes de iniciar o serviço, tínhamos que pensar no que o robô perguntaria, em que voz, se seria um robô ou um “operador”, ou seja, tínhamos que pensar em integrar o modelo ao mundo real usuários. Isso acabou sendo o mais difícil.

Integração Lista de verificação


Nós compilamos uma lista de verificação para integrar o sistema ao mundo real. Portanto, antes de iniciar esse tipo de serviço em um produto, você precisa pensar em:

  • Finalidade do diálogo
  • Frases de bot
  • Volume de texto / fala do bot
  • Identifique o fim da réplica do cliente
  • Cenário de interação

Em seguida, explico cada um dos pontos.

O primeiro ponto importante é entender o que queremos obter com a implementação de um robô. Nós imediatamente respondemos: "uma solicitação formulada de suporte técnico". Mas como pedir para que o usuário entenda o que ele quer dele é uma história diferente. Nós invadimos todas as frases, se apenas o número de pessoas que responderam ao bot aumentasse. As principais conclusões a que chegamos sobre as frases do robô:

  • As frases de bot não devem conter voz passiva
  • As frases de bot devem ser curtas
  • No final de cada frase, deve ficar claro o que o usuário deve fazer. Você precisa usar perguntas norteadoras em todas as fases da comunicação com o bot. Em nossa experiência, posso dizer que a diferença entre as frases "estou ouvindo você" e "qual é a sua pergunta?" existe!
  • A frase final na comunicação com o bot é importante, para que o cliente entenda o que deve esperar em seguida. No nosso caso, no final da comunicação, o robô disse claramente: "Transferirei sua ligação para um especialista nesta questão", para que o cliente entendesse o valor da comunicação com o robô.

Em seguida, decidimos experimentar a voz do robô, então conseguimos uma garota, Maria.

Áudio


O resultado do teste com Maria nos deu esperança.
MethodiusMaria
Tubos abandonados19%14%
O silencioso58%27%

Já mais pessoas responderam ao robô, havia 27% de pessoas silenciosas em vez de 58%, mas ainda assim queriam reduzir seu número. Ouvimos exemplos do teste e revelamos casos interessantes em que as pessoas não tinham tempo para terminar ou nem sequer tinham tempo para começar a falar. O exemplo acima é onde Mary interrompeu o cliente, não esperou o fim da resposta.

Havia pessoas que são silenciosamente deliberadas, elas sabem que este é um robô e estão esperando pelo operador. Lidamos com eles separadamente. E há pessoas que não puderam responder por causa da pequena quantidade de tempo prevista em resposta. Entendemos que era falta de educação interromper, pois a lealdade do cliente é reduzida.

Decidimos realizar experimentos para escolher a duração da gravação da resposta do cliente. Foi necessário escolher a duração ideal da gravação para que o maior número possível de frases se tornasse informativo, ou seja, elas contivessem um texto significativo que pudesse ser classificado. A tabela mostra a porcentagem de frases informativas para diferentes durações de registro da resposta do cliente.
Tempo de respostaMethodiusMaria
5 segundos52,456,3
7 segundos63,878,2
10 segundos84,191,4
12 segundos83,792,1
15 segundos79,290,6

As experiências mostraram que 10 segundos são suficientes para formular uma solicitação.

Mas limitar o tempo é apenas uma maneira de concluir a gravação da resposta de um cliente, existem outras. Detectar o silêncio ou determinar o final de uma sugestão pela entonação do falante são métodos mais eficazes. A detecção de atenuação de fala já foi implementada no mundo; os desenvolvedores são guiados por entonação. Mas, após várias experiências com um tempo de gravação de resposta específico, decidimos detectar o silêncio usando o Asteriska, isso já era suficiente para obter bons resultados.

Exemplo de detecção de silêncio


Parece que tudo já está bem, o robô escuta o quanto for necessário, recebeu uma nova voz e o nome “Anna”. Mas outro teste com essas melhorias mostrou uma redução significativa no número de tubos abandonados. O número de pessoas silenciosas também diminuiu, mas eu queria melhor.
MethodiusMariaAnna, v1
Tubos abandonados19%14%5%
O silencioso58%27%14%

Sem pensar duas vezes, decidimos modificar o script para a interação do bot com o cliente. Se o cliente não responder (silencioso) e detectarmos isso dentro de três segundos, Anna perguntará novamente. Devido à detecção de silêncio usada anteriormente, ficou fácil perceber. O esboço final do cenário de diálogo é apresentado abaixo.

imagem

Isso foi feito para estimular a conversa e repetir a pergunta do robô quando o usuário pode não ter ouvido a primeira frase de Anna.

Pedir novamente o exemplo


MethodiusMariaAnna, v1Anna, v2
Tubos abandonados19%14%5%4%
O silencioso58%27%14%6%
Respostas após nova solicitação---48%

Como resultado, essa implementação foi produtiva, com 4% de tubos abandonados e apenas 6% de pessoas silenciosas. Fizemos isso por cerca de 6 meses, parece que o modelo está pronto, classifica bem, mas foi difícil de implementar.

Pós Conclusões


O modelo final é a única coisa que pode ser feita; ele será produtivo quando você entender como e o que eles dizem aos usuários , se eles estão prontos para se comunicar com o robô.
Somente depois disso, a implementação do modelo não será difícil e os indicadores de negócios subirão.

A introdução de Anna. Sumário


A classificação de chamadas reduziu o tempo de chamada. Foi reduzido em 15 segundos e são 350 chamadas processadas por dia. Foi reduzido devido ao fato de os operadores responderem imediatamente à pergunta que lhes passou do robô e não perderem tempo ouvindo o cliente. Mas isso não é o principal.

A classificação de chamadas permitiu que as operadoras recebessem chamadas sobre tópicos específicos. O que foi importante por causa dos problemas que escrevi na primeira parte do artigo : a variedade de tópicos não permitia que os operadores entrassem rapidamente na linha; primeiro, era necessário aprender as respostas para todas as perguntas dos clientes. Após a introdução do sistema, o treinamento do operador começou a levar 1 semana em vez de 3 meses. O operador, é claro, continua estudando, mas já pode receber chamadas sobre um tópico que ele estudou na primeira semana.

Vejo você no próximo artigo, onde falarei sobre outro caso de uso de classificadores de voz, como o robô Anna reduziu o número de transferências entre o suporte técnico e o departamento de vendas.

Source: https://habr.com/ru/post/pt473328/


All Articles