miércoles, 1 de mayo de 2019

La esencia del Process Mining


Si exceptuamos todo lo que tiene que ver con las tecnologías de automatización, probablemente el process mining sea el concepto más actual y puntero que nos podamos encontrar en materia de BPM, 'Business Process Management'.

Para entenderlo mejor, me encuentro leyendo poco a poco la que probablemente sea la fuente más autorizada al respecto, el libro 'Process Mining. Data Science in action' de Wil van der Aalst. Se trata de un libro muy serio, muy bien organizado y muy riguroso, aunque no del todo sencillo de leer, por el gran uso de notación algebráica que el autor emplea, probablemente en busca de ese rigor y de la capacidad de tratamiento matemático y algorítmico.

No es demasiado sencillo, por tanto, entresacar mensajes nítidos y atractivos que traer a colación a este blog. Sin embargo, y para el lector que no conozca en exceso lo que es Process Mining, pero tenga interés en ello, me ha parecido interesante contar el workflow que el autor aporta y que se resume en la siguiente figura (NOTA: la propiedad intelectual de la imagen corresponde al autor del libro, Will van der Aalst, y a la editorial, Springer):


Con base en este figura, no resulta demasiado difícil entender el flujo que sigue el process mining y, de paso, su esencia:

  • Process Mining no deja de ser una forma de Data Mining y, por tanto, trabaja sobre datos. Esos datos provienen de diversas fuentes ('data sources'), normalmente trazas ('logs') procedentes de sistemas que automatizan al menos parcialmente procesos (Sistemas de Gestión Empresarial, Business Process Management Systems (BPMS), etc).

  • Lo primero que hay que hacer es extraer esos datos de esas diversas fuentes. Para ello, se puede hacer de forma directa, o bien recurrir a un almacenamiento intermedio, un datawarehouse sobre el que se vuelcan datos procedentes de esas fuentes aplicando los tradicionales mecanismos ETL ('Extraction, Transformation and Load')

  • Ya sea directamente de las fuentes o del Datamart, se procede a una extracción ('extract') de los datos que se van a utilizar para el estudio de procesos que aplique en cada caso.

  • Con ello se construyen unas trazas (logs) que integran eventos sin filtrar pero, eso sí, uniendo los datos de diversas fuentes y proporcionándoles un formato común como puede ser el XES ('eXtensible Event Stream'), un caso particular de XML usado para reflejar, como el nombre indica, flujos de eventos (que es lo que son, ni más ni menos, las trazas que se usan como punto de partida en Process Mining).

  • Sobre esas trazas ya uniformizadas se realiza el filtrado de eventos según convenga para el estudio a realizar y obtenemos unas trazas de eventos filtrados, 

  • A partir de ahí ya se aplican los algoritmos o técnicas que convengan para trabajar en una de las tres líneas que ya comentamos en un artículo anterior: descubrimiento del proceso, estudios de conformidad o enriquecimiento.

Hablamos de mecanismos farragosos, especialmente en lo que a la búsqueda, extracción y homogeneización de datos se refiere, y complejos, especialmente en el caso del descubrimiento de procesos. Sin embargo, el esquema, la idea principal, creo que es sencilla de entender con el esquema mostrado. 

No hay comentarios:

Publicar un comentario