Présentation de l’extraction de texte des PDF avec le Robot d’IA
Depuis quelque temps, nous proposons des Robots utilisant l’IA qui vont au-delà des capacités habituelles de nos Robots. Par exemple, vous connaissez peut-être notre très efficace Robot /image/facedetect, qui reconnaît automatiquement les visages dans une image. Il est idéal pour repérer un visage dans une image, puis le recadrer afin d’en faire la photo de profil d’un utilisateur.
Aujourd’hui, nous avons le plaisir de vous présenter un nouveau membre de notre famille de Robots utilisant l’IA : le Robot /document/ocr.

Les plus observateurs d’entre vous ont peut-être remarqué que nous proposons déjà le Robot /image/ocr, dont le rôle est similaire, mais présente des différences bien perceptibles au sein de notre panoplie d’outils.
Si l’on regarde sous le capot, le Robot /document/ocr repose sur AWS Textract et GCP Document AI. Cela signifie qu’il est expressément entraîné pour traiter des documents longs et de grands blocs de texte, comme ceux que vous pourriez trouver dans un roman ou un article scientifique. Il excelle également dans l’extraction de texte à partir de tableaux et de formulaires, ce qui le rend aussi bien adapté au traitement des factures, par exemple.
En comparaison, le Robot /image/ocr utilise Amazon Rekognition et l’API Vision de GCP, qui sont tous deux entraînés sur de courts fragments de texte, par exemple sur des panneaux stop, des étiquettes de colis ou des badges nominatifs.
La différence la plus importante est toutefois peut-être la prise en charge des PDF par le Robot /document/ocr, ce qui le rend idéal pour traiter les documents importants de vos clients.
Extraire du texte
Comme toujours, la meilleure façon de comprendre ces différences est que je vous les montre, plutôt que de vous les expliquer. Analysons donc les différences entre les résultats du Robot /document/ocr et ceux du Robot /image/ocr.
Voici le premier Template, qui utilise le Robot /image/ocr.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"detect": {
"robot": "/image/ocr",
"use": ":original",
"provider": "aws",
"format": "meta",
"granularity": "full"
},
"exported": {
"use": "detect",
"robot": "/s3/store",
"credentials": "my_s3_credentials"
}
}
}
Voici ensuite le second Template, qui utilise le Robot /document/ocr.
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"detect": {
"robot": "/document/ocr",
"use": ":original",
"provider": "aws",
"format": "meta",
"granularity": "full"
},
"exported": {
"use": "detect",
"robot": "/s3/store",
"credentials": "my_s3_credentials"
}
}
}
Les images ci-dessous montrent les cadres de délimitation obtenus avec les deux Templates, superposés à une facture d’exemple, avec /image/ocr à gauche et /document/ocr à droite.


Comme le montrent ces images, le Robot /document/ocr reconnaît bien mieux les informations pertinentes du document, en particulier le tableau et le texte qui suit, pour lesquels le Robot /image/ocr semble avoir un peu plus de difficultés.
Si vous vous demandez comment nous avons obtenu les cadres de délimitation des deux
Robots, nous avons utilisé le paramètre
granularity avec la valeur full pour inclure les cadres de
délimitation du texte reconnu dans le résultat. Si seul le texte reconnu vous intéresse, remplacez
cette valeur par list.
C’est tout ce qu’il faut pour commencer à reconnaître du texte dans des documents ou des images ! Inutile de parcourir toute la documentation d’un SDK ou de vous débattre avec une API : c’est aussi simple que cela.
À la prochaine !
C’est tout ce que nous avons à vous présenter pour le moment. N’hésitez pas à nous contacter si vous avez une idée intéressante pour un nouveau Robot, car nous cherchons toujours de nouvelles façons d’innover 💡
