FR3098328A1 - Procédé pour extraire automatiquement d’un document des informations d’un type prédéfini - Google Patents

Procédé pour extraire automatiquement d’un document des informations d’un type prédéfini Download PDF

Info

Publication number
FR3098328A1
FR3098328A1 FR1907252A FR1907252A FR3098328A1 FR 3098328 A1 FR3098328 A1 FR 3098328A1 FR 1907252 A FR1907252 A FR 1907252A FR 1907252 A FR1907252 A FR 1907252A FR 3098328 A1 FR3098328 A1 FR 3098328A1
Authority
FR
France
Prior art keywords
predefined type
information
neural network
document
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1907252A
Other languages
English (en)
Other versions
FR3098328B1 (fr
Inventor
Sebastian Andreas Bildner
Paul Krion
Thomas Stark
Martin Christopher Stämmler
Martin Von Schledorn
Jürgen Oesterle
Renjith Karimattathil Sasidharan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amadeus SAS filed Critical Amadeus SAS
Priority to FR1907252A priority Critical patent/FR3098328B1/fr
Priority to EP20178232.3A priority patent/EP3761224A1/fr
Priority to US16/907,935 priority patent/US11367297B2/en
Publication of FR3098328A1 publication Critical patent/FR3098328A1/fr
Application granted granted Critical
Publication of FR3098328B1 publication Critical patent/FR3098328B1/fr
Priority to US17/828,303 priority patent/US11783572B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/1444Selective acquisition, locating or processing of specific regions, e.g. highlighted text, fiducial marks or predetermined fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)

Abstract

Un procédé et un système sont fournis pour extraire automatiquement d’un document des informations d’un type prédéfini. Le procédé comprend l’utilisation d’un algorithme de détection d’objet pour identifier au moins un segment du document qui comprend vraisemblablement l’information du type prédéfini. Le procédé comprend par ailleurs la construction d’au moins une boîte de limitation correspondant audit au moins un segment et, si la boîte de limitation comprend vraisemblablement l’information de type prédéfini, l’extraction de l’information comprise par la boîte de limitation de ladite au moins une boîte de limitation. Figure pour l’abrégé : Fig. 1

Description

