Plateforme
Templates
Tarifs
Ressources
DocumentationAPI
Contact
Se connecter
Commencer
FR
EN

partager

Comment utiliser l'OCR dans un workflow ?

Comment utiliser l'OCR (Optical Character Recognition) lors d'un workflow déclenché par un assistant ?

Parution le 

9/7/2021

, par 

Kévin MEGE

Introduction

Vous avez un cas d'usage nécessitant de reconnaître du texte dans une image ou un fichier ? Ca tombe bien, moi aussi. Découvrons ensemble comment réaliser un assistant capable d'identifier du texte dans des fichiers.

Ne vous inquiétez pas, il n'est pas nécessaire de rédiger votre propre fonction d'OCR.
En effet, sur le store publique de Prisme.ai, des fonctions utilisant l'OCR de Google sont mises à disposition pour tous.
‍
Aujourd'hui, nous allons voir en quelques étapes comment :

  • Comprendre les fonctions et leurs paramètres.
  • Utiliser la fonction dans un workflow.

‍

Comprendre les fonctions et leurs paramètres.

Deux fonctions liées à l'OCR sont disponibles sur le store Prisme.ai. Vous les trouverez dans la catégorie "Outils".
Afin de simplifier leur utilisation et de correspondre à la nomenclature du fournisseur d'OCR (ici Google), chaque fonction est nommée après l'API Google à laquelle elle correspond ("Images" et "Files").
‍

Choisissez la fonction qui convient à votre cas d'usage.


Ces deux fonctions prennent les mêmes paramètres en entrée, à savoir :

  • apiKey : La clé d'API récupérée auprès de Google.
  • source : L'adresse URL ou le contenu en base64 du fichier/image à scanner. Pour une image l'URL peut être hébergée n'importe où sur internet, pour un fichier il est nécessaire que celui-ci soit hébergé sur Google Storage et possède une adresse commençant par "gs://...".
  • featureType : La fonctionnalité que vous souhaitez utiliser, par défaut il s'agit de : "TEXT_DETECTION" (liste des features existantes).

‍
La fonction retourne alors directement la réponse de l'API Google sous forme JSON. Il s'agit soit :

  • ‍BatchAnnotateFilesResponse (pour la fonction files)
  • BatchAnnotateImagesResponse (pour la fonction images)

‍

Code de "Google - OCR - Images"

Utiliser la fonction dans un workflow.

1. Récupérer la fonction.

Vous pouvez copier la fonction afin de l'utiliser dans votre workflow. Il suffit, depuis le store publique d'ouvrir le menu contextuel (trois petits points sur la carte de la fonction) et cliquer sur "Copier la ressource".

Copier la fonction.

Vous avez maintenant une copie de la fonction dans votre propre store, il est désormais possible de l'utiliser dans l'un de vos workflows.

2. Glisser-déposer puis configurer.

A présent que vous avez enrichi votre store avec la fonction d'OCR proposée par la communautée vous pouvez l'utiliser directement dans vos parcours.
Nous allons réaliser un parcours simple où l'utilisateur va pouvoir demander à notre assistant de scanner une image, l'assistant permettra alors à l'utilisateur de transmettre son image afin de la scanner.

Sur la console Prisme.ai, je me rends dans l'éditeur.

Premièrement je crée une nouvelle intention avec un nom me permettant de la retrouver facilement (par exemple : ImagesOCR). Dans les phrases utilisateurs de celle-ci j'en rajoute a minima une.
‍

Enrichissement de l'intention.

Mon intention est créée, je vais maintenant y ajouter un workflow.
Pour ce faire, dans la carte de mon intention nouvellement créée je vais faire glisser-déposer les éléments nécessaires.

En premier lieu je souhaite demander à mes utilisateurs de quelle image il s'agit.
Je fais glisser-déposer une question depuis l'inventaire des éléments disponibles.
Je la configure en y ajoutant une question et une variante, le nom du paramètre (image) et le type d'entité (ggwg/image).
Note: j'aurais pu mettre un ggwg/file si j'utilisais la seconde fonction d'OCR.
‍

