Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
MODELO DE CLASIFICACIÓN DE INCIDENCIAS UTILIZANDO APRENDIZAJE DE MÁQUINA PARA LA EMPRESA SIGMA INGENIERÍA S.A EN LA LÍNEA DE SOPORTE TÉCNICO MARÍA XIMENA ARIAS BARAHONA UNIVERSIDAD AUTÓNOMA DE MANIZALES FACULTAD DE INGENIERÍA MAESTRÍA EN INGENIERÍA MANIZALES 2022 MODELO DE CLASIFICACIÓN DE INCIDENCIAS UTILIZANDO APRENDIZAJE DE MÁQUINA PARA LA EMPRESA SIGMA INGENIERÍA S.A EN LA LÍNEA DE SOPORTE TÉCNICO Autora MARÍA XIMENA ARIAS BARAHONA Proyecto de grado para optar al título de Magíster en Ingeniería Director (a): Ph.D. Reinel Tabares Soto Codirectores: Ph.D. Simón Orozco Arias M.Sc. Juan Camilo Flórez UNIVERSIDAD AUTÓNOMA DE MANIZALES FACULTAD DE INGENIERÍA MAESTRÍA EN INGENIERÍA MANIZALES 2022 iii DEDICATORIA Le dedico todo mi esfuerzo y trabajo entregado para el desarrollo de esta tesis a mi familia, por ser el pilar más importante, por brindarme su amor incondicional y siempre creer en mí. A mi futuro esposo por su paciencia, por su comprensión, por su tiempo, por su apoyo en este proceso, por su amor, por ser tal y como es. iv AGRADECIMIENTOS Expreso mis agradecimientos a Reinel Tabares Soto, director de la tesis de maestría, por su apoyo incondicional, su tiempo y paciencia y su gran virtud de sacarme siempre de callejones sin salida. Agradezco a Simón Orozco Arias y Juan Camilo Flórez, Co-directores de mi tesis, por el tiempo dedicado y sus valiosos aportes al desarrollo del proyecto. Mis más sinceros agradecimientos al ingeniero Harold Brayan Arteaga Arteaga, por su apoyo incondicional en la ejecución de un sinfín de experimentos que permitió la publicación del artículo científico producto de la tesis y sus valiosos aportes al desarrollo de este trabajo. Agradezco a la Universidad Autónoma de Manizales, al programa de Maestría en Ingeniería y todos los docentes por permitirme crecer a nivel académico y permitirme haber llegado hasta este momento tan importante en mi formación profesional. Agradezco al equipo de SIGMA Ingeniería S.A; a Claudia Cuervo, Alejandra Restrepo y Mónica Cifuentes por todo su apoyo durante el proceso y a Mario Andrés Valencia por confiar en mí, por depositar una gran idea en mi mente que logramos hacer realidad y brindarme todo el apoyo para el desarrollo de este proyecto. Gracias a la empresa SIGMA Ingeniería S.A y al Fondo de Becas de Investigación Manizales + Innovadora, creado por la Alcaldía de Manizales y Manizales Campus Universitario que me apoyaron en la financiación de esta tesis. Agradezco a mi familia y a mi prometido por ser la fuente de inspiración y brindarme todo el apoyo durante los momentos más difíciles de este proceso. v RESUMEN La Inteligencia Artificial es uno de los componentes reconocidos por su potencial para transformar radicalmente el modo en el que vivimos actualmente. Hace posible que las máquinas aprendan de la experiencia, se ajusten a nuevas aportaciones y realicen tareas emulando a seres humanos. Esta investigación se centra en el ámbito empresarial y propone el desarrollo de un modelo computacional de clasificación de incidencias utilizando Aprendizaje Automático (ML por sus siglas en inglés) y Procesamiento de Lenguaje Natural (NLP por sus siglas en inglés) enfocado al área de soporte técnico en una empresa de desarrollo de software que actualmente resuelve los requerimientos de los clientes de forma manual. A través de técnicas de ML y NLP aplicadas a los datos de la empresa, es posible conocer la categoría de una solicitud dada por el cliente. Este proceso permite aumentar la satisfacción del cliente al revisar los registros históricos para analizar su comportamiento y proporcionar correctamente el protocolo de solución esperada a las incidencias presentadas. Además, reduce el coste y el tiempo dedicado a la gestión relacional con el consumidor potencial. Este modelo evalúa diferentes técnicas de ML como Máquinas de Vectores de Soporte (SVM por sus siglas en inglés), Árboles Adicionales, Bosques Aleatorios, Regresión Logística, Árboles de Decisión, Análisis Discriminante Lineal, Naïve Bayes y K Vecinos más cercanos. El algoritmo SVM entrega el mayor desempeño, con un 90.47% de exactitud, una precisión de 91.21%, un Recall de 90.47% y un F1-Score de 90.29%, aplicando técnicas de preprocesamiento, balanceo de clases y optimización de hiperparámetros. Palabras clave: Procesamiento del lenguaje natural, Aprendizaje Automático, Servicio al cliente, Clasificación de requerimientos, Clasificación de texto. vi ABSTRACT Artificial Intelligence is one of the components recognized for its potential to transform the way we live today radically. It makes it possible for machines to learn from experience, adjust to new contributions and perform tasks like human beings. The business field is the focus of this research. This paper proposes to implement an incident classification model using Machine Learning (ML) and Natural Language Processing (NLP). The application focuses on the technical support area in a software development company that currently resolves customer requests manually. Through ML and NLP techniques applied to company data, it is possible to know the category of a request given by the client. It increases customer satisfaction by reviewing historical records to analyze their behavior and correctly provide the expected solution to the incidents presented. Also, this practice would reduce the cost and time spent on relationship management with the potential consumer. This work evaluates different Machine Learning models, such as Support Vector Machines (SVM), Extra Trees, Random Forests, Logistic Regression, Decision Trees, Linear Discriminant Analysis, Naïve Bayes y K-Nearest Neighbors. The SVM algorithm demonstrates the highest performance, with 90.47% accuracy, 91.21% precision, 90.47% Recall and 90.29% F1-Score, applying preprocessing, class balancing and hyperparameter optimization techniquess Keywords: Natural language processing, Machine learning, Consumer service, Requests classification, and Text classification. vii TABLA DE CONTENIDO 1 PRESENTACIÓN .................................................................................................... 16 2 ANTECEDENTES ................................................................................................... 18 3 ÁREA PROBLEMÁTICA Y PREGUNTA DE INVESTIGACIÓN ....................... 24 3.1 DESCRIPCIÓN DEL ÁREA PROBLEMÁTICA ................................................... 24 3.2 HIPÓTESIS DE LA INVESTIGACIÓN .................................................................. 26 3.3 FORMULACIÓN DEL PROBLEMA ..................................................................... 26 4 JUSTIFICACIÓN ..................................................................................................... 26 5 REFERENTE TEÓRICO ......................................................................................... 30 5.1 REFERENTE CONCEPTUAL ................................................................................ 30 5.2 REFERENTE NORMATIVO .................................................................................. 47 5.3 REFERENTE CONTEXTUAL ................................................................................ 48 6 OBJETIVOS ............................................................................................................. 52 6.1 OBJETIVO GENERAL ............................................................................................ 52 6.2 OBJETIVOS ESPECÍFICOS ................................................................................... 52 7 METODOLOGÍA ..................................................................................................... 53 7.1 ENFOQUE Y TIPO DE INVESTIGACIÓN ...........................................................53 7.2 DISEÑO DE LA INVESTIGACIÓN ....................................................................... 53 7.3 UNIDAD DE TRABAJO Y UNIDAD DE ANÁLISIS ........................................... 54 7.4 INSTRUMENTOS DE RECOLECCIÓN, PROCEDIMIENTO Y TÉCNICAS ..... 55 7.5 CARACTERIZACIÓN DE LA INFORMACIÓN BRINDADA DESDE TIMEWORK PARA PREPARAR LA LÍNEA BASE DE PRUEBA DE LOS viii MODELOS COMPUTACIONALES PROPUESTOS PARA ESTE TRABAJO. .. 56 7.6 EVALUACIÓN DEL DESEMPEÑO DE LAS DIFERENTES TÉCNICAS DE APRENDIZAJE DE MÁQUINA APLICADAS AL PROCESAMIENTO DE TEXTO A PARTIR DE MODELOS DE REFERENCIA VALIDADOS BASADOS EN PROCESAMIENTO DE LENGUAJE NATURAL (NLP). .............................. 57 7.7 IMPLEMENTACIÓN DE MODELO COMPUTACIONAL DE APRENDIZAJE DE MÁQUINA PARA LA CLASIFICACIÓN DE LOS TICKETS DE SERVICIO BRINDADOS POR TIMEWORK BASADOS EN TÉCNICAS DE APRENDIZAJE DE MÁQUINA Y PROCESAMIENTO DE LENGUAJE NATURAL. ..................................................................................................... 63 7.8 VALIDACIÓN DEL FUNCIONAMIENTO DEL MODELO COMPUTACIONAL COMPARANDO LOS RESULTADOS OBTENIDOS CON EL JUICIO DE EXPERTOS DE LA ORGANIZACIÓN. ................................................................. 65 8 RESULTADOS ........................................................................................................ 67 8.1 RESULTADO OBJETIVO 1 ................................................................................... 67 8.2 RESULTADO OBJETIVO 2 ................................................................................... 82 8.3 RESULTADO OBJETIVO 3 ................................................................................... 96 8.4 RESULTADO OBJETIVO 4 ................................................................................... 97 9 DISCUSIÓN ........................................................................................................... 104 10 CONCLUSIONES .................................................................................................. 106 11 RECOMENDACIONES ......................................................................................... 108 12 CONTRIBUCIONES ............................................................................................. 110 13 REFERENCIAS ................................................................................................... 111 ix LISTA DE ABREVIATURAS CM: Matriz de Confusión CR: Reporte de clasificación. CV: Validación Cruzada DP: Datos preprocesados DPB: Datos preprocesados y con balanceo DPBO: Datos preprocesados, con balanceo y con optimización de hiperparámetros DT: Árbol de Decisión EDA: Análisis exploratorio de datos ET: Árboles Adicionales IA: Inteligencia Artificial. KNN: K vecinos más cercanos LDA: Análisis discriminante lineal LR: Regresión Logística ML: Machine Learning. NB: Naive Bayes NLP: Procesamiento de lenguaje Natural OD: Datos Originales ODL: Datos Originales Limpios RF: Bosque Aleatorio ROC: curvas característica operativa del receptor SVM: Máquina de vectores de soporte x TC: Clasificación de Texto GLOSARIO TF-IDF: Frecuencia de términos – Frecuencia inversa del documento». Inteligencia Artificial (AI): la AI es un sistema computarizado que exhibe un comportamiento que comúnmente se considera que requiere inteligencia. En términos generales, es la ciencia y la ingeniería de hacer máquinas inteligentes, especialmente programas de computadora inteligentes. Está relacionado con la tarea similar de usar computadoras para comprender la inteligencia humana, pero la AI no tiene que limitarse a métodos que son biológicamente observables [1]. Machine Learning (ML): el ML o Aprendizaje de Máquina es una rama en evolución de los algoritmos computacionales que están diseñados para emular la inteligencia humana aprendiendo del entorno circundante. Las técnicas basadas en el aprendizaje automático se han aplicado con éxito en diversos campos que van desde el reconocimiento de patrones, la visión por computadora, la ingeniería de naves espaciales, las finanzas, el entretenimiento y la biología computacional hasta las aplicaciones biomédicas y médicas [2]. Procesamiento de lenguaje Natural (NLP): el NLP es una rama de la AI que ayuda a las computadoras a entender, interpretar y manipular el lenguaje humano, toma elementos prestados de muchas disciplinas, incluyendo la ciencia de la computación y la lingüística computacional, en su afán por cerrar la brecha entre la comunicación humana y el entendimiento de las computadoras [3]. Timework: herramienta organizacional de SIGMA Ingeniería S.A que permite conocer, gestionar y controlar las solicitudes de los clientes. Geolúmina: consolida y sistematiza a empresas y concesiones de alumbrado, permitiendo dar cumplimiento al reglamento técnico de iluminación y alumbrado público en SIGMA Ingeniería S.A. xi Geoaseo: optimiza el ejercicio de las empresas de aseo en operaciones como rutas, recolección, barrido, entre otras variables en las ciudades y municipios de un país en SIGMA Ingeniería S.A. Geoambiental: herramienta tecnológica basada en información gerencial y geográfica que tiene como fin fortalecer los procesos y procedimientos de las organizaciones que gestionan el medio ambiente en SIGMA Ingeniería S.A. Categoría: clase que resulta de una clasificación de personas o cosas según un criterio o jerarquía Incidencias: requerimientos, solicitudes o eventos presentados en el área de servicio al cliente Exactitud (Accuracy): es la relación entre el número de predicciones correctas y el número total de muestras de entrada [4][5]. Precisión: es una métrica que cuantifica el número de predicciones positivas correctas realizadas [4]. Sensibilidad (Recall): es una métrica que cuantifica el número de predicciones positivas correctas realizadas a partir de todas las predicciones positivas que podrían haberse realizado [4]. Valor-F1 (F1-score): el valor F1 es la media armónica entre precisión y sensibilidad [4][5]. Matriz de confusión (CM): resume el número de predicciones realizadas por un modelo para cada clase y las clases a las que realmente pertenecen esas predicciones. Ayuda a comprender los tipos de errores de predicción que comete un modelo.[5] Informe de clasificación (CR): crea un informe de texto que muestra las principales métricas de clasificación, como precisión, Sensibilidad, Valor-F1 y soporte, este último es el número de ocurrencias de la clase dada en el conjunto de datos [6]. xii Curva ROC: constituye un método estadístico para determinar la exactitud diagnóstica de los datos etiquetados como test, siendo utilizadas con tres propósitos específicos: determinar el punto de corte de una escala continua en el que se alcanza la sensibilidad y especificidad más alta, evaluar la capacidad discriminativa que los datos de test tienen para diferenciar categorías y comparar la capacidad discriminativa de dos o más datos de test categorizados que expresan sus resultados como escalas continuas [7]. Balanceo al mayor o Sobremuestreo: el sobremuestreo se puede realizar aumentando la cantidad de instancias o muestras de clases minoritarias produciendo nuevas instancias o repitiendo algunas de ellas para igualar en cantidad a las clases con mayor cantidad de muestras [8]. Lematización: proceso que reduce la forma de una palabra y halla el lema correspondiente. El lema es la forma que por convenio se acepta como representante de todas las formas flexionadas de una misma palabra, de este modo se reduce el tamaño del conjunto de características inicial y unifica todas las palabras a su raíz o lema [9]. Stop Words: palabras sin significado que se eliminan como una tarea de preproceso [10]. Overffiting: es un problema fundamental en el aprendizaje automático supervisadoque nos impide generalizar perfectamente los modelos para que se ajusten bien a los datos observados en los datos de entrenamiento, así como a los datos no vistos en el conjunto de pruebas [11]. https://es.wikipedia.org/wiki/Lema_(ling%C3%BC%C3%ADstica) xiii LISTA DE TABLAS Tabla 1. Diccionario de Datos ............................................................................................. 56 Tabla 2. Categorías contenidas Timework junto con sus frecuencias ................................. 68 Tabla 3. Medidas estadísticas de las OD a partir del conteo de palabras ............................ 70 Tabla 4. 25 palabras más usadas en el campo de Descripción con “stop words”. ............... 72 Tabla 5. Medidas estadísticas de las ODL a partir del conteo de palabras .......................... 73 Tabla 6. 25 palabras más usadas en el campo de Descripción sin “stop words”. ................ 75 Tabla 7. Diferencia en frecuencia de palabras entre OD y ODL ......................................... 76 Tabla 8. Ejemplo de conteo de palabras para OD y ODL ................................................... 77 Tabla 9. Unigramas/palabras claves por categoría. ............................................................ 78 Tabla 10. Indicadores textuales asignados a las pruebas realizadas .................................... 83 Tabla 11. Comparación de los resultados obtenidos entre los ocho algoritmos ML mediante Hold-out en cada una de las condiciones establecidas. Las entradas en negrilla indican los tres mejores resultados para cada experimento. ................................................. 84 Tabla 12. Comparación de los resultados obtenidos mediante CV entre los ocho algoritmos ML en cada una de las condiciones establecidas. Las entradas en negrilla indican los resultados de los tres mejores algoritmos para cada experimento. ....................................... 95 Tabla 13. Ejemplo de datos de la prueba piloto entregados por Timework ........................ 99 Tabla 14. Comparación de desempeño del modelo computacional implantado en Timework VS la prueba piloto. ............................................................................................................ 102 xiv LISTA DE FIGURAS Figura 1. Proceso para clasificación de texto. ..................................................................... 19 Figura 2. Infografía de la escala de los niveles tecnológicos. ............................................. 30 Figura 3. Estructura básica del DT. ..................................................................................... 33 Figura 4. Estructura básica de un RF. ................................................................................. 34 Figura 5. Concepto de una máquina de vectores de soporte de dos clases. ........................ 37 Figura 6. Proceso de Estemizado ........................................................................................ 41 Figura 7. Proceso de Lematización ..................................................................................... 42 Figura 8. Proceso para balancear al mayor (Sobremuestreo) .............................................. 44 Figura 9. Proceso para balancear al menor (Submuestreo) ................................................. 44 Figura 10. Frecuencia por categoría a partir de bases de datos de Timework..................... 50 Figura 11. Diseño metodológico de la investigación. ......................................................... 53 Figura 12. Proceso de analítica de datos ............................................................................. 55 Figura 13. Técnicas de NLP de pre-procesamiento y modelado. ........................................ 57 Figura 14. Conjunto de experimentos para la aplicación de técnicas de ML ...................... 59 Figura 15. Proceso a llevar a cabo para la clasificación de requerimientos. ....................... 61 Figura 16. Pasos para la implementación del modelo computacional en la empresa.......... 63 Figura 17. Proceso a realizar con el modelo computacional implementado en Timework. 64 Figura 18. Validación de clasificación y predicción por medio del juicio de expertos....... 65 Figura 19. Proceso de validación del modelo computacional ............................................. 66 Figura 20. Gráfico de barras de cantidad de requerimientos por categoría ......................... 69 Figura 21. Histograma de conteo de palabras para OD. ...................................................... 71 Figura 22. Nube de palabras de las OD. .............................................................................. 72 Figura 23. Histograma de conteo de palabras para ODL. ................................................... 73 Figura 24. Nube de palabras de las ODL. ........................................................................... 76 Figura 25. Diferencia en conteo de palabras para OD y ODL ............................................ 77 Figura 26. Nube de palabras para categoría: Saltos de GPS (Descalibrado)....................... 80 Figura 27. Nube de palabras para categoría: Lentitud en visor ........................................... 81 xv Figura 28. Nube de palabras para categoría: Disminucion del desempeño de plataforma.. 82 Figura 29. Reporte de clasificación para el experimento DPBO en SVM. ......................... 85 Figura 30. Matriz de confusión para el experimento DPBO en SVM................................. 86 Figura 31. Curva ROC para el experimento DPBO en SVM. ............................................. 87 Figura 32. Reporte de clasificación para el experimento DPBO en ET. ............................. 88 Figura 33. Matriz de confusión para el experimento DPBO en ET. ................................... 89 Figura 34. Curva ROC para el experimento DPBO en ET. ................................................ 90 Figura 35. Reporte de clasificación para el experimento DPBO en LR. ............................. 91 Figura 36. Matriz de confusión para el experimento DPBO en LR. ................................... 92 Figura 37. Curva ROC para el experimento DPBO en LR. ................................................ 93 Figura 38. Módulo NLP en plataforma Timework. ............................................................. 97 Figura 39. Prueba piloto del modelo computacional implantado en Timework. ................ 98 Figura 40. Tabla de frecuencias de aciertos y desaciertos de la prueba piloto. ................. 101 Figura 41. Porcentajes de aciertos y desaciertos de la prueba piloto en Timework. ......... 102 16 1 PRESENTACIÓN La Inteligencia Artificial (AI) es la ciencia y la ingeniería de la creación de máquinas que presenten capacidades semejantes al ser humano, está relacionada con la tarea similar de usar computadoras para comprender la inteligencia humana [12]. Uno de los campos de énfasis de la AI es el Machine Learning (ML) o Aprendizaje de Máquina que hace referencia al aprendizaje automático de las máquinas; las herramientas que cuentan con esta característica desarrollan soluciones para evolucionar y aprender de los datos con los que trabajan, de este modo, se automatizan procesos sin intervención humana [13]. Algunas de las ventajas de aplicar ML en las empresas son: mejorar el servicio al cliente, analizar preferencias de los clientes, ofrecer productos personalizados de forma automática, mejorar la percepción de la empresa, potenciar la fidelización de clientes y automatizar procesos de rutinas o tareas mecánicas [14],[15]. El presente trabajo tiene como unidad de análisis la empresa SIGMA Ingeniería S.A, una empresa de Manizales enfocada en el desarrollo de Software de georreferenciación y Sistemas de Información Geográfica (SIG) que soportan la gestión pública en Colombia. El objetivo de este proyecto es construir un modelocomputacional basado en aprendizaje de máquina que le permita al área de soporte técnico, la clasificación de incidencias, requerimientos o peticiones de los clientes, con el fin de obtener protocolos para la solución de problemas específicos con un tiempo de respuesta óptimo. Los campos de aplicación que abarca el desarrollo de este modelo computacional son procesamiento de lenguaje natural o NLP por sus siglas en inglés (Natural Language Processing) y técnicas de ML aplicados a la preparación, procesamiento y clasificación de texto. El contenido de este documento inicia con una recopilación de antecedentes basado en estudios de AI aplicado a la clasificación de texto, al NLP y su aplicación en las empresas. Seguido, se encuentra el planteamiento del problema de investigación y su justificación donde se describe la problemática encontrada en la empresa SIGMA Ingeniería S.A que motivó el desarrollo de esta tesis; posteriormente, se presenta el referente conceptual, contextual y legal, seguido de los objetivos y la sección de metodología donde se muestran las diferentes técnicas aplicadas en la investigación y el proceso realizado. Por último, se 17 presentan los resultados obtenidos juntos con su discusión, recomendaciones, contribuciones de la tesis y referencias bibliográficas usadas 18 2 ANTECEDENTES La tecnología no para de revolucionar las industrias y la aparición de tendencias como la AI seguirán transformando los negocios. La causa se reduce a un simple hecho: hasta ahora, la tecnología ha sido creada para ser usada por seres humanos, y con base a ese uso, se desarrollan relaciones, negocios, aplicaciones y soluciones para la sociedad [16]. Los inicios de la AI se remontan a la filosofía, la ficción y la imaginación nacida a mediados de los años 50, gracias al informático John McCarthy y a la ayuda de Marvin Minsky y Claude Shannon [17]. Este concepto, designado en la conferencia de Dartmouth, definía la palabra como la ciencia e ingeniería de “hacer máquinas inteligentes.”, sin embargo, no es hasta la década de los 90 que la AI empieza a adoptarse como lo conocemos hoy en día [18]. Una de las ramas de la AI es el NLP que se encarga de explorar cómo los computadores pueden ser usados para entender y manipular el lenguaje humano, las tareas en el NLP con frecuencia involucran el reconocimiento de voz, la comprensión del lenguaje natural y la generación del mismo [19]. Según Li Deng [20], el NLP es una gama de técnicas computacionales motivadas teóricamente para procesar y comprender textos con el fin de desarrollar aplicaciones prácticas novedosas para facilitar las interacciones entre computadoras y lenguajes humanos. Esta técnica tomó gran importancia porque existe un amplio almacenamiento de información registrada o almacenada en lenguaje natural que podría ser accesible a través de ordenadores. La información se genera constantemente en forma de libros, noticias, informes y artículos científicos. Un sistema que requiere una gran cantidad de información debe poder procesar el lenguaje natural para recuperar gran parte de la información disponible en computadoras [21]. El NLP es un campo en el que se tienen que desarrollar, evaluar o analizar teorías de representación y razonamiento. Todas las dificultades de la AI surgen en el ámbito de resolver "el problema del lenguaje natural" que es tan difícil como resolver "el problema de la AI" porque cualquier campo puede expresarse o representarse en lenguaje natural. 19 A. Masood Khan [22], expone la minería de texto y análisis de texto como términos similares y lo que hacen es relacionar estos dos términos y enfocarlos al NLP, ya que explican que la unión de estas dos técnicas puede permitir comprender la sintaxis (lo que dice la palabra) y la semántica (lo que significa la palabra) a partir de información y datos obtenidos por seres humanos para finalmente estar en la capacidad de llevar a cabo una clasificación como lo es para este caso la clasificación de textos (TC por sus siglas en inglés). Cabe resaltar que algunas de las aplicaciones de AI están basadas en la clasificación automática de texto, la cual puede definirse como una técnica de ML que asigna una instancia determinada a etiquetas predefinidas en función de su contenido [23]. En general, la TC, juega un papel importante en la extracción y resumen de información, la recuperación de texto y la respuesta a preguntas, es así donde [24] toma gran importancia al recomendar diferentes etapas y procesos a llevar a cabo al trabajar con textos; la Figura 1 muestra los procesos recopilados para aplicar a conjuntos de datos textuales: Figura 1. Proceso para clasificación de texto. Adaptado de [24]. La primera sección hace referencia al debido pre-procesamiento a realizar al texto a trabajar, donde se hace importante por un lado aplicar el proceso de Stemming (Estemizado) o Lemmatization (Lematización) ya que ayuda a eliminar palabras mal escritas y a reducir el tamaño inicial de la palabra convirtiéndola a su raíz. Adicionalmente, se recomienda 20 realizar la limpieza de las palabras vacías más conocidas como stop words, ya que son palabras que no aportan significado por sí solas y reducen significativamente la dimensionalidad de los datos e información a procesar. Por otro lado, se realiza el proceso de extracción o transformación de características, que es una técnica de ponderación que utiliza un método estadístico para calcular la importancia de una palabra en todo el corpus de texto en función del número de veces que la palabra aparece [25], puede reducir el efecto de algunas palabras irrelevantes, mientras retiene palabras importantes que afectan todo el texto. Al aplicar estos procesos se puede producir una mejor precisión al aplicar algoritmos de ML. El ML es una rama de la AI y se encarga de estudiar algoritmos y métodos estadísticos que utilizan los sistemas informáticos para realizar de forma eficaz una tarea específica sin utilizar instrucciones explícitas, basándose en patrones e inferencias [26]. Las técnicas de ML que se destacan para resolver tareas de clasificación son: máquinas de vectores de soporte (SVM por sus siglas en inglés), bosques aleatorios (RF por sus siglas en inglés), Regresión logística (LR por sus siglas en inglés), árboles de decisión (DT por sus siglas en inglés), análisis discriminante lineal (LDA por sus siglas en inglés), Naïve Bayes (NB por sus siglas en inglés) y K Vecinos más cercanos (KNN por sus siglas en inglés)[27], [28]. Para problemas de clasificación, específicamente de texto, A. I. Kadhim [29] analiza las diferentes técnicas de aprendizaje automático supervisado como son los clasificadores NB, SVM, KNN y analiza el efecto de cada técnica para clasificar documentos en una o más clases según su contenido. Los resultados muestran que, en términos de precisión, SVM es el mejor algoritmo para todas las pruebas que utilizan reseñas de películas en el conjunto de datos y tiende a ser más precisa que otros métodos, sin embargo, demuestra que las técnicas funcionan de manera diferente dependiendo del texto del conjunto de datos (corto y largo). Por lo que se obtuvo que KNN en general funciona bien en varios algoritmos de clasificación de texto, partiendo de esto, C. Sharpe et al. [30] explica que se deben tener en cuenta diferentes factores al implementar una tarea de clasificación; hay dos grandes categorías de clasificadores: generativos y discriminativos [31]. Los clasificadores generativos incluyen clasificadores bayesianos como Naive Bayes (NB) y los clasificadores 21 discriminativos incluyen las máquinas de soporte de vectores y redes neuronales donde en muchos de los casos los clasificadores discriminativos producen una mejor precisión de clasificación [30], y evidencian que las técnicas de clasificaciónmás populares para problemas de optimización son SVM, RF y NB que están muy influenciados por la calidad de la fuente de datos y las técnicas de representación de características, ya que las características irrelevantes y redundantes de los datos degradan la precisión y el rendimiento del clasificador. En este sentido, a partir de la revisión de literatura, se muestra que SVM ha sido reconocido como uno de los métodos de TC más efectivos [32]–[35]. Esta técnica tiene sólidos fundamentos teóricos y excelentes éxitos empíricos que se han aplicado a tareas como el reconocimiento de dígitos escritos a mano, el reconocimiento de objetos y como se nombró anteriormente, en la clasificación de texto [33], [36], sin embargo, SVM es más complejo, por lo tanto, exige mayores consumos de tiempo y memoria durante la etapa de entrenamiento y la etapa de clasificación [23]. Luego de tener en cuenta la clasificación de textos como se discutió en los estudios anteriores, es fundamental combinarla con la clasificación de textos multi-etiqueta ya que este trabajo contiene una cantidad importante de clases. Wang et al. [37] diseñó un algoritmo basado en razonamiento llamado Multi-Label Reasoner (ML-Reasoner) para la tarea de clasificación multi-label, en este estudio trabaja con técnicas como Convolutional neural network (CNNs), Recurrent Neural Network (RNN), una versión más avanzada de RNN como Long short-term memory (LSTM), Bidirectional Encoder Representations from Transformers (BERT), Binary relevance (BR), Classifier chains (CC), Label Powerset (LP ) y otros algoritmos que han sido adaptados de SVM. [37] muestra los mejores resultados usando la red LSTM con 77.60% de precisión con 54 categorías diferentes en un conjunto de datos. En este punto, vale la pena hablar de los estudios realizados en esta rama enfocados al área de soporte y servicio al cliente en las empresas, es por este motivo que se tiene en cuenta a Y. Xu et al. [38], donde explican que la AI en el contexto del servicio al cliente se encarga 22 de brindar recomendaciones, alternativas y soluciones personalizadas a los mismos. Este trabajo expone un experimento que muestra si los consumidores de un banco prefieren aplicaciones de servicio al cliente en la línea de AI o directamente con humanos. Los resultados muestran que, en el caso de tareas de baja complejidad, los consumidores consideraban que la capacidad de resolución de problemas en la línea de AI era mayor que la del servicio al cliente humano, sin embargo, para tareas de alta complejidad, consideraban que el servicio al cliente humano era superior y era más probable que lo usaran que la línea de IA. De modo que, para aplicar AI en las empresas, el modelo desarrollado debe estar muy bien entrenado y ser capaz de resolver problemas a los clientes tanto de alta como de baja complejidad. Por este motivo, se hace necesario enfocarse en procesos de clasificación y categorización de textos adecuados y acordes a los datos relacionados con los clientes. Por otro lado, M. Raza et al. [39] se centran en la realización de un análisis de las opiniones de clientes relacionadas con los productos Software como Servicio (SaaS). Los autores usaron once enfoques tradicionales de clasificación de aprendizaje automático para lograr esta tarea y probar el rendimiento de cada uno de ellos. Este estudio es importante ya que no solo determinaron los mejores parámetros para cada algoritmo de aprendizaje, sino que también usaron un conjunto de datos desequilibrado en términos de distribución de la muestra por clase, lo cual es de gran utilidad para tener como referencia en los datos a procesar en este trabajo ya que cuentan con las mismas características. Finalmente, se puede hablar de otro tipo de búsquedas de textos como lo expone S. A. Pérez at al. [40] en su trabajo, que tiene como objetivo la implementación de un sistema de clasificación automática de textos de opiniones realizadas por clientes de cierta compañía. Lo que se hizo en este desarrollo fue clasificar las opiniones según categorías establecidas (Pregunta, Sugerencia, Información Usuarios, Otras e Información Empresa), y aplicaron diferentes técnicas de ML en las que incluyeron DT, SVM, KNN y algunas variantes del modelo de NB. A partir de la aplicación de las diferentes técnicas nombradas, para este caso se evidencia que obtuvieron los mejores resultados y mayor porcentaje de eficiencia 23 con el modelo de DT y nuevamente con el método de SVM mediante la representación binaria. Esta revisión de antecedentes ha permitido entender las técnicas supervisadas de ML más comunes enfocadas en la TC, además de encontrar las técnicas que tienden a brindar mayores desempeños para las tareas relacionadas con este problema de clasificación. Se concluye que es de gran importancia realizar procesos de NLP, reducción de características y transformación de características para que los resultados de desempeños obtenidos puedan crecer de manera significativa [41]. Además, se ha podido evidenciar que existen pocos estudios que relacionen técnicas de analítica de datos enfocado en las empresas y clasificación multi-etiqueta que promuevan la mejora continua a partir de soluciones de ML e AI para brindar soluciones de una manera más rápida y eficiente al cliente; uno de los objetivos de mayor importancia del presente trabajo. 24 3 ÁREA PROBLEMÁTICA Y PREGUNTA DE INVESTIGACIÓN 3.1 DESCRIPCIÓN DEL ÁREA PROBLEMÁTICA El desarrollo de la tecnología junto con el gran crecimiento que ha tenido el internet impactó profundamente el desarrollo de diferentes ámbitos en el mundo en que vivimos, estos dos fenómenos trajeron consigo un cambio trascendental donde cada individuo puede recibir y enviar información a través del internet desde cualquier lugar y en cualquier momento, incluso almacenar y manejar esta información. La recopilación de datos ha permitido un gran avance en la tecnología, específicamente en el campo de la AI. En Colombia se han adoptado marcos normativos y éticos vinculantes que respondan de manera directa a la implementación de la AI en el sector público, sin embargo, se debe considerar cómo deben incorporarse estos marcos éticos en el proceso de toma de decisiones en el sector público y el privado [42]. La AI no solo ha permitido posicionar las empresas en mercados internacionales, sino que también ha servido de herramienta para el uso de la tecnología en las empresas. Ante la realidad planteada surge el campo de la ciencia de datos, ya que una de las ramas de la AI se caracteriza por la utilización de herramientas propias del NLP como es el caso del análisis de texto y los sentimientos en las opiniones de los usuarios [43]. En la actualidad, las grandes bases de datos se han convertido en uno de los recursos productivo más importante para las organizaciones; su gestión y procesamiento a través de la ciencia de datos permite la detección de tendencias invisibles o complicadas de detectar por un analista. Esto se traduce en un aumento de la productividad al permitir identificar patrones ineficientes y aplicar las soluciones correspondientes desde el análisis de datos ara mejorar toda la cadena productiva [44]. Si una base de datos se gestiona adecuadamente, la organización obtendrá diferentes ventajas: aumentará su eficacia, realizará los trabajos con mayor rapidez y agilidad, simplificará los procesos, mejorará la protección y seguridad de los datos que se almacenan y maximizará los tiempos y la productividad con efectos en la competitividad a un mayor nivel de la compañía [45]. 25 Para manejar una base de datos textuales apropiadamente mediante AI se requieren de técnicas de NLP para realizar una limpieza adecuada de los datos trabajados y encontrar similitudes e importancias de palabras entre párrafos o cantidades significativasde textos, allí es donde radica el objetivo de vincular el NLP con la AI a partir de técnicas de ML para que sirvan de herramientas conjuntas tanto en el procesamiento de conjuntos de datos textuales como en la clasificación de múltiples categorías. Partiendo de este análisis y pruebas posteriores de funcionamiento, estos resultados de investigación se aplicarán localmente a una empresa colombiana. En este sentido, es la empresa SIGMA Ingeniería S.A donde se aplicaron los conocimientos aprendidos a partir de esta investigación. Esta empresa tiene como punto de partida de su labor, el manejo de datos dentro de los sectores que se abarcan en sus líneas de negocio conocidas como Geolumina, Geoaseo y Geoambiental. Los requerimientos, incidentes y peticiones presentados por parte del cliente son atendidos mediante una herramienta organizacional denominada Timework, que permite conocer, gestionar y controlar las solicitudes de los clientes. Esta herramienta permite registrar los tiempos de las actividades ejecutadas, priorizaciones de los equipos de trabajo, gestión de compromisos, gestión de riesgos y planeación estratégica; adicionalmente, genera datos diarios de todos los equipos de trabajo, con el fin de medir la operación para mejorar la productividad, la eficiencia y desarrollar procesos de mejora continua. En su tiempo de operación de 4 años, la plataforma cuenta con aproximadamente 15.000 datos o tickets de servicio generados por la organización y los equipos de trabajo de soporte técnico. Estos tickets de servicio describen todas las actividades y procedimientos llevados a cabo para la solución de los requerimientos presentados y resultan fundamentales para darle orden a la gestión de procesos internos de la empresa, encontrar patrones y predecir comportamientos. Sin embargo, SIGMA Ingeniería S.A ha identificado por medio de esta herramienta una insatisfacción por parte del cliente debido al incumplimiento del tiempo de respuesta estimado para la solución de requerimientos y solicitudes. Esto se debe a que la empresa no cuenta con bases de datos que almacenen los protocolos establecidos para la solución de los 26 requerimientos presentados por parte del cliente. Por este motivo, se hace necesario contar con un modelo computacional aplicado al ML que permita clasificar todos los requerimientos y peticiones en diferentes categorías. Estas categorías tendrán relación directa con las diferentes solicitudes que puede presentar el cliente y cada categoría brindará los protocolos a seguir para darle una solución satisfactoria en tiempo y en calidad al cliente por parte del área de soporte técnico de la empresa [46]. Este modelo computacional le permitirá al área de soporte técnico encontrar de manera eficiente y rápida la solución que le debe brindar al cliente sin necesidad de escalamientos y reprocesos; que son la causa principal del incumpliendo en los tiempos de solución pactados hacia el cliente y, por consiguiente, la razón directa de su insatisfacción. 3.2 HIPÓTESIS DE LA INVESTIGACIÓN En base a la problemática expuesta surge la siguiente hipótesis: El uso de arquitecturas computacionales basadas en técnicas de ML y NLP será beneficioso para la clasificación de requerimientos de clientes en múltiples categorías para la futura automatización de procesos y protocolos de solución brindados por el área de servicio y soporte técnico en las empresas. 3.3 FORMULACIÓN DEL PROBLEMA Del planteamiento anterior surge la pregunta: • ¿Cómo automatizar la clasificación de múltiples categorías y protocolos de solución del área de servicio y soporte técnico en empresas utilizando técnicas de ML y NLP? 4 JUSTIFICACIÓN La AI es uno de los componentes reconocidos por su potencial para transformar de manera 27 radical la forma como hoy vivimos, pues hace posible que las máquinas aprendan de la experiencia, se ajusten a nuevas aportaciones y realicen tareas como seres humanos [1]. Por lo tanto, empleando estas tecnologías, las computadoras pueden ser entrenadas para realizar tareas específicas y procesar grandes cantidades de información mediante el reconocimiento de patrones en los datos. La IA, tiene un gran potencial para acelerar el progreso de los Objetivos de Desarrollo Sostenible (ODS) [47]. Un equipo de Científicos del Instituto Andaluz de Investigación en Data Science and Computational Intelligence (DaSCI) de la Universidad de Granada (UGR), junto a la compañía Ferrovial y la Real Academia de la Ingeniería (RAI), han realizado un estudio que evidencia cómo la ingeniería y la implantación de soluciones tecnológicas fuertemente ancladas en la AI favorece el progreso de los 17 ODS [48]. Esto, debido a que la AI está optimizando métodos de razonamiento y ejecución más precisos, seguros y eficientes, en diversas tareas y ámbitos, por lo que diferentes organismos internacionales, entre ellos la Organización para la Cooperación y el Desarrollo Económico (OCDE) y la Organización de las Naciones Unidas (ONU) han destacado el papel relevante que estas tecnologías pueden tener para su cumplimiento [49]. El valor social que los datos han creado en los últimos años supone un nuevo uso de la información que se genera mediante servicios tecnológicos, uno de estos servicios es la minería de datos; que es el proceso de hallar anomalías, patrones y correlaciones en grandes conjuntos de datos para predecir resultados [50]. Los beneficios que se obtienen de la minería de datos a partir de la TC y el ML tienen gran importancia en el entorno empresarial altamente competitivo de hoy en día. Todo ello, es debido a que la minería de datos descubre información útil que contribuye a la toma de decisiones tácticas y estratégicas para detectar los datos claves que permite encontrar, atraer y retener a los clientes y reducir el riesgo de perderlos. Así mismo, las empresas pueden mejorar la atención al cliente a partir de la información obtenida, abre nuevas oportunidades de negocios y además, ahorra costes a las empresas [51]. 28 El ML enfocado a las empresas, es un campo de investigación y aplicación prometedor dado que cada vez las organizaciones están más interesadas en aprovechar las grandes cantidades de datos e información del que disponen. Las técnicas de recuperación de la información y de aprendizaje automático facilitan la tarea de extracción de conocimiento, por lo que no solo permite hacer un análisis profundo de todos los datos, sino que a través de los algoritmos desarrollados dota a los ordenadores de la capacidad de identificar patrones que brinden información y conocimiento relevante dentro de las empresas [46]. Esta investigación se centra en organizaciones que quieran valorizar sus datos y tomar decisiones más acertadas, que les permita ser eficientes en los diferentes procesos internos y externos debido a los incrementos en la capacidad, agilidad del procesamiento y análisis de la información. A partir de este desarrollo, se pretende generar la capacidad en las empresas de responder a condiciones cambiantes de la manera más rápida y óptima posible, lo cual es clave en el desarrollo empresarial, mantenimiento y crecimiento de los negocios. El factor de novedad de esta investigación está enfocada al ámbito empresarial, ya que propone implementar un modelo computacional de clasificación en las empresas donde el ML pueda descubrir ideas y patrones ocultos en los datos de la entidad. Esto con el fin de incrementar la satisfacción del cliente a través de la revisión de registros históricos para analizar su comportamiento y brindar correctamente la solución esperada a las incidencias presentadas. Esta práctica reduce el costo y la cantidad de tiempo invertido en la gestión relacional con el consumidor potencial. Este trabajo le pretende dar solución a la dificultad a la que se enfrenta SIGMA IngenieríaS.A, donde por medio de diferentes técnicas de analítica de datos y la correcta implementación del NLP permita al área de soporte técnico interactuar con un modelo computacional que le brinde por un lado la categoría a la que pertenece dicho requerimiento; las cuales están divididas en 41 categorías, por otra parte, que le brinde automáticamente los diferentes protocolos de solución a estos requerimientos con un alto grado de confiabilidad y en tiempos cortos, lo que conlleva a una reducción significativa en el tiempo tomado por el área de soporte técnico en brindar una respuesta y solución al 29 cliente. El uso y aplicación del ML e AI se ha convertido en una herramienta de gran utilidad para los negocios al poder mejorar las operaciones comerciales y el análisis de variables importantes para la organización. Es así como las empresas pueden obtener múltiples beneficios al acceder al ML y convertirlo en un aliado estratégico de los procesos al poder resolver problemas complejos y predecir comportamientos del mercado, de los clientes y de diferentes grupos de interés [46]. 30 5 REFERENTE TEÓRICO 5.1 REFERENTE CONCEPTUAL En esta sección se explican los conceptos más relevantes a tener en cuenta para el desarrollo del trabajo, los términos se presentan en orden lógico de tal manera que se pueda brindar una mejor comprensión entre los conceptos brindados y, un mejor entendimiento del proceso a realizar en la sección de metodología (ver Sección 7.) Nivel TRL: Los Niveles de Madurez de la Tecnología o Technology Readiness Levels (TRLs) han empezado a usarse en las convocatorias como una guía para definir las fases de un proyecto de Investigación y Desarrollo para la creación de innovaciones. El nivel TRL es una medida para describir la madurez de una tecnología. Este concepto surge en la NASA, pero se ha generalizado para ser utilizado en el desarrollo de proyectos de cualquier tipo de industria y no sólo para proyectos espaciales. En concreto, un TRL es una forma aceptada de medir el grado de madurez de una tecnología [52]. La Figura 2 muestra los nueve niveles tecnológicos. Figura 2. Infografía de la escala de los niveles tecnológicos. Adaptado de [53]. 31 Específicamente es al TRL 4 al que pertenece el presente trabajo, el TRL 4 o validación de sistema en un entorno de laboratorio [54], es el primer paso para determinar si los componentes individuales funcionarán juntos como un sistema. El sistema de laboratorio será una combinación de pruebas piloto capaces de ejecutar todas las funciones planteadas dentro del alcance del proyecto para la empresa SIGMA Ingeniería S.A y se espera que el modelo presente pruebas superadas de factibilidad en condiciones de operación y funcionamiento simuladas. Técnicas de ML: En 1956, en una conferencia en la Universidad de Dartmouth, se propuso formalmente el término "inteligencia artificial". Ese momento fue el primer paso en un nuevo tema de estudio de cómo las máquinas aprenden de la experiencia y simulan actividades de inteligencia humana [1]. El desarrollo de la AI ha aportado enormes beneficios económicos y sociales a la humanidad, muchos académicos iniciaron investigaciones relacionadas con AI desde finales del siglo XX donde utilizan computadoras para simular comportamientos humanos inteligentes y entrenan a las computadoras para que aprendan también comportamientos humanos como el análisis y la toma de decisiones [55]. Una de las ramas de la AI basada en la idea de que los sistemas pueden aprender de datos, identificar patrones y tomar decisiones con mínima intervención humana es llamado ML [1]; consiste básicamente en automatizar, mediante distintos algoritmos, la identificación de patrones o tendencias que se “esconden” en los datos, estos distintos algoritmos permiten resolver problemas tanto de clasificación como de agrupamiento y de regresión [56]. Los tipos de implementación de ML pueden clasificarse en diferentes categorías uno de ellos son: Aprendizaje Supervisado: En el aprendizaje supervisado, los algoritmos trabajan con datos “etiquetados”, intentando encontrar una función que, dadas las variables de entrada (input data), les asigne la etiqueta de salida adecuada. El algoritmo se entrena con un “histórico” de datos y así “aprende” a asignar la etiqueta de salida adecuada a un nuevo valor, es decir, predice el valor de salida [57]. 32 Las técnicas de ML que destacan para resolver tareas de clasificación son: SVM, Árboles Adicionales (ET), RF, LR, LDA, NB y KNN [33], [58], [59]. LR. La regresión logística es un proceso de modelado de la probabilidad de que exista una determinada clase o evento. La LR utiliza la función logística para modelar una variable dependiente binaria. Esto se puede aplicar al uso de este modelo con clases o eventos más complejas que involucran más de dos categorías [60][5]. La función logística, representa una curva en forma de “S” que toma cualquier valor numérico real y lo mapea entre valores de 0 y 1 [39] . LR se basa en suposiciones sobre la relación entre las variables dependientes e independientes. La distribución condicional usada en este modelo es una distribución de Bernoulli, ya que la variable dependiente tiene la forma de una variable binaria (presencia o ausencia de deslizamientos) [61]. En el análisis de regresión logística, la relación entre el evento y su dependencia se puede expresar mediante la Ecuación 1. 𝑦 = 1 1+𝑒−𝑧 (1) Donde “z” es cualquier valor numérico que se pretende transformar y mapear entre 0 y 1 y “y” es la probabilidad de ocurrencia de un evento. La LR implica ajustar una ecuación de la siguiente forma (ver Ecuación 2) a los datos. 𝑧 = 𝑏0 + 𝑏1𝑥1 + 𝑏2𝑥2 + ⋯ + 𝑏𝑛𝑥𝑛 (2) donde 𝑏0 es la intersección del modelo, 𝑏𝑖(i = 0, 1, 2, ..., n) son los coeficientes de pendiente del modelo de LR y 𝑥𝑖 (i = 0, 1, 2, ..., n) son las variables independientes. El modelo lineal formado es finalmente una regresión logística de presencia o ausencia de las condiciones presentes (variables dependientes) sobre las condiciones previas a la falla (variables independientes) [61][49] . LDA. El análisis discriminante lineal es un método utilizado para encontrar una combinación lineal de características que separa dos o más clases [62]. La técnica LDA se usa comúnmente para la clasificación de datos y la reducción de dimensionalidad [63][5][64]. Este enfoque trata de encontrar la dirección de proyección en la que datos https://ezuam.autonoma.edu.co:2058/science/article/pii/S0167739X19300196#b49 33 pertenecientes a diferentes clases se separan al máximo. Matemáticamente, trata de encontrar la matriz de proyección o los pesos de los eventos de tal manera que la relación entre la matriz de dispersión entre clases y la matriz de dispersión dentro de las clases proyectadas se maximice. A diferencia de los algoritmos basados en PCA, la técnica LDA considera la pertenencia a clases para la reducción de dimensiones [65]. DT. Modelo de clasificación mediante la construcción de un árbol de decisión, está en la capacidad de realizar clasificaciones multiclase [66]. Este algoritmo predice el valor de una variable objetivo mediante el aprendizaje sucesivo de reglas de decisión simples que se deducen de las bases de datos. Esta estrategia de clasificación se puede describir mediante la Figura 3. Para empezar, el árbol se codifica como una cadena de símbolos de manera que existe una relación única entre la cadena y el árbol de decisión. La cadena se decodifica en la computadora y se configuran punteros para definir la ruta de clasificación adecuada para cada muestra de datos. En general, un árbol de decisión consta de un nodo raíz, varios nodos interiores y varios nodos terminales u hojas. El nodo raíz y los nodos interiores están vinculadosa etapas de decisión y los nodos terminales u hojas representan las clasificaciones finales (ver la Figura 3). En el nodo raíz se encuentra todo el conjunto completo de clases en las que se puede clasificar una muestra. Cada nodo interior consta de un conjunto de clases a clasificar el conjunto de características a utilizar y la regla de decisión para realizar la clasificación y finalmente las hojas cuentan con una clase única que suman la totalidad de las clases a clasificar [5], [67]. Figura 3. Estructura básica del DT. 34 Adaptada de [67] [68]. RF. Este modelo funciona mediante la construcción de una multitud de árboles de decisión, es un método tanto para clasificación como para regresión [69]. RF crea múltiples árboles de decisión y los fusiona para generar una predicción más precisa y estable, la clase resultante es el resultado seleccionado por la mayoría de los árboles de decisión [70] (ver Figura 4). En general, el uso de un clasificador de RF para la clasificación incluye cuatro pasos: 1. Seleccionar muestras aleatorias de un conjunto de datos dado. 2. Construir un árbol de decisión para cada muestra. 3. Obtener un resultado de predicción de cada DT. 4. Seleccionar la predicción con más votos o con más coincidencias entre todos los resultados de los DT como la clasificación final [30]. Figura 4. Estructura básica de un RF. 35 Adaptada de [68]. ET. Este modelo funciona mediante la construcción de una multitud de árboles de decisión como la técnica RF, ET también es un método para clasificación y regresión [69]. La diferencia es que el modelo ET agrega más aleatoriedad al proceso de entrenamiento del modelo mediante el uso de umbrales de decisión aleatorios para cada característica [71] [5]. La mejor división en un nodo interno la encuentra seleccionando al azar un solo umbral de decisión para cada característica y a partir de sus divisiones aleatorias, selecciona la que conduce al mayor aumento en la puntuación utilizada. Un mayor grado de aleatoriedad durante el entrenamiento produce árboles más independientes y, por lo tanto, disminuye aún más la varianza [72]. Sus dos diferencias principales con otros métodos de conjuntos basados en árboles son que divide los nodos internos eligiendo puntos de corte completamente al azar y que utiliza toda la muestra de aprendizaje para hacer crecer todos los árboles. Los resultados de las predicciones de todos los árboles se acumulan para producir la predicción final a partir del campo más votado para problemas de clasificación y el promedio aritmético de los resultados de cada árbol en problemas de regresión [71]. KNN. Es un método de clasificación no paramétrico que se utiliza también para 36 clasificación y regresión. El modelo clasifica las muestras haciendo uso de los datos vecinos. Al evaluar una muestra, el modelo puede asignar pesos a las contribuciones de los vecinos. La elección óptima del valor de k depende en gran medida de los datos, este valor k representa la cantidad de instancias más similares y cercanos a la muestra evaluada: una k más grande suprime los efectos de ruido, pero hace que los límites de clasificación sean menos claros [73] [5]. El algoritmo KNN memoriza y representa todo el conjunto de datos. Las predicciones se realizan calculando la similitud entre una muestra de entrada y cada instancia de entrenamiento [74]. Para clasificar una muestra nueva y además desconocida, KNN calcula la distancia entre la nueva instancia y otras instancias en el espacio de funciones [39], estas distancias se pueden calcular usando diferentes métricas como: Distancia Euclidiana: la distancia euclidiana entre un punto “a” y “b” se calcula como la raíz cuadrada de la suma de sus diferencias al cuadrado en todos los atributos de entrada i (ver Ecuación 3). 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 𝐸𝑢𝑐𝑙𝑖𝑑𝑖𝑎𝑛𝑎 (𝑎, 𝑏) = √∑ (𝑎𝑖 − 𝑏𝑖)2𝑛 𝑖=1 (3) Distancia de Manhattan: la distancia de Manhattan calcula la distancia entre dos puntos o vectores utilizando la suma de su diferencia absoluta. Esta distancia también es conocida como geometría del taxista (ver Ecuación 4). 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 𝑀𝑎𝑛ℎ𝑎𝑡𝑡𝑎𝑛 (𝑎, 𝑏) = ∑ |𝑎𝑖 − 𝑏𝑖| 𝑛 𝑖=1 (4) Distancia de Minkowski: La distancia de Minkowski es la generalización de la distancia euclidiana y de Manhattan como se indica en la Ecuación 5. 𝑀𝑖𝑛𝑘𝑜𝑤𝑠𝑘𝑦 𝐸𝑢𝑐𝑙𝑖𝑑𝑖𝑎𝑛𝑎 (𝑎, 𝑏) = (∑ |𝑎𝑖 − 𝑏𝑖| 𝑝𝑛 𝑖=1 ) 1 𝑝 (5) El valor de p en la distancia de Minkowski puede tomar valores de 1 o 2; si toma un valor de 1 es igual a la distancia de Manhattan y si toma el valor de 2 a la distancia euclidiana [39]. https://ezuam.autonoma.edu.co:2058/topics/computer-science/euclidean-distance https://ezuam.autonoma.edu.co:2058/topics/computer-science/minkowski-distance https://ezuam.autonoma.edu.co:2058/topics/computer-science/generalization 37 El número k de vecinos se selecciona se selecciona con el que tiene la distancia más baja de la nueva instancia. Este método también se aplica a conjuntos de datos con 2 o más número de clases. SVM. La máquina de soporte de vectores resuelve tanto clasificación lineal y no lineal como análisis de regresión. Este modelo funciona mejor para conjuntos de datos pequeños y medianos. La idea fundamental de la clasificación con SVM es separar clases manteniendo el límite de decisión lo más lejos posible de las muestras de entrenamiento más cercanas. [69], [75]. En la Figura 5 se muestra un caso de dos clases con un hiperplano de separación óptimo y un margen máximo. Si las dos clases son linealmente separables, el hiperplano óptimo que separa los datos se puede expresar como la Ecuación 6. 𝑔(𝑥) = 𝑤𝑇 ∗ 𝑥 + 𝑏 = 0 (6) Donde w es un vector normal que es perpendicular al hiperplano y b es el desplazamiento del hiperplano. SVM optimiza w y b para maximizar la distancia entre los hiperplanos paralelos mientras sigue separando los datos. Figura 5. Concepto de una máquina de vectores de soporte de dos clases. 38 Adaptada de [30] El SVM se implementa utilizando diferentes núcleos. El kernel más utilizado para implementar SVM se llama kernel SVM lineal. Además del núcleo lineal SVM, otros núcleos como el núcleo polinomial SVM y el núcleo de función de base radial (RBF), se pueden utilizar en escenarios más complejos de TC. En este trabajo se utiliza el núcleo RBF, al mostrar un mejor rendimiento en los datos que no se pueden separar linealmente en el espacio [30]. Adicionalmente, el SVM no se limita a problemas de clasificación de dos clases, sino que también se puede utilizar para la clasificación de problemas multiclase siendo reconocido como uno de los métodos de TC más eficaces [76], [77], [5]. NB. Este clasificador probabilístico utiliza el teorema de Bayes [78]. El modelo individualiza cada característica de la muestra de la que ninguna muestra será dependiente (suponiendo que la probabilidad de las características sea gaussiana). En otras palabras, cada pieza puede presentar una probabilidad de pertenecer a un grupo específico sin la presencia de las diferentes muestras [5]. De la notación general del teorema de Bayes, la probabilidad de que una muestra de texto x pertenezca una clase c es mostrada en la Ecuación 7. 𝑃(𝑐|𝑥) = 𝑃(𝑐)𝑃(𝑥|𝑐) 𝑃(𝑥) (7) 39 Donde; 𝑃(𝑐|𝑥): es la probabilidad de que una muestra x pertenezca a una clase c 𝑃(𝑐): es la probabilidad de que la clase c sea verdadera. 𝑃(𝑥|𝑐): es la probabilidad de observar que la muestra x pertenece a la clase c (verosimilitud). 𝑃(𝑥): es la probabilidad de la muestra x independientemente de cualquier clase. Para la clasificación de texto multiclase, el clasificador probabilístico creado con el enfoque ingenuo de Bayes da comoresultado la clasificación del texto en función de la presencia de palabras en cada muestra de texto y la asignación a diferentes clases [79],[39]. En otras palabras, Naïve Bayes permite estimar la probabilidad de un suceso a partir de la probabilidad de que ocurra otro suceso, del cual depende el primero [40]. Procesamiento de lenguaje natural (NLP): El NLP es una rama de la AI que ayuda a las computadoras a entender, interpretar y manipular el lenguaje humano, toma elementos prestados de muchas disciplinas, incluyendo la ciencia de la computación y la lingüística computacional, en su afán por cerrar la brecha entre la comunicación humana y el entendimiento de las computadoras [3]. El NLP es el enfoque computarizado para analizar texto que se basa tanto en un conjunto de teorías como en un conjunto de tecnologías, por una parte A. Chopra et al. [80] ofrece la siguiente definición: “El NLP es una gama de técnicas computacionales motivadas teóricamente para analizar y representar textos que ocurren naturalmente en uno o más niveles de análisis lingüístico con el fin de lograr un procesamiento del lenguaje similar al humano para una variedad de tareas o aplicaciones”. Por otro lado, S. Jusoh et al. [81] explica que el NLP es un subcampo de la AI y lingüística, dedicado a hacer que las computadoras comprendan las declaraciones o palabras escritas en lenguajes humanos. 40 Con respecto al área de investigación el NLP es un área de aplicación que explora cómo se pueden utilizar las computadoras para comprender y manipular el texto en lenguaje natural. Los investigadores en esta área tienen como objetivo recopilar conocimientos sobre cómo los seres humanos comprenden y usan el lenguaje de modo que se puedan desarrollar herramientas y técnicas de adaptación para que los sistemas informáticos comprendan y manipulen los lenguajes naturales para realizar tareas determinadas [82]. Los fundamentos de esta técnica se encuentran en varias disciplinas como informática y ciencias de la información, lingüística, matemáticas, ingeniería eléctrica y electrónica, inteligencia artificial y robótica, psicología, etc. Las aplicaciones incluyen una serie de campos de estudio, como traducción automática, procesamiento y resumen de textos en lenguaje natural, interfaces de usuario, multilingües y recuperación de información en varios idiomas, reconocimiento de voz, entre otros. [82]. Técnicas de NLP para pre-procesamiento de texto: Eliminación de Stop Words: El análisis de texto requiere varios pasos de pre-procesamiento para estructurarlo y extraer características [83], para empezar, se debe tener en cuenta que no todas las palabras en un documento pueden usarse para entrenar a un algoritmo de clasificación [10]. Hay palabras irrelevantes como verbos auxiliares, preposiciones, conjunciones y artículos que no brindan significados por sí solos. Estas palabras se denominan stop words, algunos ejemplos de estas palabras son: la, los, arriba, con, cuándo, además, qué, entre otros. Existen listas de dichas palabras [84] que se eliminan como una tarea de preproceso. El motivo por el que se deben eliminar las palabras vacías de un texto es que hacen que el texto parezca más pesado y menos importante para los analistas. La eliminación de las palabras vacías reduce significativamente la dimensionalidad de los datos e información a procesar. Estemizado: El estemizado es una técnica de normalización sencilla, que a menudo se implementa como https://ezproxy.autonoma.edu.co:2065/topics/computer-science/preprocessing-step 41 una serie de reglas que se aplican progresivamente a una palabra para producir una forma normalizada [9]. Este método se utiliza para identificar la raíz de una palabra. Por ejemplo, las palabras conectar, conectado, conectó, conectará, todas pueden derivarse de la raíz "conect". El propósito de este método es eliminar varios sufijos, para reducir el número de palabras, para ahorrar tiempo en el procesamiento y reducir espacio en la memoria. Esto se ilustra en la Figura 6. Algo importante que se debe tener en cuenta acerca del estemizado es que no se requiere que la palabra normalizada sea válida, sino solo que las variaciones de la misma palabra se asignen a la misma raíz, aunque pueda parecer contradictorio, esto no representa un problema. El estemizado se utiliza principalmente para indexar documentos en un motor de búsqueda, por lo que estas raíces, que pueden ser palabras no válidas, solo se procesan internamente para buscar documentos y nunca se muestran al usuario, por lo que, para el caso de este estudio, al tener relación directa con los usuarios es imprescindible conocer también la técnica Lemmatization (Lematización). Figura 6. Proceso de Estemizado Elaboración propia Lematización: Se puede pensar en la lematización como una versión más sofisticada del estemizado ya que no solo reduce la forma de la palabra, sino que además la reduce a su forma base 42 adecuada, donde dada una forma flexionada de la palabra, ya sea en plural, en femenino, conjugada, entre otros (ver Figura 7), halla el lema correspondiente. El lema es la forma que por convenio se acepta como representante de todas las formas flexionadas de una misma palabra, de este modo se reduce el tamaño del conjunto de características inicial y unifica todas las palabras a su raíz o lema [85]. Para hacer esto, los algoritmos de lematización dependen de la disponibilidad de información de la parte del discurso en las palabras de entrada porque es posible que sea necesario aplicar diferentes reglas de normalización, ya sea que la palabra sea un sustantivo, verbo, adjetivo u otro. En resumen, la lematización es casi siempre una mejor opción desde un punto de vista cualitativo. Con los recursos computacionales actuales, la ejecución de algoritmos de lematización no debería tener un impacto significativo en el rendimiento general. Sin embargo, si estamos optimizando la velocidad, un algoritmo de estemizado puede ser una posibilidad. Figura 7. Proceso de Lematización Elaboración propia Extracción de características con TF-IDF: Los datos de texto requieren una preparación especial antes de que se puedan comenzar a usar para el modelado predictivo. Las palabras del texto deben codificarse como números https://es.wikipedia.org/wiki/Flexi%C3%B3n_(ling%C3%BC%C3%ADstica) https://es.wikipedia.org/wiki/Lema_(ling%C3%BC%C3%ADstica) 43 enteros o valores de punto flotante para usar como entrada de un algoritmo de aprendizaje automático, llamado extracción de características o vectorización. La extracción de características TF-IDF es una técnica de ponderación comúnmente utilizada en el procesamiento de información y la minería de datos. Esta técnica utiliza un método estadístico para calcular la importancia de una palabra en todo el corpus en función del número de veces que la palabra aparece en el texto y la frecuencia de los documentos que aparecen en todo el corpus [86]. Su ventaja es que puede filtrar algunas palabras comunes pero irrelevantes, mientras retiene palabras importantes que afectan todo el texto. Los dos componentes principales que afectan la importancia de un término en un documento son el factor de frecuencia de término por sus siglas en inglés Term Frequency (TF) y el factor de frecuencia de documento inverso por sus siglas en inglés Inverse Document Frequency (IDF) [87]. La TF se refiere al número de veces que aparece una palabra clave en todo el corpus y la IDF se utiliza principalmente para reducir el efecto de algunas palabras comunes en todos los documentos que tienen poco efecto en el texto analizado. El valor TF-IDF de una palabra se calcula multiplicando el componente local TF y el componente global IDF, cuanto mayor sea la importancia de una palabra para un artículo, mayor será su valor TF-IDF.Por lo tanto, los primeros valores TF-IDF representan las palabras claves del corpus que se esté trabajando [86]. Balanceo de datos: El desbalanceo de datos en el ML se refiere a una distribución desigual de clases dentro de un conjunto de datos. Este problema se encuentra principalmente en tareas de clasificación en las que la distribución de clases o etiquetas en un conjunto de datos determinado no es uniforme [88]. El método sencillo para resolver este problema es el método de remuestreo agregando registros a la clase minoritaria o eliminando registros de la clase mayoritaria. Cuando un conjunto de datos está desequilibrado es difícil obtener un modelo predictivo significativo y confiable debido a la falta de información para aprender sobre el evento 44 minoritario, por lo tanto, aplicar balanceo de datos implica volver a muestrear para reducir el desequilibrio de clases. Las dos técnicas básicas de muestreo incluyen el sobremuestreo aleatorio o Random Oversampling (ROS) por sus siglas en inglés y el submuestreo aleatorio o Random Undersampling (RUS) por sus siglas en inglés [8]. El sobremuestreo duplica aleatoriamente las muestras de clases minoritarias, mientras que el submuestreo descarta aleatoriamente las muestras de clases mayoritarias para modificar la distribución de clases. Balanceo al mayor o Sobremuestreo: El sobremuestreo se puede realizar aumentando la cantidad de instancias o muestras de clases minoritarias produciendo nuevas instancias o repitiendo algunas de ellas para igualar en cantidad a las clases con mayor cantidad de muestras (ver Figura 8). Figura 8. Proceso para balancear al mayor (Sobremuestreo) Elaboración propia Balanceo al menor o Submuestreo: El submuestreo es el proceso de disminuir la cantidad de instancias o muestras objetivo de las clases mayoritarias con el fin de tener una misma cantidad de datos entre todas las clases a analizar y conseguir el balanceo entre categorías (ver Figura 9). Figura 9. Proceso para balancear al menor (Submuestreo) 45 Elaboración propia Métricas: Evaluar algoritmos de aprendizaje automático es una parte esencial de cualquier proyecto, ya que el modelo puede brindar resultados satisfactorios cuando se evalúa con una métrica, pero puede dar resultados deficientes cuando se evalúa con otras métricas. La métrica más común utilizada es llamada Accuracy para medir el rendimiento del modelo desarrollado, sin embargo, no es suficiente para juzgar realmente el modelo. A continuación, se explican unas de las métricas utilizadas para la evaluación de desempeño de los algoritmos de ML según [6] y [89], para esto, es importante entender el significado de los siguientes cuatro términos también brindados por [6]: - Verdaderos positivos (TP, por sus siglas en inglés): los casos en los que se predijo SÍ y la salida real también era SÍ. - Verdaderos negativos (TN, por sus siglas en inglés): los casos en los que se predijo NO y la salida real era NO. - Falsos positivos (FP, por sus siglas en inglés): los casos en los que se predijo SÍ y la salida real era NO. - Falsos negativos (FN, por sus siglas en inglés): los casos en los que se predijo NO y la salida real era SÍ. 46 Exactitud (Accuracy): es la relación entre el número de predicciones correctas y el número total de muestras de entrada (ver Ecuación 8). 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃+𝑇𝑁 𝑇𝑃+𝑇𝑁+𝐹𝑃+𝐹𝑁 (8) Precisión: es una métrica que cuantifica el número de predicciones positivas correctas realizadas. Se calcula como la proporción de verdaderos positivos predichos correctamente dividida por el número total de verdaderos y falsos positivos predichos (ver Ecuación 9). 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃 𝑇𝑃+𝐹𝑃 (9) Sensibilidad (Recall): es una métrica que cuantifica el número de predicciones positivas correctas realizadas a partir de todas las predicciones positivas que podrían haberse realizado. Se calcula como la proporción de verdaderos positivos predichos correctamente dividida por el número total de verdaderos positivos y falsos negativos que podrían predecirse (ver Ecuación 10). 𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃 𝑇𝑃+𝐹𝑁 (10) Valor-F1 (F1-score): La puntuación F1 es la media armónica entre precisión y sensibilidad. El rango de la puntuación F1 es [0, 1]. Le dice cuán preciso es su clasificador (cuántas instancias clasifica correctamente), así como cuán robusto es (no pierde una cantidad significativa de instancias). Cuanto mayor sea el F1 Score, mejor será el rendimiento de nuestro modelo. Matemáticamente, se puede expresar como la Ecuación 11. 𝐹1 − 𝑆𝑐𝑜𝑟𝑒 = 2 × 1 1 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 1 𝑟𝑒𝑐𝑎𝑙𝑙 (11) Matriz de confusión (CM): Una matriz de confusión resume el número de predicciones realizadas por un modelo para cada clase y las clases a las que realmente pertenecen esas predicciones. Ayuda a comprender los tipos de errores de predicción que comete un modelo. 47 Reporte de clasificación (CR): crea un reporte de texto que muestra las principales métricas de clasificación, como precisión, Sensibilidad, Valor-F1 y soporte, este último es el número de ocurrencias de la clase dada en el conjunto de datos [4], [5]. Curva ROC: El análisis de curvas ROC por sus siglas en inglés Receiver Operating Characteristic curve o Característica Operativa del Receptor constituye un método estadístico para determinar la exactitud diagnóstica de los datos etiquetados como test, siendo utilizadas con tres propósitos específicos: determinar el punto de corte de una escala continua en el que se alcanza la sensibilidad y especificidad más alta, evaluar la capacidad discriminativa que los datos de test tienen para diferenciar categorías y comparar la capacidad discriminativa de dos o más datos de test categorizados que expresan sus resultados como escalas continuas [7]. En las curvas ROC, nos interesa que la curva se acerque lo máximo posible a la esquina superior izquierda de la gráfica, de manera que el hecho de aumentar la sensibilidad (Recall) no haga que nuestro modelo introduzca más falsos positivos. 5.2 REFERENTE NORMATIVO A través de la Ley 1581 de 2012 y el Decreto 1377 de 2013, se desarrolla el derecho constitucional que tienen todas las personas a conocer, suprimir, actualizar y rectificar todo tipo de datos personales recolectados, almacenados o que hayan sido objeto de tratamiento en bases de datos en las entidades del públicas y privadas [90]. Se requiere que se cumpla con todo el marco legal de Habeas Data; recurso de agravio constitucional que protege dos derechos fundamentales: el derecho a la información y la autodeterminación informativa o protección de datos personales; ambos, forman parte del ámbito de los derechos humanos, reconocidos y protegidos por los Tratados Internacionales y las Cartas Constitucionales de los diferentes países en los que impera el estado de derecho [91]. SIGMA Ingeniería S.A está certificada bajo modelos internacionales de calidad CMMI- 48 DEV nivel 3 que supone el reconocimiento a los altos niveles de calidad y exigencia los desarrollos y productos de hardware y software de la empresa, además, cuenta con certificaciones como el ISO27000 que garantiza las buenas prácticas para el establecimiento, implementación, mantenimiento y mejora de Sistemas de Gestión de la Seguridad de la Información. Por lo tanto, requiere de permisos legales por parte de la empresa para hacer uso de los datos con los que posee; que son imprescindibles para el desarrollo y estudio del presente trabajo. 5.3 REFERENTE CONTEXTUAL SIGMA Ingeniería S.A es una empresa de Manizales enfocada en el desarrollo de Software de georreferenciación y Sistemas de Información Geográfica para la gestión pública en Colombia de los sectores energético, sanitario y ambiental. La empresa
Compartir