Procédé pour extraire automatiquement d’un document des informations d’un type prédéfini
La présente invention concerne de façon générale l’extraction d’informations, en particulier l’extraction d’informations d’un type prédéfini à partir de documents. Les informations extraites d’un type prédéfini sont, par exemple, les informations d’une feuille de données qui ont trait à des éléments techniques (semi-conducteurs, etc.), des informations de reçus (montant total, etc.) et d’autres informations de ce genre.
YOLO9000 : Better, Faster, Stronger de Joseph Redmon, Ali Farhadi, University of Washington, Allen Institute for Artificial Intelligence (arXiv : 1612.08242v1 [cs.CV] 25 Decembre 2016), porte sur la détection d’objet en temps réel, la capacité à détecter diverses catégories d’objets et s’applique aux images.
L’entrée de données correspondant à des informations d’un type prédéfini est souvent effectuée manuellement et est actuellement aidée par la reconnaissance de caractère optique conventionnelle (OCR).
Selon un premier aspect, un procédé est fourni pour extraire automatiquement d’un document des informations d’un type prédéfini. Le procédé comprend l’utilisation d’un algorithme de détection d’objet pour identifier au moins un segment du document qui comprend vraisemblablement l’information du type prédéfini, ci-après appelée « segment d’intérêt ». Le procédé comprend par ailleurs la construction d’au moins une boîte de limitation correspondant audit au moins un segment et, en réponse à l’identification d’une boîte de limitation comprenant vraisemblablement l’information de type prédéfini, l’extraction des informations comprises dans la boîte de limitation dudit au moins une boîte de limitation.
Selon un deuxième aspect, un système informatique, comprenant au moins un ordinateur agencé pour exécuter le procédé conformément au premier aspect, est fourni.
Selon un troisième aspect, un produit programme d’ordinateur comprenant des instructions de code de programme stockées sur un support lisible par ordinateur est fourni afin de mettre en œuvre les étapes du procédé selon le premier aspect lorsque ledit programme fonctionne sur un ordinateur.
Un procédé est fourni pour extraire automatiquement d’un document des informations d’un type prédéfini. Comme cela a été mentionné ci-dessus, l’information d’un type prédéfini est, par exemple, une information devant être récupérée dans une documentation ou dans une feuille de données techniques d’une pièce préfabriquée, dans un reçu, ou d’autres informations de ce genre. Cette information pourrait être le radius d’une roue, un courant de court-circuit lorsque l’information doit être extraite d’une documentation ou d’une feuille de données techniques d’une pièce préfabriquée. L’information pourrait être des numéros tels qu’un numéro de reçu, une ID de TVA ou un montant total d’un reçu lorsque l’information doit être extraite d’un reçu, ou d’autres informations de ce genre.
Le procédé comprend l’utilisation d’un algorithme de détection d’objet pour identifier au moins un segment d’intérêt. Par conséquent, une solution OCR spécialisée est, par exemple, appliquée pour cibler des zones significatives du document. L’identification et l’extraction d’objets importants sur des reçus, tels que des montants totaux et des dates de création, peuvent être accomplies d’une manière essentiellement indépendante du langage, par exemple, en exploitant la structure visuelle d’un document de cette façon. Lorsque la structure visuelle du document est exploitée, le procédé pourrait, par exemple, être aussi utilisé pour éviter des fragments de textes incomplets et des images à faible résolution, puisque seule l’information d’un type prédéfini est ciblée et que le reste du document peut-être dispensé de la reconnaissance de caractères. La reconnaissance survient, par exemple, sur des images à faible résolution, en réduisant le temps de traitement et les exigences en matière de mémoire et le procédé est potentiellement applicable aux dispositifs mobiles.
Le procédé d’extraction automatique d’information implique la construction d’au moins une boîte de limitation correspondant audit au moins un segment et en réponse à l’identification qu’une boîte de limitation comprend vraisemblablement l’information de type prédéfini, l’extraction de l’information comprise par la boîte de limitation de ladite au moins une boîte de limitation.
À titre d’exemple, un algorithme de détection d’objet basé sur des réseaux neuronaux convolutifs est utilisé pour détecter l’information d’un type prédéfini par exemple sur une image numérisée à partir du document. Ceci produit des boîtes de limitation autour des candidats pour la localisation de l’information du type prédéfini sur le document. Ceci peut aussi fournir à chaque candidat une probabilité de correspondance à l’information de type prédéfini devant être extraite. Par conséquent, dans certains exemples, une valeur de probabilité est attribuée à une boîte de limitation, la valeur de probabilité étant indicative de la probabilité qu’une certaine boîte de limitation contienne l’information de type prédéfini.
Par ailleurs, un algorithme de détection d’objet basé sur des réseaux neuronaux convolutifs est utilisé par exemple pour la reconnaissance optique de caractère. Le résultat de cette étape de traitement comprend une boîte de limitation pour chaque caractère détecté et des probabilités pour la classification du caractère. Le premier et le deuxième algorithme de détection d’objet sont utilisés par exemple pour extraire des valeurs d’objets détectés, ainsi que des valeurs de confiance.
Dans certains exemples, un algorithme d’identification de caractère est utilisé pour extraire l’information de type prédéfini dans ladite au moins une boîte de limitation. Dans certains exemples, l’algorithme d’identification de caractère utilisé pour extraire l’information de type prédéfini est configuré pour utiliser des caractéristiques de ladite information de type prédéfini afin de reconnaître l’information de type prédéfini.
Une précision de reconnaissance de caractère plus élevée peut être atteinte en utilisant une solution OCR spécialisée sur mesure. Par conséquent, la solution OCR pourrait être configurée pour être appliquée à des documents à page unique, à plusieurs numéros sur une page unique, à un petit texte continu, à une faible qualité d’image et à un ensemble de caractères limité. À titre d’exemple, des réseaux pleinement convolutifs conçus pour la détection d’objet sont utilisés pour l’OCR. Les algorithmes de détection d’objet basés sur des réseaux convolutifs peuvent mieux gérer certaines dégradations de l’image du document (contraste réduit, faible résolution, etc.) que les solutions OCR traditionnelles en se débarrassant des étapes de binarisation et de segmentation de caractères. Ils sont aussi plus rapides puisqu’ils combinent les étapes de classification et de localisation de caractère en une seule évaluation fonctionnant sur l’unité de traitement graphique (GPU).
Dans certains exemples, les caractéristiques utilisées de ladite information d’un type prédéfini comprennent au moins un d’une virgule ou une position de point décimal et un format de nombre.
Dans certains exemples, le réseau neuronal est un réseau neuronal multicouche dans lequel chaque couche différente sert à identifier les caractéristiques différentes du document.
Dans certains exemples, le procédé comprend une activité de formation pour former le réseau neuronal avec une pluralité de documents afin d’extraire correctement l’information de type prédéfini.
L’information désirée d’un type prédéfini utilisée pour la formation est, par exemple, un montant total sur un reçu. Cependant, à titre d’exemple, toute autre donnée telle que des nombres d’un format spécifique sur une feuille de données techniques peut être utilisée. Afin de former le réseau à reconnaître cette information désirée, un ensemble formatif est généré en appliquant une OCR à des images de documents afin de reconnaître le texte sur ces images ainsi que les boîtes de limitation pour chaque caractère.
Par exemple, pour produire des données de réalité de terrain, des expressions régulières et d’autres grammaires et approches basées sur des règles sont utilisées pour trouver des occurrences à l’intérieur du texte OCR. Ceci est utilisé, par exemple, pour des montants, des IDs de TVA ou d’autres éléments de données avec une syntaxe très stricte et caractéristique.
En fonction du type de données devant être reconnu, des données de rétroaction contenant l’information d’un type prédéfini peuvent être utilisées. Les données de rétroaction peuvent être obtenues des utilisateurs qui utilisent le procédé et comparer l’information extraite de type prédéfini avec l’information du type prédéfini actuellement présente. Ces données de rétroaction sont fiables puisque l’utilisateur doit confirmer l’exactitude des données soumises.
À titre d’exemple, l’utilisateur fournit une date d’arrivée pour une facture d’hôtel. Cette valeur est normalisée de sorte que diverses notations dépendantes du type pour cette valeur (« 2019-01-18 », « 18. Jan 2019 », etc.) peuvent être générées, ce que le procédé essaie ensuite d’identifier dans le texte OCR.
À partir des correspondances trouvées, par exemple, des boîtes de limitation par caractère sont extraites qui sont utilisées comme réalité de terrain pour la formation des deux phases de détection d’objet (la phase de localisation pour la boîte de limitation et la phase de détection de caractères). Si aucune occurrence d’une date d’un type particulier ne peut être trouvée dans le texte OCR, le document n’est pas pris en compte pour la formation relative à ce type de données.
Phase de détection du positionnement de l’information de type prédéfini :
Un réseau de détection d’objet formé pour détecter le positionnement des éléments désirés sur l’image du document est appliqué. Le résultat est un ensemble de boîtes de limitation décrivant les positionnements intéressants sur le document avec, dans certains exemples, un type d’information détecté (p. ex. montant, date, etc.).
La boîte de limitation décrit la position et la taille de l’information. Il est utilisé pour redimensionner l’image aux dimensions de la boîte de limitation, résultant en une image assez petite contenant vraisemblablement uniquement l’image de l’information du type prédéfini. Ensuite, un autre réseau convolutif formé pour la reconnaissance de caractère est appliqué (voir ci-dessous).
Phases de détection de caractères :
Cette approche exemplaire fournit l’effet que l’OCR peut être personnalisée pour des cas d’usage spécifiques puisque l’ensemble de caractères/mots attendu correspondant à l’information du type prédéfini est connu. C’est aussi plus rapide que d’appliquer l’OCR personnalisée au document entier, particulièrement sur les dispositifs mobiles avec une capacité computationnelle limitée, dans des exemples impliquant la mise en œuvre du procédé sur des dispositifs mobiles.
Par exemple, pour l’activité d’identification de caractère, il est utilisé un algorithme de détection d’objet différent de celui qui est utilisé pour l’identification du segment d’intérêt(s).
Dans certains exemples, un réseau neuronal convolutif, en particulier un réseau neuronal pleinement convolutif, est utilisé par l’algorithme de détection d’objet et/ou l’algorithme d’identification de caractère.
Dans un exemple, un premier réseau neuronal convolutif personnalisé, conçu pour identifier un segment(s) d’intérêt est appliqué et un deuxième réseau neuronal convolutif personnalisé, conçu pour l’identification de caractère dans les segments précédemment identifiés, est utilisé afin d’extraire l’information.
Par conséquent, l’identification de caractère est, par exemple, basée sur un réseau pleinement convolutif. Le résultat, toujours à titre d’exemple, comprend des boîtes de limitation avec des classifications et des probabilités, de façon semblable à l’étape de localisation décrite ci-dessus. Chaque boîte de limitation peut décrire le positionnement d’un caractère. La classification peut indiquer quel caractère est présent dans la boîte de limitation.
Dans l’activité suivante par exemple, toutes les boîtes de limitation du résultat sont collectées. Si deux boîtes se croisent trop, seule la boîte avec la plus forte probabilité peut être sélectionnée. Les boîtes de limitation sont classées par exemple selon leur position horizontale sur l’image redimensionnée, correspondant au segment du document qui contient vraisemblablement l’information de type prédéfini qui est comprise par la boîte de limitation actuellement examinée. Par exemple, il est supposé que tous les caractères sont situés dans la même ligne de texte. Pour chaque boîte de limitation B, un sous-ensemble de l’ensemble de caractères consistant de tous les caractères pouvant survenir dans cette position, peut être déterminé. Le sous-ensemble est par exemple déterminé par des contraintes de syntaxe et par d’autres contraintes telles qu’une contrainte relative au format et/ou à la formation de caractères (date de calendrier valide, etc.).
Dans certains exemples, une valeur de probabilité est attribuée à un caractère identifié par un algorithme d’identification de caractère, la valeur de probabilité étant indicative de la probabilité que le caractère identifié soit identique à un caractère actuellement compris par l’information de type prédéfini. À partir du sous-ensemble de caractères déterminé susmentionné, le caractère avec la plus forte probabilité, ainsi que déterminé par l’algorithme de détection d’objet, peut être choisi.
Dans certains exemples, une valeur de probabilité attribuée à une boîte de limitation et des valeurs de probabilité attribuées à des caractères dans cette boîte de limitation sont utilisées pour fournir un score de confidence combiné. Par exemple, si le résultat des probabilités de tous les caractères détectés dans une boîte de limitation B dans un token est supérieur à un seuil, cette séquence de caractères est acceptée comme correspondance. La conséquence est que des correspondances plus longues peuvent avoir une plus faible probabilité, ce qui convient à certaines applications, parce que des correspondances plus longues ont un risque plus élevé de contenir un mésappariement et même un caractère mal apparié rend la correspondance dans sa globalité inutile. C’est par exemple le cas pour des champs d’application comme des extractions de nombres d’une feuille de données et l’extraction d’un montant total de reçus.
Retour des résultats à l’utilisateur
La valeur extraite de la sorte est ensuite présentée, par exemple, à l’utilisateur pour confirmation que la valeur extraite correspond à l’information d’un type prédéfini actuellement présente sur le document. Les valeurs extraites sont par exemple présentées à l’utilisateur sur l’écran d’un dispositif mobile, d’une tablette ou autre dispositif de ce genre. La valeur extraite est par exemple utilisée pour préremplir un formulaire dans lequel l’utilisateur doit entrer la valeur extraite parmi d’autres données, le formulaire entier — ainsi que l’information extraite saisie — pourrait être stocké sur le dispositif mobile pour une évaluation ultérieure des données. À titre de cas d’usage exemplaire, le formulaire automatique peut englober des valeurs configurées manuellement et la valeur extraite lue à partir de la feuille de données. Dans un autre cas d’utilisation exemplaire, la valeur extraite peut être un montant total d’un reçu et l’utilisateur peut entrer toute autre donnée de dépense pertinente dans le formulaire. Si l’utilisateur a déterminé la valeur reconnue comme étant erronée, il peut la changer à sa discrétion. Finalement, l’utilisateur peut devoir confirmer que toutes les valeurs dans le formulaire sont correctes.
Les données collectées dans le formulaire sont ensuite téléchargées, par exemple, au système dorsal. Par la suite, un auditeur peut vérifier les données téléchargées et les comparer au document à partir duquel l’information de type prédéfini a été extraite. Ces données validées manuellement peuvent servir comme sorte de données de rétroaction utilisées pour former le réseau neuronal impliqué dans la détection d’objet et de caractères de façon continue.
L’étape actuelle de reconnaissance du procédé pourrait fonctionner dans le système dorsal ou dans le dispositif de numérisation de documents lui-même, p. ex. un téléphone mobile avec une caméra ou autre dispositif de ce genre. Dans le cas où la reconnaissance serait effectuée dans le système dorsal, le document photographique serait téléchargé pour reconnaissance directement après la prise de la photo. Dans le cas où la reconnaissance serait effectuée dans le dispositif de numérisation de documents lui-même, l’information extraite pourrait être stockée de façon permanente sur le dispositif de numérisation de documents pour une évaluation ultérieure des données extraites. D’autres cas d’usage peuvent aussi être utilisés, tels qu’un cas d’usage dans lequel l’utilisateur télécharge le document dans le système via un site Web. Le même déroulement des opérations peut être utilisé ici : Les champs du formulaire, que l’utilisateur doit remplir sont par exemple préremplis avec ladite une ou plusieurs extractions.
Structure et fonction du réseau neuronal impliqué :
Dans certains exemples, une première couche du réseau neuronal est affectée à la différenciation entre des zones vides et des zones non vides d’un document, et elle est par ailleurs utilisée pour identifier des modes basiques présents dans le document, et une deuxième couche du réseau neuronal sert à identifier les formes qui sont plus complexes en comparaison aux modes basiques susmentionnés présents dans le document.
L’architecture exacte du réseau n’est pas d’une importance capitale, car elle pourrait être remplacée par des architectures différentes tant que la définition de « la couche de décision » finale (voir description ci-dessous) reste la même.
Donc, dans certains exemples, le réseau neuronal est un réseau neuronal compatible avec une couche de décision, la couche de décision étant une couche de réseau neuronal qui sert à détecter au moins un de (i) un positionnement d’une boîte de limitation (ii) la hauteur et la largeur d’une boîte de limitation, et (iii) un score de classification indiquant une classification d’un caractère détecté. À titre d’exemple, un modèle YOLOv2, formé de toute pièce, peut être utilisé.
La couche de décision finale du réseau est, par exemple, une couche convolutive. Cette couche peut consister de filtres avec une largeur=1 et une hauteur=1. Néanmoins, la couche convolutive pourrait fonctionner effectivement comme couche de régression. Ces noyaux sont, par exemple, arrangés dans une grille d’une certaine taille (pour des réseaux pleinement convolutifs, cette taille dépend des dimensions de l’image saisie) divisant effectivement l’image le long de cette grille. Le noyau 1 x 1 dans chacune de ces cellules de grille peut contenir une détection pour chaque boîte d’ancrage. Chaque détection contient par exemple l’information suivante :
- la position exacte du centre de la boîte de limitation
- la hauteur et la largeur de la boîte de limitation
- un soi-disant « score de présence d’objet » (qui est un score qui détermine si une boîte de limitation contient ou non un objet)
- des scores de classification.
La profondeur de chaque noyau 1 x1 est par exemple B*(5+C), où B est le nombre de candidats que le modèle prédit pour chaque cellule (qui peut être choisie librement ; le défaut étant 5).
Les valeurs prédites pour chaque candidat sont par exemple le « score de présence d’objet » susmentionné correspondant par exemple à l’intersection des ensembles entre la réalité de terrain et la prédiction de la boîte de limitation du candidat (l’intersection des ensembles est une métrique d’évaluation des boîtes de limitation, la réalité de terrain correspondant aux boîtes de limitation actuelles devant être détectées), quatre valeurs (t x , t y , t w , t h ) indiquant le positionnement et la forme de la boîte de limitation du candidat. Le nombre de valeurs prédites pour chaque candidat est par exemple cinq. Les valeurs C sont réservées aux probabilités conditionnelles de la classification d’objets (correspondant à des scores de classification) étant donné qu’il y a un objet. Dans cet exemple, C'est le nombre de classes que le modèle est capable de différencier. Ces classes peuvent correspondre à des caractères alphanumériques, arabes, chinois ou japonais que le modèle doit différencier. Il y a par exemple une probabilité de 90 % que la valeur devant être extraite corresponde au caractère « B » et une probabilité de 10 % que la valeur devant être extraite corresponde au caractère « 8 ».
Le positionnement horizontal de la boîte de limitation prédite est par exemple, calculé commeb x= σ( t x )+c x, oùt x est la valeur prédite etc xest l’écart horizontal de la cellule (noyau) dans la grille bidimensionnelle. La position verticaleb yest, par exemple, définie de la même façon. Dans cet exemple, si les valeurs préditest x ett y sont 0, le centre de la boîte de limitation prédite est situé exactement au centre de la grille. Dans cet exemple, la cellule contenant le point central de la boîte de limitation est donc responsable de la détection de l’objet.
La largeurb w et la hauteurb h de la boîte de limitation prédite sont par exemple définies comme
et p w etp hsont respectivement la hauteur et la largeur précédente de la boîte de limitation, alors quet w ett h sont les valeurs de prédiction. Dans cet exemple, si les valeurs préditest w ett h sont 0, la boîte de limitation prédite est exactement égale au précédent.
La définition exemplaire implique que dans cet exemple que les boîtesBpréalables/ d’ancrage sont définies, une pour chaque prédiction par cellule. Afin de choisir ces préalables, par exemple les boîtes de limitation de réalité de terrain sont regroupées dans des groupements B en fonction de leur largeur et de leur hauteur. Par exemple, pour chacun de ces groupements une pairep hetp w est choisie, de sorte que les valeurs moyennest w ett h pour générer les boîtes de réalité de terrain dans le groupement sont minimisées.
Couche de réseau neuronal convolutif (CNN) :
Une couche dans un réseau convolutif bidimensionnel comprend, par exemple, de multiples noyaux. En appliquant le noyau à une image, le noyau se déplace par exemple à travers l’image, ce qui est aussi représenté, par exemple, comme une matrice bidimensionnelle d’une taille beaucoup plus grande. Par exemple, le noyau est appliqué subséquemment à chaque patch jusqu’à ce que l’image entière soit couverte. L’image peut correspondre à une photo ou à une numérisation d’un document à partir duquel l’information du type prédéfini doit être extraite.
L’application consiste à multiplier chaque valeur dans le noyau par le noyau correspondant dans l’image et à additionner ensuite tous les résultats. Exemple :
Dans l’exemple ci-dessus, le noyau est F et le patch d’image est I. Au milieu du patch d’image, il y a une ligne verticale, indiquée par les valeurs les plus élevées (en supposant que les valeurs les plus élevées signifient les couleurs les plus sombres). Le noyau est défini de telle façon qu’il détecte les bordures gauches. L’application du noyau donne (-1*0,3)+(-1*0,1)+(-1*0,2)+(1*0,8)+(1*0,9)+(1*0,8)=1,9. Si le filtre est déplacé d’une position sur la droite, le résultat est (-1*0,8)+(-1*0,9)+(-1*0,8)+(1*0,1)+(1*0,2)+(1*0,1)=-2,1, ce qui est beaucoup plus bas. Une fois que le noyau a été appliqué à l’image entière, les valeurs produites construisent une carte d’intensité mettant en valeur les positions avec des lignes verticales. Ce résultat de la convolution est ensuite soumis à une fonction d’activation. Puisqu’une couche consiste en noyaux multiples, plutôt qu’un, le résultat de chaque couche est une pile de ces cartes d’activation. Si la couche suivante est une autre couche convolutive, elle est appliquée à la carte d’activation comme précédemment, mais les noyaux ont une profondeur qui est égale à la taille de la pile de leur entrée.
Couches de max pooling (mutualisation maximale) :
Certains réseaux neuronaux convolutifs qui peuvent être utilisés dans le procédé, comme YOLOv2 par exemple, utilisent une technique de max pooling, afin de réduire les dimensions d’une carte d’activation. Lors de l’application du max pooling, un noyau de taille prédéfinie se déplace à travers l’image de sortie, en passant par les valeurs les plus élevées et en éliminant les autres. Un autre procédé pour réduire les dimensions d’une telle carte d’intensité est, par exemple, d’augmenter la taille de l’étape des applications noyaux du réseau neuronal convolutif.
Dans l’exemple suivant,Iest la carte d’activation d’une couche convolutive précédente. Nous appliquons une couche max pooling de taille 2 x 2 et une taille de cadence de deux. Les polices différentes (soulignement, italique, caractères gras et standard) indiquent la section de la matrice I affectée par la couche max pooling et le résultat max pooling est indiqué dans la matrice M.
De chacune des quatre sous-matrices (indiquées par les lignes pointillées les entourant ci-dessus), l’élément avec la valeur la plus élevée est sélectionné. La couche résultante M de la couche max pooling ressemble ensuite à ceci :
Après que la couche max pooling a réduit les données à traiter, un autre filtre de noyau peut être utilisé sur la carte d’activation avec des dimensions réduites correspondant à un nombre réduit d’entrées. Les couches max pooling peuvent être utilisées avant la couche de décision de l’identification de segments d’intérêt et/ou avant la couche de décision de l’activité actuelle de reconnaissance de caractère. La couche de décision pourrait ensuite être la couche qui fournit le résultat final devant être saisi dans le formulaire susmentionné par exemple.
Des exemples de l’invention sont maintenant décrits également par référence aux dessins qui les accompagnent, dans lesquels
est un document exemplaire à partir duquel une information de montant total doit être extraite, ainsi que des boîtes de limitation autour des candidats pour cette information,
montre un flux séquentiel schématique du procédé d’extraction de l’information,
montre deux réseaux neuronaux multicouches successifs avec de multiples noyaux différents utilisés pour extraire l’information, les deux réseaux neuronaux multicouches impliquant une couche de décision,
est une vue schématique d’une couche de décision exemplaire de la Fig. 3 ainsi que des résultats possibles de cette couche de décision,
est un flux séquentiel schématique d’un exemple du procédé comprenant des réseaux neuronaux formés comme illustrés dans la Fig. 3,
est une vue schématique sur un dispositif mobile qui est utilisé pour mettre en œuvre le procédé d’extraction d’information,
est un ordinateur schématique sur lequel le procédé d’extraction d’information d’un document peut être mis en œuvre.
Les dessins et la description des dessins sont des exemples de l’invention et ne représentent pas l’invention en elle-même. Des signes de référence similaires font référence à des éléments similaires tout au long de la description suivante des exemples.
Un document exemplaire 1 à partir duquel une information de montant total doit être extraite, ainsi que des boîtes de limitation autour des candidats pour cette information, est illustré dans la Fig. 1. Le document exemplaire 1 illustré par laFig. 1et un reçu d’un garage de stationnement, d’un hôtel ou d’une autre entité de ce genre. Le document exemplaire 1 comprend, p. ex., des caractères chinois indiquant le but du reçu et plusieurs numéros dont les buts sont différents (p. ex. une date, un numéro de série, un montant total, etc.). Les nombres numérisés du document montrés dans la Fig. 1 sont confinés dans des boîtes de limitation identifiées, par exemple, par un algorithme d’identification d’objets basé sur un réseau neuronal pleinement convolutif.
L’algorithme de détection d’objet pourrait par exemple reconnaître que, sur la base du format du nombre et du nombre de caractères dans une chaîne, le contenu des boîtes de limitation 100 ne correspond probablement pas au montant total qui est l’information d’un type prédéfini recherché dans cet exemple. Cela pourrait être accompli par exemple en attribuant une probabilité pour correspondre à un montant total à chaque boîte de limitation identifiée sur le document numérisé et en comparant cette probabilité à un seuil.
Cependant, l’algorithme de détection d’objet pourrait également reconnaître que, sur la base du format du nombre et du nombre de chiffres contenus dans un nombre, le contenu des boîtes de limitation 200 pourrait en effet correspondre à un montant total. Ceci pourrait aussi être accompli en identifiant des valeurs de probabilités associées à des boîtes de limitation et en comparant les probabilités à un seuil.
Un flux séquentiel schématique d’un exemple du procédé d’extraction de l’information est montré dans laFig. 2. Au cours de l’activité S1, un algorithme de détection d’objet est utilisé pour identifier un segment(s) d’intérêt. L’information de type prédéfini pourrait être la valeur du montant total du document 1 faisant état de reçu montré dans la Fig. 1. L’information de type prédéfini pourrait être une donnée de spécifications techniques sur une feuille de données ou autre donnée de ce genre.
Au cours de l’activité S2, au moins une boîte de limitation correspondant audit au moins un segment est construit. La boîte de limitation entoure par exemple chaque segment qui comprend vraisemblablement l’information de type prédéfini. Dans le document exemplaire montré dans la Fig. 1, ces segments sont des segments qui comprennent des nombres de toutes sortes et ne sont pas des caractères de langage, tels que les caractères chinois dans le document de la Fig. 1.
Dans une activité S3, l’information de type prédéfini (ici : le montant total) est extraite de ladite au moins une boîte de limitation par un algorithme d’identification de caractère configuré pour utiliser les caractéristiques de ladite information de type prédéfini (information concernant les virgules, les points décimaux ou la position des marques de ponctuation, les formats de nombre, les unités SI, etc.) afin de reconnaître l’information. Par exemple, pour reconnaître l’information correspondant au montant total sur le document illustré par la Fig. 1, par exemple un format avec un nombre de chiffres limité (p. ex. trois chiffres) et pas plus d’une seule ponctuation, est utilisé comme critère.
Deux réseaux neuronaux multicouches successifs avec de multiples noyaux différents utilisés pour l’extraction d’information impliquant l’identification d’objet sont illustrés à titre d’exemple par laFig. 3. Les deux réseaux neuronaux multicouches impliquent de nombreux noyaux et une couche de décision.
Dans une couche d’entrée 21 du réseau neuronal de détection d’objet, ayant une profondeur de trois, correspondant aux trois canaux RGB, le document 1 est converti en un ensemble de valeurs de trois profondeurs de canaux, avec des canaux de dimensions 52 x 20 x 3.
Les deux couches suivantes successives 22, 23 sont des couches convolutives ayant toutes deux comme dimensions, 20 x 52 x 64. Dans la première couche convolutive 22, un noyau filtre ayant comme dimensions, 3 x 3 x 64, est appliqué alors que dans la deuxième couche convolutive 23, un noyau filtre ayant comme dimensions, 2 x 2 x 64, est appliqué. Les deux couches successives pourraient servir à la détection de formes rudimentaires sur l’image, ou à un autre usage de ce genre.
La couche suivante 24 est une première couche max pooling qui réduit la largeur et la hauteur de l’ensemble de valeurs aux dimensions 26 x 10. Cette réduction peut, par exemple, servir à un centrage uniquement sur les régions de l’ensemble de valeurs précité qui correspondent à des parties d’images qui ne sont pas vides. Un filtre ayant comme dimensions, 3 x 3 x 64, servant p. ex. à la détection d’objet abstrait, est également appliqué.
En guise d’activité suivante, à nouveau deux couches convolutives successives, 25, 26 sont appliquées à l’ensemble avec des dimensions réduites. La profondeur du filtre correspondant et l’ensemble de valeurs sont augmentés à 128. Ces couches pourraient servir à une reconnaissance plus précise de formes et de régions.
La couche 27 est une deuxième couche max pooling qui réduit la largeur et la hauteur à 13 x 5 et qui appliquent en plus un autre noyau filtre de 3 x 3 x 128.
Les couches subséquentes 28, 29 et 30 sont d’autres couches convolutives. La couche 28 correspond à un ensemble ayant comme dimension, 5 x 13 x 256, applique un noyau filtre de 3 x 3 x 256. La couche 29 a la même dimension, mais un noyau filtre de 1 x 1 est appliqué. La dernière couche avant la couche de décision 31 est la couche convolutive 30. La couche convolutive 30 est une couche de filtrage profond correspondant à un ensemble d’une profondeur de 1024. Un noyau filtre aux dimensions 1 x 1 x 1024 est appliqué.
Chaque couche peut servir de carte d’activation comprenant des valeurs d’activation pour les neurones associés aux couches du réseau neuronal. Les valeurs d’activation émergeant de ces cartes d’activation sont par exemple entrées dans une fonction d’activation, telle qu’une fonction rectangulaire ou sigmoïde pour former le potentiel d’activation rencontré par un neurone respectif.
La couche suivante 31 est la couche de décision de l’algorithme de détection d’objet qui définit finalement les boîtes de limitation. La couche de décision d’un tel réseau neuronal est décrite par ailleurs conjointement à laFig. 4.
Le résultat de cette couche de décision est, notamment, des boîtes de limitation avec des valeurs de probabilité correspondantes indiquant la probabilité que la boîte de limitation contienne en effet l’information de type prédéfini devant être extraite, dans cet exemple la valeur du montant total.
Le résultat de la couche de décision 31, p. ex. la boîte de limitation avec la probabilité la plus élevée de contenir l’information de type prédéfini est introduite dans la première couche de détection d’un algorithme d’identification de caractère 32.
Les couches convolutives suivantes, 33, 34, 36, 37, 39, 40, 41, les couches de max pooling 35, 38 et la couche de décision 42 sont identiques par rapport aux dimensions des ensembles et des noyaux filtres et de la séquence des couches.
Cependant, les couches du réseau neuronal convolutives sont adaptées à l’identification de caractère à partir de la boîte de limitation identifiée auparavant. Comme cela a été décrit ci-dessus, l’identification de caractère aussi peut impliquer la construction de boîtes de limitation, notamment une boîte de limitation pour chaque caractère. Pour chaque boîte de limitation, un sous-ensemble de l’ensemble de caractères, correspondant aux caractères qui sont autorisés à apparaître dans une certaine position, pourrait être déterminé. Aussi, une valeur de probabilité pour qu’un caractère corresponde au caractère actuellement présent sur le document est attribuée.
Par conséquent, chaque nombre du montant total est, par exemple, identifié et le montant total est renvoyé à l’utilisateur après la couche de décision. Les valeurs de probabilité de chaque caractère dans la boîte de limitation pourraient être multipliées les unes avec les autres et, si la probabilité résultante est plus élevée qu’une valeur de seuil, la combinaison correspondante de caractères est, par exemple, acceptée comme correspondance pour la valeur du montant total.
Toutes les couches de réseaux neuronaux décrites ci-dessus pourraient être implémentées comme des couches d’un réseau neuronal pleinement convolutif, tel que YOLO v2.
La couche(s) de décision 31, 42 et leurs résultats respectifs sont illustrés dans la Fig. 4 de façon plus détaillée. La couche de décision 31, 42 a un noyau filtre avec une hauteur et une largeur de 1 x 1. Les résultats des couches de décision exemplaires illustrées, 31, 42, comprennent la position exacte du centre de la boîte de limitation D1, la largeur et la hauteur de la boîte de limitation D2, le score de présence d’objet susmentionné D3 et les corps de classification susmentionnés D4.
Un procédé exemplaire d’extraction d’information d’un type prédéfini avec une formation exemplaire effectuée en parallèle est illustré dans laFig. 5.
Dans une activité T1, un premier algorithme de détection d’objet est appliqué sur la feuille de formation. Le premier algorithme de détection d’objet peut être un algorithme personnalisé pour détecter les segment(s) d’intérêt et pour obtenir les boîtes de limitation entourant ces segments.
Au cours d’une activité T2, les boîtes de limitation entourant ces positions intéressantes sont obtenues. En plus de ces boîtes de limitation, au cours de l’activité T2, le type de l’information détectée est également obtenu (p. ex., le montant, la date).
Au cours d’une activité T3, un deuxième algorithme de détection d’objet qui est un algorithme d’identification de caractère basé sur un réseau neuronal pleinement convolutif, est appliqué.
Au cours d’une activité T4, les boîtes de limitation, avec les classifications en caractères et les probabilités correspondantes pour que la classification soit correcte, sont obtenues.
Au cours de l’activité T5, toutes les boîtes de limitation sont collectées à partir du résultat.
Au cours d’une activité T6, les boîtes de limitation sont classées en fonction de leur position horizontale sur le document numérisé.
Au cours d’une activité T7, un sous-ensemble de caractère est obtenu pour chaque boîte de limitation. Le sous-ensemble de caractères comprend tous les caractères qui sont autorisés à apparaître dans la position particulière de la boîte de limitation. Le sous-ensemble est déterminé sur la base des contraintes de syntaxe et/ou de format.
Au cours d’une activité T8, pour chaque boîte de limitation, le caractère avec la probabilité la plus élevée est sélectionné.
Au cours d’une activité T9, en réponse aux résultats indiquant que des probabilités sont au-dessus d’un seuil, la séquence de caractères est acceptée comme correspondance.
Au cours d’une activité T10, le résultat est présenté à l’utilisateur pour confirmation et des corrections manuelles effectuées par l’utilisateur sont reçues pour améliorer le procédé, p. ex. en adaptant les noyaux filtres, en adaptant les poids de certains neurones et ainsi de suite.
Au cours d’une activité T11, le procédé est répété à partir de l’activité T1.
Un dispositif mobile 70 qui pourrait être configuré pour mettre en œuvre le procédé en partie ou entièrement est illustré par laFig. 6. Le dispositif mobile 70 pourrait être un quelconque dispositif manuel avec des capacités computationnelles, tel qu’un smartphone, une tablette, etc.
Comme cela a été mentionné ci-dessus, la partie de reconnaissance d’objet et de caractère du procédé pourrait être mise en œuvre à l’arrière-plan sur une image qui a été prise avec la caméra du dispositif mobile 70, ou par un autre dispositif de ce genre. Le procédé dans sa globalité pourrait aussi être mis en œuvre sur le dispositif mobile 70 lui-même avec les valeurs extraites stockées de façon permanente sur le dispositif mobile 70. Par exemple, au lieu d’un téléphone mobile, tel qu’illustré dans la Fig. 6, un dispositif manuel de numérisation ou de photographie, équipé de processeurs et de capacité de stockage, adapté au procédé, pourrait être utilisé pour mettre en œuvre le procédé.
Par exemple, avec le dispositif mobile 70, l’utilisateur prend une photo d’un reçu, d’une spécification technique ou autre donnée de ce genre et détermine le type d’information qu’il souhaite extraire, p. ex. le montant total. Ensuite l’utilisateur peut activer le procédé de reconnaissance d’objet/caractère et utiliser l’information extraite, par exemple, pour remplir automatiquement un formulaire tel qu’un formulaire de remboursement de dépenses, une déclaration d’impôt ou autre formulaire de ce genre.
Un dispositif informatique exemplaire pour mettre en œuvre le procédé, ou au moins des parties du procédé est illustré par laFig. 7.
Le système informatique 100 est agencé pour exécuter un ensemble d’instructions sur un processeur 102 afin d’amener le système informatique 100 à mettre en œuvre des tâches comme celles qui ont été décrites dans les présentes.
Le système informatique 100 inclut un processeur 102, une mémoire principale 104 et une interface de réseau 108. La mémoire principale 104 inclut un espace utilisateur qui est associé à des applications exécutées par l’utilisateur et à un espace noyau qui est réservé à un système d’exploitation ainsi que des applications associées de matériel et de systèmes d’exploitation. Le système informatique 100 inclut par ailleurs une mémoire statique 106, p. ex. une mémoire flash non amovible et/ou un disque à état solide et/ou une carte amovible micro ou mini SD qui stockent de façon permanente le logiciel permettant au système informatique 100 d’exécuter les fonctions du système informatique 100. Par ailleurs, il peut inclure un écran vidéo 110, un module de contrôle d’interface 114 et/ou un dispositif de curseur et de saisie alphanumérique 112. En option, des interfaces I/O 116 supplémentaires telles qu’un lecteur de carte et des interfaces USB peuvent être présents. Les composants du système informatique 102 à 109 sont interconnectés par un bus de données 118.

