Les algorithmes d'exploration de processus expliqués simplement

Les algorithmes d'exploration de processus expliqués simplement

Les algorithmes sont le fondement de la programmation informatique et une partie essentielle de la science des données. Dans cet article, nous expliquons simplement les cinq algorithmes les plus populaires utilisés dans l'exploration de processus.

Qu'est-ce qu'un algorithme d'exploration de processus ?

Les algorithmes d'exploration de processus sont des ensembles de règles mathématiques utilisés pour découvrir des modèles de processus à partir de systèmes commerciaux en utilisant des techniques d'exploration de données. Les algorithmes d'exploration de processus vous permettent de cartographier l'état réel des processus d'entreprise, d'identifier les goulets d'étranglement et les efficacités, et d'améliorer vos processus d'entreprise d'une manière fondée sur les données.

Ces algorithmes constituent la base des logiciels d'exploration de processus. Les cinq algorithmes d'exploration de processus les plus populaires sont Alpha Miner, Heuristic Miner, Fuzzy Miner, Inductive Miner et Genetic Miner.

1. Alpha Miner

L'Alpha Miner (ou α-algorithme, α-miner) relie les journaux d'événements ou les données observées à la découverte d'un modèle de processus. Cet algorithme a été le premier algorithme de découverte de processus développé et proposé par le Dr Wil van der Aalst, le Dr Ton Weijters et le Dr Laura Măruşter.

Comment fonctionne le mineur alpha dans le processus d'exploitation minière

L'algorithme alpha miner utilise les journaux d'événements comme source de données. Il commence par transformer les journaux d'événements en relations de suivi direct, de séquence, de parallèle et de choix, puis les utilise pour créer un réseau de Petri qui décrit le modèle de processus. En termes simples, il crée un flux horodaté de processus d'entreprise qui peut être visualisé.

Un réseau de Petri est un outil graphique et mathématique utilisé pour modéliser et visualiser des systèmes concurrents. Source : Wikipédia : Wikipédia.

Aujourd'hui, l'algorithme alpha miner et ses variantes peuvent être largement utilisés dans les applications d'exploration de processus, par exemple pour la découverte de processus et le contrôle de conformité.

2. Le mineur heuristique

Le deuxième algorithme populaire d'exploration de processus, le Heuristic Miner, a été développé par le Dr. Ton Weijters pour remédier à certaines des principales limitations du Alpha Miner. En informatique, une heuristique est une technique conçue pour résoudre un problème plus rapidement en trouvant une solution approximative alors que les algorithmes classiques recherchent une solution exacte. Les algorithmes heuristiques sont populaires dans le domaine de l'intelligence artificielle, où l'on dispose de grandes quantités de données et de la capacité de déduire des réponses suffisamment bonnes sur la base de l'apprentissage automatique.

Comment le Heuristic Miner fonctionne-t-il dans l'exploitation minière de processus ?

Comme l'algorithme Alpha Miner, le mineur heuristique utilise un graphique directement suivi pour montrer la séquence des processus d'entreprise basés sur les journaux d'événements. La principale différence réside dans le fait que le mineur heuristique applique un filtrage pour réduire le bruit, ou les données d'enregistrement d'événements sans signification ou incomplètes, afin de fournir des organigrammes moins précis mais plus robustes que ceux du mineur alpha.

Exemple de réseau causal utilisé par les mineurs heuristiques. Source : r-project.org.

Les algorithmes d'exploration heuristique utilisent une représentation appelée réseau causal pour cartographier l'ensemble de l'historique spatio-temporel des différentes activités. Ils examinent ensuite la fréquence des différents événements et créent un modèle de processus qui exclut les chemins les moins fréquents dans le modèle visualisé. Le résultat final fonctionne bien dans des environnements de données complexes, par exemple, l'exploration de processus pour des processus à volume particulièrement élevé.

3. Mineur flou

Le Fuzzy Miner est un algorithme d'exploration de processus de troisième niveau adapté à l'exploration de processus moins structurés. Il a été développé par Christian W. Günther et vise à alléger le processus d'extraction de données en se concentrant sur ce que l'utilisateur cherche à découvrir et à analyser.

