⚠️ Mise à jour importante : Workfellow fait désormais partie de ProcessMaker
Lire la mise à jour

Process Mining Les algorithmes expliqués simplement

Lari Numminen

5 septembre 2023

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 la science des données. process mining.

Que sont les algorithmes process mining ?

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

Process mining constituent la base du logicielprocess mining . Les cinq algorithmes les plus populaires de process mining 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. L'alpha miner a été le premier algorithme process discovery développé par les docteurs Wil van der Aalst, Ton Weijters et Laura Măruşter.

Comment fonctionne le mineur alpha en process mining

L'algorithme alpha miner utilise les journaux d'événements comme source de données. Il commence par en transformant les journaux d'événements en relations de suivi direct, de séquence, de parallèle et de choix, puis en les utilisant 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é.

Réseau de Petri - Wikipédia
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 process mining , par exemple dans les domaines de la santé, de l'éducation et de la sécurité. process discovery et dans la vérification de la conformité.

2. Le mineur heuristique

Le deuxième algorithme populaire de process mining , le Heuristic Miner, a été développé par le Dr. Ton Weijters pour répondre à 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 où l'on est capable de déduire des réponses satisfaisantes sur la base de l'apprentissage automatique.

Comment fonctionne le mineur heuristique en process mining

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 les environnements de données complexes, par exemple process mining pour les processus à volume particulièrement élevé.

3. Mineur flou

Le Fuzzy Miner est un troisième algorithme de base process mining adapté à l'exploration de processus moins structurés. Il a été développé par Christian W. Günther et a pour but d'alléger les tâches les plus lourdes de process mining en se concentrant sur ce que l'utilisateur cherche à découvrir et à analyser.

Comment fonctionne le Fuzzy Miner en process mining

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 process mining 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 les différentes coupures sur le graphe direct créé à l'aide des journaux d'événements. Le principal avantage de l'Inductive Miner est sa flexibilité et son évolutivité.

Fonctionnement du mineur inductif process mining

L'aspect unique d'Inductive Miner est la méthodologie de découverte de diverses divisions dans le graphe de suivi direct, et l'utilisation des 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 embranchements.

Exemple de mineur inductif dans process mining. Source : S.J.J. Leemans slideserve.com 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.

Fonctionnement du mineur génétique process mining

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.

Genetic Process Miner - ML Wiki
Visualisation du fonctionnement du mineur génétique dans process mining Source : mlwiki.org.

Process mining dans Python quick tutorial

Un exemple très simplifié est que vous pouvez accéder à des algorithmes process mining à source ouverte et les utiliser rapidement avec le langage de programmation python.

Pour réaliser process mining en Python, vous pouvez utiliser la bibliothèque pm4py, qui offre diverses fonctionnalités pour process discovery, la vérification de la conformité et l'amélioration des processus. Voici un guide simple, étape par étape, pour commencer à utiliser process mining à 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:

code bashCopy

pip install pm4py

Étape 2 : Importer les bibliothèques requises

Ensuite, importez les bibliothèques nécessaires dans votre script Python :

pythonCopier le code

import pm4py
from pm4py.objects.log.importer.xes importer as xes_importer
from pm4py.algo.discovery.alpha importer algorithm as alpha_miner
from pm4py.visualization.petrinet importer 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 :

pythonCopier le code

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 process discovery

Appliquer un algorithme process discovery aux données du journal des événements pour 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 process discovery tels que l'Inductive Miner ou l'Heuristics Miner, qui sont disponibles dans la bibliothèque pm4py.

Étape 5 : Visualiser le modèle de processus

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

pythonCopier le code

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 des opérations de base sur process mining 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:

L'exemple ci-dessus est une simplification excessive des besoins de la plupart des chefs 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.

Alternative sans code à process mining

Si vous cherchez une alternative simple à process mining, vous pourriez être intéressé par Work API. Il s'agit d'une nouvelle approche hybride qui combine des éléments de task mining et process mining sans nécessiter de science des données ni de tracas d'intégration. Pour plus d'informations, consultez le livre blancWork API .

Process mining Q&R

Qu'est-ce que process mining?

Process mining 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 commercial et identifiant les domaines à améliorer.

Quelle est la différence entre process mining et task mining?

Process mining et task mining fournissent tous deux des informations pertinentes pour le Gestion des Processus Métier (BPM), mais ils fonctionnent de manière légèrement différente. Process mining recueille des données à partir des journaux d'événements dans les systèmes sources de l'entreprise, tandis que task mining recueille des informations à partir de l'interface utilisateur des postes de travail.

Le site process mining convient-il à toutes les industries ?

Bien que process mining puisse s'appliquer à divers secteurs, il est particulièrement bénéfique pour les entreprises qui ont des processus complexes et de gros volumes de données. Ces entreprises peuvent exploiter process mining pour obtenir des informations précieuses sur leurs processus et améliorer considérablement leur efficacité, leurs économies et la satisfaction de leurs clients.

Quelle est la différence entre process mining et la veille stratégique ?

Process mining 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 pour le Gestion des Processus Métier (BPM).

Rédigé par

Lari Numminen

Chief Marketing Fellow