1 Introducción:

Dentro del campo de la minería de procesos, el objetivo principal que ha tenido siempre es el de proporcionar herramientas y técnicas para aumentar el conocimiento general de un proceso de negocio, mediante un análisis de datos de eventos almacenados durante la ejecución de un proceso. En los últimos años, ha recibido mucha atención tanto de la academia como de la industria, lo que llevó a la creación de varias herramientas tanto comerciales como de código abierto, estas herramientas pueden soportar el proceso de descubrimiento, el sirve para descubrir un modelo de proceso que describa con precisión el proceso que está bajo estudio. Sin embargo, la minería de procesos también comprende el control de la conformidad, que es la verificación de en qué medida un modelo de proceso dado describe con precisión los datos del evento, y mejora de procesos.

Herramientas tanto Pro como Aprimore brindan facilidad de uso para los no expertos, sin embargo dificulta el uso de las herramientas con fin de experimentación científica a gran escala. En conclusión, para cerrar la brecha antes mencionada, es decir, un software de minería de procesos que sea fácilmente extensible, permite la personalización algorítmica y permita realizar experimentos a gran escala, se propone PM4Py para alcanzar estos objetivos. PM4Py es la opción elegida debido principalmente al lenguaje de programación Python junto con su ecosistema, ademas que PM4Py permite:

  • Permitir la fácil integración de algoritmos de minería de procesos con algoritmos de otros campos de la ciencia de datos.

  • Permitir la fácil integración de algoritmos de minería de procesos con algoritmos de otros campos de la ciencia de datos.

  • Crear un ecosistema colaborativo que permite compartir código y resultados con el mundo de la minería de procesos.

  • Tener una estabilidad algoritmico

  • proporcionar asistencia al usuario

2 Problema:

El soporte de los tipos de análisis de minería de procesos generalmente se limita a herramientas académicas de minería de procesos de código abierto.

3 Alcance:

Con el fin de acabar con este dificultad de la falta de software de procesos se tienen en cuenta algunos objetivos como el de que sea fácilmente más manejable y extensible, además de que se permita una personalización algorítmica , dichos objetivos para llegar a su realización se cuentan con los recursos como los lenguajes y biblioteca de programación .

Con las necesidades ya mencionadas se dispone de muchos recursos para satisfacer las necesidades de esta investigación ya que se reduciría este obstáculo que hay en utilizar algoritmos complejos.

Para esta investigación se obtuvo algunos datos en el cual se puede visualizar la cantidad de usuarios que accedieron a la biblioteca de PM4Py en el 2019 y cuanto usuarios de ellos la descargaron, con este tipo de información se puede formular una visión de como ira progresivamente la biblioteca PM4Py.

4 Limitaciones:

Se plantean variadas limitaciones desde un inicio con la investigación de sobre la mineria de procesos y su con la ciencia de datos ya que en un inicio se contaba con un limitado número de herramientas además de un soporte limitado para realizar algoritmos, de la misma manera se limitó durante la investigación en un comienzo en aportar la biblioteca PM4Py en estudiantes del curso “introducción a la ciencia de datos” en la universidad RWTH Aaechen University.

5 Objetivos:

  • El Software de minería de procesos que sea fácilmente extensible.

  • Permitir la personalización algorítmica.

  • Permitir realizar fácilmente experimentos a gran escala.

6 Metodologia:

Se adoptaron las siguientes pautas arquitectónicas para el desarrollo de PM4Py:

  • Una separación estricta entre objetos, algoritmos y visualizaciones en diferentes paquetes.

  • La mayor parte de la funcionalidad se ha realizado a través de métodos de fábrica, proporcionando un único punto de acceso para cada algoritmo, con un conjunto estandarizado de objetos de entrada. Estos métodos de fábrica permiten la extensión de algoritmos existentes al mismo tiempo que garantiza la compatibilidad con versiones anteriores.

6.1 Gestión de objetos:

La principal fuente de datos son los datos de eventos, que representan una colección de eventos que describen las actividades que se han realizado para distintas instancias del proceso en estudio.

  • Registro de eventos, osea una lista de registros, donde cada rastro es una lista de eventos.

  • Flujos de eventos, representan una lista de eventos que no están organizados en casos.

PM4Py admite el uso de padas data frames que son eficientes para el uso de datos de eventos más grandes, otros objetos que son compatibles con PM4Py son las redes heurísticas, aceptación de redes de Petri, árboles de procesos y sistemas de transición.


6.2 Visualización:

Las bibliotecas de visualización que se utilizaron fueron:

  • GraphViz: para representación de gráficos de seguimiento directo, redes de petri, sistemas de transición y árboles de procesos.

  • NetworkX: para la representación estática de las redes sociales

  • Pyvis: para la representación dinámica de las redes sociales

