L’Action Center de UiPath

Article publié le 8 septembre 2021 par  Mathieu Mantelet,  Consultant RPA chez l’Oiseau Rare.



Discussion entre robots et humains : l’Action Center de UiPath


Les discussions entre robots et Humains ont souvent fait l’objet de fantasmes, notamment dans les univers de sciences fictions où l’objectif est de déterminer si l’Intelligence Artificielle en face de nous est vraiment capable de « penser ».

Ces échanges portent le fameux nom de « test de Turing » et ont été rendus célèbres dans l’iconique scène d’interrogatoire de Blade Runner entre l’inspecteur Deckard et un « répliquant ».

Aujourd’hui, la fiction rencontre presque la réalité puisque UiPath propose une toute nouvelle plateforme, l’Action Center,  qui permet à des métiers de « discuter » avec des robots.



L’Intelligence Artificielle


Il existe déjà des moyens de transmettre des informations aux robots. Par exemple, via des fichiers structurés comme des fichiers Excel, PDF, etc. Ici, l’intérêt de la plateforme est de faire traiter aux robots des sources de documents non structurés. Par exemple, des photocopies.

Pour cela, la méthodologie la plus prometteuse est d’utiliser l’Intelligence Artificielle. Ce qui implique nécessairement de « dire » au robot si ce qu’il a compris est correcte ou non.

Dans une entreprise, cela peut se traduire par le traitement automatique de factures où il est bien plus aisé et rapide d’envoyer des photos plutôt que de remplir un formulaire. On connait tous ces applications qui sont capables de traiter l’image de nos tickets pour en extraire le montant total et quelques détails.

Ici, UiPath nous propose des activités qui permettent cela, tout en utilisant des algorithmes d’Intelligence Artificielle.

Parfois, une intervention humaine est nécessaire pour renforcer le modèle utilisé du traitement de l’image. Dans ce cas, le robot peut demander la validation de son traitement par un humain. C’est à ce moment là, que l’Action Center rentre en jeu ! Il va donc nous permettre de valider ce que le robot à fait ou, le cas échéant, corriger ce qu’il a réalisé.



La modélisation : the Human In The Loop.


Bien que ce que vous apprenez est renversant, ça n’a rien à voir avec un Roller Coaster, il s’agit d’un principe couramment utilisé en Machine Learning. Il permet de construire un model renforcé, en ajoutant la participation de l’utilisateur. Dans le cas de UiPath se terme est encore mieux choisi car l’utilisateur va s’intégrer dans le cycle de traitement du robot.

Donc reprenons le cycle classique de traitement d’un RPA unattended : Il est lancé, il récupère ces cas, les traite en background et il s’arrête.



Figure 1 : Cycle classique simplifié d’un traitement RPA

L’intégration de l’utilisateur

Ici, l’innovation de UiPath est d’intégrer un utilisateur dans le cycle du robot, (human in the loop) en interrompant le processus du robot. Une fois que l’utilisateur a accompli sa tâche, le processus reprend. Ainsi, l’enchainement des actions du robot sera : lancement, récupération des cas, envoi d’une tâche à un métier, attente de la complétion de la tâche, reprise du traitement, arrêt du RPA.


Figure 2 : Cycle simplifié d’un processus faisant appel à l’Action Center

Pour pouvoir utiliser l’Action Center de UiPath, un processus de type « long » doit être choisi pour modéliser le robot. Ainsi, une fois l’automate à besoin d’un utilisateur, il suspend le processus er envoi une “Action” aux utilisateurs via l’Action Center. Cette action est gérée de la même manière qu’un ticket. Elle peut-être transférée d’un acteur à l’autre jusqu’à son accomplissement. Une fois que l’action est accomplie, son statut change et le robot peut reprendre son traitement.

Suivant les tâches à accomplir, on distingue plusieurs types d’actions :

  • L’envoi de formulaire
  • La classification de document
  • La validation de document
  • Les tâches externes

Pour les modéliser, une multitude d’activités sont donc proposées par UiPath. Vous les retrouverez dans le tableau ci-après. Ce tableau présente le type d’action en fonction du type d’activité proposées. Pour résumer les activités se regroupent en 3 catégories :

  • Envoyer une action
  • Attendre et reprendre une action
  • Affecter une action.


Tableau 1 Répartition des activités suivant les actions demandées, le type d’action et le package contenant les activités

Pour un développeur, cela signifie qu’il devra identifier le type d’action à réaliser et ensuite sélectionner les activités correspondantes pour envoyer la demande à l’utilisateur, attendre et récupérer le résultat de l’action.



Exemple avec l’Action Center de UiPath


Reprenons notre exemple de traitement de facture. Dans notre cas, le robot doit réaliser un traitement d’image pour en extraire le montant total. Il s’agit ici d’une action de validation de document. En effet, le robot interprete l’image de la facture, en ressortir un résultat, qui sera ensuite validé par l’utilisateur.  

Pour réaliser cette action, la modélisation du robot devra contenir l’activité CreateDocumentValidationAction afin de créer la demande de vérification auprès d’un utilisateur. Ensuite, elle devra utiliser l’activité WaitForDocumentValidationActionAndResume pour récupérer le résultat de cette validation et clôturer l’action.

Il va donc falloir manipuler plusieurs variables et plusieurs types d’informations pour recourir à un modèle capable de traiter notre facture. Si on s’intéresse de plus près aux deux activités évoquées précédemment on constate qu’il faut renseigner des informations relatives :

  • A l’action dans l’Action Center (nom de l’action, type de l’action, etc) (1)
  • Au stockage de l’image (nom du bucket storage utilisé). NB : cette image sera supprimée de l’Action Center par le robot après traitement. (2)
  • Au modèle d’intelligence artificielle utilisé (objets provenant du package Uipath.IntelligentOCR.Activities) (3)
  • A la variable d’objet action utilisée en sortie du CreateDocumentValidationAction et en entrée du WaitForDocumentValidationActionAndResume (4)
  • Au résultat de l’action (5)

Figure 3 : Présentation des arguments de l’activité CreateDocumentValidationAction
Figure 4 : Présentation des arguements de l’activité WaitForDocumentValidationActionAndResume

Finalement, nous pouvons constater que l’Action Center est une solution créer par UiPath pour ajouter volontairement de l’Intelligence Artificielle aux robots. Enfin, elle permet d’améliorer l’interaction utilisateur/robot. Cette solution procure des avantages (accès à de nouvelles sources de données) mais en contre-parti elle demande (un peu) de temps aux utilisateurs de cette même solution.