Claims (14)

  1. Un procédé est fourni pour extraire automatiquement d’un document des informations d’un type prédéfini, le procédé comprenant
    l’utilisation d’un algorithme de détection pour identifier au moins un segment du document qui comprend vraisemblablement l’information de type prédéfini, la construction d’au moins une boîte de limitation correspondant audit au moins un segment,
    en réponse à l’identification d’une boîte de limitation comprenant vraisemblablement l’information de type prédéfini, l’extraction de l’information comprise par la boîte de limitation de ladite au moins une boîte de limitation.
  2. Le procédé de la revendication 1, dans lequel un algorithme d’identification de caractère est utilisé pour extraire l’information de type prédéfini dans ladite au moins une boîte de limitation.
  3. Le procédé de la revendication 2, dans lequel l’algorithme d’identification de caractère utilisé pour extraire l’information de type prédéfini est configuré pour utiliser des caractéristiques de ladite information de type prédéfini afin de reconnaître l’information de type prédéfini.
  4. Le procédé de la revendication 3, dans lequel les caractéristiques utilisées de ladite information d’un type prédéfini comprennent au moins un d’une virgule ou d'un point décimal et un format de nombre.
  5. Le procédé de la revendication 4, dans lequel chaque couche différente d'un réseau neuronales multicouches sert à identifier les caractéristiques différentes du document.
  6. Le procédé de la revendication 5, dans lequel une première couche du réseau neuronal est affectée à la détection de formes rudimentaires sur le document et dans lequel une deuxième couche du réseau neuronal est affectée à la détection d'objet abstrait.
  7. Le procédé de l’une quelconque des revendications 5 ou 6, dans lequel le réseau neuronal est un réseau neuronal compatible avec une couche de décision, la couche de décision étant une couche de réseau neuronal qui sert à détecter au moins un de (i) un positionnement d’une boîte de limitation (ii) la hauteur et la largeur d’une boîte de limitation, et (iii) un score de classification indiquant une classification d’un caractère détecté.
  8. Le procédé de l’une quelconque des revendications 1 à 7, dans lequel un réseau neuronal convolutif, en particulier un réseau neuronal pleinement convolutif, est utilisé par l’algorithme de détection d’objet et/ou l’algorithme d’identification de caractère.
  9. Le procédé de l’une quelconque des revendications 5 à 8, dans lequel le procédé comprend une activité d'entraînement pour entraîner le réseau neuronal avec une pluralité de documents afin d’extraire correctement l’information de type prédéfini.
  10. Le procédé de l’une quelconque des revendications 1 à 9, dans lequel une valeur de probabilité est attribuée à une boîte de limitation, la valeur de probabilité étant indicative de la probabilité qu’une certaine boîte de limitation contienne l’information de type prédéfini.
  11. Le procédé de l’une quelconque des revendications 2 à 10, dans lequel une valeur de probabilité est attribuée à un caractère identifié par un algorithme d’identification de caractère, la valeur de probabilité étant indicative de la probabilité que le caractère identifié soit identique à un caractère réellement compris par l’information de type prédéfini.
  12. Le procédé de la revendication 11, dans lequel une valeur de probabilité attribuée à une boîte de limitation et des valeurs de probabilité attribuées à des caractères dans cette boîte de limitation sont utilisées pour fournir un score de confidence combiné.
  13. Un système informatique, le système informatique comprenant au moins un ordinateur agencé pour exécuter le procédé selon l’une quelconque des revendications 1 à 12.
  14. Un produit programme d’ordinateur comprenant des instructions de code de programme stockées sur un support lisible par ordinateur pour mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 12 lorsque ledit programme fonctionne sur un ordinateur.
