⚠️ Actualización importante: Workfellow forma parte ahora de ProcessMaker
Leer actualización

minería de procesos Algoritmos explicados de forma sencilla

Lari Numminen

5 de septiembre de 2023

Los algoritmos son la base de la programación informática y una parte esencial de la ciencia de datos. En este artículo nos limitaremos a explicar los cinco algoritmos más populares utilizados en minería de procesos.

¿Qué son los algoritmos de minería de procesos ?

minería de procesos los algoritmos son conjuntos de reglas matemáticas que se utilizan para descubrir modelos de procesos a partir de sistemas empresariales mediante técnicas de minería de datos. los algoritmos de minería de procesos le permiten cartografiar el estado real de los procesos empresariales, identificar cuellos de botella y eficiencias, y mejorar sus procesos empresariales en función de los datos.

minería de procesos forman la base del softwareminería de procesos . Los cinco algoritmos más populares de minería de procesos son Alpha Miner, Heuristic Miner, Fuzzy Miner, Inductive Miner y Genetic Miner.

1. Minero Alfa

El minero alfa (o α-algoritmo, α-miner) conecta registros de eventos o datos observados y el descubrimiento de un modelo de proceso. El alfa-miner fue el primer algoritmo desarrollado process discovery propuesto por el Dr. Wil van der Aalst, el Dr. Ton Weijters y la Dra. Laura Măruşter.

Cómo funciona el minero alfa en minería de procesos

El algoritmo alpha miner utiliza los registros de eventos como fuente de datos. Comienza por transformando los registros de eventos en relaciones directas, secuenciales, paralelas y de elección, y luego las utiliza para crear una red de Petri que describe el modelo de procesos. En términos sencillos, crea un flujo de procesos empresariales con fecha y hora que puede visualizarse.

Red de Petri - Wikipedia
Una red de Petri es una herramienta gráfica y matemática utilizada para modelar y visualizar sistemas concurrentes. Fuente: Wikipedia.

En la actualidad, el algoritmo del minero alfa y sus variaciones pueden utilizarse ampliamente en aplicaciones de minería de procesos , por ejemplo, en process discovery y en la comprobación de conformidad.

2. Minero heurístico

El segundo algoritmo popular de minería de procesos , el Heuristic Miner, fue desarrollado por el Dr. Ton Weijters para solventar algunas de las principales limitaciones del Alpha Miner. En informática, una heurística es una técnica diseñada para resolver un problema más rápidamente encontrando una solución aproximada cuando los algoritmos clásicos buscan una solución exacta. Los algoritmos heurísticos son populares en inteligencia artificial, donde se dispone de grandes cantidades de datos y capacidad para inferir respuestas suficientemente buenas basadas en el aprendizaje automático.

Cómo funciona el minero heurístico en minería de procesos

Al igual que el algoritmo Alpha Miner, el minero heurístico utiliza un gráfico de seguimiento directo para mostrar la secuencia de los procesos de negocio basándose en los registros de eventos. La diferencia clave es que el minero heurístico aplica un filtrado para reducir el ruido, o los datos de registro de eventos sin sentido o incompletos, para proporcionar diagramas de flujo menos precisos pero más robustos que el minero alfa.

Ejemplo de red causal utilizada en los mineros heurísticos. Fuente: r-project.org.

Los algoritmos de minería heurística utilizan una representación denominada red causal para trazar todo el historial espacio-temporal de las distintas actividades. A continuación, se fijan en la frecuencia con la que tienen lugar los distintos eventos y crean un modelo de proceso que excluye las rutas más infrecuentes del modelo visualizado. El resultado final funciona bien en entornos de datos complejos, por ejemplo minería de procesos para procesos de volumen especialmente elevado.

3. Minero difuso

El Fuzzy Miner es un algoritmo del tercer núcleo de minería de procesos adecuado para la minería de procesos menos estructurados. Fue desarrollado por Christian W. Günther y su objetivo es eliminar parte del trabajo más pesado de recopilación de datos de minería de procesos centrándose en lo que el usuario quiere descubrir y analizar.

