⚠️ Aggiornamento importante: Workfellow fa ora parte di ProcessMaker.
Leggi l'aggiornamento

Process Mining Algoritmi spiegati semplicemente

Lari Numminen

5 settembre 2023

Gli algoritmi sono la base della programmazione informatica e una parte essenziale della scienza dei dati. In questo articolo ci limitiamo a spiegare i cinque algoritmi più diffusi utilizzati in process mining.

Cosa sono gli algoritmi di process mining ?

Process mining Gli algoritmi sono insiemi di regole matematiche utilizzate per scoprire modelli di processo dai sistemi aziendali utilizzando tecniche di data mining. Process mining algoritmi consentono di mappare lo stato reale dei processi aziendali, identificare i colli di bottiglia e le efficienze e migliorare i processi aziendali in modo guidato dai dati.

Process mining algoritmi costituiscono la base del softwareprocess mining . I cinque algoritmi più popolari di process mining includono Alpha Miner, Heuristic Miner, Fuzzy Miner, Inductive Miner e Genetic Miner.

1. Minatore Alfa

L'Alpha Miner (o α-algoritmo, α-miner) collega i log degli eventi o i dati osservati e la scoperta di un modello di processo. L'alpha miner è stato il primo algoritmo process discovery sviluppato dal Dr. Wil van der Aalst, dal Dr. Ton Weijters e dalla Dr.ssa Laura Măruşter.

Come funziona il minatore alfa in process mining

L'algoritmo alpha miner utilizza i registri degli eventi come fonte di dati. Inizia con trasformando i registri degli eventi in relazioni dirette, di sequenza, parallele e di scelta, per poi utilizzarle per creare una rete di Petri che descrive il modello di processo. In parole povere, crea un flusso temporizzato di processi aziendali che può essere visualizzato.

Rete di Petri - Wikipedia
Una rete di Petri è uno strumento grafico e matematico utilizzato per modellare e visualizzare sistemi concorrenti. Fonte: Wikipedia: Wikipedia.

Oggi l'algoritmo alpha miner e le sue varianti possono essere ampiamente utilizzati in applicazioni di process mining , ad esempio, in process discovery e nel controllo di conformità.

2. Minatore euristico

Il secondo algoritmo popolare di process mining , l'Heuristic Miner, è stato sviluppato dal Dr. Ton Weijters per risolvere alcuni dei limiti principali dell'Alpha Miner. In informatica, un euristico è una tecnica progettata per risolvere un problema più rapidamente, trovando una soluzione approssimativa quando gli algoritmi classici cercano una soluzione esatta. Gli algoritmi euristici sono popolari nell'intelligenza artificiale, dove si dispone di grandi quantità di dati e della capacità di dedurre risposte sufficientemente valide sulla base dell'apprendimento automatico.

Come funziona il Minatore euristico in process mining

Come l'algoritmo Alpha Miner, il minatore euristico utilizza un grafico seguito direttamente per mostrare la sequenza dei processi aziendali basati sui registri degli eventi. La differenza principale è che l'Heuristic Miner applica un filtro per ridurre il rumore, ovvero i dati dei registri eventi non significativi o incompleti, per fornire diagrammi di flusso meno accurati ma più robusti rispetto all'Alpha Miner.

Esempio di rete causale utilizzata nei minatori euristici. Fonte: r-project.org.

Gli algoritmi di mining euristico utilizzano una rappresentazione chiamata rete causale per mappare tutta la storia spazio-temporale delle diverse attività. Quindi, esaminano la frequenza con cui avvengono i diversi eventi e creano un modello di processo che esclude i percorsi più infrequenti dal modello visualizzato. Il risultato finale funziona bene in ambienti di dati complessi, ad esempio process mining per processi di volume particolarmente elevato.

3. Minatore fuzzy

Il Fuzzy Miner è un terzo algoritmo di process mining adatto all'estrazione di processi meno strutturati. È stato sviluppato da Christian W. Günther e ha l'obiettivo di eliminare alcune delle operazioni più pesanti di data-crunching da process mining , concentrandosi su ciò che l'utente sta cercando di scoprire e analizzare.

Come funziona il Fuzzy Miner in process mining

Il Fuzzy Miner utilizza metriche di significatività/correlazione per semplificare interattivamente il modello di processo al livello di dettaglio desiderato. In parole povere, esegue il giusto livello di estrazione dei dati in base alla posizione dell'utente. Se l'utente guarda più in dettaglio, il modello includerà più dettagli. Quando l'utente guarda la vista di alto livello, il modello viene raggruppato e diventa più "confuso".

Esempio di fuzzy mining con lo strumento ProM. Fonte: tue.nl

4. Minatore induttivo

L'Inductive Miner è un altro algoritmo comunemente utilizzato in process mining per scoprire modelli di processo dai log degli eventi. Questa tecnica si basa sull'idea di tagliare i registri degli eventi in sotto-registri più piccoli, chiamati tagli o split, e quindi di rilevare i vari tagli sul grafo che segue direttamente creato utilizzando i registri degli eventi. Il vantaggio principale di Inductive Miner è la sua flessibilità e scalabilità.

Come funziona il Minatore Induttivo in process mining

L'aspetto unico di Inductive Miner è la metodologia di scoperta di varie divisioni nel grafo delle sequenze dirette e l'utilizzo dei componenti più piccoli dopo la divisione per rappresentare la sequenza di esecuzione delle attività. L'algoritmo Inductive Miner esplora iterativamente lo spazio dei possibili modelli di processo ed è in grado di rilevare un'ampia gamma di strutture di processo, da quelle lineari a quelle più complesse con concurrency, loop e or-branches.