FR1907252A 2019-07-01 2019-07-01 Procédé pour extraire automatiquement d’un document des informations d’un type prédéfini Active FR3098328B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1907252A FR3098328B1 (fr) 2019-07-01 2019-07-01 Procédé pour extraire automatiquement d’un document des informations d’un type prédéfini
EP20178232.3A EP3761224A1 (fr) 2019-07-01 2020-06-04 Procédé d'extraction automatique d'informations d'un type prédéfini d'un document
US16/907,935 US11367297B2 (en) 2019-07-01 2020-06-22 Method of automatically extracting information of a predefined type from a document
US17/828,303 US11783572B2 (en) 2019-07-01 2022-05-31 Method of automatically extracting information of a predefined type from a document

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1907252 2019-07-01
FR1907252A FR3098328B1 (fr) 2019-07-01 2019-07-01 Procédé pour extraire automatiquement d’un document des informations d’un type prédéfini

Publications (2)

Publication Number Publication Date
FR3098328A1 true FR3098328A1 (fr) 2021-01-08
FR3098328B1 FR3098328B1 (fr) 2022-02-04

Family

ID=68733178

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1907252A Active FR3098328B1 (fr) 2019-07-01 2019-07-01 Procédé pour extraire automatiquement d’un document des informations d’un type prédéfini