Comment fonctionne le Fuzzy Miner dans le processus d'exploitation minière

Le Fuzzy Miner utilise des mesures de signification/corrélation pour simplifier de manière interactive le modèle de processus au niveau de détail souhaité. En termes simples, il effectue le bon niveau d'exploration des données en fonction de l'endroit où l'utilisateur regarde. Si l'utilisateur cherche plus de détails, le modèle inclura plus de détails. Lorsque l'utilisateur regarde la vue de haut niveau, le modèle est regroupé et devient plus "flou".

Exemple d'exploration floue à l'aide de l'outil ProM. Source : tue.nl

4. Mineur inductif

Le mineur inductif est un autre algorithme couramment utilisé dans l'exploration de processus pour découvrir des modèles de processus à partir des journaux d'événements. Cette technique repose sur l'idée de découper les journaux d'événements en sous-blogs plus petits appelés coupures ou divisions, puis de détecter diverses coupures sur les graphiques directement suivis créés à l'aide des journaux d'événements. Le principal avantage de l'Inductive Miner est sa flexibilité et son évolutivité.

Comment fonctionne l'Inductive Miner dans le processus d'exploitation minière

L'aspect unique des mineurs inductifs est la méthodologie qui consiste à découvrir diverses divisions dans le graphe suivi directement et à utiliser les composants plus petits après la division pour représenter la séquence d'exécution des activités. L'algorithme Inductive Miner explore de manière itérative l'espace des modèles de processus possibles et est capable de détecter un large éventail de structures de processus, allant de modèles linéaires à des modèles plus complexes avec des concurrences, des boucles et des branches.

Exemple d'Inductive Miner dans le cadre d'un processus d'exploitation minière. Source : S.J.J. Leemans S.J.J. Leemans slideserve.com

5. Mineur génétique

Le mineur génétique tire son nom de la biologie et fonctionne de manière similaire à la sélection naturelle. Il utilise un algorithme génétique pour rechercher un espace de modèles de processus possibles afin d'identifier le modèle de processus le plus probable. Le mineur génétique peut être considéré comme une approche évolutive qui implique la mutation et la combinaison de modèles de processus pour en trouver de meilleurs.

Comment fonctionne le mineur génétique dans le processus d'exploitation minière ?

L'algorithme Genetic Miner évalue chaque modèle de processus et utilise des opérations de sélection, de croisement et de mutation pour générer de nouveaux modèles de processus. Les modèles de processus sont évalués et le modèle le plus adapté est choisi comme modèle de processus final. L'algorithme Genetic Miner est capable d'identifier des modèles de processus avec de multiples variantes et de détecter des structures de processus complexes, telles que les boucles et la concurrence.

Visualisation du fonctionnement du mineur génétique dans le processus d'exploitation minière Source : mlwiki.org.

Process mining in Python quick tutorial (en anglais)

Un exemple très simplifié est que vous pouvez accéder à des algorithmes d'exploration de processus à source ouverte et les utiliser rapidement avec le langage de programmation Python.

Pour effectuer de l'exploration de processus en Python, vous pouvez utiliser la bibliothèque pm4py, qui fournit diverses fonctionnalités pour la découverte de processus, la vérification de la conformité et l'amélioration des processus. Voici un guide simple, étape par étape, pour démarrer l'exploration de processus à l'aide de la bibliothèque pm4py :

Étape 1 : Installer pm4py
Tout d'abord, vous devez installer la bibliothèque pm4py. Vous pouvez le faire en utilisant pip :

bashCopier le code
pip install pm4py

Étape 2 : Importer les bibliothèques nécessaires
Ensuite, importez les bibliothèques nécessaires dans votre script Python :

code 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

Étape 3 : Charger le journal des événements
Chargez les données du journal des événements à l'aide de l'importateur approprié. Dans cet exemple, nous utiliserons un fichier journal des événements XES :

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

Vous pouvez également créer un journal d'événements à partir d'un fichier CSV en utilisant la bibliothèque pm4py. Voici un exemple :

pythonCopier le code
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)

