Cómo analizamos las revisiones de aplicaciones móviles usando el aprendizaje automático

Recientemente, nosotros, el equipo de Data Science Big Data de Sbertech, completamos un piloto interesante en el campo del aprendizaje automático: tratamos de identificar incidentes en el trabajo de Sberbank Online móvil utilizándolo, en base a los textos de comentarios de los usuarios en las tiendas de aplicaciones. Tomamos un conjunto de datos de reseñas de Google Play para el período de octubre de 2014 a octubre de 2017 (882,864 reseñas), filtramos 92,711 negativas (1-2 estrellas) y comenzamos a trabajar. Cuál diremos debajo del corte.



Responderemos de inmediato una posible pregunta. La relación entre retroalimentación positiva y negativa no se relacionó de ninguna manera con incidentes, por lo tanto, se necesitaban métodos más astutos. Además, queríamos identificar los temas de los incidentes.

Para identificar anomalías, elegimos el modelo Arima de promedio móvil integrado autorregresivo.

ARIMA (p, d, q) para la serie temporal no estacionaria Xt tiene la forma:


Donde εt es la serie de tiempo estacionaria; c, ai, bj - parámetros del modelo; △ d es el operador de la diferencia en la serie de tiempo de orden d (tomando secuencialmente las diferencias de las diferencias de primer orden, primero de la serie de tiempo, luego de las diferencias obtenidas del primer orden, luego del segundo orden, etc.).

Entrenamos el modelo a lo largo de la muestra. Para predecir el nivel normal de revisiones negativas para la fecha seleccionada, se utilizó un intervalo de tres meses. La predicción se creó con una semana de anticipación desde la fecha seleccionada, con una discretización de un día.

Luego formó un nivel de confianza. Para hacer esto, el valor calculado del intervalo de confianza se agregó al valor de la función de pronóstico para cada fecha. Se tomó el tercer cuantil de la distribución de todas las desviaciones de la función de predicción del número real de revisiones negativas durante el intervalo de tres meses en el que se basa la predicción de nivel normal.

La anomalía se registró cuando el número real de revisiones negativas excedió el nivel de confianza (valor de pronóstico + intervalo de confianza). Así es como se ve en un gráfico:


El rojo es el número real de comentarios. Color amarillo: el valor predicho del nivel normal con un intervalo de confianza

Para un análisis posterior, se seleccionaron 5 picos distintos, que se produjeron el 27/02/2017, 15/03/2017, 14/09/2017, 18/09/2017, 20/09/2017.

La identificación de incidentes se realizó agrupando textos de revisión con dos modelos basados ​​en BIGARTM y Word2Vec con agrupación Kmeans incorporada.

Biblioteca BIGARTM (modelo temático)


El modelo temático es una representación de la distribución condicional observada p (w | d) de términos (palabras o frases) w en documentos d de la colección D :


donde T es una variedad de temas;
- distribución desconocida de términos en el tema t ;
- distribución desconocida de temas en el documento d .

Parámetros del modelo temático - matriz y - se encuentran resolviendo el problema de maximizar la probabilidad:



La principal ventaja sobre otros modelos probabilísticos es la disponibilidad de regularizadores para suavizar, adelgazar, descorrelar.

Modelo con Word2Vec


El modelo que usa Word2Vec se basa en álgebra tensorial. Debajo se compiló un diccionario de todas las palabras en las revisiones. La representación vectorial de las palabras de Word2Vec se ha convertido en el espacio base para los clústeres.

El algoritmo es tal que busca minimizar la desviación cuadrática total de los puntos de los grupos desde los centros de estos grupos:


k es el número de grupos, S i son los grupos resultantes, i = 1.2 ... k , y μ i son los centros de masa de todos los vectores x del grupo S i . Ahora veamos los resultados de los modelos en ejemplos específicos.

El período anormal con un pico 15/03/2017


BIGARTM :
Número de grupo
Etiquetas
Ejemplos de revisión de clúster
(vocabulario fuente)
1
error de trabajo de la cuenta de operación de la versión de actualización no se puede instalar, eliminar, transferir, devolver

“La versión anterior no funciona. No necesito una actualización ¡No hay espacio en el teléfono! ¡Devuelva la oportunidad de usar la versión anterior! "

