(Por Ing. Jorge Aballay) La minería de procesos es una disciplina de investigación que aplica técnicas de análisis de datos e inteligencia computacional para extraer conocimiento de los registros de eventos de los sistemas de información. Su objetivo es proporcionar nuevos medios para descubrir, monitorear y mejorar los procesos.
En los últimos años ha venido creciendo a pasos agigantados y en consecuencia se han desarrollado nuevas herramientas de software de minería de procesos, tanto académicas como comerciales.
Este artículo tiene por objetivo proporcionar las bases que sustentan la minería de procesos e identificar los criterios que pueden ser útiles para motivar el uso de las herramientas específicas de esta tecnología.
Introducción
Actualmente, la mayoría de los sistemas de información empresarial almacenan eventos generados durante la operación del sistema en forma de registros estructurados.
Por ejemplo, los sistemas de planificación de recursos empresariales (ERP) registran las transacciones de los usuarios que realizan las operaciones, actualizan documentos, completan formularios, etc.
Los sistemas de gestión de relaciones con clientes (CRM) que registran las interacciones de los clientes de la empresa y en los servicios comerciales de empresa a empresa (B2B) que registran el intercambio de mensajes entre las partes y finalmente inmerso en estas aplicaciones contamos con los sistemas de gestión de flujo de trabajo (WfMS) que registran el inicio y la finalización de las actividades.
Los registros de eventos generados por el sistema suelen ser las unidades de análisis de la minería de procesos lo cual incluye el descubrimiento de procesos, es decir, la extracción de los modelos de procesos reales a partir de los registros de eventos; la comprobación de conformidad, que implica el seguimiento de las desviaciones mediante la comparación de los registros con el modelo existente; y la actualización del modelo, que apunta a la extensión de modelo, a la construcción de modelos de simulación, a la minería organizacional, la predicción de casos y a la generación de recomendaciones basadas en el historial de las transacciones.
A continuación, se exhibe un ejemplo de un log de compras (depurado para esta explicación) de un
sistema ERP.
En la minería de proceso se tiene en cuenta que los datos principales mínimos son:
- el ID del caso,
- los marcadores de tiempo
- la actividad.
Si observamos el caso con el ID 339, veremos que está siguiendo una secuencia de actividades. Cada registro de log se complementa con los recursos utilizados, que en este caso son los usuarios de la aplicación y el rol que cubren para el desarrollo de la tarea. Eventualmente pueden contener otros datos, como por ejemplo valores y cantidades, pero que se utilizan según el análisis a realizar.
Alcances
La minería de procesos tiene como objetivo explotar los datos de eventos de una manera significativa, por ejemplo, para mejorar los procesos hay que proporcionar el comportamiento que permita:
- hallar una solución al flujo de actividades y recomendar acciones de mejora
- encontrar los cuellos de botella, registrar violaciones de políticas, y prevenir problemas.
Las técnicas de minería de procesos pueden extraer conocimiento de los registros de eventos de los sistemas de información. Asumen que los eventos se pueden registrar secuencialmente, de modo que cada evento se refiere a una actividad y está relacionado con un caso específico.
Las técnicas de minería de procesos pueden utilizar información adicional almacenada en los registros de eventos, como el recurso (persona o dispositivo) que inicia o ejecuta el evento, la marca de tiempo del evento y / o elementos de datos grabado con el evento.
El avance de las tecnologías y el uso de Internet de las Cosas (IoT) para la recopilación y transmisión de datos llevó al almacenaje de grandes volúmenes de datos y a una variedad cada vez mayor de tipos de datos, por eso la minería de procesos ha podido adaptarse a la naturaleza de datos de alta variabilidad, facilitando la extracción de conocimientos relacionados al comportamiento de los procesos.
Perspectivas de la minería de procesos
La minería de procesos puede cubrir diferentes perspectivas.
1) La perspectiva del flujo de control está relacionada con el orden de las actividades. El objetivo es encontrar una caracterización de todos los caminos posibles. Normalmente, el resultado se expresa en forma de notación de proceso.
Por ejemplo, Petri net, o la cadena de procesos impulsada por eventos (EPC), o el modelo y notación de procesos de negocio (BPMN), o los diagramas de actividad del lenguaje de modelado unificado (UML).
Si no están familiarizados con la terminología les comento brevemente que una Red de Petri es una representación matemática o gráfica de un sistema a eventos discretos en el cual se puede describir la topología de un sistema, y el lenguaje unificado de modelado (UML) es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema.
Felizmente, no es necesario ser un experto en esas metodologías, dado que los paquetes de software existentes se ocupan de aplicar la inteligencia adecuada para construir los procesos a partir de los registros de eventos.
2) La perspectiva organizacional se centra en la información sobre los recursos, es decir, los actores (por ejemplo, personas, departamentos, roles y sistemas) involucrados y su relación. El objetivo es mostrar la red social o estructurar la organización clasificando a las personas según sus roles y unidades organizativas.
3) La perspectiva del caso se ocupa de las propiedades de los casos donde un caso puede ser caracterizado por su trayectoria en el proceso, por sus actores, o por los valores del correspondiente elemento de datos.
4) La perspectiva del tiempo se centra en el momento y la frecuencia de los eventos. Cuando los eventos tienen marcas de tiempo, es posible encontrar cuellos de botella, monitorear la utilización de recursos, predecir el tiempo de procesamiento restante de los casos en ejecución y medir los niveles de servicio.
A continuación, mostramos la secuencia de procesos construida con un software específico
orientado a la minería de procesos y a partir del registro de eventos presentado previamente.
Tipos de minería de procesos
Los registros de eventos se pueden utilizar para realizar tres tipos de minería de procesos: descubrimiento, conformidad,y mejora.
En el gráfico siguiente se exhibe un mapa de los componentes necesarios para trabajar en la minería de procesos.
I) Descubrimiento
El descubrimiento implica tomar los registros de eventos (logs) y producir un modelo sin usar ninguna otra información a priori. El modelo descubierto es, típicamente, un modelo de proceso como un Petri net, EPC, BPMN o diagrama de actividad UML.
Además, el descubrimiento también puede describir otras perspectivas como una red social de recursos en pleno funcionamiento.
Un ejemplo de técnica de descubrimiento es utilizar algoritmos. Usando un registro de eventos, el algoritmo puede construir una red de Petri net explicando el comportamiento almacenado en el registro. Por ejemplo, dado un registro de eventos que contiene suficientes ejecuciones de un proceso, el algoritmo puede producir automáticamente una red de Petri, sin utilizar conocimientos adicionales o si un registro de eventos contiene datos sobre recursos, los algoritmos se pueden utilizar para producir modelos relacionados con los recursos, por ejemplo, una red social u organizativa.
II) Conformidad
Las técnicas de verificación de la conformidad utilizan, como entrada, un registro de eventos y un modelo.
La salida se compone de información de diagnóstico que muestra puntos en común y diferencias entre el registro de eventos y el modelo. La verificación de conformidad se puede utilizar para mostrar si la realidad, registrada en el registro de eventos se ajusta al modelo y viceversa.
En particular, la verificación de conformidad puede ser útil para localizar, detectar y explicar desviaciones y evaluar la gravedad de las desviaciones detectadas. Un ejemplo es un algoritmo de verificación de conformidad que, tomando un registro de eventos y el modelo correspondiente como entrada, el algoritmo pueda diagnosticar y cuantificar las desviaciones.
III) Mejora
Las técnicas de mejora del modelo utilizan como entrada, un registro de eventos y un modelo. La salida es un modelo ampliado o mejorado.
La mejora utiliza información del registro de eventos de los procesos, para orientar la mejora o la ampliación del modelo existente.
Un tipo de mejora es la reparación o actualización, es decir, modificar el modelo de proceso para reflejar la realidad de una mejor manera.
Si, por ejemplo, se muestra que dos actividades en un modelo suceden secuencialmente, mientras que en realidad pueden suceder en cualquier orden, entonces el modelo de proceso se puede modificar para mostrar esta situación.
Otro tipo de mejora es la extensión, es decir, para correlacionar el evento log con el modelo de proceso y agregar nuevas perspectivas al modelo de proceso. Por ejemplo, un modelo de proceso se puede ampliar con datos de rendimiento.
Usando marcas de tiempo en eventos, un modelo de proceso se puede ampliar para mostrar, cuellos de botella, frecuencias, tiempos de procesamiento, información sobre recursos, métricas de calidad, niveles de servicio y reglas de decisiones.
Conclusiones:
El avance en el desarrollo de paquetes de software de minería de procesos se ha visto reforzada por la aplicación de las técnicas derivadas de la Inteligencia Artificial y una de sus ramas más prosperas como el Aprendizaje Automatizado (Machine Learning).
A futuro, hablaremos de cómo se integran las grandes disciplinas de la Ciencia de Datos con el Modelado de Procesos.
Mientras tanto no dejen de prestar atención a los cursos de Modelado de Procesos y Data Analytics ofrecidos por el IEEC.
Autor: Ing Jorge Aballay
Publicaciones: https://ieec.edu.ar/author/jaballay/