6.2.1 Explicacion del algoritmo:

  1. Instalación: Para instalar la biblioteca “PM4Py” se tiene que utilizar el código pip install -U pm4py, para luego llamarlo utilizando import pm4py.

  2. Importar XES, Alpha Miner y visualización de red de petri: se utilizan las funciones from y import para llamar las librerías.

    from pm4py.objects.log.importer.xes import factory as xes_importer

    from pm4py.algo.discovery.alpha import factory as alpha_miner

    from pm4py.visualization.petrinet import factory as pn_vis_factory

  3. Importar un registro XES: utilizar la funcion xes_importer.apply usando como argumento la dirección del registro, para guardarlo como “log”.

  log = xes_porter.apply("C://receipt.xes)

  1. Aplicar Alpha Miner proporcionando el objeto de registro: Utilizar la función alpha_miner.apply con argumento “log” , para luego ser guardada como net , im , fm.

    net , im , fm = alpha_miner.apply(log)

  2. Obtener la visualización: se utiliza un método de fabrica para diseñar el grafico, para eso se tiene que utilizar la funcion pn_vis_factory.apply con argumento “net , im , fm” para luego ser guardada comogviz.

    gviz = pn_vis_factory.apply(net , im , fm)

  3. Ejecucion de resultado: Para esto hay que utilizar la función pn_vis_factory.view con argumento “gviz” para poder visualizar el resultado.

    pn_vis_factory.view(gviz)

7 Resultados:

  • Descubrimiento de procesos con Alpha Miner.

  • De usuarios que accedieron al sitio web de PM4Py en febrero de 2019, en la figura mostrada en el artículo, se observa que a principios de mes hubo un crecimiento de usuarios al igual que al final, pero en medio mes se mantiene constante en número de usuarios, se encuentra entre los 100 y los 200 usuarios.

  • En la siguiente figura que nos presentan podemos observar las descargas diarias de PM4Py desde Pypi durante el mes de febrero de 2019, apreciamos los picos más altos se encuentran entre el 14 y el 19 con un total de 400 a 600 descargas  y los más bajos igualmente entre esas fechas con un total de 0 a 100 descargas.

8 Aplicaciones:

El área de marketing de las empresas siempre buscan llegar más a su público para ellos se realizaron muchas hipótesis sin embargo utilizando Process Mining, esta dirección de análisis de procesos relativamente nueva, pero en desarrollo activo. 

Entre los productos de software en esta área. y su peculiaridad es que es un software libre, y no tiene restricciones tanto en la cantidad de archivos descargados y con esto se suele seleccionar un público más objetivo.

La minería de procesos se se aplica y se utiliza en cualquier empresa bajo algunas perspectivas principales:

  • Perspectiva de la organización: En este ámbito, la minería de procesos se enfoca en los actores que están involucrados y cómo se relacionan. El objetivo es estructurar la organización clasificando a las personas o servicios de TI en términos de roles y unidades organizativas o encontrar la relación entre los ejecutantes individuales

  • Perspectiva funcional y de comportamiento: el objetivo de extraer esta perspectiva, utilizando minería de procesos, es encontrar una buena caracterización de todas las rutas posibles, por ejemplo, expresadas en términos de una red de Petri, un modelo de características, una Cadena de procesos dirigida por eventos (EPC) entre otros

9 Discusión:

El principal motivo del informe fue presentar el Process Mining for Python(PM4Py) y así poder cerrar la brecha que existe entre una herramienta de interfaz accesible y una herramienta para entornos a gran escala, ya que Python es un lenguaje de programación muy usado por lo cual contiene muchas librerías útiles para estos procesos. 

10 Conclusiones:

La biblioteca minera de Procesos PM4Py. PM4Py admite un conjunto de técnicas para minería de proceso de rápido crecimiento. Se proponen la biblioteca y algunas aplicaciones de muestra. La biblioteca se puede instalar  a través del comando pip install pm4py . Se da una amplia documentación a través de la web oficial de la biblioteca. Además, el repositorio de Github apoya un ecosistema colaborativo donde los usuarios pueden señalar problemas o aportes al código.

11 Referencias bibliograficas:

  • Berti, A., van Zelst, S. J., & van der Aalst, W. M. (2019). PM4Py Web Services: Easy Development, Integration and Deployment of Process Mining Features in any Application Stack. In BPM (PhD/Demos) (pp. 174-178).

  • Avellaneda González, J. A. (2020). Aplicación de líneas de producto de software al modelado y la configuración de procesos de negocio.

  • Šrol, E. Process mining usage for potential insider threat identification utilizing PM4Py.