FR 3098328 A1 20210108 FR 1907252 A 20190701 Description Titre de l'invention : Procédé pour extraire automatiquement d'un document des informations d'un type prédéfini [0001] La présente invention concerne de façon générale l'extraction d'informations, en par- ticulier 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. [0002] YOL09000 : Setter, Faster, Stroneer de Joseph Redmon, Ali Farhadi, University of Washington, Allen Institute for Artificial Intelligence (arXiv : 1612.08242v1 [cs.CVJ 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. [0003] 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). [0004] 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. [0005] Selon un deuxième aspect, un système informatique, comprenant au moins un or- dinateur agencé pour exécuter le procédé conformément au premier aspect, est fourni. [0006] Selon un troisième aspect, un produit programme d'ordinateur comprenant des ins- tructions de code de programme stockées sur un support lisible par ordinateur est fourni afin de mettre en oeuvre les étapes du procédé selon le premier aspect lorsque ledit programme fonctionne sur un ordinateur. [0007] Un procédé est fourni pour extraire automatiquement d'un document des in- formations 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 2 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. [0008] 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. [0009] 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'infonnation comprise par la boîte de limitation de ladite au moins une boîte de limitation. [0010] À 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 con-espondance 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. [0011] 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. [0012] Dans certains exemples, un algorithme d'identification de caractère est utilisé pour 3 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 configure pour utiliser des caractéristiques de ladite information de type prédéfini afin de reconnaître l'information de type prédéfini. [0013] 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). [0014] 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. [0015] 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. [0016] 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. [0017] 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. [0018] 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 lDs de TVA ou d'autres éléments de données avec une syntaxe très stricte et caractéristique. [0019] 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. [0020] À 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. [0021] À 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. [0022] 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.). [0023] 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). [0024] 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 1' 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 oeuvre du procédé sur des dispositifs mobiles. [0025] 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). [0026] 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. [0027] 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. [0028] 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. [0029] Dans l'activité suivante par exemple, toutes les boîtes dc 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 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.). [0030] 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. [0031] 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 6 d'une feuille de données et l'extraction d'un montant total de reçus. [0032] 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 cc 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. [0033] 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. [0034] 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. [0035] Structure et fonction du réseau neuronal impliqué : Dans certains exemples, une première couche du réseau neuronal est affectée à la dif- 7 fé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. [0036] 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. [0037] 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 (i ii) un score de classification indiquant une classification d'un caractère détecté. À titre d'exemple, un modèle YOL0v2, formé de toute pièce, peut être utilisé. [0038] 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 convolutivc 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. [0039] La profondeur de chaque noyau 1 xl 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). [0040] 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 ' t , t '. , 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 clas- 8 sification 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 « ». [0041] Le positionnement horizontal de la boîte de limitation prédite est par exemple, calculé comme b' = j+c,' où t, est la valeur prédite et c, est l'écart horizontal de la cellule (noyau) dans la grille bidimensionnelle. La position verticale b' est, par exemple, définie de la même façon. Dans cet exemple, si les valeurs prédites t , et t 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. [0042] La largeur b ' et la hauteur b h de la boîte de limitation prédite sont par exemple définies comme [Math.1] b w= P ' t et [Math .2] b= p , p ' et ph sont respectivement la hauteur et la largeur précédente de la boîte de limitation, alors que t ', et t,, sont les valeurs de prédiction. Dans cet exemple, si les valeurs prédites t et t h sont 0, la boîte de limitation prédite est exactement égale au précédent. [0043] La définition exemplaire implique que dans cet exemple que les boîtes B pré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 paire ph et p ' est choisie, de sorte que les valeurs moyennes t ,, et t,, pour générer les boîtes de réalité de terrain dans le groupement sont minimisées. [0044] 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. 9 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. [0045] L'application consiste à multiplier chaque valeur dans le noyau par le noyau cor- respondant dans l'image et à additionner ensuite tous les résultats. Exemple : [Math.3] - 1 1 0 F -110 -110 [Math.4] 02 0.8 Oj 0.1 0.9 0.7 0.2 0.8 OJ 100461 Dans l'exemple ci-dessus, le noyau est Pet 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)+(-10,1)+(-1'.'0,2)+(1t0,8)+(10,9)±(1*0,8)=1,9. Si le filtre est déplacé d'une position sur la droite, le résultat est 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. [0047] Couches de max pooling (mutualisation maximale) : Certains réseaux neuronaux convolutifs qui peuvent être utilisés dans le procédé, comme YOL0v2 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 peeling, 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. [0048] Dans l'exemple suivant, lest la carte d'activation d'une couche convolutive précédente. Nous appliquons une couche max peeling 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 peeling est indiqué dans la matrice M. [0049] [Math.5] [0050] 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 : [0051] 1Math.61 [64 361 [0052] 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. [0053] Des exemples de l'invention sont maintenant décrits également par référence aux dessins qui les accompagnent, dans lesquels [0054] rfig.11 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, [0055] rfig.21 montre un flux séquentiel schématique du procédé d'extraction de l'information, [0056] rfig.31 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, [0057] rfig.41 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, [0058] rfig.51 est un flux séquentiel schématique d'un exemple du procédé comprenant. des 11------ 24 11 réseaux neuronaux formés comme illustrés dans la Fig. 3, [0059] [fig.6] est une vue schématique sur un dispositif mobile qui est utilisé pour mettre en oeuvre le procédé d'extraction d'information, [0060] [fig.7] est un ordinateur schématique sur lequel le procédé d'extraction d'information d'un document peut être mis en oeuvre. [0061] Les dessins et la description des dessins sont des exemples de l'invention et ne re- pré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. [0062] 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 la Fig. 1 et 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. [0063] 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. [0064] 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. [0065] Un flux séquentiel schématique d'un exemple du procédé d'extraction de l'information est montré dans la Fig. 2. Au cours de l'activité SI, 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. [0066] Au cours de l'activité 52, au moins une boîte de limitation correspondant audit au moins un segment est construit. La boîte de limitation entoure par exemple chaque 12 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. [0067] Dans une activité 83, 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 configure 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 illustre 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. [0068] 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 la Fig. 3. Les deux réseaux neuronaux multicouches impliquent de nombreux noyaux et une couche de décision. [0069] 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. [0070] 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. [0071] 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é. [0072] 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. [0073] La couche 27 est une deuxième couche max pooling qui réduit la largeur et la 13 hauteur à 13 x 5 et qui appliquent en plus un autre noyau filtre de 3 x 3 x 128. [0074] 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 convolutivc 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é. [0075] 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. [0076] 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 à la Fig. 4. [0077] 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. [0078] Le résultat de la couche de décision 31, p. ex. la boîte de limitation avec la pro- babilité 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. [0079] 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. [0080] 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. [0081] 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 14 seuil, la combinaison correspondante de caractères est, par exemple, acceptée comme correspondance pour la valeur du montant total. [0082] Toutes les couches de réseaux neuronaux décrites ci-dessus pourraient être im- plémentées comme des couches d'un réseau neuronal pleinement convolutif, tel que YOLO v2. [0083] 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 Dl, 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. [0084] 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 la Fig. 5. [0085] 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. [0086] 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). [0087] 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é. [0088] Au cours d'une activité T4, les boîtes de limitation, avec les classifications en ca- ractères et les probabilités correspondantes pour que la classification soit correcte, sont obtenues. [0089] Au cours de l'activité T5, toutes les boîtes de limitation sont collectées à partir du résultat. [0090] 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é. [0091] 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. [0092] Au cours d'une activité T8, pour chaque boîte de limitation, le caractère avec la pro- babilité la plus élevée est sélectionné. [0093] 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 corres- pondancc. [0094] 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. [0095] Au cours d'une activité T11, le procédé est répété à partir de l'activité Tl . [0096] Un dispositif mobile 70 qui pourrait être configure pour mettre en oeuvre le procédé en partie ou entièrement est illustré par la Fig. 6. Le dispositif mobile 70 pourrait être un quelconque dispositif manuel avec des capacités computationnelles, tel qu'un smartphone, une tablette, etc. [0097] Comme cela a été mentionné ci-dessus, la partie de reconnaissance d'objet et de caractère du procédé pourrait être mise en oeuvre à 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 cc genre. Le procédé dans sa globalité pourrait aussi être mis en oeuvre 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 oeuvre le procédé. [0098] 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. [0099] Un dispositif informatique exemplaire pour mettre en oeuvre le procédé, ou au moins des parties du procédé est illustré par la Fig. 7. [0100] 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 oeuvre des tâches comme celles qui ont été décrites dans les présentes. [0101] 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 16 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/0 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. 17 REVENDICATIONS[Revendication 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. [Revendication 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. [Revendication 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. [Revendication 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. [Revendication 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. [Revendication 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. [Revendication 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 cl' 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é. [Revendication 8] Le procédé de l'une quelconque des revendications 1 à 7, dans lequel un 18 [Revendication 9] [Revendication 10] [Revendication 11] [Revendication 12] [Revendication 13] [Revendication 14] 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. Le procédé de l'une quelconque des revendications S à 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. 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. 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. 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é. 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. Un produit programme d'ordinateur comprenant des instructions de code de programme stockées sur un support lisible par ordinateur pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 12 lorsque ledit programme fonctionne sur un ordinateur.