Country Status (3)

Country Link
US (2) US11367297B2 (fr)
EP (1) EP3761224A1 (fr)
FR (1) FR3098328B1 (fr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11144715B2 (en) * 2018-11-29 2021-10-12 ProntoForms Inc. Efficient data entry system for electronic forms
US11087163B2 (en) 2019-11-01 2021-08-10 Vannevar Labs, Inc. Neural network-based optical character recognition
US11210562B2 (en) 2019-11-19 2021-12-28 Salesforce.Com, Inc. Machine learning based models for object recognition
US11373106B2 (en) * 2019-11-21 2022-06-28 Fractal Analytics Private Limited System and method for detecting friction in websites
CN111860479B (zh) * 2020-06-16 2024-03-26 北京百度网讯科技有限公司 光学字符识别方法、装置、电子设备及存储介质
US11715310B1 (en) * 2020-10-02 2023-08-01 States Title, Llc Using neural network models to classify image objects
US11341758B1 (en) * 2021-05-07 2022-05-24 Sprout.ai Limited Image processing method and system
US11494551B1 (en) 2021-07-23 2022-11-08 Esker, S.A. Form field prediction service
US20230169675A1 (en) * 2021-11-30 2023-06-01 Fanuc Corporation Algorithm for mix-size depalletizing
CN116994270B (zh) * 2023-08-28 2024-06-14 乐麦信息技术(杭州)有限公司 一种简历解析方法、装置、设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190019020A1 (en) * 2017-07-17 2019-01-17 Open Text Corporation Systems and methods for image based content capture and extraction utilizing deep learning neural network and bounding box detection training techniques

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1946233A4 (fr) * 2005-10-25 2013-02-27 Charactell Ltd Extraction de donnees de formulaire sans personnalisation
CN106845530B (zh) * 2016-12-30 2018-09-11 百度在线网络技术(北京)有限公司 字符检测方法和装置
US11631266B2 (en) * 2019-04-02 2023-04-18 Wilco Source Inc Automated document intake and processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190019020A1 (en) * 2017-07-17 2019-01-17 Open Text Corporation Systems and methods for image based content capture and extraction utilizing deep learning neural network and bounding box detection training techniques

Also Published As

Publication number Publication date
FR3098328B1 (fr) 2022-02-04
US11783572B2 (en) 2023-10-10
US20220292863A1 (en) 2022-09-15
US20210004584A1 (en) 2021-01-07
EP3761224A1 (fr) 2021-01-06
US11367297B2 (en) 2022-06-21

Similar Documents

Publication Publication Date Title
FR3098328A1 (fr) Procédé pour extraire automatiquement d’un document des informations d’un type prédéfini
US11657602B2 (en) Font identification from imagery
AU2020319589B2 (en) Region proposal networks for automated bounding box detection and text segmentation
CN110689036B (zh) 用于自动染色体分类的方法和系统
Nakamura et al. Scene text eraser
US20190385054A1 (en) Text field detection using neural networks
CA2900818C (fr) Systemes et procedes de capture et d'utilisation des donnees fiscales
AU2020321911B2 (en) Region proposal networks for automated bounding box detection and text segmentation
BE1025504A1 (fr) Système de reconnaissance de formes
Zhu et al. License plate recognition in urban road based on vehicle tracking and result integration
CN113673528B (zh) 文本处理方法、装置、电子设备和可读存储介质
CN116682141A (zh) 基于多尺度递进式感知的多标签行人属性识别方法及介质
Rahal et al. Layout analysis of historical document images using a light fully convolutional network
Thakur et al. Geometrical attack classification using DCNN and forgery localization using machine learning
CN116958615A (zh) 图片识别方法、装置、设备和介质
CN116030311B (zh) 一种基于多源遥感数据的湿地分类方法和电子设备
Gulnara et al. Using Image Processing and Optical Character Recognition to Recognise ID cards in the Online Process of Onboarding
Pandiaraja et al. An Analysis of Real-Time Number Plate-Based Verification System with Insurance Processing Using OCR Techniques
US11972626B2 (en) Extracting multiple documents from single image
Sánchez-Rivero et al. A joint study of deep learning-based methods for identity document image binarization and its influence on attribute recognition
Jain et al. Digitization of Handwritten Documents Using Image Processing
Rafi et al. NSTU-BDTAKA: An Open Dataset for Bangladeshi Paper Currency Detection and Recognition
Joshi et al. Source printer identification from document images acquired using smartphone
Bralić et al. System for automatic detection and classification of cars in traffic
Sindhu et al. Toll Plazza Management System Using Text Detection and Text Recognization Techniques

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210108

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5