"No puedo instalar la aplicación en absoluto, hay suficiente memoria en el teléfono, más del 50%, pero la aplicación tercamente escribe que no hay forma de instalar, ¡error 24! ¡Corrija el error, lo usé antes, realmente me gustó! ”

“Después de la actualización, ¡dejó de funcionar! Aparece una ventana con el mensaje: "" Se produjo un error en la aplicación ““ Sberbank „“ "y adiós. ¡Maldita actualización! Antes de la actualización, todo funcionó bien, completamente satisfecho. ¡Y en el camino, no tengo una mierda así! "
2
la conexión para ir a escribir al trabajo no puede memoria no puede volar constantemente horriblemente eliminar el problema

"No puedo ingresar a la Aplicación, ingreso el código, escribe, ¡no puedo restablecer la conexión segura! que estas haciendo? ¡O eso obligas a ser actualizado! ¡Estaba contento con la vieja actualización! ¡Resuelve el problema!

“¿Qué has hecho con un gran programa? Revelado y arrepentido. Cada 2 minutos, aparece una ventana con el texto "" se interrumpe la conexión a Sberbank "". Decidí quitar y reinstalar. Ahora no se abre en absoluto. Inmediatamente lo tira del programa. Chicos, regresen la versión anterior »
3
sms not_para venir en la tarjeta de código que necesita gracias not_work input not_may ser capaz de volar

"SMS no llega al teléfono con una contraseña"

"No se registra, escribe que los SMS vendrán con el código y nada ..."

“Después de la actualización, aparece un SMS sobre el ingreso, pero el umbral se desvanece después de 4 segundos. ¿Cómo ser?

Word2Vec + K significa:
Número de grupo
Etiquetas
Ejemplos de revisión de clúster
(vocabulario fuente)
1
actualizar conexión iniciar sesión usar actualizar
"No puedo ingresar a la Aplicación, ingreso el código, escribe, ¡no puedo restablecer la conexión segura! que estas haciendo? ¡O eso obligas a ser actualizado! ¡Estaba contento con la vieja actualización! ¡Resuelve el problema!

“La conexión está interrumpida, conéctese a otra red; esto es lo que veo con mayor frecuencia cuando quiero ingresar a la aplicación. Siempre pongo actualizaciones de inmediato cuando salen. Si tienes éxito, todo funciona bien ".

2
sms ven entrada de entrada de teléfono
“Después de la actualización, aparece un SMS sobre el ingreso, pero el umbral se desvanece después de 4 segundos. ¿Cómo ser?

"SMS no llega al teléfono con una contraseña"

"Al registrarse, los SMS no vienen con un código ..."

"No es posible ingresar. El código de SMS no llega. Corrija todo antes".

Bigartm
Word2Vec + Kmeans


  • Solo 194 opiniones.
  • Identificado 3 grupos.

Problemas identificados durante la agrupación:

  • Problema de rendimiento de la aplicación relacionado con la actualización de la versión.
  • El problema de la aplicación está relacionado con la conexión con Sberbank.
  • El problema de enviar SMS al usuario con el código.

  • Solo 190 opiniones.
  • 2 grupos identificados.

Problemas identificados durante la agrupación:

  • Problema de inicio de sesión con conexión y actualización de versión.
  • El problema de enviar SMS al usuario con el código.


Como puede ver en los resultados, BIGARTM resalta los temas más claramente que Word2Vec + Kmeans. Para el modelo Word2Vec + Kmeans, no se tuvieron en cuenta las breves revisiones no informativas con palabras que no tenían una representación vectorial (palabras con errores, blasfemias, etc.).

Curiosamente, durante este período, los incidentes en el sistema interno de ServiceDesk no se clasificaron de acuerdo con el problema de actualización de la versión y se manejaron por separado. Esto significa que en este caso, el modelo hizo frente a la tarea mejor que una persona.

Reconocimiento temprano


Y aquí hay un ejemplo que demuestra la capacidad de nuestro modelo para trabajar de manera proactiva. 18/09/2017 se registró un problema masivo en ServiceDesk relacionado con la imposibilidad de ingresar a la aplicación y realizar pagos para algunos usuarios. En el gráfico de Arima, vemos un fuerte aumento de las críticas negativas en esta fecha, así como un ligero estallido cuatro días antes.



