Como analisamos as análises de aplicativos para dispositivos móveis usando o aprendizado de máquina

Recentemente, nós, a equipe de Big Data da Data Science da Sbertech, concluímos um piloto interessante no campo de aprendizado de máquina: tentamos identificar incidentes no trabalho do Sberbank Online móvel usando-o, com base nos textos de feedback do usuário nas lojas de aplicativos. Tiramos um conjunto de dados de avaliações do Google Play para o período de outubro de 2014 a outubro de 2017 (882.864 avaliações), filtramos 92.711 negativos (1-2 estrelas) e começamos a trabalhar. Qual deles contaremos sob o corte.



Responderemos imediatamente a uma possível pergunta. A proporção de feedback positivo para negativo acabou por não estar relacionada a incidentes, portanto, métodos mais astutos foram necessários. Além disso, queríamos identificar os tópicos dos incidentes.

Para identificar anomalias, escolhemos o modelo Arima de média móvel integrada autoregressiva.

ARIMA (p, d, q) para a série temporal não estacionária Xt tem a forma:


Onde εt é a série temporal estacionária; c, ai, bj - parâmetros do modelo; △ d é o operador da diferença na série temporal da ordem d (tomando seqüencialmente d diferenças das diferenças de primeira ordem - primeiro da série temporal, depois das diferenças obtidas de primeira ordem e depois da segunda ordem, etc.).

Nós treinamos o modelo em toda a amostra. Para prever o nível normal de análises negativas para a data selecionada, foi utilizado um intervalo de três meses. A previsão foi construída com uma semana de antecedência a partir da data selecionada, com uma discretização de um dia.

Então formou um nível de confiança. Para fazer isso, o valor calculado do intervalo de confiança foi adicionado ao valor da função de previsão para cada data. O terceiro quantil da distribuição de todos os desvios da função de previsão em relação ao número real de revisões negativas durante o intervalo de três meses no qual a previsão de nível normal se baseia foi adotado.

A anomalia foi registrada quando o número real de revisões negativas excedeu o nível de confiança (valor previsto + intervalo de confiança). Aqui está o que parece em um gráfico:


Vermelho é o número real de comentários. Cor amarela - o valor previsto do nível normal com um intervalo de confiança

Para uma análise mais aprofundada, foram selecionados 5 picos distintos, que ocorreram em 27/02/2017, 15/03/2017, 14/09/2017, 18/09/2017, 18/09/2017, 20/09/2017.

A identificação de incidentes foi realizada por meio de textos de revisão em cluster com dois modelos baseados no BIGARTM e Word2Vec com cluster Kmeans interno.

Biblioteca BIGARTM (modelo temático)


O modelo temático é uma representação da distribuição condicional observada p (w | d) de termos (palavras ou frases) w nos documentos d da coleção D :


onde T é uma variedade de tópicos;
- distribuição desconhecida de termos no tópico t ;
- distribuição desconhecida de tópicos no documento d .

Parâmetros do modelo temático - matriz e - são encontrados resolvendo o problema de maximizar a probabilidade:



A principal vantagem sobre outros modelos probabilísticos é a disponibilidade de regularizadores para suavização, desbaste e decorrelação.

Modelo com Word2Vec


O modelo usando o Word2Vec é baseado na álgebra de tensores. Abaixo dele, foi compilado um dicionário de todas as palavras das críticas. A representação vetorial das palavras do Word2Vec se tornou o espaço base para os clusters.

O algoritmo é tal que busca minimizar o desvio quadrático total dos pontos dos clusters em relação aos centros desses clusters:


k é o número de clusters, S i são os clusters resultantes, i = 1,2 ... k , e μ i são os centros de massa de todos os vetores x do cluster S i . Agora vamos ver os resultados dos modelos em exemplos específicos.

O período anormal com um pico 15/03/2017


BIGARTM :
Número do cluster
Tags
Exemplos de Revisão de Cluster
(vocabulário de origem)
1
atualizar versão operação conta trabalho erro não é possível instalar excluir transferência retornar

“A versão antiga não está funcionando. Eu não preciso de uma atualização. Não há espaço no telefone! Retorne a oportunidade de usar a versão antiga !!! "