Configuration de la question.

Lorsque l'utilisateur recevra cette question, celui-ci pourra télécharger le fichier à faire scanner via le menu persistent du Prisme.ai Messenger.

A présent, je fais glisser une action fonction en tant que deuxième étape de notre workflow et je choisis la fameuse fonction parmi la liste déroulante.
Les paramètres à renseigner vont alors s'afficher, il s'agit de ceux mentionnés dans la première partie de cet article.
‍
Tout d'abord, il est important de renseigner sa clé d'API Google Cloud afin d'utiliser l'API Vision, une clé d'API permettant l'accès à un projet Google contenant l'API Vision suffit amplement. Si vous ne savez pas comment faire pour en obtenir une, je vous conseille de suivre leur documentation officielle.
Afin que le champ source soit rempli dynamiquement, nous allons utiliser le paramètre issu de la première étape du workflow grâce au mot clé "$image".
Le champ featureType n'est pas obligatoire, nous allons le laisser vide.
N'oubliez pas de nommer un paramètre de sortie afin de réutiliser le résultat de la fonction plus tard (ici nommé "results").

Configuration de la fonction.

‍

Ça y est, la fonction est parfaitement configurée. Il ne manque plus qu'à ajouter une réponse afin de notifier l'utilisateur du traitement effectué !

‍

3. Effectuer un traitement sur le retour de l'API.

‍

Très bien ! Votre fonction est configurée et prête à être utilisée dans votre workflow. Mais comment utiliser le retour de l'API pour effectuer des traitements ?
C'est très simple, le retour est disponible dans le paramètre de sortie déclaré juste avant.

‍
Vous pouvez alors utiliser ce paramètre de sortie comme n'importe quel paramètre d'intention, c'est-à-dire en mentionnant son nom après un signe "$".
Pour rappel : afin d'aller chercher de la donnée dans un tableau il va falloir connaître l'index. Par exemple avec la notation : "$result.responses.0" on a accès au premier objet du champ "responses" de l'API.
Dans notre cas, ça tombe bien car l'API ne retournera toujours qu'un seul élément dans les "responses", en effet puisque nous envoyons qu'une seule image (ou fichier) par appel.

Dans mon workflow, je vais ajouter deux étapes de texte annonçant le résultat obtenu. La première bulle introduira simplement le résultat tandis que dans la seconde bulle sera affiché le résultat en lui même.
‍

Afin de récupérer une vision d'ensemble de ce qui a été lu j'affiche simplement le champs "text" de "fullTextAnnotation" contenu dans la première réponse de l'API, soit en image :
‍

Workflow complet à gauche, configuration du texte à droite.


Vous l'avez compris, cette output "results" peut être utilisé comme n'importe quel autre paramètre. On pourrait donc par exemple utiliser une action "onRepeat" sur celui-ci, le faire passer dans le contexte pour une intention future, stocker le résultat dans une collection etc...

‍

Notre configuration est terminée, vous pouvez dès à présent essayer le parcours utilisateur que nous venons de créer, le voici en image :
‍

Exemple simple : le perroquet.

‍

Conclusion

En quelques minutes nous avons créé un assistant permettant de lire du texte dans une image fournie par un utilisateur.
Maintenant que nous avons récupéré une fonction OCR et compris comment l'utiliser des cas d'usages bien plus complexes s'ouvrent à nous !
En effet, nous verrons dans un prochain article comment utiliser l'OCR afin d'aider à la validation de documents officiels.

Vous pouvez d'ores et déjà construire des cas d'usages utilisant l'OCR grâce à la fonction mise à votre disposition. Et si vous souhaitez utiliser un autre service que Google il vous suffit de créer votre propre fonction en vous inspirant de celle-ci !


Bonne création !

PlateformeCas d'usageTarifs
BlogDocumentationRecrutement
Se connecterBlagnac, France
CGUMentions LégalesPolitique de confidentialité

Tous droits réservés Prisme.ai - 2016-2022 - Gogowego SAS - Made In Francecréation de site internet polish_ studio