Brevet FR3061574A1 — publié le 20180706

Ariere.plan de l'invention L'invention se rapporte au domaine général des systèmes d'information. Elle concerne plus particulièrement le suivi d'un processus, et plus précisément de son comportement, au travers de différentes données disponibles collectées durant l'exécution de ce 10 processus. Aucune limitation n'est attachée à la nature du processus en question. Par processus, on entend ici tout type de successions d'événements (ou d'activités ou encore d'étapes), corrélés entre eux ou interactifs, qui manipulent divers éléments matériels, lodiciels, ou des données en vue de les transformer et atteindre collectivement un objectif. fi peut s'agir par exemple de processus 15 métiers propres à une organisation ou une entreprise, tels que par exemple, un processus de fabrication d'un produit, un pmcessus de traçabilité de produits, un processus de vente de produits, etc. Dans l'état actuel de la technique, l'exécution de ce type de processus s'accompagne de la collecte de données manipulées (ex. données analysées, transformées ou produites) par le 20 processus durant son exécution, aussi plus communément appelées « logs », et ce, en vue de pouvoir expliquer comment s'est déroulé le processus lors de son exécution, et de pouvoir identifier notamment des anomalies lors de cette exécution. Ces logs comprennent par exemple pour chaque événement du processus, et chacune de ses exécutions, un identifiant de l'événement concerné, un identifiant de l'utilisateur ayant déclenché l'exécution du processus, un identifiant de 25 l'instance d'exécution du processus concernée, la date de début et de fin de l'événement lors de cette insLance, etc. Ce type de suivi est aussi appelé « process mining » en anglais. Une fois ces anomalies identifiées, il n'existe aucun outil, dans l'état actuel de la technique, qui permette à un expert d'expliquer aisément le comportement du processus. Celui-ci doit le faire manuellement, analyser le grand nombre de données collectées, détecter parmi ces 30 données celles qui sont importantes, et les corréler entre elles. Cette façon de procéder est loin d'être optimale, notamment au vu de la quantité de données à analyser par l'expert et de la nature de ces données, et ne permet pas à l'expert de fournir une analyse précise de la situation. Objet et résumé de l'invention 35 L'invention permet notamment de résoudre les problèmes précités en proposant un procédé d'extraction de données pertinentes relatives à l'exécution d'un processus, destiné à être mis en oeuvre par un dispositif informatique, ce procédé comprenant 3061574 2 une étape d'identification, à partir d'un modèle numérique du processus, d'une pluralité de variables manipulées par le processus lors de son exécution ; une étape d'obtention d'un premier ensemble de données dites du processus correspondant aux valeurs prises par ladite pluralité de variables lors d'une pluralité d'instances de ce processus, chaque instance correspondant à une exécution distincte du processus ; une étape d'obtention d'un second ensemble de données exogènes collectées pendant ladite pluralité d'instances du processus ; - une étape de partitionnement des instances du processus en utilisant: tout ou partie des données du processus du premier ensemble, cette étape de partitionnement conduisant à une pluralité de groupes distincts d'instances du processus ; une étape d'association à chaque donnée exogène du second ensemble d'un groupe parmi ladite pluralité de groupes résultant de l'étape de partitionnement ; et - une étape d'extraction, pour au moins un desdits groupes, de données exogènes du second ensemble associées au groupe et représentatives dudit groupe. Corrélativement, l'invention vise aussi un dispositif informatique d'extraction de données pertinentes relatives à l'exécution d'un processus, ce dispositif comprenant un module d'identification configuré pour identifier, à parb. d'un modèle numérique du processus, une pluralité de variables manipulées par le processus lors de son exécution ; - un premier module d'obtention, configuré pour obtenir un premier ensemble de données dites du processus correspondant aux valeurs prises par ladite pluralité de variables lors d'une pluralité d'instances de ce processus, chaque instance correspondant à une exécution distincte du processus ; un second module d'obtention configuré pour obtenir un second ensemble de données exogènes collectées pendant ladite pluralité d'instances du processus ; un module de partitionnement, configuré pour partitionner lesdites instances du processus en une pluralité de groupes distincts, ledit module de partitionnement étant configure pour utiliser tout ou partie des données du processus du premier ensemble de données obtenues par le premier module d'obtention ; un module d'association, configuré pour associer à chaque donnée exogène du second ensemble un groupe perron la pluralité de groupes résultant du partitionnement ; et un module d'extraction, configuré pour extraire pour au moins un desdits groupes, de données exogènes du second ensemble associées audit groupe et représentatives dudit groupe. L'invention propose une solution permettant d'augmenter la quantité de données prises en compte pour analyser le comportement d'un processus, tout en gardant une complexité raisonnable vis-à-vis de l'expert. L'invention propose en effet d'associer aux données manipulées par le Processus déjà classiquement prises en compte (données issues des logs des instances d'exécution du processus at qui sont identifiées typiquement dans le modèle numérique du processus), d'autres données 3061574 dites exogènes, c'est-à-dire qui ne sont pas en lien direct avec le processus et ne sont pas directement manipulées par celui-ci mais relèvent davantage de son contexte d'exécution, ces données étant récoltées lors de diverses exécutions du processus. De telles données exogènes, qui ne sont pas inhérentes à proprement parler au processus mais sont susceptibles d'avoir une 5 influence sur son comportement, sont typiquement relatives à la date et au lieu auxquels ont été exécutées les différentes instances dU processus, et correspondent par exemple à la météo à Cette date et ce lieu, à l'état du trafic à proximité' à l'état d'un réseau utilisé dans ce contexte, etc. Elles peuvent être collectées par diverses applications ou interfaces (API) externes au processus. L'augmentation potentiellement: non négligeable du nombre de données considérées 10 pour expliquer un processus résultant de l'ajout de ces données exogènes est maîtrisée grâce à l'extraction des données pertinentes relatives à :'exécution du processus qui est mise en oeuvre par l'invention. Par « données pertinentes », on entend des données qui sont en lien avec le comportement du processus et qui apportent un éclairage sur son comportement de sorte à faciliter la tâche de l'expert lors de son analyse. Cette extraction des données pertinentes ne réside pas uniquement sur une analyse statistique comme bon nombre d'algorithmes d'apprentissage non supervisés existant permettant d'extraire d'un sous-ensemble de données pertinentes ou importantes d'un grand ensemble de données (aussi désignés par techniques de datamining et plus précisément de sélection de caractéristiques ou « feature selection ») et qui s'avèrent inadaptés dans le contexte de l'invention. 20 Vais elle tent compte avantageusement des données de processus dont on dispose par ailleurs grâce Flux logs produits lors de chaque exécution du processus, permettant ainsi d'améliorer la pertinence. des données extraites. Celles-ci sont en effet représentatives des groupes d'instances auxquels elles sont associées, et donc des données de processus associées à ces groupes d'instances. Autrement dit, l'invention permet d'établir un lien pas nécessairement évident entre les 25 données exogènes et !es données du processus offrant un nouvel éclairage pour l'explication du comportement du processus. Ce lien permet en outre d'améliorer la lisibilité des données fournies à expert. L'invention présente donc de nombreux avantages. Outre l'élargissement des sources de données prises en compte lors de l'analyse de processus qui permet d'améliorer fortement ia 30 précision de l'analyse de la situation, notamment en permettant l'identification Oc nouvelles anomalies difficilement discernables avec les informations contenues dans les logs de processus ou en permettant de détecter des causes aux anomalies autres que ce:les induites par les données du processus, elle s'attache à réduire la quantité de données à analyser par l'expert pour ne retenir que les données utiles à son analyse. 1! en résulte une amélioration du rapport entre données 35 utiles à l'analyse de l'expert et bruit engendré par les données non pertinentes. Le travail réalisé par l'expert s'en voit simplifié et amélioré. Conformément à l'invention, pour permettre l'extraction de données pertinentes, les instances du processus sont tout d'abord partitionnées en une pluralité de groupes. Par 3061574 4 partitionnement du premier ensemble de données, on entend que les instances du processus sont réparties en plusieurs groupes (ou classes), exclusifs entre eux aucune instance ne peut appartenir à plusieurs groupes), et dont la réunion donne l'ensemble ces instances du processus considérées. Différents types de partitionnement peuvent être envisagés : ces parlitionnements 5 ont pour vocation de réunir au sein d'un même groupe des instances se ressemblant par les données de processus qui leur sont associées .,et qui sont considérées lors du partitionnement). l'out ou partie des données du processus du premier ensemble associées aux différentes instances peuvent êtee considérées lors du partitionnement. Le choix (Le. la sélection) des données considérées dépend d'un critère de partitionnement précléfini, par exemple par 10 l'expert. Ainsi, clans un exemple de réalisation, les données utilisées lors de l'étape de paititionnement comprennent des indicateurs de performance obtenus pour les instances du processus. Un tel critère de partitionnement peut être défini à la volée par l'expert ou fixé à l'avance. Aucune limitation n'est attachée à ce critère de partitionnement. Il peut s'agir par 15 exemple d'un niveau de réussite de l'exécut:on du processus, ou de satisfaction des utilisateurs du processus, ou encore de satisfaction d'un but métier, etc. Le critère de partitionnement peut être défini par l'expert en fonction des facteurs qu'il souhaite prendre en compte dans son anaiyse. Bien entendu, plusieurs critères de partitionnement peuvent être tour à tour considérés pour donner une vue d'ensemble plus complète de la situation et différents éclairages à l'expert. 20 Dans un mode de réalisation particulier de l'invention, l'étape de partitionnement utilise une méthode de regroupement hiérarchique basée sur une distance définissant un niveau de similarité entre les instances d'un même groupe ou un niveau de similarité des instances d'un même groupe par rappoi-L à un modèle de référence prédéterminé. Une telle distance peut consister par exemple, si les données considérées sont deux 25 chaînes de cdractères, à comptabiliser le nombre minimum d'opérations nécessaires pour transformer une chaîne en l'autre (on parle alors de distance syntaxique). Bien entendu, d'autres distances peuvent être envisagées pour comparer les données erViIe elles, de même que d'autres critères de partitionnement. Dans un mode particulier de réalisation, l'étape d'extraction est mise en oeuvre en 30 utilisant un algorithme de sélection de caractéristiques tel que par exemple l'algorithme de sélection de caractéristiques récursif (ou RFE pour Recursive Feature Elimination) ou l'algorithme C4.5. Ce type d'algorithme est particulièrement efficace pour sélectionner des données pertinenLes dans un grand ensemble de données. 35 Dans un mode particulier de réalisation, le procédé d'extraction comprend en outre une étape d'uniformisation d'un format des données du processus etiou des données exogènes mise en oeuvre avant les étapes de partitionnement et d'association. 3061574 Une telle étape peut s'avérer utile notamment lorsque les données (du processus et exogènes) viennent de sources très différentes, par exemple de services différents qui n'utilisent pas nécessairement tous le même format de sortie des données qu'ils produisent. Cette uniformisation peut se faire aisément via un modèle (ou template en anglais) prédéfini par exemple. On cas de données manquantes au regard de ce format, une valeur calculée sur ['ensemble des données connues peut être imputée. Comme mentionné précédemment, les données exogènes peuvent venir de sources de données différentes. La nature de ces données exogènes peut être prédéterminée, typiquement par expertise : l'expert identlie priori des données exogènes dont la nature peut influencer le 10 déroulement du processus lors de son exécution. Par exemple, si le processus comprend une activité consistant en une livraison d'un produit, la météo, la pollution, le trafic urbain ou le type de véhicule utilisé pour cette livraison peut impacter l'exécution du processus. En variante, les données exogènes peuvent être choisies de façon a posteriori en fonction de leur accessibilité dans un système d'informations. Par exemple, ces données exogènes 15 peuvent etre des données de toute nature disponibles clans un système d'informations dès lors qu'elles correspondent à la date et di! lieu d'exécution du processus. L'invention offre ainsi une grande flexibilité dans la nature des données qui peuvent etre considérées. Dans un mode particulier de réalisation, les différentes étapes du procédé d'extraction 20 sont déterminées par des instructions de orcorarnmes d'ordinateurs. En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans un dispositif informatique d'extraction ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes d'un procédé cl' rection tel que décrit ci- 25 dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations ou d'enregistrement lisible par un 30 ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci- dessus. Le support d'informations ou d'enregistrement peul être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, te| qu'une ROM, par exemp e un CD ROM ou une ROM de circuit microélectronique, ou 35 encore un moyen d'enregistrement magnétique, par exemple une disquette (fic.)ppy dise un disque dur. D'autre part, le support d'informations ou d'enregistrement peut être un support transmisbible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique 3061574 6 ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier léléchardé sur un réseau de type Internet. Alternativement, le support d'informations ou d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. L'invention vise également un système d'informations comprenant une première b-,se de données comprenant un premier ensemble de données correspondant à des valeurs prises par une pluralité de variables manipulées par un processus lors d'une pluralité d'exécutions de ce processus ; et 10 un dispositif informatique d'extraction selon l'invention configure pour utiliser lesdites données de la première base de données et pour extraire des données pertinentes dans l'exécution du processus parmi des données exogènes comprises dans au moins une deuxième base de données accessible par ledit dispositif informat:que. On peut également envisager, dans d'autres modes de réalisation, que le procédé 15 d'extraction, le dispositif d'extraction et le système d'informations selon l'invention présentent en combinaison tout ou partie des caractéristiques précitées. Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la 20 description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : la figure 1 représente, de façon schématique, un système d'information conforme à l'invention comprenant un dispositif d'extraction selon l'invention ; la figure 2 illustre schématiquement l'architecture matérielle du dispositif d'extraction de la 25 flgure 1 ; - fleure 3 représente, sous forme d'ordinogramme, les principales é4-apes d'un procédé d'extraction de données pertinentes selon l'invention, tel qu'il est mis en oeuvre par le dispositif d'extraction de la figure 1 ; - la figure 4 illustre un exemple de parlitionnement des instances d'un processus en trois 30 groupes; et - la figure 5 illustre un exemple d'arbre d décision permettant d'identifier les données exogènes pertinentes pour certaines groupes d'instances de la figure 4. Description détaillée de l'invention 35 La figure 1 représente, dans son environnement, un système d'information 1 conforme à l'invention, dans un mode particulier de réalisation. Dans l'exemple envisagé, le système 1 offre la possibilité à un expert ou un analyste, d'analyser précisément le complot tement d'un processus PROC. Comme mentionné précédemment, 3061574 7 aucune limitation n'est attachée à la nature du processus PROC. Ce processus comprend par définition une succession de tâches (ou d'événements, d'activités ou encore d'étapes), corrélées entre elles ou interactives, qui manipulent divers ëéments matériels, logiciels, ou des données en vue de les transformer et atteindre collectivement un objectif. Il peut s'agir par exemple de processus métiers propres à une organisation ou à une entreprise, tels qu'un processus de fabrication d'un produit, un processus de tracabilité de produits, un processus de vente de produits, etc. Chaque exécution du processus est appelée ici instance du processus. Elle est associée ici à une date d'exécution (incluant l'heure d'exécution), un identifiant, et un lieu d'exécution. 10 Chaque processus PROC peut être aisément modélisé numériquement sous forme d'un graphe orienté par exemple, noté MOD(PROC), dans lequel les noeuds correspondent aux taches du processus et/ou à des opérateurs logiques reliant ces tâches (ex. « et » pour représenter une exécution parallèle de tâches, un « ou exclusif» pour représenter un choix entre deux tâches, etc.), et les arcs définissent le s.1:quencement existant entre les noeuds. 15 Pour chaque tâche du processus, le modèle numérique correspondant fournit également les variables que la tâche manipule, à savoir notamment les variables qui lui sont fournies en entrée et celles que la tâche fournit en sortie. Dans la description, ces variables manipulées par le processus au cours de chacune de ses tâches sont désignées par « variables du processus ». Lors de l'exécution du processus, ces variables prennent diverses valeurs désignées 20 ici par « données du processus ». Ces valeurs sont classiquement enregistrées, lors de chaque exécution du processus (désignée par instance du processus ci-après), dans un historique relatant tous les événements affectant le processus lors de cette exécution. Cet historique, communément appelé KK log » du processus, permet d'ana!yser pas à pas l'activité interne du processus el ses interactions avec son environnement lors de son exécution. Dans le mode de réalisation décrit ici, 25 on suppose que les données du processus manipulées lors de diverses exécutions de ce dernier sont mémorisées dans une base de données DB__PROC du système 1 (première base de données au sens de l'invention). Par base de données, on entend ici tout ensemble ou support de stockage de données. Pour faciliter l'analyse de l'expert du comportement du processus PROC, le système 30 informatique 1. utilise conformément à l'invention les données du processus, récoltées lors de chacune des exécutions du processus PROC et stockées dans la base DB_PROC, mais également d'autres données, dites exogènes, externes au processus. Ces données ne sont pas en lien direct avec le processus PROC et son exécution' mais concernent davantage son contexte d'exécution (ex. date et lieu de l'exécution). De telles données exogènes sont par exemple relatives à la météo 35 correspondant à la date et au lieu d'exécution du processus, à l'état du trafic, à j'état du réseau le cas échéant, etc. Ce sont des données' qui bien que n'étant pas manipulées directement par le processus lors de son exécution, peuvent influencer sun comportement. 3061574 Ces données exogènes peuvent être coliectées (c'est-à-dire créées à proprement parler) indépendamment des exécutions du processus (autrement dit, on ne les collecte pas spécifiquement en relation avec l'exécution du processus, ou leur collecte n'est pas déclenchée par l'exécution même du processus) ; on s'intéresse toutefois ici seulement à celles qui sont collectées 5 pendant les instances du processus et qui sont relatives au contexte moment, lieu, etc.) d'exécution de ces instances. Ces données exogènes sont stockées dans différentes bases de données exogènes DBelsX0 accessibles par le système d'informations 1. On note que tout ou partie de ces bases de données exogènes ne sont pas nécessairement colocalisées et ne se trouvent pas nécessairement 10 dans le système d'informations 1. Il peul s'agir de bases de données externes, accessibles depuis le système d'informations 1 via un réseau de télécommunications par exemple. Conformément. à l'invention, le système d'informations 1 comprend, pour faciliter la tâche de l'expert, un dispositif informatique 2 d'extraction de données pertinentes dans l'exécution du processus PROC, conforme à l'invention, ce dispositif étant apte à utiliser les données du 15 processus disponibles dans la base DB PROC pour extraire des données pertinentes parmi les données exogènes disponibles dans les bases de données DFLEXO. Ces données pertinentes sont fournies à l'expert pour faciliter son analyse do comportement du processus PR.00, et être en mesure d'identifier le cas échéant de potentielles anomalies dans l'exécution de ce processus et de les expliquer. 20 Dans le mode de réalisation décrit ici, le dispositif d'extraction 2 est un ordinateur, dont l'architecture matérielle est illustrée schématiquement à la figure 2. Il comprend notamment un processeur :3, une mémoire vive 4, une mémoire morte 5, une mémoire flash non volatile 6, des moyens de communication 7, cl des moyens d'entrée/sortie 9. 25 Les moyens ce communication 7 permettent au dispositif d'extraction 2 de communiquer notamment avec la base de données du processus DELPROC et, les bases de données exogènes DB LW. Ces moyens de communication 7 comprennent par exemple une carte réseau, un bus numérique, un port USB (Universal Serial Bus) ou encore des moyens de communication sans fil selon l'interface existant entre les bases de données précitées et Je 30 dispositif d'extraction 2, bien connus en soi. Les moyens d'entrée/sortie 9 comprennent par exemple un écran, un clavier et une sourS, permettant à l'exper de visualiser les données pertinentes extraites par le diopos:tif d'extraction 2. La mémoire morte 5 du dispositif d'extraction 2 constitue un support d'enregistrement 35 conforme à l'invention, lisible par le processeur 3 et sur lequel est enregistré ici un programme d'ordinateur PROG conforme à l'invention. Le programme d'ordinateur PROG définit des modules fonctionnels (et logiciels ici), configurés pour mettre en ceuvre les étapes du procédé d'extraction selon l'invention. Ces modules 3061574 9 fonctionnels s'appuient sur et/ou commandent les éléments matériels 3-8 du dispositif d'extraction 2 précédemment. Ils comprennent notamment ici, comme illustré sur la figure 1 : un module d'identiCcation 2A configure pour identifier, à partir du modèle numérique MOD(PROC) du processus PROC que l'on suppose ici stocké par exemple dans la mémoire non 5 volatile 6 du dispositif d'extraction 2, une pluralité de variables manipulées par ce processus lors de son exécution ; un premier module d'obtention 2B, configure pour obtenir, de la base de données DB_PROC ici, un ensemble de données du processus correspondant aux valeurs prises par ladite pluralité de variables lors d'une pluralité d'instances INST1, INSU, INSTN, du processus PROC, N 10 désignant un entier supérieur à 1. Le premier module d'obtention 2B s'appuie ici sur les moyens de communication 7 du dispositif d'extraction 2 ; - un second module d'obtention 2C configuré pour obtenir, des bases de données DB_EXO ici, un ensemble de données exogènes collectées pendant ladite pluralité d'instances INST1, INST2, INSTN du processus PROC. Le second module d'obtention 2C s'appuie ici sur les 15 moyens de communication 7 du dispositif d'extraction 2. On note qu'il peut être confondu avec le premier module d'obtention 2B ; un module de partitionnernent 2D, configure pour partitionner l'ensemble des instances INST1, INST2, INSTN du processus en utilisant tout ou partie des données du processus DATA(PR(JC), et à fournir une pluralité de groupes distincts d'instances résultant de ce 20 partitionnement ; un module d'association 2E, configure pour associer à chaque donnée exogène obtenue par le second module d'obtention 2C, un groupe parmi la pluralité de groupes résultant du partitionnernent ; el un module d'extraction 2F, configure pour extraire pour au moins un groupe résultant du 25 partitionnement, des données exogènes associées à ce groupe et représentatives de ce groupe. Les fonctions de ces différents modules sont décrites plus en détail maintenant, en référence à la figure 3, qui représente sous forme d'ordinogramme, les principales étapes d'un procédé d'extraction de données pertinentes selon l'invention tel qu'il est mis en oeuvre par le 30 dispositif d'extraction 2, dans un mode de réalisation particulier. Conformément à l'invention, le dispositif d'extraction 2 identifie, via son module d'identification 2A, les différentes variables VAR(PROC) manipulées par le processus PROC lors de son exécution (étape E10). Le module d'identification 2A utilise à cet effet le modèle numérique MOD(PROC) du processus PROC, stocké dans sa mémoire non volatile 6, et qui fournit, pour 35 chaque tâche du processus PROC, les variables manipulées lors de ces tâches. Il peut s'agir par exemple d'un identifiant de tâche, d'une référence d'un produit, d'un identifiant d'un utilisateur exécutant le processus, de données transformées par le processus, d'un avis utilisateur remonté 3061574 10 lors de l'exécution du processus, d'un indicateur de réussite ou d'échec de l'exécution du processus, etc. Suite à cette identification, le dispositif d'extraction 2 obtient, via son premier module d'obtention 23, un premier ensemble de données de processus DATA(PROC) correspondant aux 5 valeurs prises par les variables VAR(PROC) lors de différentes instances INST1, INST2, INSTN du processus (étape E20). Aucune limitation n'est attachée au nombre N d'instances du processus considérées (i.e. N désigne un entier supérieur à 1). Les données de processus DATA(PROC), comme mentionné précédemment, sont extraites des logs du processus, mémorisés lors des différentes exécutions de celui-ci. Elles sont 10 stockées ici dans la base de données DB_PROC, en association avec chaque instance INSTn du processus, n=1,...N, et avec d'autres informations relatives à cette instance, à savoir notamment son identifiant, et la date et le lieu d'exécution de cette instance. Dans le mode de réalisation décrit ici, on suppose que les données de processus DATA(PROC) associées à chaque instance INSTn comprennent notamment un indicateur de performance obtenu pour cette instance (ex, niveau de 15 satisfaction de l'utilisateur à l'origine de l'instance, ou niveau de réussite de l'exécution du processus lors de l'instance, etc.). Bien entendu, d'autres informations peuvent être stockées en variante en association avec chaque instance INSTn (ex. référence d'un véhicule utilisé le cas échéant lors d'une livraison mise en oeuvre durant le processus, ou de toute autre ressource utilisée lors de l'exécution du processus, etc.). 20 Le module d'obtention 2B interroge la base DB PROC grâce aux moyens de communication 7 du dispositif d'extraction 2, et selon une procédure d'interrogation d'une base de données connue en soi et non détaillée ici. Le dispositif d'extraction 2 obtient également, via son second module d'obtention 2C, un second ensemble de données exogènes DATA_EXO, collectées pendant la pluralité d'exécutions 25 du processus (étape E30). Ces données exogènes DATA_EXO sont obtenues ici par le second module d'obtention 2C en interrogeant les hases de données DB_...EXO, via les moyens de communication 7 du dispositif d'extraction 2, et en utilisant les informations de contexte (ex. date et de lieu d'exécution) dont il dispose sur les instances. Chaque donnée exogène obtenue est donc associée à une instance particulière du processus. On note que les étapes d'obtention E20 et E30 30 peuvent être exécutées successivement ou simultanément par le dispositif d'extraction 2. Comme mentionné précédemment, les données exogènes DATA_EXO sont des données qui ne sont pas à proprement parler liées à l'exécution du processus. Il ne s'agit pas de données du processus manipulées directement par celui-ci lors de son exécution. Il s'agit davantage de données liées au contexte d'exécution du processus, par exemple la météo 35 correspondant à la date et au lieu d'exécution du processus lors des différentes instances considérées, le trafic aux alentours du lieu d'exécution du processus, les caractéristiques du véhicule utilisé pour la livraison d'un produit le cas échéant, etc. Ces données peuvent être collectées par le système d'informations 1 lui-même, ou par d'autres dispositifs externes au 3061574 11 système d'informations 1, accessibles par le système d'informations 1 et plus particulièrement par son dispositif d'extraction 2. Aucune limitation n'est attachée à la nature de ces données exogènes collectées pendant les exécutions du processus. Elles peuvent être définies a pilon' (i.e. à l'avance), par exemple par l'expert. Dans ce cas, l'expert peut par exemple définir une liste des données à récupérer (avec les informations nécessaires pour accéder à ces données, ex. adresses, liens, etc.) et stocker cette liste en association avec le modèle du processus ViOD(PROC) par exemple dans la mémoire non volatile 6. Le module d'obtention 2C consulte alors cette liste lors de l'étape E30 et obtient les données correspondantes en interrogeant les bases de données DB_EXO. 10 Les données à obtenir peuvent également être définies a posten.ori; en fonction de leur disponibilité. Le module d'obtention 2C peut ainsi être configuré pour consulter, lors de l'étape E30, différentes bases de données DB_EXO maintenues par un ou plusieurs systèmes d'information (y compris le système d'information 1), et susceptibles de contenir des données exogènes collectées durant les exécutions du processus PROC. Il peut procéder à cet effet en interrogeant un ensemblee 15 de bases de données prédéterminées en leur fournissant diverses informations relatives aux instances du processus obtenues en consultant la base de données DB_PROC. A l'issue des étapes E20 et E30, le dispositif d'extraction 2 dispose d'un grand volume de données du processus et exogènes qu'il convient de traiter afin de faciliter la tâche de l'expert lors de son analyse du comportement du processus PROC. Préalablement à ce traitement, dans le 20 mode de réalisation décrit ici, le dispositif d'extraction 2 uniformise le format des données obtenues par les modules d'obtention 2B et 2C (étape E40). Cette uniformisation peut être réalisée par les modules d'obtention 2B et 2C respectivement. A cet effet, ils utilisent ici un modèle (« template ») de format TEMP prédéterminé définissant un ou plusieurs champs selon lequel il convient de décrire les données DATA(PROC) et 25 DATA_EXO. Cette étape d'uniformisation est bien entendu optionnelle. Elle peut d'ailleurs n'être mise en oeuvre que pour les données exogènes, pour les conformer au format par exemple des données du processus. Cette uniformisation a une application privilégiée lorsque des données exogènes obtenues via différentes applications ou interfaces (API pour Application Programming 30 Interfaces) externes au système d'information 1 sont récoltées, ces données pouvant être présentées selon des formats propriétaires très distincts les uns des autres. L'étape E40 permet d'extraire les données exogènes correspondant au modèle TEMP, et de les présenter de façon uniformisée pour faciliter ensuite leur traitement par le dispositif d'extraction 2. Par exemple, l'API connue « OpenWeatherMAP » fournit un ensemble de données 35 lorsqu'elle est interrogée pour une date et un lieu donnés, telles que la vitesse du vent, la température, le pourcentage de nuages, la pression atmosphérique, etc. Le format des données fournies par cette API est le suivant : 3061574 12 "sys":{"country":"JP","sunrise":1369769524,"sunset":1369821049}, "weather":[{"id":804,"main":"clouds",''description":"overcast clouds","icon":"04n"}], "main":{"temp":289.5,"humidity":89,"pressure":1013,"temp_min":287.04, "temp_max": 292.04}, 5 "wind" : {"speed" 7.31,"deg" :187.002 , "rain":{"311":0}, "clouds":{"all":92}, "dt":1.369824698, "id":1851632, 10 "name":"ShuzenY, "cod":200} Les différentes données fournies par l'API ont des identifiants propres à celles-ci et seulement une partie de ces données peut être utilisée par le dispositif d'extraction 2 (par exemple le temps et la température). L'étape E40 peut consister à extraire seulement les données, fournies par l'API, 15 listées dans le modèle TEMP (ici temps et température), selon le format précisé dans ce modèle. Par exemple : "temps: nuageux" "température : 16.35°C" convient de noter que lors de l'étape E40, les modules d'obtention 2B et 2C peuvent 20 mettre en oeuvre divers traitements des données obtenues des bases de données DB_EXO afin de les conformer au rnodèft2. TEMP. Ainsi, dans l'exemple décrit ci-dessus, ces traitements comprennent notamment la traduction de termes et la conversion de la température exprimée en degrés kelvin en degrés celsius. Suite à cette étape d'uniformisation, le dispositif d'extraction 2, via son module de 25 partitionnement 2D, partitionne les instances INST1,...,INSTN du processus en une pluralité de groupes (ou classes) distincts en utilisant tout ou partie de l'ensemble des données du processus DATA(PROC) obtenues à l'étape E20, et le cas échéant uniformisées selon le modèle TEMP. Il utilise à cet effet une méthode de regroupement hiérarchique non supervisée permettant de partitionner les instances INST1,...,INSTN en fonction d'un critère de partitionnement prédéfini. 30 Une telle méthode de regroupement hiérarchique est connue en soi. Elle permet de répartir les individus d'un ensemble d'individus en un certain nombre de classes. Cette méthode suppose la définition d'une mesure de similarité ou de dissimilarité entre les individus, telle que par exemple une distance. Dans le mode de réalisation décrit ici, le module de partitionnement 2D applique une 35 telle méthode aux instances du processus i.e. chaque individu est une instance), chaque instance étant associée à des données DATA(PROC) obtenues à l'étape E20. La méthode de regroupement hiérarchique utilisée par le module de partitionnernent 2D est mise en oeuvre de façon itérative. Plus particulièrement, le module de partitionnement 2D suppose que chaque instance (et les 3061574 13 données DATA(PROC) qui lui sont reliées) est associée initialement à une classe (i.e. un groupe) distincte. Le module de partitionnement 2D évalue alors une mesure de similarité ou de dissimilarité entre chacune des instances prises deux à deux. Cette mesure de similarité ou de dissimilarité entre deux instances il et i2 est par exemple obtenue ici en calculant une distance entre tout ou partie des données DATA(PROC) associées à l'instance il et tout ou partie des données DATA(PROC) associées à l'instance i2. Une telle distance est par exemple une distance syntaxique de Levensthein entre une première chaîne de caractères (constituée ici des données DATA(PROC) choisies associées à l'instance il) et une deuxième chaîne de caractères (constituée ici des données DATA(PROC) choisies associées à l'instance i2) qui comptabilise le nombre de 10 transformations à apporter à la première chaîne de caractères pour obtenir la deuxième chaîne de caractères. La distance de Levenshtein offre donc une mesure d'un niveau de similarité entre les instances du processus. A titre illustratif si on suppose que les données DATA(PROC) choisies correspondent à l'enchaînement des étapes du processus PROC lors des instances, et que pour l'instance il, cet 15 enchaînement est caractérisé par la chaîne de caractères (suite de chiffres ici) 1-2-3-4-3-4 (activité 1, activité 2, activité 3, etc.), alors que pour l'instance i2, cet enchaînement est caractérisé par la chaîne de caractères 1-2-3-4-5-1, la distance de Levenshtein entre les instances il et i2 est 2. Bien entendu, ces exemples ne sont donnés qu'a titre illustratif. En variante, d'autres mesures de (dis)similarité peuvent être envisagées pour mettre en oeuvre la méthode de 20 regroupement hiérarchique comme par exemple une distance des instances par rapport à un modèle de référence prédéterminé. Un tel modèle prédéterminé se base sur des instances choisies par l'expert comme étant des instances de « référence » représentant un comportement du processus PROC considéré comme « normal » par l'expert. En choisissant quelques instances, l'expert donne un référentiel à l'algorithme afin de calculer une distance séparant les instances 25 « normales » des instances « anormales ». A l'issue de celte évaluation, le module de parlilionnement 2D réunit au sein d'une même classe (i.e. d'un même groupe), les instances les plus proches au regard de la distance évaluée. Puis il réitère l'évaluation des distances entre les classes nouvellement obtenues, etc. On note que le choix des données DATA(PROC) prises en compte pour évaluer les 30 distances entre les instances peut être défini par l'expert, par exemple via les moyens d'entrée/sortie 8 du dispositif d'extraction 2. Il peut être défini à la volée, ou au contraire être fixé à l'avance par l'expert. Ce choix définit un critère de partitionnement des instances Par exemple, le choix de l'expert peut être de regrouper les instances en fonction d'un indicateur de performance obtenu pour chacune de ces instances (lié par exemple à la réussite ou à l'échec de 35 l'exécution du processus durant cette instance, ou à un avis utilisateur, etc.). Selon un autre exemple, l'expert peut choisir de partitionner les instances en fonction de l'enchainement des étapes du processus et du temps moyen de réalisation des instances. Les données qui sont comparées via l'évaluation de la distance sont issues de DATA(PROC) comme par exemple le 3061574 14 temps moyen d'exécution d'une instance, ou les indicateurs de performance. On comprend bien dès lors, que plus l'expert envisage de critères de partitionnement différents (qui définissent autant d'axes d'analyse du processus), plus forte encore est la valeur ajoutée du procédé d'extraction selon l'invention qui permet de fournir à l'expert des résultats compréhensibles et directement utilisables pour son analyse. Bien entendu, d'autres critères de partitionnement peuvent être envisagés. Par ailleurs, d'autres algorithmes de classification peuvent être utilisés par le module de partitionnement 2D. Ainsi, outre la classification hiérarchique, d'autres méthodes dites de «data mining » en anglais peuvent être utilisées comme par exemple ies méthodes de k-moyenne (ou k- 10 means en anglais), de k-medoïdes, de k-centre, etc. Comme la classification hiérarchique, l'objectif de ces méthodes est de regrouper à l'aide d'une distance de similarité ou de dissimilarité des individus. Ces méthodes différent par leurs algorithmes et nécessitent de fournir au préalable une approximation du nombre de groupes (ou classes) à obtenir. Plus généralement, toutes les méthodes de classification non supervisées peuvent être utilisées par le module de partitionnement 15 2D pour partitionner les instances. Le choix d'un algorithme plutôt qu'un autre dépend de plusieurs facteurs comme notamment, la quantité d'instances à partilionner, la connaissance a priori du nombre de groupes de partitionnement, le choix de la distance, etc. Le module de partitionnement 20 obtient à l'issue de l'application de la méthode de regroupement hiérarchique une pluralité de groupes G1,..,GK, K désignant un entier supérieur à 1, 20 chaque groupe Gk, k=1,...,K comprenant au moins une instance INSTn du processus, chaque instance étant associée à des données DATA_PROC. Chaque groupe Gk, k=1,...,K obtenu à l'issue de l'étape de partitionnernent est associé par le module de partitionnement 2D à un label (ou identifiant) IDk. La figure 4 représente à titre purement illustratif, le résultat d'un tel partitionnement 25 d'instances d'un processus en trois groupes G2 et G3. Suite à ce partitionnement, le dispositif d'extraction 2, via son module d'association 2E, associe à chaque donnée exogène de l'ensemble de données exogènes DATA(EXO) obtenu à l'étape E30, un groupe d'instances parmi les groupes Glee,GK (étape E50). Plus particulièrement lors de cette étape, le module d'association 2E associe à chaque 30 donnée exogène de l'ensemble DATA(EXO) l'identifiant du groupe auquel appartient l'instance à laquelle est associée cette donnée exogène. Puis le dispositif d'extraction 2, via son module d'extraction 21:, extrait pour chaque groupe Gk, k=1,...,K d'instances, les données exogènes parmi les données qui sont associées à l'identifiant In de ce groupe qui sont pertinentes et représentatives de ce groupe (étape G70). On 35 note RELDATA(Glq, les données exogènes pertinentes extraites pour chaque groupe Gk, Pour déterminer ces données pertinentes REL_DATA(Gk), k-1,..,K, le module d'extraction 2F peul utiliser par exemple un algor;thrne de sélection de caractéristiques tel que l'algoiithme de sélection de caractéristiques récursif (ou RFE pour Recursive Feature Elimiration), 3061574 15 décrit notamment dans le document de L Guyon et al. intitulé "Gene Selection for Cancer Classification Using Support Vector Machines!' Machine Learning 46, no. 1-3 (2002): 389 422, ou encore l'algorithme C4.5, décrit notamment dans le document de J.R. Quinlan intitulé "C4.5: Proararns for Machine Learning. Morgan Kaufmenn Publishers", 1993. Ces algorithmes sont connus 5 en soi et non décrits en détail ici. D'autres algorithmes de sélection de caractéristiques peuvent par ailleurs être envisagés. De façon connue, l'algorithme C4.5 produit avantageusement un arbre de décision. Un arbre de décision est un outil d'aide à la décision représentant un ensemble de choix sous forme graphique au moyen d'un arbre. Les différentes décisions possibles sont: situées aux extrémités des 10 branches de l'arbre (i.e. sur ses feuilles), et sont atteintes en fonction des décisions prises à chaque étape. Un tel arbre de décision est lisible et rapide à exécuter. Un exemple d'un tel arbre de décision est illustré à la figure 5 pour deux données exogènes, à savoir la météo (modélisé par « ilETE0 » sur la figure 5 ) et l'état de la messagerie électronique (modélisé par « » sur la figure 5). 15 L'arbre illustré à la figure 5 indique que les instances du groupe G1 sont associées à une météo ensoleillée (modélisé par un soleil sur la figure 5), et à un état de la messagerie bon (« ok » sur la figure 5). Les instances du groupe G3 sont associées à une météo nuageuse (modélisé par un nuage sur la figure 5). Bien entendu cet exemple n'est donné qu'à titre iiiustratif. Autrement dit, l'algorithme de sélection (ex. algorithme de sélection de caractéristiques 20 récursif ou algorithme C4.5) utilisé par le module d'extraction 2F lui permet de sélectionner uniquement les données exogènes parmi les données DATA(EXO) qui sont représentatives d'un Groupe d'instances, et donc de ne conserver parmi es données exogènes associées aux instances de ce groupe, que celles qui sont représentatives de l'exécution du processus lors de ces instances. Dans l'exemple illustré à la figure 5, les données exogènes pertinentes extraites pour le groupe G1 25 sont donc la météo et l'état du service de messagerie électronique, et la météo uniquement pour le groupe G3. Le dispositif d'extraction 2 fournit ces données à l'expert, par exemple en les affichant sur l'écran du dispositif d'extraction 2. L'invention propose donc un outil qui permet à l'expert de dispos-r automatiquement de nouvelles données pour analyser le comportement du processus, au 30 regard des différents groupes d'instances qui ont été formés et du critère de partitionnement utilisé pour former ces groupes. L'analyse de l'expert est donc particulièrement enrichie grâce à l'invention. 35 REVENDICATIONS1. Procédé d'extraction de données pertinentes dans l'exécution d'un processus, destiné à être mis en oeuvre par Un dispositif informatique, ce procédé comprenant : une étape d'identification (E10), à partir d'un modèle numérique du processus, d'une pluralité de variables manipulées par le processus lors de son exécution ; une étape d'obtention (E20) d'un premier ensemble de données dites du processus correspondant aux valeurs prises par ladite pluralité ,oie variables lors d'une pluralité d'instances de ce processus, chaque instance correspondant à une exécution distincte du processus ; une étape d'obtention (E30) d'un second ensemble de données exogènes collectées pendant ladite pluralité d'instances du processus ; une étape de partitionnement (E50) des instances du processus en utilisant tout ou partie des données du processus du premier ensemble, celle étape de partitionnement conduisant à une pluralité de groupes distincts d'instances du processus ; une étape d'association (E60) à chaque donnée exogène du second ensemble d'un groupe parmi ladite pluralité de groupes résultant de l'étape de partitionnement ; et une étape d'extraction (E70), pour au moins un desdits groupes, de données exogènes du second ensemble associées au groupe et représentatives dudit groupe. 2. Procédé d'extraction selon la revendication 1 dans lequel les données utilisées lors de l'étape de partitionnement comprennent des indicateurs de performance obtenus pour les instances du processus. 3. Procédé d'extraction selon la revendication 1 ou 2 dans lequel l'étape de partitionnement utilise une méthode de regroupement hiérarchique basée sur une distance définissant un niveau de similarité entre les instances d'un même groupe ou un niveau de similarité des instances d'un même groupe par rapport à un modèle de référence prédéterminé. 4. Procédé d'extraction selon l'une quelconque des revendications 1 à 3 dans lequel l'étape d'extraction est mise cri oeuvre en utilisant un algorithme de sélection de caractéristiques récursif ou un arbre de décision. 5. Procédé d'extraction selon l'une quelconque des revendications 1 à 4 comprenant en outre une étape d'uniformisation (E40) d'un format des données du processus et/ou des données exogènes mise en oeuvre avant les étapes de partitionnement et d'association. 6. Procédé d'extraction selon l'une quelconque des revendications 1 à 5 dans lequel la nature des données exogènes est prédéterminée par expertise. 3061574 17 7. Procédé d'extraction selon l'une quelconque des revendications 1 à 5 dans lequel les données exogènes sont choisies de façon a posterhri en fonction de leur accessibilité. dans un système d'informations. 8. Programme d'ordinateur (PROG) comportant des instructions pour l'exécution des étapes du procédé d'extraction selon l'une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté par un ordinateur. 10 9. Support d'enregistrement lisible pær un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des Lapes du procédé d'extraction se:on l'une quelconque des revendications 1à 7. 10. Dispositif informatique (2) d'extraction de données pertinentes dans l'exécution 15 d'un processus, ce dispositif comprenant: : - un module d'identification (7A) configure pour identifier, à partir d'un modèle numérique du processus, une pluralité de variables manipulées par le processus lors de son exécution ; un premier module d'obtention (2B), configure pour obtenir un premier ensemble de données dites du processus correspondant aux valeurs prises par ladite pluralité de variables |urs d'une 20 pluralité d'instances de ce processus, chaque instance correspondant à une exécution distincte du processus ; - un second module d'obtention (2C) configure pour obtenir un second ensemble de données exogènes collectées pendant ladite pluralité d'instances du processus ; un module de partitionnement (2D), configure pour partitionner lesdites instances du 25 processus en une pluralité de groupes distincts, ledit module de partitionnement étant configure pour utiliser tout ou partie des données du processus du premier ensemble de données obtenues par le premier module d'obtention ; un module d'association (2E), configure pour associer à chaque donnée exogène du second ensemble un groupe parmi la pluralité de groupes résultant du partitionnement; et 30 un module d'extraction (2F), configure pour extraire pour au moins un desdits groupes, de données exogènes du second ensemble associées audit groupe et représentatives dudit groupe. 11. Système d'informations (1) comprenant : 35 une première base de données (DB_PROC) comprenant un premier ensemble de données correspondant à des valeurs prises par une p tirante de variables manipulées par un processus lors d'une pluralité d'exécutions de ce processus ; 3061574 18 - un dispositif informatioLIC (2) d'extraction selon la revendication 10 configure pour utiliser lesdites données de première base de données et pour extraire des données pertinentes dans l'exécution du processus parmi des données exogènes comprises dans au moins une deuxième base de données (DB_EXO) accessible par ledit dispositif informatique.