Cómo funciona el Fuzzy Miner en minería de procesos

El Fuzzy Miner utiliza métricas de significación/correlación para simplificar interactivamente el modelo de proceso al nivel de detalle deseado. En términos sencillos, realiza el nivel adecuado de minería de datos en función de dónde busque el usuario. Si el usuario mira con más detalle, el modelo incluirá más detalles. Cuando el usuario mira la vista de alto nivel, el modelo se agrupa y se vuelve más "difuso".

Ejemplo de minería difusa con la herramienta ProM. Fuente: tue.nl

4. Minero inductivo

El Inductive Miner es otro algoritmo común utilizado en minería de procesos para descubrir modelos de procesos a partir de registros de eventos. Esta técnica se basa en la idea de cortar los registros de eventos en sub-registros más pequeños llamados cortes o divisiones, y luego detectar varios cortes en el gráfico creado directamente a partir de los registros de eventos. La principal ventaja del Inductive Miner es su flexibilidad y escalabilidad.

Cómo funciona el Inductive Miner en minería de procesos

El aspecto único de Inductive Miner es la metodología de descubrimiento de varias divisiones en el grafo de seguimiento directo, y el uso de los componentes más pequeños tras la división para representar la secuencia de ejecución de las actividades. El algoritmo Inductive Miner explora de forma iterativa el espacio de posibles modelos de procesos y es capaz de detectar una amplia gama de estructuras de procesos, desde modelos lineales a otros más complejos con concurrencia, bucles y or-branches.

Ejemplo de minero inductivo en minería de procesos. Fuente: S.J.J. Leemans slideserve.com

5. Minero genético

El Genetic Miner deriva su nombre de la biología y funciona de forma similar a la selección natural. Utiliza un algoritmo genético para buscar en un espacio de posibles modelos de procesos e identificar el más probable. El minero genético puede considerarse un enfoque evolutivo que consiste en mutar y combinar modelos de procesos para buscar los mejores.

Cómo funciona el minero genético en minería de procesos

El algoritmo Genetic Miner evalúa cada modelo de proceso y utiliza operaciones de selección, cruce y mutación para generar nuevos modelos de proceso. Los modelos de proceso se evalúan y el modelo más apto se elige como modelo de proceso final. Genetic Miner es capaz de identificar modelos de proceso con múltiples variantes y de detectar estructuras de proceso complejas, como bucles y concurrencia.

Minero de Procesos Genéticos - ML Wiki
Visualización del funcionamiento del Genetic Miner en minería de procesos Fuente: mlwiki.org.

minería de procesos en Tutorial rápido de Python

Un ejemplo muy simplificado es que se puede acceder a los algoritmos de código abierto minería de procesos y utilizarlos rápidamente con el lenguaje de programación python.

Para realizar minería de procesos en Python, puede utilizar la biblioteca pm4py, que proporciona varias funcionalidades para process discovery, comprobación de conformidad y mejora de procesos. Aquí tienes una sencilla guía paso a paso para empezar con minería de procesos utilizando la biblioteca pm4py:

Paso 1: Instalar pm4py

Primero, necesitas instalar la librería pm4py. Puedes hacerlo usando pip:

Código bashCopy

pip install pm4py

Paso 2: Importar las bibliotecas necesarias

A continuación, importe las bibliotecas necesarias en su script de Python:

pythonCopiar código

import pm4py
from pm4py.objects.log.importer.xes import importer as xes_importer
from pm4py.algo.discovery.alpha import algorithm as alpha_miner
from pm4py.visualization.petrinet import visualizer as pn_visualizer

Paso 3: Cargar el registro de eventos

Cargue los datos del registro de sucesos utilizando el importador adecuado. En este ejemplo, utilizaremos un archivo de registro de eventos XES:

pythonCopiar código