Analizamos estos dos valores atípicos.

14 de septiembre de 2017:
Bigartm
Word2Vec + Kmeans


  • Solo 243 opiniones.
  • Identificado 3 grupos.

Problemas identificados durante la agrupación:

  • El problema con la transferencia de fondos. El problema con la interfaz.
  • El problema al ingresar a la aplicación después de la actualización.
  • Problema al iniciar sesión en la aplicación. El usuario no está satisfecho con la política de privacidad.

  • Solo 171 opiniones.
  • 1 grupo identificado.

El problema identificado durante la agrupación:

  • El problema de trabajar en la aplicación después de la actualización. El usuario no está satisfecho con la política de privacidad, también hay un problema con la transferencia de fondos.


18 de septiembre de 2017:
Bigartm
Word2Vec + Kmeans


  • Solo 935 opiniones.
  • Identificado 3 grupos.

Problemas identificados durante la agrupación:

  • El problema al ingresar a la aplicación después de actualizar la versión. La aplicación le da al usuario un mensaje sobre la versión obsoleta.
  • Problema al iniciar sesión en la aplicación. El usuario ingresa la contraseña varias veces, la aplicación se congela.
  • Problema de rendimiento de la aplicación relacionado con el antivirus incorporado.

  • Solo 828 opiniones.
  • 1 grupo identificado.


El problema identificado durante la agrupación:
  • El problema con ingresar una contraseña e ingresar a la aplicación. Error al actualizar la versión.


Y así es como estos resultados se comparan con los datos de ServiceDesk.
Fecha de anomalía detectada
Problema reportado en SM
Determinar la naturaleza del problema usando
Bigartm
Determinar la naturaleza del problema usando
Word2Vec + Kmeans
2017-09-14
00:00 - 24:00

Después de actualizar la aplicación, se formó un mayor fondo de llamadas de aplicaciones actualizadas.
El problema con la transferencia de fondos. El problema con la interfaz.

El problema al ingresar a la aplicación después de la actualización.
Problema al iniciar sesión en la aplicación.

El usuario no está satisfecho con la política de privacidad.
El problema de trabajar en la aplicación después de la actualización. El usuario no está satisfecho con la política de privacidad, también hay un problema con la transferencia de fondos.
2017-09-18
00:00 - 24:00
Entre las 09:23
a las 15:20 hora de Moscú, para algunos de los clientes del Banco, se registró un aumento en el tiempo de entrada y realización de operaciones con Sberbank Online.
Los incidentes prácticamente no tuvieron efecto en el trabajo de los clientes que usan iOS.
Mayor número de llamadas de clientes al centro de contacto del Banco (hasta 1369 llamadas adicionales en 15 minutos).
El problema al ingresar a la aplicación después de actualizar la versión. La aplicación le da al usuario un mensaje sobre la versión obsoleta.

Problema al iniciar sesión en la aplicación. El usuario ingresa la contraseña varias veces, la aplicación se congela.

Problema de rendimiento de la aplicación relacionado con el antivirus incorporado.
El problema con ingresar una contraseña e ingresar a la aplicación. Error al actualizar la versión.

Es obvio que el 18 de septiembre una gran cantidad de críticas negativas de los clientes y llamadas al centro de contacto fue causada por la falta de una reacción adecuada al aumento de antecedentes del 14 de septiembre. Este ejemplo demuestra que el modelo podría ayudar a evitar un problema de masas al reconocerlo en una etapa temprana.

También es interesante que al mismo tiempo, el modelo detectó otro problema (con antivirus incorporado) que no se destacó en el contexto del problema principal. En él falta el registro en ServiceDesk.

Para resumir


El aprendizaje automático hace un buen trabajo al analizar los comentarios de los usuarios. A veces incluso más preciso que el procesamiento manual. Esto ayudará a reducir el tiempo para resolver incidentes de la aplicación móvil y mejorarla.

Quizás tales métodos sean adecuados no solo para identificar incidentes, sino también para analizar comentarios neutrales y positivos para resaltar casos de usuarios prioritarios. Esto ayudará a desarrollar la funcionalidad de la aplicación basada en las preferencias del cliente sin costos adicionales para su recolección y análisis. Pero esta idea aún necesita ser verificada ...

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


All Articles