Esempio di minatore induttivo in process mining. Fonte: S.J.J. Leemans slideserve.com

5. Minatore genetico

Il Genetic Miner deriva il suo nome dalla biologia e funziona in modo simile alla selezione naturale. Utilizza un algoritmo genetico per cercare in uno spazio di possibili modelli di processo e identificare il modello di processo più probabile. Il Genetic Miner può essere visto come un approccio evolutivo che prevede la mutazione e la combinazione di modelli di processo per cercarne di migliori.

Come funziona il Minatore Genetico in process mining

L'algoritmo Genetic Miner valuta ogni modello di processo e utilizza le operazioni di selezione, crossover e mutazione per generare nuovi modelli di processo. I modelli di processo vengono valutati e il modello più adatto viene scelto come modello di processo finale. Il Genetic Miner è in grado di identificare modelli di processo con più varianti ed è in grado di rilevare strutture di processo complesse, come loop e concurrency.

Minatore di processi genetici - ML Wiki
Visualizzazione del funzionamento del Minatore genetico in process mining Fonte: mlwiki.org.

Process mining in Tutorial rapido su Python

Un esempio molto semplificato è che è possibile accedere e utilizzare rapidamente gli algoritmi open-source di process mining con il linguaggio di programmazione python.

Per eseguire process mining in Python, è possibile utilizzare la libreria pm4py, che fornisce diverse funzionalità per process discovery, il controllo di conformità e il miglioramento dei processi. Ecco una semplice guida passo-passo per iniziare a utilizzare process mining con la libreria pm4py:

Passo 1: Installare pm4py

Per prima cosa è necessario installare la libreria pm4py. È possibile farlo utilizzando pip:

codice bashCopy

pip installare pm4py

Passo 2: Importare le librerie necessarie

Quindi, importare le librerie necessarie nel proprio script Python:

codice pythonCopy

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

Passo 3: caricare il registro eventi

Caricare i dati del registro eventi utilizzando l'importatore appropriato. In questo esempio, si utilizzerà un file di registro eventi XES:

codice pythonCopy

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

È anche possibile creare un registro eventi da un file CSV utilizzando la libreria pm4py. Ecco un esempio:

codice pythonCopy

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)

Fase 4: Applicazione di un algoritmo process discovery

Applicare un algoritmo process discovery ai dati del registro eventi per estrarre il modello di processo. In questo esempio, utilizzeremo l'algoritmo Alpha Miner:

codice pythonCopy

rete, marcatura_iniziale, marcatura_finale = alpha_miner.apply(log)

È possibile provare anche altri algoritmi di process discovery , come Inductive Miner o Heuristics Miner, disponibili nella libreria pm4py.

Fase 5: Visualizzazione del modello di processo

Visualizzare il modello di processo scoperto utilizzando il visualizzatore della rete di Petri:

codice pythonCopy

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

Viene visualizzata la visualizzazione della rete di Petri del modello di processo scoperto.

Fase 6: Esecuzione di un'analisi supplementare (facoltativa)

È possibile utilizzare la libreria pm4py per eseguire analisi aggiuntive come il controllo della conformità, l'analisi dei colli di bottiglia o l'analisi delle prestazioni. Esplorate la documentazione e gli esempi della libreria per saperne di più su queste funzionalità.

Seguendo questi passaggi, è possibile eseguire process mining di base in Python utilizzando la libreria pm4py. Per casi d'uso e personalizzazioni più avanzate, consultare la documentazione e gli esempi ufficiali di pm4py:

L'esempio precedente è una semplificazione eccessiva per le esigenze della maggior parte dei leader aziendali. La realtà dello sviluppo e dell'applicazione dell'analisi dei processi è spesso molto più complicata, per cui sempre più spesso le aziende optano per soluzioni dedicate da parte dei fornitori.

Alternativa senza codice a process mining

Se siete alla ricerca di un'alternativa semplice a process mining, potreste essere interessati a Work API. Si tratta di un nuovo approccio ibrido che combina gli elementi di task mining e process mining senza la necessità di dover ricorrere alla scienza dei dati o all'integrazione. Per maggiori informazioni, leggete il whitepaperWork API .

Process mining DOMANDE E RISPOSTE

Che cos'è process mining?

Process mining è una tecnica che analizza i registri degli eventi per creare modelli visivi dei processi, fornendo preziose informazioni sullo stato attuale di un processo aziendale e identificando le aree di miglioramento.

Qual è la differenza tra process mining e task mining?

Process mining e task mining forniscono entrambi approfondimenti rilevanti per Cos'è Business Process Management (BPM), ma funzionano in modo leggermente diverso. Process mining raccoglie dati dai log degli eventi nei sistemi aziendali di origine, mentre task mining raccoglie informazioni dall'interfaccia utente delle workstation.

process mining è adatto a tutti i settori?

Sebbene process mining possa essere applicato in diversi settori, è particolarmente vantaggioso per le aziende con processi complessi e alti volumi di dati. Queste organizzazioni possono sfruttare process mining per ottenere preziose informazioni sui loro processi e ottenere miglioramenti significativi in termini di efficienza, risparmio e soddisfazione dei clienti.

In che modo process mining è diverso dalla business intelligence?

Process mining è un sottoinsieme della business intelligence in cui si combinano metodologie di BI e tecniche di data science per Cos'è Business Process Management (BPM).

Scritto da

Lari Numminen

Responsabile marketing