Étape 4 : Appliquer un algorithme de découverte de processus
Appliquez un algorithme de découverte de processus aux données du journal des événements afin d'extraire le modèle de processus. Dans cet exemple, nous utiliserons l'algorithme Alpha Miner :

pythonCopier le code
net, initial_marking, final_marking = alpha_miner.apply(log)

Vous pouvez également essayer d'autres algorithmes de découverte de processus comme Inductive Miner ou Heuristics Miner, qui sont disponibles dans la bibliothèque pm4py.

Étape 5 : Visualiser le modèle de processus
Visualisez le modèle de processus découvert à l'aide du visualisateur de réseau de Petri :

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

Cela affichera la visualisation du réseau de Petri du modèle de processus découvert.

Étape 6 : Effectuer des analyses supplémentaires (facultatif)
Vous pouvez utiliser la bibliothèque pm4py pour effectuer des analyses supplémentaires telles que la vérification de la conformité, l'analyse des goulets d'étranglement ou l'analyse des performances. Consultez la documentation et les exemples de la bibliothèque pour en savoir plus sur ces fonctionnalités.

En suivant ces étapes, vous pouvez effectuer une exploration de processus de base en Python à l'aide de la bibliothèque pm4py. Pour des cas d'utilisation plus avancés et des personnalisations, reportez-vous à la documentation et aux exemples officiels de pm4py :

Documentation officielle : https://pm4py.fit.fraunhofer.de/documentation

Exemples : https://github.com/pm4py/pm4py-core/tree/stable/examples

L'exemple ci-dessus est une simplification excessive des besoins de la plupart des dirigeants d'entreprise. La réalité du développement et de l'application de l'analyse des processus est souvent beaucoup plus compliquée, c'est pourquoi les entreprises optent de plus en plus pour des solutions dédiées proposées par des fournisseurs.

Une alternative sans code à l'extraction de processus

Si vous êtes à la recherche d'une alternative simple à l'exploration de processus, vous pourriez être intéressé par la Process Intelligence. Il s'agit d'une approche hybride qui combine des éléments de task mining et de process mining sans avoir recours à la science des données ou à des problèmes d'intégration. Pour plus d'informations, lisez le dernier livre blanc.

Questions et réponses sur l'exploitation minière :

1. Qu'est-ce que le "process mining" ?
L'exploration de processus est une technique qui analyse les journaux d'événements pour créer des modèles visuels de processus, fournissant des informations précieuses sur l'état actuel d'un processus d'entreprise et identifiant les domaines à améliorer.

2. Quelle est la différence entre l'exploration de processus et l'exploration de tâches ?
L'exploration de processus et l'exploration de tâches fournissent toutes deux des informations pertinentes pour la gestion des processus d'entreprise, mais elles fonctionnent de manière légèrement différente. L'exploration de processus recueille des données à partir des journaux d'événements dans les systèmes sources de l'entreprise, tandis que l'exploration de tâches recueille des informations à partir de l'interface utilisateur des postes de travail.

3. Le Process Mining est-il adapté à tous les secteurs d'activité ?
Bien que l'exploration de processus puisse être appliquée à divers secteurs d'activité, elle est particulièrement bénéfique pour les entreprises dont les processus sont complexes et qui disposent de gros volumes de données. Ces entreprises peuvent tirer parti de l'exploration de processus pour obtenir des informations précieuses sur leurs processus et réaliser des améliorations significatives en termes d'efficacité, de réduction des coûts et de satisfaction de la clientèle.

4. En quoi le process mining diffère-t-il de la business intelligence ?
L'exploration des processus est un sous-ensemble de la veille stratégique qui combine les méthodologies de veille stratégique et les techniques de science des données à la gestion des processus d'entreprise.

Découverte de processus 101
Demander une démo

Demander une démo

Découvrez comment des entreprises de premier plan utilisent ProcessMaker pour rationaliser leurs opérations grâce à l'automatisation des processus.

Demander une démo

Demander une démo

Mise à jour sur la protection de la vie privée
Nous utilisons des cookies pour rendre les interactions avec notre site web et nos services faciles et significatives. Les cookies nous aident à mieux comprendre comment notre site web est utilisé et à adapter la publicité en conséquence.

Accepter