"Não consigo instalar o aplicativo, há memória suficiente no telefone, mais de 50%, mas o aplicativo grava teimosamente que não há como instalar, erro 24! Corrija o erro, usei antes, gostei muito !!! ”

“Após a atualização, ela parou de funcionar! Uma janela é exibida com a mensagem: "" Ocorreu um erro no aplicativo ““ Sberbank „“ "e adeus. Jerked atualização maldita! Antes da atualização, tudo funcionava bem, completamente satisfeito. E ao longo do caminho, não tenho uma porcaria dessas! "
2
conexão para ir escrever para o trabalho memória incapaz não pode voar constantemente horrivelmente excluir o problema

"Não consigo entrar no aplicativo, digito o código, escreve, não consigo restaurar a conexão segura! o que voce esta fazendo Ou então você força a ser atualizado! Fiquei feliz com a atualização antiga! Resolva o problema! ”

“O que você fez com um ótimo programa? Revelado e arrependido. A cada 2 minutos, uma janela é exibida com o texto "" a conexão com o Sberbank é interrompida "". Eu decidi remover e reinstalar. Agora não abre nada. Lança-o imediatamente para fora do programa. Gente, volte a versão antiga »
3
sms not_para entrar no cartão de código que você precisa obrigado not_work input not_pode ser capaz de voar

"O SMS não chega ao telefone com uma senha"

"Não se registra, escreve que o SMS virá com o código e nada ...."

“Após a atualização, um SMS sobre a entrada é recebido, mas o limite é excedido após 4 segundos. Como ser?

Word2Vec + Kmeans:
Número do cluster
Tags
Exemplos de Revisão de Cluster
(vocabulário de origem)
1
atualizar o log de conexão usar atualização
"Não consigo entrar no aplicativo, digito o código, escreve, não consigo restaurar a conexão segura! o que voce esta fazendo Ou então você força a ser atualizado! Fiquei feliz com a atualização antiga! Resolva o problema! ”

“A conexão está interrompida, conecte-se a outra rede - é o que eu mais vejo quando quero entrar no aplicativo. Eu sempre coloco atualizações imediatamente quando elas saem. Se você tiver sucesso, tudo funciona bem. ”

2
sms vêm entrar telefone login
“Após a atualização, um SMS sobre a entrada é recebido, mas o limite é excedido após 4 segundos. Como ser?

"O SMS não chega ao telefone com uma senha"

"Ao se registrar, o SMS não vem com um código ..."

"Não é possível entrar. O código SMS não vem. Corrija tudo mais cedo."

Bigartm
Word2Vec + Kmeans


  • Apenas 194 avaliações.
  • Identificado 3 clusters.

Problemas identificados durante o armazenamento em cluster:

  • Problema de desempenho do aplicativo relacionado à atualização de versão.
  • O problema do aplicativo relacionado à conexão com o Sberbank.
  • O problema de enviar SMS para o usuário com o código.

  • Apenas 190 avaliações.
  • 2 clusters identificados.

Problemas identificados durante o armazenamento em cluster:

  • Problema de login com conexão e atualização de versão.
  • O problema de enviar SMS para o usuário com o código.


Como você pode ver nos resultados, o BIGARTM destaca temas mais claramente do que o Word2Vec + Kmeans. Para o modelo Word2Vec + Kmeans, revisões breves e pouco informativas com palavras que não tinham representação vetorial (palavras com erros, palavrões etc.) não foram levadas em consideração.

Curiosamente, durante esse período, os incidentes no sistema interno do ServiceDesk não foram classificados de acordo com o problema de atualização da versão e foram tratados separadamente. Isso significa que, nesse caso, o modelo lidou com a tarefa melhor do que uma pessoa.

Reconhecimento precoce


E aqui está um exemplo que demonstra a capacidade do nosso modelo de trabalhar proativamente. 18/09/2017 foi registrado um grande problema no ServiceDesk relacionado à incapacidade de entrar no aplicativo e fazer pagamentos para alguns usuários. No gráfico da Arima, vemos uma forte onda de críticas negativas nessa data, bem como uma pequena explosão quatro dias antes.



Analisamos esses dois valores extremos.

