PROCEDE ET DISPOSITIF DE LECTURE DE DOCUMENTS
La présente invention concerne un procédé et un dispositif de lecture de documents. Le terme "lecture" est utilisé dans des contextes très divers, et à des étapes très différentes d'une chaîne de traitement de documents. Par exemple, la notion de "lecture" peut englober toutes les étapes du processus de capture et de restitution de l'information. Cette première notion correspond en fait au sigle générique "L.A.D." (pour "Lecture Automatique de Documents"!), qui comprend les étapes suivantes : 1) Acquisition (ou "numérisation"), c'est-à-dire création d'une représentation numérique ("image") du document physique (par exemple sur support papier) ;
2) Lecture, c'est-à-dire traitement de l'image dudit document qui se décompose, elle-même, en :
2.1) Segmentation des champs de l'image (par application d'un masque physique du document, chaque masque indiquant les coordonnées de zones ou "champs" où se trouvent les informations recherchées),
2.2) Lecture, c'est-à-dire ici traitement des champs de l'image, c'est à dire :
2.2.1) Segmentation des caractères du champ pour encadrer chaque caractère dans un segment,
2.2.2) Lecture c'est-à-dire ici reconnaissance, des caractères du champ (par exemple par des techniques connues sous les noms de "ICR" pour "Intelligent
Character Récognition" ou, en français, "reconnaissance intelligente de caractères" , ou "OCR" pour "optical character récognition" ou, en français, "reconnaissance optique de caractères"),
3) Vérification ou validation automatique (application de contrôles de cohérence sur les informations issues de l'étape 2) ;
4) Correction manuelle ou Vidéocodage ou Validation manuelle ;
5) Intégration ou Formatage (restitution des données dans le format informatique attendu par l'utilisateur pour son système de gestion) ; et
6) Transfert des données formatées vers le serveur du client. Dans le cycle complet de traitement de documents, différents niveaux de "lecture" existent donc. De plus, cette décomposition sous-entend, pour la mise en oeuvre de l'étape 2, la connaissance du type du document numérisé (donc de l'image) ainsi que l'utilisation d'un masque fixe correspondant à ce type de document (le masque fixe comportant l'ensemble des
coordonnées physiques de tous les champs à lire). Ce masque fixe permet la "segmentation des champs de l'image" (sous-étape 2.1). On travaille généralement avec des lots homogènes de documents d'un même type, le type étant fourni manuellement par l'opérateur lors de la phase de création de lot, pendant l'étape d'acquisition (numérisation). Généralement l'opérateur fournit au système différents paramètres lorsqu'il crée le lot de documents, le type du document étant un de ces paramètres.
Ainsi, les approches habituelles pour la lecture automatique de documents, ou de formulaires, nécessitent un paramétrage qui définit les données à lire par les coordonnées selon deux axes, X et Y, des zones à traiter, c'est-à-dire des zones susceptibles de contenir des symboles à reconnaître. Aussi, à chaque variation de format de document, même légère, il est nécessaire d'effectuer un nouveau paramétrage. Ce paramétrage est d'autant plus complexe à réaliser que le document est, lui-même, complexe.
Lorsqu'un document dont le format est défini de manière électronique, par exemple par transmission sur un réseau de télécommunication, par exemple de type Internet, est imprimé, les positions des zones à traiter varient en fonction du logiciel (traitement de texte, logiciel de dessins) utilisé, de l'imprimante mise en oeuvre et, plus généralement, de la configuration du système informatique de l'utilisateur. La lecture automatique de ce document est alors rendue difficile, voire impossible, par ces variations car les coordonnées selon deux axes ne définissent plus toujours les positions des zones à traiter. Le document WO 98/47098 (PCT/SE 98/00602) présente une méthode pour l'acquisition automatique de données dans lequel un formulaire inconnu est numérisé par un scanner et des lignes sont repérées sur ce formulaire pour l'identifier parmi tous les documents possibles. Cependant l'identification du document n'évite pas les inconvénients exposés ci- dessus, puisqu'il aboutit à la génération et à l'utilisation d'un masque fixe. Ce document décrit un processus semi-automatisé d'apprentissage de documents, c'est à dire un système qui aboutit dans tous les cas à la génération d'un masque fixe (désigné par le terme anglais "form map") pour chacun des documents. Lorsque ce système détecte un document a priori inconnu, il s'efforce de constituer une sorte de "signature" du document (désignée par les termes anglais "Une map" et "line key"). Le système permet ensuite de générer le masque physique du document (en anglais "form map") avec l'aide d'un opérateur humain. Ce masque fixe et sa signature sont finalement stockés dans une base de données (en anglais "database") pour pouvoir être réutilisés lors de la phase d'exploitation (en anglais "runtime").
Le document US 4,481,665 décrit un procédé de lecture d'adresse, dans lequel la dernière ligne d'une adresse est repérée et analysée pour déterminer les caractères correspondant à un code postal, à une ville ...
Ce document décrit une méthode de segmentation des caractères servant à identifier le type du caractère à lire (alphabétique ou numérique), afin d'appeler la bonne"unité de reconnaissance" (chiffres ou lettres). Il s'agit d'un processeur hardware dont les circuits d'analyse sont très liés à la syntaxe américaine "CITY - STATE -POSTAL CODE". L'identification du type de caractères se base uniquement sur le fait que :
- le dernier mot à droite à 5 caractères => on considère qu'il s'agit du Code Postal
- le mot précédent (immédiatement à sa gauche) comporte des points
=> on considère qu'il s'agit de l'Etat
- les autres mots, à gauche, jusqu'au début de la ligne, sont alors considérés comme correspondant à la Ville. Ce procédé fonctionne par une analyse d'exactement cinq caractères présents dans la dernière ligne, et manque de souplesse puisqu'il ne s'applique à aucun autre type de document que les lettres. En outre, il fournit un résultat qui n'est pas vérifié. Par exemple, ce procédé ne propose ni ne suggère aucune analyse syntaxique d'ensembles de caractères lus. La présente invention vise à remédier à ces inconvénients. Selon un premier aspect, la présente invention vise un procédé de lecture automatique de document comportant une étape d'acquisition d'une image dudit document, caractérisé en ce qu'il comporte, en outre :
- une étape d'identification du contenu du document, au cours de laquelle on identifie des champs du document en appliquant au moins une règle logique au contenu de l'image dudit document,
- une étape de validation au cours de laquelle, on attribue au moins une signification à au moins un symbole lu dans desdits champs, en fonction de règles logiques respectées par ledit document, et
- une étape de fourniture de symboles d'au moins un champ et de chaque dite signification associée audit symbole.
Grâce à ces dispositions, le procédé visé par la présente invention permet de lire des documents de formes très différentes, sous la seule contrainte que tous ces documents respectent la même ou les mêmes règle(s) logiques. On rappelle qu'une "règle logique" est une
règle qui s'applique à des informations à lire indépendamment des coordonnées de ces informations dans le document.
L'extraction de l'information utile du document est ainsi guidée selon la structure logique d'une famille de documents (documents dont le contenu est similaire mais localisé de manière différente), par exemple, plutôt que par la structure physique du document.
Selon des caractéristiques particulières, l'étape de validation met en oeuvre au moins une sémantique, c'est à dire une analyse d'au moins une signification possible de symboles lus. Grâce à ces dispositions, la signification attribuée au cours de l'étape de validation dépend de ladite analyse sémantique. Selon des caractéristiques particulières, la mise en oeuvre de la dite sémantique est effectuée par comparaison de symboles lus avec des séquences de symboles prédéterminés (dits "autorisés") conservés dans une mémoire, par exemple dans un fichier.
Selon des caractéristiques particulières, la mise en oeuvre de la dite sémantique est effectuée par vérification d'un code de redondance dans des symboles lus. Selon des caractéristiques particulières, l'étape d'identification comporte une étape d'analyse d'une signature graphique dudit document pour déterminer la structure du document lu.
Selon des caractéristiques particulières, l'étape d'identification comporte une étape d'affectation de contraintes logiques audit document, en fonction de ladite structure de document.
Selon des caractéristiques particulières, l'étape d'identification comporte une étape de lecture de symboles dudit document et l'étape de validation comporte une étape de mise en oeuvre de contraintes logiques sur les symboles lus au cours de l'étape de lecture de l'étape d'identification.
Selon des caractéristiques particulières, l'étape d'identification comporte une opération de détection du respect d'au moins une contrainte de valeur d'au moins une séquence de symboles lus sur ledit document et au cours de l'étape de validation, on attribue à au moins un symbole lu, une signification représentative du respect de ladite contrainte de valeur.
Selon des caractéristiques particulières, l'étape d'identification comporte une opération de détection du respect d'au moins une contrainte de valeurs entre au moins deux séquences de symboles lus sur ledit document et au cours de l'étape de validation, on attribue à au moins un symbole lu, une signification représentative du respect de ladite contrainte de valeurs.
Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus met en oeuvre un ensemble d'au moins deux algorithmes de détermination de contenu de champs de documents, et
- au cours de l'opération d'identification, on effectue une première lecture du document au cours de laquelle on met en oeuvre au moins un premier algorithme dudit ensemble d'algorithmes, et au cours de l'opération de validation, on met en oeuvre au moins un deuxième algorithme dudit ensemble d'algorithme, ledit au moins un deuxième algorithme dépendant du résultat de l'opération de pré-lecture. Selon des caractéristiques particulières, ledit ensemble comporte au moins deux des algorithmes suivants : lecture de contraintes de positionnement de champ,
- lecture de libellé de champ, lecture de caractéristiques graphiques de champ, - lecture de contenu textuel de champ, détermination de positionnement relatif de champs, analyse sémantique de contenu de champ, nombre de pages de liasse de document comportant ledit document,
- règles de calcul entre des valeurs numériques de champs, et - détermination de la nature d'un champ ou validation de son contenu grâce à un référentiel de mots-clé (table, fichier, ...)
Selon un deuxième aspect, la présente invention vise un dispositif de lecture automatique de documents, caractérisé en ce qu'il comporte : un moyen de numérisation d'une image dudit document, - un moyen d'identification du contenu du document, adapté à identifier des champs du documents en appliquant au moins une règle logique au contenu de l'image dudit document,
- un moyen de validation adapté à attribuer au moins une signification à au moins un symbole lu dans desdits champs, en fonction de règles logiques respectées par ledit document, et
- un moye de fourniture de symboles d'au moins un champ et de chaque dite signification associée audit symbole.
La présente invention vise aussi un scanner et un ordinateur adaptés à mettre en oeuvre le procédé visé par la présente invention ou à adaptés à comporter le dispositif visé par la présente invention.
Le dispositif visé par l'invention tel que succinctement exposé ci-dessus, et le scanner et l'ordinateur visés par la présente invention, présentant les même caractéristiques particulières et les mêmes avantages que le procédé succinctement exposé ci-dessus, ceux-ci ne sont pas rappelés ici.
D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre faite dans un but explicatif et nullement limitatif en regard des dessins annexés dans lesquels :
- la figure 1 représente, sous forme d'un schéma fonctionnel, un premier mode de réalisation du dispositif visé par la présente invention,
- la figure 2 représente, de manière schématique, une succession d'opérations mises en oeuvre selon un premier aspect du procédé visé par la présente invention, - la figure 3 représente, de manière schématique, des documents possédant la même définition logique,
- la figure 4 représente, de manière schématique, des étapes de détermination de caractéristiques de document sur lesquelles s'appliquent des définition logiques.
En figure 1, sont représentés un capteur d'images 100, un dispositif de lecture automatique de documents 120 et une moyen de sortie d'information 110.
Le capteur d'images 100 est adapté à fournir un signal électrique représentant les formes et/ou les couleurs portés sur un document, par exemple un formulaire rempli manuellement par un utilisateur. Par exemple, le capteur d'images 100 est un scanner de type connu. Le moyen de sortie d'information 110 est de type connu. Le moyen de sortie d'information 110 consiste, selon différents exemples, en un circuit interne à un système de traitement d'information comportant le dispositif de lecture automatique de document 120, en un port de sortie, en une connexion à un réseau informatique local, en une connexion à un réseau informatique de type Internet, ou en une mémoire dans laquelle est écrite une information en vue d'une utilisation ultérieure, éventuellement par le dispositif de lecture automatique de documents 120, par exemple. Le moyen de sortie d'information 110 permet la transmission des informations de contenu du document une fois que le dispositif de lecture automatique de document a traité le signal issu du capteur 100.
Le dispositif de lecture automatique de documents 120 comporte, reliés entre eux par un bus de données et de contrôle 122, une unité centrale 124, une mémoire non volatile 126, une mémoire vive 128 et un port d'entrée / sortie 130 lui-même relié d'une part au capteur 100 et d'autre part au moyen de sortie d'information 110. Le dispositif de lecture 120 peut, par exemple, être réalisé en programmant un ordinateur d'utilisation générale. Le dispositif de lecture automatique de document 120 peut aussi être réalisé sur un circuit imprimé comportant un processeur ou un contrôleur, un circuit spécifique, une matrice de portes ou dans un circuit intégré. Tous ces modes de réalisation sont bien connus de l'homme du métier des circuits électroniques et ils ne sont donc pas plus décrits ici. L'unité centrale 124 est adaptée à reconnaître des symboles et à leur associer une signification conformément à un mode de réalisation de la présente invention. On observe cependant que l'information de signification peut être fournie de manière implicite, par exemple, l'ordre dans lequel chaque information lue sur un document est transmise par le moyen de sortie, selon un protocole de communication prédéfini, ou de manière explicite, un identifiant prédéfini étant associé à chaque information, ou encore de manière mixte un identifiant étant associé à au moins un symbole lu.
L'usage fait des informations transmises par le moyen de sortie d'information 110 ne relève pas de la présente invention. On observe, cependant, que l'information lue peut être archivée, en tout ou partie, dans une base de données, traitée, affichée, traduite, imprimée, triée, complétée ou détruite ou, pour chaque information, une combinaison de ces opérations peut être effectuée.
D'une manière générale, l'unité centrale 124 est adaptée à estimer le contenu du document, sur la base de l'information reçue de la part du capteur d'image 100. A cet effet, l'unité centrale 124 analyse des éléments caractéristiques de l'image du document captée. Par exemple, l'unité centrale 124 analyse d'une signature graphique dudit document pour déterminer une structure du document lu. Selon un exemple, l'unité centrale 124 effectue l'identification après lecture de symboles dudit document.
Dans des modes de réalisation exemplaires, l'étape d'identification comporte une étape de détection du respect d'au moins une contrainte de valeur d'au moins une séquence de symboles lus sur ledit document. Dans des modes de réalisation exemplaires, l'étape d'identification comporte une étape de détection du respect d'au moins une contrainte de valeurs entre au moins deux séquences de symboles lus sur ledit document. Dans des modes de
réalisation exemplaires, l'étape d'identification est effectuée en mettant en oeuvre au moins un algorithme parmi les suivants : lecture de contraintes de positionnement de champ,
- lecture de libellé de champ, - lecture de caractéristiques graphiques de champ,
- lecture de contenu textuel de champ,
- détermination de positionnement relatif de champs,
- analyse sémantique de contenu de champ, nombre de pages de liasse de document comportant ledit document, - règles de calcul entre des valeurs numériques de champs, et détermination de la nature d'un champ ou validation de son contenu grâce à un référentiel de mots-clé (table, fichier, ...) qui y sont lus.
L'unité centrale 124 est adaptée à valider la lecture du document en attribuant au moins une signification à au moins un symbole lu dans desdits champs, en fonction de règles logiques respectées par ledit document.
Grâce à ces dispositions, la lecture est organisée par les contraintes logiques et les informations lues sont associées à une information de signification grâce à ladite organisation par contrainte logique.
Selon un exemple, une définition logique de certaines liasses fiscales est que ces liasses fiscales comportent onze pages. Selon un autre exemple, certaines déclarations d'échanges de biens ("DEB") utilisées par les services douaniers comportent quatorze colonnes. On observe que chaque document est défini par une ou plusieurs définitions logiques. Ainsi les liasses fiscales répondent aussi à la définition logique qu'elles comportent des tableaux de rectangles étiquetés et les étiquettes comportent chacune deux caractères alphanumériques écrits en lettres majuscules. De même, les DEB mentionnées ci-dessus comportent répondent aussi aux définitions logiques qu'elles comportent des pages de même format et que chaque page comporte le même en-tête dans sa partie supérieure.
Selon un autre exemple, dans les bons de commande utilisées par les entreprises de vente par correspondance, la nature de l'information utile contenue est toujours la même. La reconnaissance de ces informations par le respect de contraintes logiques qui s'y appliquent permet à l'unité centrale 124 de déterminer si le document est un tel bon de commande. Ces contraintes sont, par exemple : présence d'un code à barres, d'un bloc d'adresse, d'au moins un article commandé, d'un mode de paiement et d'un logo d'entreprise.
Les factures fournisseur sont définies logiquement par le fait qu'elles contiennent un montant hors taxe, un montant de Taxe sur la Valeur Ajoutée, au plus égal à un quart du montant H.T., un montant toutes taxes comprises égal à la somme des deux autres valeurs, une date et un numéro de facture. Une déclaration sociale comporte généralement un nombre à 13 chiffres et une clé qui est égal à une somme des 13 chiffres, modulo une constante. Cette contrainte fixe une définition logique d'une déclaration sociale qui contient ledit nombre (numéro de sécurité sociale).
L'affectation de la définition logique du champ (présence de logo ou de nom prédéterminés, contrôle de cohérence, position relative à un autre champ) permet de définir la signification de l'information lue dans ce champ et, éventuellement dans d'autres champs du document.
Dans un mode de réalisation exemplaire, l'unité centrale 124 est adaptée à valider le contenu du document en mettant en oeuvre au moins une sémantique, c'est à dire une analyse d'au moins une signification possible de symboles lus dans des champs dudit document. Par exemple, la mise en oeuvre de la dite sémantique est effectuée par comparaison de symboles lus avec des séquences de symboles autorisés conservés en mémoire dans un fichier. Selon un autre exemple, la mise en oeuvre de ladite sémantique est effectuée en recherchant un code de redondance dans une séquence de symboles lus (par exemple le code de redondance indiqué plus haut en relation avec le numéro de sécurité sociale).
Selon un exemple, l'unité centrale 124 est adaptée à valider la lecture en mettant en oeuvre au moins une contrainte logique appliquée aux symboles lus au cours de l'étape de lecture de l'étape d'identification, ladite contrainte logique étant différente de toute contrainte logique appliquée au cours de l'étape d'identification. Par exemple, la contrainte logique est une des contraintes logiques exposées ci-dessus.
Selon un exemple, l'unité centrale 124 est adaptée à valider la lecture en attribuant à au moins un symbole lu, une signification représentative du respect d'une contrainte de valeur. Par exemple, la référence article d'un bon de commande n'est validée que si elle figure dans la table des articles existants ou, dans le cas où cette référence comporte une clé, c'est-à-dire un ou des nombres redondants, si le calcul de cette clé est vérifié.
Selon un exemple, l'unité centrale 124 est adaptée à valider la lecture en attribuant à au moins deux séquences de symboles lues, une signification représentative du respect d'une contrainte de valeurs respectives. Par exemple, un montant TTC est égal à la somme d'un
montant hors taxes et d'un montant de TVA. Selon cet exemple, l'unité centrale 124 est adaptée à effectuée la somme des montants lus, deux à deux, et à comparer cette somme à chacun des autres montants lus.
La figure 2 représente, de manière schématique, une succession d'opérations mises en oeuvre selon un premier aspect du procédé visé par la présente invention. En figure 2 est représentée une lecture automatique de documents ("LAD") qui comprend d'abord une étape
200 d'initialisation du procédé et une étape 210 d'acquisition (ou "numérisation"), c'est-à-dire création d'une représentation numérique ("image") du document physique (par exemple sur support papier). La LAD comporte ensuite une étape 220 d'identification du type de document, qui extrait le type du document lu dans un lot de documents qui peut être hétérogènes, c'est-à- dire comportant des documents de différents types (par exemple, déclarations sociales, bon de commande pour un premier fournisseur de ventes par correspondance, bon de commande pour un deuxième fournisseur de ventes par correspondance, factures, ... mélangés dans ledit lot). L'étape 220 comporte : - une étape 222 d'extraction de caractéristiques graphiques (logos, cadres, lignes, ...),
- une étape 224 de détermination de type, par exemple par analyse de "signature" ou "empreinte" graphique de l'image, au cours de laquelle on détermine le type du document, en fonction de ses caractéristiques graphiques, et
- une étape 226 de segmentation de champs, en fonction d'un masque logique associé au type de document déterminé au cours de l'étape 224. Les champs comportent, par exemple, des champs de type texte dans lesquels seront recherchés des caractères alphanumériques et des champs de type Codes à Barres dans lesquels seront lus des largeurs de barres et des largeurs d'espaces entre barres.
Un masque logique fournit la définition logique d'un document, c'est à dire la description de l'ensemble des champs à lire sur le document, ainsi que les règles logiques permettant de les repérer. On entend par règle logique tout élément descriptif permettant de repérer le champ autre que des coordonnées physiques (X,Y). Une règle logique peut décrire un seul champ ou un ensemble de champs. Par exemple : libellé associé au champ (et sa position relative : à gauche, à droite, au dessus, en dessous), élément graphique proche (et sa position relative : rectangle englobant, cercles pleins à gauche et à droite, équerre au dessus, ou en dessous, ...),
- typage de la séquence de caractères attendue : montant NNN.NN, code AAANN-NN, date DD/MM/YY, ..., comparaison du mot ou de l'ensemble des mots aux valeurs contenus dans un référentiel (fichier, table, ...), - structure de tableau : 14 colonnes dans le bas de la page, définition du type de colonne selon son ordre, définition du nombre de caractères par colonne, ...),
- règle de calcul ( peut être appliquée conjointement à une règle syntaxique ou à une description typée). Exemple : recherche de 3 valeurs numériques MONTANTJHT, MONTANT_TVA et MONTANT_TTC, de type NNNNN.NN, avec : MONTANT JHT + MONTANT TVA = MONTANT TTC ...
- positionnement relatif par rapport à d'autres champs précédemment décrits et qui devront donc avoir été repérés avant ; le repérage du dernier champ s'effectuant par simple déduction par rapport aux positions des autres champs, description syntaxique et/ou sémantique du contenu du champ ; cette description peut faire intervenir les éléments de typage ou de comparaison définis ci-dessus. Exemple : on veut repérer sur un formulaire la liste des événements qu'il mentionne. Ils sont de la forme :
"Concert du 05/03/01 au 10/03/01" "Spectacle musical du 12/03/01 au 17/03/01" "Animation éducative et sportive du 19/03/01 au 24/03/01 "
(La règle syntaxique étant, par exemple :
SYNTAX = EVENEMENT "du" DATE_DEBUT "au" DATE_FTN Avec :
EVENEMENT = groupe de 1 à 5 mots (avec association du référentiel s'il existe...)
"du" = chaîne de caractères fixe DATEJDEBUT = date au format DD/MM/YY "au" = chaîne de caractères fixe DATEJFL = date au format DD/MM/YY) Tous les éléments évoqués ci-dessus fournissent au moins une définition logique du document. On constate qu'il y a 2 grandes familles de méthodes de repérage d'un champ :
- les méthodes qui conduisent à un repérage géographique du champ grâce à des éléments graphiques ou textuels (libellés) situés à proximité, ou grâce à une notion de structure.
L'emplacement du champ est alors connu, mais son contenu ne l'est pas encore. Il pourra donc être très variable, et ce repérage ne nécessite aucune connaissance a priori dudit contenu.
- les méthodes qui conduisent à l'identification du champ par son contenu (analyse sémantique ou syntaxique, règle de calcul, référentiel).
On observe que si on utilise ce type de masque logique et qu'on travaille avec des lots de documents triés par famille ou type, alors on n'a plus besoin de l'étape 224 de détermination du type de document
Le procédé illustré en figure 2 comporte, en outre : - une étape 228 de lecture des champs, de type texte ou CAB, c'est-à-dire traitement de l'image dudit document, comportant elle-même : bl/ une étape 230 de segmentation des caractères du champ pour encadrer chaque caractère dans un segment, et b2/ une étape 232 de lecture c'est-à-dire ici reconnaissance, des caractères du champ (par exemple par des techniques connues sous les noms de "ICR" pour
"Intelligent Character Récognition" ou, en français, "reconnaissance intelligente de caractères" , ou "OCR" pour "optical character récognition" ou, en français,
"reconnaissance optique de caractères"),
- une étape 240 de vérification ou validation automatique (application de contrôles de cohérence sur les informations issues de l'étape 228) ;
- une étape 250 d'intégration ou formatage (restitution des données dans le format informatique attendu par l'utilisateur pour son système de gestion) ;
- une étape 260 de transfert des données formatées vers le serveur du client ;
- une étape 270 au cours de laquelle on détermine s'il reste des documents à traiter. Lorsque le résultat de l'étape 270 indique qu'il reste au moins un document à traiter, l'étape 210 est réitérée.
Lorsque le résultat de l'étape 270 indique qu'il ne reste pas de document à traiter, au cours d'une étape 280, le procédé prend fin.
On observe que les étapes 222 et 224 peuvent être, dans des modes de réalisation exemplaires de la présente invention, remplacées par une étape 223 d'identification du type de famille en fonction de contraintes logiques (non représentée). Au cours de cette étape 223, on utilise un "super masque logique", c'est à dire un ensemble de règles permettant de repérer une famille de documents parmi différentes familles ou types de documents, afin d'appliquer ensuite le masque logique correspondant à ladite famille ou type de documents.
Au cours des étapes 222 et 224, l'identification du type de document peut elle même s'appuyer sur un masque physique. C'est le cas, par exemple, lorsqu'on oblige le concepteur du document à écrire une référence, comme un numéro CERF A, toujours au même emplacement. Cet identifiant unique du document, qui figure à un emplacement précis et fixe, en haut à droite, par exemple, est alors recherché grâce à un masque physique, un masque fixe qui indique où rechercher cette identifiant .
En revanche, au cours de l'étape 223 (non représentée), on utilise des règles logiques permettant de repérer une famille de documents parmi n familles, et lorsqu'on a identifié cette famille, on applique ensuite le masque logique correspondant à cette famille afin de récupérer l'ensemble des données utiles du document. Par exemple, si on a mélangé dans un même lot des documents appartenant aux familles suivantes : bons de commande (de formats différents), factures, déclarations d'échanges de biens, et liasses fiscales, l'étape 223 (non représentée) consiste d'abord à fournie, pour une image donnée d'un lot donné de repérer, la famille à laquelle appartient le document. Ensuite, la description logique correspondant à cette famille de documents est mise en oeuvre afin de lire l'ensemble des informations utiles de ladite image.
En figure 2, on observe que la lecture automatique de document comporte une étape de lecture d'une image dudit document et :
- une étape d'identification du contenu du document, au cours de laquelle on identifie des champs du documents, comportant les étapes 222 et 224 ou 223 (non représentée),
- une étape de validation au cours de laquelle, on attribue au moins une signification à au moins un symbole lu dans desdits champs, en fonction de règles logiques respectées par ledit document, comportant les étapes 226 à 250, et
- une étape de fourniture de symboles d'au moins un champ et de chaque dite signification associée audit symbole, comportant l'étape 260.
Ainsi, la lecture est guidée par les contraintes logiques et les informations lues sont associées à une information de signification grâce audit guidage par contrainte logique. L'extraction de l'information utile du document est ainsi guidée selon la structure logique d'une famille de documents (documents dont le contenu est similaire mais localisé de manière différente), par exemple, plutôt que par la structure physique du document.
Selon un exemple, l'étape de validation met en oeuvre au moins une sémantique, c'est à dire une analyse d'au moins une signification possible de symboles lus. Selon un exemple, la mise en oeuvre de la dite sémantique est effectuée par comparaison de symboles lus avec des
séquences de symboles autorisés conservés dans un fichier. Selon une exemple, la mise en oeuvre de la dite sémantique est effectuée par vérification d'un code de redondance dans des symboles lus. Selon un exemple, l'étape d'identification comporte une étape d'analyse d'une signature graphique dudit document pour déterminer la structure du document lu. Selon un exemple, l'étape d'identification comporte une étape d'affectation de contraintes logiques audit document, en fonction de ladite structure de document.
Selon un exemple, l'étape d'identification comporte une étape de lecture de symboles dudit document et l'étape de validation comporte une étape de mise en oeuvre de contraintes logiques sur les symboles lus au cours de l'étape de lecture de l'étape d'identification. Selon un exemple, l'étape d'identification comporte une opération de détection du respect d'au moins une contrainte de valeur d'au moins une séquence de symboles lus sur ledit document et au cours de l'étape de validation, on attribue à au moins un symbole lu, une signification représentative du respect de ladite contrainte de valeur.
Selon un exemple, l'étape d'identification comporte une opération de détection du respect d'au moins une contrainte de valeurs entre au moins deux séquences de symboles lus sur ledit document et au cours de l'étape de validation, on attribue à au moins un symbole lu, une signification représentative du respect de ladite contrainte de valeurs. Selon un exemple, le procédé met en oeuvre un ensemble d'au moins deux algorithmes de détermination de contenu de champs de documents, et - au cours de l'opération d'identification, on effectue une première lecture du document au cours de laquelle on met en oeuvre au moins un premier algorithme dudit ensemble d'algorithmes, et au cours de l'opération de validation, on met en oeuvre au moins un deuxième algorithme dudit ensemble d'algorithme, ledit au moins un deuxième algorithme dépendant du résultat de l'opération de pré-lecture.
Par exemple, ledit ensemble comporte au moins deux des algorithmes suivants : lecture de contraintes de positionnement de champ,
- lecture de libellé de champ,
- lecture de caractéristique graphiques de champ, - lecture de contenu textuel de champ,
- détermination de positionnement relatif de champs, analyse sémantique de contenu de champ,
- nombre de pages de liasse de document comportant ledit document,
- règles de calcul entre des valeurs numériques de champs, et
- détermination de la nature d'un champ ou validation de son contenu grâce à un référentiel de mots-clé (table, fichier, ...).
Les éléments définis dans un modèle de page sont comparés à ceux trouvés dans l'image du document. Cette recherche s'effectue dans les limites de leurs caractéristiques (tolérances sur les positions, variations relatives, chaînes de caractères approchées, ...) pour aboutir à une hypothèse de segmentation.
Cette hypothèse de segmentation permet de repérer avec précision les champs à traiter et d'extraire les images de ces champs pour les étapes suivantes. L'affectation de la définition logique du champ (nom, type, contrôle de cohérence,
...) et du champ physique trouvé dans la page, s'effectue à partir de la position physique absolue de la position relative à un autre champ et/ou de l'association avec un libellé (entreprise, ...).
L'utilisation d'objets spécifiques facilite le paramétrage des documents car l'analyse automatique de la page localise tous les objets répondant aux caractéristiques recherchées, vérifie les contraintes exprimées et extrait les champs à lire sans segmentation complexe de la page.
Parmi les familles de document auxquelles s'applique la présente invention :
- les bons de commande (vente par correspondance, ...),
- les déclarations d'échanges de biens (douanes), - les documents Intrastat et Extrastat,
- les liasses fiscales
- les factures,
- les questionnaires,
- les déclarations uniques de cotisations sociales, - les effets de commerce,
- les chèques bancaires,
- les décomptes de sécurité sociale,
- les courriers et bulletins légaux, ...
Dans des modes de réalisation exemplaires, le procédé objet de la présente invention reconnaît :
1/ Une signature différente pour chaque type de document : par exemple un code à barre et certains symboles correspondent à un bon de commande,
2/ Une autre description logique (ou trace) passée au crible des règles logiques domie la signification de données/champs.
On identifie le document en utilisant une première brique et un modèle logique, ce qui donne une liste de champs à trouver et quelles briques de repérage sont à utiliser pour lire les données (TTC, souligné, encadré, en bas, égale à somme de deux autres montants, ...).
On observe que les logos peuvent être traités en mettant en oeuvre un histogramme ou le détermination de correspondance avec des logos conservés en mémoire, selon une technique connue sous le nom de "pattern matching".
En figure 3 sont représentés deux documents 310 et 320 de formes très différentes qui correspondent à la même famille ou type de documents et dont les informations, une fois lues sont stockées selon un format 330 commun.
En figure 4 sont représentées des étapes de détermination de caractéristiques de document sur lesquelles s'appliquent des définition logiques. Ces étapes peuvent être mises en oeuvre au cours des étapes 223 et/ou 226 illustrées en figure 2.