event_log_file = "path/to/your/event_log.xes"
log = xes_importer.apply(event_log_file)

También puede crear un registro de eventos a partir de un archivo CSV utilizando la biblioteca pm4py. Aquí tienes un ejemplo:

pythonCopiar código

import pandas as pd
from pm4py.objects.conversion.log import converter as log_converter
from pm4py.objects.log.util import dataframe_utils

csv_file = "path/to/your/csv_file.csv"
dataframe = pd.read_csv(csv_file)
dataframe = dataframe_utils.convert_timestamp_columns_in_df(dataframe)
dataframe = dataframe.sort_values("timestamp_column_name")
log = log_converter.apply(dataframe)

Paso 4: Aplicar un algoritmo process discovery

Aplique un algoritmo process discovery a los datos del registro de eventos para extraer el modelo del proceso. En este ejemplo, utilizaremos el algoritmo Alpha Miner:

pythonCopiar código

net, marcado_inicial, marcado_final = alpha_miner.apply(log)

También puede probar otros algoritmos de process discovery como el Inductive Miner o el Heuristics Miner, que están disponibles en la biblioteca pm4py.

Paso 5: Visualizar el modelo de proceso

Visualice el modelo de proceso descubierto utilizando el visualizador de redes de Petri:

pythonCopiar código

gviz = pn_visualizer.apply(net, initial_marking, final_marking)
pn_visualizer.view(gviz)

Esto mostrará la visualización de la red de Petri del modelo de proceso descubierto.

Paso 6: Realizar análisis adicionales (opcional)

Puede utilizar la biblioteca pm4py para realizar análisis adicionales como la comprobación de conformidad, el análisis de cuellos de botella o el análisis de rendimiento. Explora la documentación y los ejemplos de la biblioteca para obtener más información sobre estas funcionalidades.

Siguiendo estos pasos, puedes realizar minería de procesos básico en Python utilizando la biblioteca pm4py. Para casos de uso y personalizaciones más avanzadas, consulta la documentación y los ejemplos oficiales de pm4py:

El ejemplo anterior es una simplificación excesiva para las necesidades de la mayoría de los líderes empresariales. La realidad del desarrollo y la aplicación de análisis de procesos suele ser mucho más complicada, por lo que las empresas optan cada vez más por soluciones específicas de proveedores.

Alternativa sin código a minería de procesos

Si buscas una alternativa sin esfuerzo para minería de procesos, podría interesarte Work API. Se trata de un nuevo enfoque híbrido que combina elementos de task mining y minería de procesos sin necesidad de ciencia de datos ni complicaciones de integración. Para obtener más información, lea el artículo técnicoWork API .

minería de procesos PREGUNTAS Y RESPUESTAS

¿Qué es minería de procesos?

minería de procesos es una técnica que analiza los registros de eventos para crear modelos visuales de los procesos, proporcionando información valiosa sobre el estado actual de un proceso de negocio e identificando áreas de mejora.

¿Cuál es la diferencia entre minería de procesos y task mining?

minería de procesos y task mining proporcionan información relevante para Gestión de Procesos Empresariales (BPM)minería de procesos recoge datos de los registros de eventos de los sistemas fuente de la empresa, mientras que task mining recoge información de la interfaz de usuario de las estaciones de trabajo.

¿Es minería de procesos adecuado para todas las industrias?

Aunque minería de procesos puede aplicarse a diversos sectores, resulta especialmente beneficioso para empresas con procesos complejos y grandes volúmenes de datos. Estas organizaciones pueden aprovechar minería de procesos para obtener información valiosa sobre sus procesos e impulsar mejoras significativas en eficiencia, ahorro de costes y satisfacción del cliente.

¿En qué se diferencia minería de procesos de la inteligencia empresarial?

minería de procesos es un subconjunto de la inteligencia empresarial en el que se combinan metodologías de BI y técnicas de ciencia de datos para Gestión de Procesos Empresariales (BPM).

Escrito por

Lari Numminen

Jefe de Marketing