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

Objective Series


Deixe-me lembrá-lo de que, no primeiro e no segundo posts, temos um modelo para classificar as chamadas de suporte técnico e aprendemos como enviá-lo para o produtivo sem coletar todos os ancinhos. Chegamos à conclusão de que, antes de criar modelos complexos, você precisa entender a integridade e a precisão dos seus dados. E a conclusão número 2 tornou-se a seguinte: entenda seu usuário e inicie o serviço será muito mais fácil.

Neste artigo, falaremos sobre o segundo caso, que o robô de voz de Anna nos ajudou a resolver.

Caso nº 2. Tarefa e dados


Depois que entendemos a lógica das pessoas e tivemos problemas ao apresentar o primeiro classificador de voz, fomos inspirados a resolver outro problema.

A questão.


34% das chamadas do departamento de vendas são transferidas para o serviço de suporte técnico. Quero reduzir o número de transferências entre departamentos. Primeiro, vamos descobrir como funcionou antes? Há uma chamada para o call center da empresa, é feita uma verificação se esse número é conhecido ou não (existe no nosso CRM). Se o número é conhecido pela empresa, este já é nosso cliente, eles enviaram uma ligação para o suporte técnico, se o número não é familiar, a ligação é roteada para o departamento de vendas.

imagem

Essa verificação não resolve o problema. No entanto, o departamento de vendas ainda transferiu a terceira parte das chamadas para o suporte técnico, porque nem todos os números de clientes nos são familiares. Pelo menos cada um de nós tem dois cartões SIM. Ou não é a pessoa que deixou os contatos que liga para a conexão existente, mas seus parentes, mas a pergunta é técnica, embora o número da empresa não seja familiar.

Portanto, é necessário desenvolver um sistema que distribua automaticamente as chamadas entre o suporte técnico e o departamento de vendas com base no texto falado pelo chamador. O diagrama abaixo mostra esquematicamente o algoritmo de processamento de chamadas.

imagem

Os dados foram aproximadamente os mesmos que para a solução do primeiro caso . As frases reconhecidas das chamadas recebidas pelo departamento de vendas foram marcadas pela presença de uma transferência para o departamento de suporte técnico. Dessa forma, queríamos separar problemas técnicos de problemas de compra / conexão.

Solução de caso


Treinamos vários modelos e obtivemos a seguinte qualidade.
AlgoritmoClassf-score
Logregvenda0,78
Logregapoio0,69
Floresta aleatóriavenda0,75
Floresta aleatóriaapoio0,62
SVMvenda0,71
SVMapoio0,62
XGBoostvenda0,61
XGBoostapoio0,57
CNNvenda0,76
CNNapoio0,63

Como pode ser visto na tabela, a qualidade é ruim. Você precisa determinar a venda com a mais alta qualidade possível, pois essa é a lealdade dos futuros clientes. É categoricamente impossível transferir uma pessoa que deseja adquirir nossos serviços para o suporte técnico.

Dificuldades da decisão. Re-layout


Para melhorar a qualidade da classificação, decidimos verificar se as aulas são separáveis ​​pelo vocabulário usado nelas. Realizou uma análise.

Tabela de palavras frequentemente usada antes da realocação
imagem

Como você pode ver, a maioria das palavras é comum a ambas as classes. Esperava-se que todas as palavras técnicas estivessem na classe de suporte técnico, mas verificou-se que na classe "Venda" havia até a palavra "reiniciar". Começamos a entender as razões disso. Acontece que, muitas vezes, o operador do departamento de vendas aconselhava sobre questões técnicas leves, sem traduzir em suporte técnico, isso resultava em marcação incorreta.

Re-alocamos o conjunto de dados e novamente descarregamos as palavras principais para cada uma das classes.
Tabela de palavras frequentemente usada após o re-layout
imagem

Tornou-se melhor, todas as palavras "técnicas" da classe "suporte técnico" já estavam e as palavras que acompanham a venda estavam na classe "venda". Vimos isso na qualidade da classificação.
AlgoritmoClasso escore f foif-score, tornou-se
Logregvenda0,780,94
Logregapoio0,690,87
Floresta aleatóriavenda0,750,92
Floresta aleatóriaapoio0,620,82
SVMvenda0,710,93
SVMapoio0,620,86
XGBoostvenda0,610,91
XGBoostapoio0,570,78
CNNvenda0,760,93
CNNapoio0,630,86

Como pode ser visto na tabela, a qualidade é ruim. Você precisa determinar a venda com a mais alta qualidade possível, pois essa é a lealdade dos futuros clientes. É categoricamente impossível transferir uma pessoa que deseja adquirir nossos serviços para o suporte técnico.

Caso nº 2. Conclusão


Qual é a conclusão do artigo? Entenda o processo de negócios que você influencia . Sim, pode-se dizer que é importante entender os dados, porque é por isso que começamos o particionamento novamente. Porém, se descobríssemos de antemão no processo de fazer chamadas, descobriríamos imediatamente que os operadores do departamento de vendas são tecnicamente esclarecidos e nem sempre transferem a chamada para o suporte técnico. Portanto, considerar a presença de uma tradução como uma marcação não foi a decisão certa. Conclusão - entender os processos de negócios é muito mais útil do que dominar algoritmos complexos e resolver pequenos problemas técnicos.

Resultados de uma série de artigos


Implementamos um sistema que entende o assunto da pergunta do assinante e roteia a chamada. Descobrimos o que o chamador tem uma pergunta e, se a pergunta é técnica, selecionamos o operador de suporte técnico que entende este tópico. Se a pergunta estiver conectada, transfira para o departamento de vendas.



Por que precisamos de tudo isso? O que você conseguiu? Primeiro, reduzimos o número de transferências entre departamentos. O gráfico mostra que em 19 e 20 de janeiro houve dias de teste e, a partir de 7 de fevereiro, o classificador foi lançado continuamente.

imagem

Em segundo lugar, conseguimos desenvolver um sistema com o qual é confortável se comunicar com o robô. Os exemplos de áudio mais recentes no segundo artigo são uma prova disso.

Conclusões dos três lugares


  1. Lidar com dados e marcação
  2. Entenda os usuários do sistema
  3. Entenda o processo de negócios antes de alterá-lo
  4. Aprenda a testar rapidamente e responder aos resultados

A última conclusão apareceu depois que percebemos quanto tempo gastamos em definir a tarefa para o lançamento real do sistema. Desejo que todos reduzam o ciclo de testes de hipóteses e tragam seu trabalho para produção mais rapidamente.

O que vem a seguir? Nossos planos


Planejamos entender não apenas a primeira frase do cliente, mas também o seguinte, a fim de manter uma conversa e não trazer chamadas "leves" para o operador.

imagem

imagem

imagem

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


All Articles