14 de setembro de 2017:
Bigartm
Word2Vec + Kmeans


  • Apenas 243 avaliações.
  • Identificado 3 clusters.

Problemas identificados durante o armazenamento em cluster:

  • O problema com a transferência de fundos. O problema com a interface.
  • O problema ao entrar no aplicativo após a atualização.
  • Problema ao fazer login no aplicativo. O usuário não está satisfeito com a política de privacidade.

  • Apenas 171 avaliações.
  • 1 cluster identificado.

O problema identificado durante o armazenamento em cluster:

  • O problema de trabalhar no aplicativo após a atualização. O usuário não está satisfeito com a política de privacidade, também há um problema com a transferência de fundos.


18 de setembro de 2017:
Bigartm
Word2Vec + Kmeans


  • Apenas 935 comentários.
  • Identificado 3 clusters.

Problemas identificados durante o armazenamento em cluster:

  • O problema ao entrar no aplicativo após atualizar a versão. O aplicativo envia ao usuário uma mensagem sobre a versão obsoleta.
  • Problema ao fazer login no aplicativo. O usuário digita a senha várias vezes, o aplicativo congela.
  • Problema de desempenho do aplicativo relacionado ao antivírus interno.

  • Apenas 828 avaliações.
  • 1 cluster identificado.


O problema identificado durante o armazenamento em cluster:
  • O problema ao inserir uma senha e inserir o aplicativo. Erro ao atualizar a versão.


E aqui está como esses resultados se comparam aos dados do ServiceDesk.
Anomalia na data detectada
Problema relatado no SM
Determinando a natureza do problema usando
Bigartm
Determinando a natureza do problema usando
Word2Vec + Kmeans
14/09/2017
00:00 - 24:00

Após a atualização do aplicativo, um maior background de chamadas de aplicativos atualizados é formado.
O problema com a transferência de fundos. O problema com a interface.

O problema ao entrar no aplicativo após a atualização.
Problema ao fazer login no aplicativo.

O usuário não está satisfeito com a política de privacidade.
O problema de trabalhar no aplicativo após a atualização. O usuário não está satisfeito com a política de privacidade, também há um problema com a transferência de fundos.
18/09/2017
00:00 - 24:00
Entre 09:23
às 15:20, horário de Moscou, para alguns dos clientes do Banco, foi registrado um aumento no tempo de entrada e condução de operações com o Sberbank Online.
Os incidentes praticamente não tiveram efeito no trabalho dos clientes que usam o iOS.
Maior número de chamadas de clientes para o contact center do banco (até 1369 chamadas adicionais em 15 minutos).
O problema ao entrar no aplicativo após atualizar a versão. O aplicativo envia ao usuário uma mensagem sobre a versão obsoleta.

Problema ao fazer login no aplicativo. O usuário digita a senha várias vezes, o aplicativo congela.

Problema de desempenho do aplicativo relacionado ao antivírus interno.
O problema ao inserir uma senha e inserir o aplicativo. Erro ao atualizar a versão.

É óbvio que em 18 de setembro um grande fluxo de críticas negativas de clientes e chamadas para o contact center foi causado pela falta de uma reação adequada ao aumento do histórico de 14 de setembro. Este exemplo demonstra que o modelo pode ajudar a evitar um problema de massa, reconhecendo-o em um estágio inicial.

Também é interessante que, ao mesmo tempo, o modelo detectou outro problema (com antivírus embutido) que não foi destacado no contexto do problema principal. Nele o registro no ServiceDesk está ausente.

Resumir


O aprendizado de máquina faz um bom trabalho ao analisar o feedback do usuário. Às vezes, ainda mais preciso que o processamento manual. Isso ajudará a reduzir o tempo para resolver incidentes do aplicativo móvel e torná-lo melhor.

Talvez esses métodos sejam adequados não apenas para identificar incidentes, mas também para analisar feedback neutro e positivo, a fim de destacar casos prioritários de usuários. Isso ajudará a desenvolver a funcionalidade do aplicativo com base nas preferências do cliente, sem custos adicionais para sua coleta e análise. Mas essa ideia ainda precisa ser verificada ...

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


All Articles