El uso del aprendizaje automático para analizar una gran cantidad de comentarios de los encuestados

Cualquier empresa moderna se preocupa por su reputación. Frases: "Su opinión es muy importante para nosotros" o "Califique su compra", "¿Recomendaría nuestra empresa?" literalmente nos persigue a cada paso en los sitios de tiendas, clínicas e incluso servicios públicos. Las agencias gubernamentales junto con otras compañías se han interesado en evaluar su trabajo y también están prestando atención a esto. Las instituciones médicas no renovarán contratos con especialistas que hayan sido negativos durante mucho tiempo. Los proveedores de servicios intentan monitorear constantemente la reacción de los consumidores a los bienes y servicios para hacer que su servicio sea más accesible y de calidad, y por lo tanto competitivo. La opinión ayuda a otros consumidores a tener una idea de la institución, institución, producto o servicio antes de que se compre y, por lo tanto, evitar errores de compra. Las grandes empresas sin falta contienen en sus estructuras de personal para combatir la salida de clientes, departamentos de relaciones públicas, en el que el factor clave es la respuesta oportuna a las solicitudes de los consumidores. ¿Cómo construir el trabajo de tales estructuras sin aumentar los costos y aumentar su velocidad de respuesta? Como ejemplo, consideremos el uso del aprendizaje automático para el análisis operativo de un gran número de respuestas de los encuestados.



Multilingüismo



Para comenzar, considere un ejemplo que demuestre las características del enfoque moderno UX / UI para el desarrollo de la interfaz de usuario. Supongamos que usted es el propietario de una empresa de servicios multinacionales en todo el mundo.



Después de cada compra, le pide a sus clientes que dejen comentarios sobre su producto. Técnicamente, su software actual está organizado de tal manera que no importa en qué idioma los usuarios dejen comentarios, caen indiscriminadamente en el "sótano" del producto. El problema surge de cómo determinar en qué idioma se deja una revisión, cuál es su tonalidad y, en el mejor de los casos, traducirla a varios idiomas y demostrar una traducción adecuada de todas las revisiones para el usuario actual en su idioma nativo, independientemente del idioma original.
Si contacta a su desarrollador ahora, lo más probable es que se le ofrezca una opción en la que la tarea de elegir el idioma se asignará a los hombros del usuario. Probablemente se verá así



Se le pedirá al usuario que seleccione un idioma de una larga lista, y a veces los idiomas se enumeran sin traducción, lo que a su vez lo confunde. Se ve algo como esto



Basado en el hecho de que la mayoría de los usuarios hablan dos idiomas, solo dos líneas serán entendibles para ellos, de hecho, la elección se convierte en "tortura".

Otro enfoque no menos común que pueden ofrecerle es la definición de una región por dirección IP y, como resultado, el idioma común más probable. Las condiciones de la globalización moderna no son el mejor enfoque, para indicar sus deficiencias, es suficiente tener en cuenta la importancia del software moderno en relación con la región de su ubicación, solo los residentes de Moscú tuvieron suerte en este sentido, lo más probable es que su región siempre se determine correctamente.

Aprendizaje automático



Una de las formas elegantes de resolver estos problemas puede ser el aprendizaje automático. Actualmente, esto ni siquiera necesita ser profundamente competente en matemáticas. Por ejemplo, solo use el Servicio Cognitivo MS Azure



que mediante la frase ingresada permitirá determinar una serie de indicadores del texto ingresado, incluido el idioma, las frases clave y su tonalidad. Para el caso en consideración, esto proporciona la siguiente simplificación de la interfaz



Ya no necesita solicitar el idioma de entrada y la calificación del usuario; estos hechos se siguen automáticamente. Después de eso, la tarea de distribuir llamadas a sucursales regionales, así como monitorear la salida de clientes se simplifica enormemente



Una parte importante del esfuerzo se traslada del usuario y los empleados a una máquina que no se cansa, funciona rápidamente y está mucho menos equivocada en aspectos mecánicos.



Servicio cognitivo



En primer lugar, debe conectarse al servicio cognitivo MS Azure y obtener acceso a una API que analiza el texto dado y devuelve sus características. Este proceso no es complicado y será discutido con más detalle en un artículo separado.



Hay dos formas de acceder a la API mediante una solicitud HTTP y un cliente. En particular, para .net necesita conectar el paquete


llame a API más
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://northeurope.api.cognitive.microsoft.com/text/analytics/v2.0/languages"); httpWebRequest.Method = "POST"; httpWebRequest.Headers.Add("Content-Type:application/json"); httpWebRequest.Headers.Add("Ocp-Apim-Subscription-Key:61..."); var documents = new Documents(); documents.Add(new Document(Description)); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { string json = JsonConvert.SerializeObject(documents); streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } 

y analizar la respuesta recibida

 var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); String response; using (var streamReader = new StreamReader(httpResponse.GetResponseStream(), Encoding.UTF8)) { response = streamReader.ReadToEnd(); } var result = JsonConvert.DeserializeObject<DocumentsResult>(response); var doc = result.documents[0].detectedLanguages[0]; 

Si escribimos los datos recibidos en la base de datos, obtenemos lo siguiente


(Se agrega un ejemplo después de que un usuario comente un artículo)


Análisis de resultados



Analizaremos los resultados, para esto construiremos varios informes utilizando el paquete de software FastReport que tiene una versión de código abierto en su entrega.

youtu.be/Tyu7v24zer0

Active la ordenación por tonalidad (1 positivo, 0 negativo), obtenemos críticas positivas agrupadas en la parte superior y críticas negativas agrupadas en la parte inferior.

youtu.be/HbuXMuDZFmo

Si es necesario, puede agrupar las revisiones por idioma y enviar informes relevantes a las unidades regionales

youtu.be/YF8RG3g5FRs

Conclusión



Las nuevas tecnologías no solo mejoran significativamente la interfaz de usuario, sino que también optimizan el trabajo de los empleados y reducen los costos de desarrollo. Rechace modificaciones costosas al software existente. Las perspectivas de aprendizaje automático en el futuro cercano mejorarán significativamente la calidad del software y la satisfacción del usuario. El uso de soluciones de informes fácilmente implementadas permitirá que más usuarios accedan a los datos sin una gran programación.

Referencias



github.com/ufocombat/Languages-open
azure.microsoft.com/en-us/services/cognitive-services/text-analytics
www.fast-report.com/en
youtu.be/Tyu7v24zer0
youtu.be/HbuXMuDZFmo
youtu.be/YF8RG3g5FRs

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


All Articles