FR 3061573 A1 20180706 FR 1663515 A 20161229 1 PROCEDE ET SYSTEME DE TRAITEMENT AUTOMATIQUE DE DOCUMENTS Domaine de l'invention La présente invention concerne le domaine des 5 traitements automatiques de documents pour extraire des données numériques. Il concerne en particulier le traitement de documents financiers ou comptables tels que des factures, des justificatifs ou des pièces comptables, en vue de fournir des écritures comptables, des analyses sous formes de rapports 10 ou de traitements statistiques. Une des particularités des pièces comptables est que le contexte sémantique est relativement pauvre, l'essentiel des informations que comporte un tel document étant constitué par des chiffres, comportant peu de phrases et 15 ne sont pas présentés sous une forme standardisée. Il est donc très difficile d'utiliser des traitements sémantiques, grammaticaux ou structurels pour catégoriser, extraire et valider les informations nécessaires. 20 Etat de la technique On connaît dans l'état de la technique le brevet américain US8897563 décrivant un système d'analyse de document qui reçoit et traite les tâches à partir d'une pluralité d'utilisateurs, dans lequel chaque poste peut traiter de 25 multiples documents électroniques pour extraire des données. Un procédé automatique de pré-traitement de chaque document électronique reçu et utilisant une pluralité d'images et des algorithmes de transformation afin d'améliorer l'extraction ultérieure des données à partir desdits documents est fourni. 30 Le procédé comprend: partitionnement électronique de chaque page de document électronique reçu en morceaux; traitement automatique de chaque pièce de la page de document électronique reçu en utilisant chacun une pluralité 3061573 2 d'algorithmes de prétraitement d'image pour produire une pluralité de variantes d'images de chaque pièce; et l'analyse des résultats du traitement et l'extraction des données sur chacune des variantes des pièces de l'image pour déterminer quel est le meilleur rendement, à partir de la pluralité de sorties pour chaque pièce. Le brevet EP12702861 décrit un moteur d'acquisition et de traitement de données, dans lequel le moteur d'acquisition de données est adapté pour extraire des données à partir du document électronique, qui est de préférence un document au format PDF comme une facture. Les données comprennent des glyphes sous la forme de mots et au moins une propriété spatialement associée aux glyphes, la propriété étant l'emplacement, les polices, le fond ou de l'ombrage. Une ancre est définie selon les règles décrivant la relation entre les données extraites et la propriété spatiale. Le moteur de traitement des analyses de données extraites par l'application des règles pour déterminer le point d'ancrage et la probabilité de savoir si la propriété spatiale et les données extraites répondent aux exigences des règles pour déterminer le meilleur si les données extraites au format de la sortie de données nécessaires. Cette solution n'est toutefois applicable qu'aux éléments textuels, avec des règles ordonnées seulement Inconvénients de l'art antérieur Les solutions de l'art présentent plusieurs inconvénients techniques. Les solutions connues adaptées au traitement automatique de pièces comptables sont limitées au traitement d'un type de pièce très spécifique, à savoir des factures, dont la forme est fortement standardisée : il s'agit généralement de documents imprimés sur un support A4, avec une présentation prédéfinie, pour un fournisseur, client, ou type 3061573 3 de document donné. Par exemple, la position des éléments informatifs sur le document sont prédéterminés et invariables, et il est ainsi possible de déduire de la position d'un élément d'information quel en est la nature et la 5 signification. La classification automatique des informations résulte de la connaissance de la structure du document, et de la détermination de la position de chacune des informations reconnues par rapport à la structure connue du document. Ces solutions nécessitent donc impérativement une 10 connaissance préalable de la configuration d'un modèle pour chaque document à traiter, et de l'exhaustivité des configurations possibles au regard des documents à traiter. Lorsque les procédés de l'art antérieur sont appliqués sur un document d'un format inconnu et/ou d'une 15 structure inconnue, le traitement n'aboutit à aucun résultat et ne permettent pas un traitement autre que par un opérateur humain. Par ailleurs, les solutions de l'art antérieur appliquent un traitement à une information unique contenue 20 dans une zone du format préalablement connu. Lorsqu'une zone contient une multitude d'informations, les traitements selon l'art antérieur sont généralement inopérants et ne permettent pas de qualifier correctement les informations individuelles sans intervention d'un opérateur humain. 25 L'art antérieur ne permet également pas de valider la qualité des informations extraites en testant la qualité de leur cohérence. Par ailleurs, les solutions de l'art antérieur présentent un problème technique majeur, dans la mesure où 30 l'absence de connaissances et d'informations sur la structure du document à traiter ne permet tout simplement pas de procéder à un traitement automatique du document. 3061573 4 Solution apportée par l'art antérieur La présente invention vise à remédier aux inconvénients de l'art antérieur en permettant un traitement totalement automatique, sans intervention d'un opérateur 5 humain, et applicable à une série de documents disparates, de formats et de structures hétérogènes et sans qu'il ne soit nécessaire, pour l'utilisateur, d'enregistrer des informations préalables sur les formes de documents susceptibles de faire l'objet d'un traitement. L'invention permet d'apporter une 10 réponse technique au problème du traitement automatique par une machine d'un document pour lequel on ne dispose pas d'informations préalable relative à la structuration des données textuelles qu'il contient. A cet effet, l'invention concerne selon son 15 acception la plus générale un procédé de traitement automatique de documents pour la production de séquences de données structurées et hiérarchisées comportant : - une étape de reconnaissance optique de caractères produisant, pour chacun des documents, un ensemble de 20 données textuelles brutes - une étape de structuration des données reconnues caractérisée en ce que l'étape de structuration consiste à associer à une partie au moins des données reconnues une étiquette caractérisant ladite donnée, 25 ladite étape de structuration comportant : - une étape de classification d'une partie desdites données sans mise en oeuvre d'un modèle structurel, en fonction de l'appartenance de d'une partie des données reconnues à un ou 30 plusieurs référentiel de qualification enregistré dans une mémoire et de la probabilité de correspondance, pour enregistrer dans une 3061573 5 mémoire temporaire de tables [donnée ; qualification(s), probabilité] - à appliquer, aux données qualifiés correspondant à une valeur numérique, un traitement consistant 5 à calculer une pluralité de combinaisons en fonction de règles heuristiques prédéterminées - de calculer le score de chacune desdites combinaisons - d'affecter aux données d'une combinaison dont le 10 score est maximal les qualifications correspondant à l'heuristique. Selon un mode de réalisation particulier, le procédé selon l'invention comporte une étape additionnelle de génération de données non existante en fonction des hypothèses 15 d'erreurs. Avantageusement, le procédé comporte une étape de génération de données non existante en fonction des hypothèses d'omission. Selon une variante, le document comporte une étape 20 de recherche de données exogènes en fonction du résultat du traitement du document. L'invention concerne également un système de traitement automatique de documents pour la production de séquences de données structurées et hiérarchisées caractérisé 25 en ce qu'il comporte un moyen de reconnaissance optique de caractères pour produir, pour chacun des documents à traiter, un ensemble de données numériques et un calculateur exécutant un programme d'ordinateur pour appliquer auxdites données numériques une étape de classification d'une partie desdites 30 données sans mise en oeuvre d'un modèle structurel, en fonction de l'appartenance de chacune des données reconnues à un ou plusieurs référentiel de qualification enregistré dans une mémoire et de la probabilité de correspondance, pour 3061573 6 enregistrer dans une mémoire temporaire de tables [donnée ; qualification(s) , probabilité] et une étape de structuration des données consistant à : - à appliquer, aux données qualifiés correspondant à une 5 valeur numérique, un traitement consistant à calculer une pluralité de combinaisons en fonction de règles heuristiques prédéterminées - de calculer le score de chacune desdites combinaisons - d'affecter aux données d'une combinaison dont le score 10 est maximal les qualifications correspondant à des heuristiques préétablies - d'enregistrer un fichier numérique constitué par les combinaisons de données de score maximal et de qualification correspondant précédemment calculées. 15 L'invention concerne aussi un système pour le traitement automatique de documents caractérisé en ce qu'il est constitué par au moins un ordinateur local et un serveur ainsi qu'un code informatique commandant l'exécution d'un 20 traitement de structuration consiste à associer à une partie au moins des données reconnues une étiquette numérique caractérisant ladite donnée, comportant : - une étape de classification d'une partie desdites données sans mise en oeuvre d'un modèle structurel, en 25 fonction de l'appartenance de chacune des données reconnues à un ou plusieurs référentiel de qualification enregistré dans une mémoire et de la probabilité de correspondance, pour enregistrer dans une mémoire temporaire de tables [donnée ; qualification(s), 30 probabilité] - à appliquer, aux données qualifiés correspondant à une valeur numérique, un traitement consistant à calculer une pluralité de combinaisons en fonction de règles heuristiques prédéterminées 3061573 7 - de calculer le score de chacune desdites combinaisons - d'affecter aux données d'une combinaison dont le score est maximal, les qualifications correspondants à des heuristiques préétablies. 5 Avantageusement, le système comporte en outre un scanner destiné à la numérisation de documents physiques. Selon une variante, ledit code commandant 10 l'exécution d'un traitement de structuration est exécuté par des processeurs spécialisés comprenant une pluralité d'unités arithmétiques élémentaires. Description détaillée d'un exemple non limitatif de 15 l'invention La présente invention sera mieux comprise à la lecture de la description qui suit, concernant un exemple de réalisation non limitatif se référant aux dessins annexés où : - la figure 1 représente une vue schématique d'une 20 architecture matérielle - la figure 2 représente une vue schématique d'une architecture fonctionnelle - la figure 3 représente une vue schématique d'une pièce comptable avant son traitement 25 La présente invention peut prendre la forme d'une réalisation entièrement matérielle, ou une forme de réalisation logicielle (par exemple une application logicielle, un logiciel résident, un microcode, etc.) en vue de l'exécution sur un système informatique, d'un support 30 lisible tel qu'un CD, une mémoire flash ou une clé USB, sur lequel est enregistré un code de programme pour le transfert 3061573 8 dans la mémoire d'un ordinateur, ou encore un mode de réalisation combinant aspects logiciels et matériels. Le code de programme peut être exécuté entièrement sur l'ordinateur de l'utilisateur, ou partiellement sur 5 l'ordinateur de l'utilisateur et en partie sur un ordinateur distant ou entièrement sur l'ordinateur distant ou un serveur. Dans ce dernier scénario, l'ordinateur distant peut être connecté à l'ordinateur de l'utilisateur via n'importe quel type de réseau, comprenant un réseau local (LAN) ou un réseau 10 étendu (WAN), ou la connexion peut être faite à un ordinateur externe (par exemple, à travers l'Internet en utilisant un fournisseur de services Internet). Description de l'architecture matérielle 15 Dans la description qui suit, des détails de certaines caractéristiques techniques bien connues peuvent être omises afin d'éviter de compliquer inutilement les modes de réalisation présentés. L'architecture matérielle est présentée selon un 20 exemple de mise en oeuvre, où certaines fonctionnalités sont exécutées sur un ordinateur local (1), et certaines fonctionnalités sont exécutées sur un serveur (2). L'ordinateur local (1) est relié à un scanner (3) destiné à la numérisation de documents physiques. Il comporte 25 également de façon connue des interfaces d'entrée-sortie pour recevoir des documents numériques provenant d'un support de stockage ou d'un équipement informatique distant. L'ordinateur (1) comporte de façon connue un ou plusieurs calculateurs commandés par un système d'exploitation 30 et des logiciels applicatifs, un ensemble de composants internes tels que des mémoires ROM et des mémoires à écriture-lecture aléatoire ou des mémoires Flash et un adaptateur de réseau ou d'une interface telle qu'une carte TCP / IP, une 3061573 9 carte d'interface WI-FI ou 3G ou 4G ou une liaison filaire ou sans fil. L'ordinateur (1) et les équipements périphériques, notamment le scanner (3) communiquent par l'intermédiaire d'un 5 réseau comprenant des fils de cuivre, fibres optiques, transmission sans fil, routeurs, pare-feu, des commutateurs, des ordinateurs passerelle et / ou serveurs. L'architecture matérielle comprend également des composants externes tels qu'un clavier (4) et une souris 10 d'ordinateur (5). Les composants externes peuvent également inclure des écrans tactiles, des claviers virtuels, tablettes tactiles, dispositifs de pointage, et d'autres dispositifs d'interface humaine. Ces composants externes sont commandés par des pilotes de périphériques installés sur l'ordinateur 15 (1). Description de l'architecture fonctionnelle La figure 2 représente une vue schématique de l'architecture fonctionnelle d'un exemple de mise en oeuvre de l'invention. 20 Des aspects de la présente invention sont décrits ci-dessous en se référant à l'organigramme simplifié. On comprendra que chaque bloc peut être mis en oeuvre par des instructions de programmes d'ordinateurs ou éventuellement par des modules électroniques. Ces instructions de programme 25 informatique peuvent être fournies à un processeur d'un ordinateur à usage général, un ordinateur à usage spécial, ou tout autre appareil de traitement de données programmable pour produire une machine, de telle sorte que les instructions qui exécutent via le processeur de l'ordinateur ou un autre 30 appareil programmable de traitement de données. Le traitement faisant l'objet de l'invention est appliqué à un document numérique constitué par une image d'une pièce comptable, ou tout autre document numérique d'un format courant (e.g. pdf, docx). Cette image peut être obtenu par 3061573 10 photographie ou la lecture d'un document physique (6) par un scanner (3) d'une pièce comptable physique, par exemple un ticket de caisse, ou par un document nativement numérique. La façon de réaliser l'image numérique ne fait pas partie de 5 l'invention. Dans l'exemple illustré par la figure 3, le document à traiter est constitué par une facture. L'invention se distingue de solution de l'art antérieur par le fait qu'il n'est pas nécessaire de connaître 10 la structure du document, ni en ce qui concerne la disposition des informations, ni en ce qui concerne la nature des informations, ni en ce qui concerne la langue employée. Le but est de permettre le traitement d'un document quelconque et non structuré, sans nécessiter l'enregistrement 15 préalable d'informations associées à la structure du document à analyser. Cette facture présentée à titre d'exemple en figure 3 des éléments de textes, tels que la raison sociale du fournisseur (30) ou son adresse (31), des informations 20 constituées de chiffres telles que le numéro de téléphone (32) ou des prix (33). Ce document fait l'objet d'une première opération de numérisation par un scanner (3) dans l'exemple décrit. Bien entendu, le document pourrait aussi être reçu sous une forme 25 originelle numérique, par exemple un document au format PDF ou une image. Le scanner (3) et le cas échéant les applications logicielles associées peuvent réaliser un prétraitement, par exemple d'amélioration du contraste, de la luminosité, ainsi 30 qu'une reconnaissance de caractères. La figure 2 illustre les étapes du traitement appliqué au document numérique pour extraire et affecter les valeurs numériques du document au prix et aux informations 3061573 11 connexes sans connaissance préalable sur la structure du document analysé. Ces étapes sont exécutées par un système informatique comprenant un réseau, un ordinateur client (1) et un ordinateur serveur (2) exécutant un programme d'extraction. 5 L'ordinateur serveur (2) comprend une mémoire électronique pour stocker des données (par exemple, des données textuelles, des données de code, des documents électroniques, des images électroniques). La première étape (10) consiste à procéder à un 10 traitement de documents (6) pour fournir un document numérique de formats, pdf, images, Microsoft Word (nom commercial) .doc / .docx. ou tout autre format. Bien sur, dans le cas où le document est disponible sous une forme électronique, l'étape d'acquisition d'une image n'est pas nécessaire. 15 Le traitement (11) consiste à transformer un document lisible par l'homme en séquences numériques de caractères enregistrés dans une mémoire vive de l'ordinateur (1) ou du serveur (2). Beaucoup de techniques, impliquant le matériel, le logiciel, ou une combinaison des deux existent 20 aujourd'hui. A titre d'exemple, les solutions Abbyy (nom commercial), ou Tesseract (nom commercial) initialement développé par Hewlett Packard (nom commercial) permettent de réaliser un tel traitement pour la reconnaissance de documents, la capture de données et le traitement des langues. 25 Le traitement (12) consiste à traiter le résultat de l'étape (11) pour extraction des séquences de caractères reconnues ceux correspondant à des nombres. Ce traitement consiste à extraire de la séquence de caractères reconnus dans un document le sous-ensemble 30 de caractères correspondant à des caractères numériques comprenant les chiffres arabes (de 0 à 9), et optionnellement à distinguer un second sous-ensemble qui comprend les caractères alphabétiques représentant les lettres (de A à Z dans l'alphabet latin) minuscules et majuscules. 3061573 12 Les caractères numériques ainsi extraits font l'objet d'un traitement de normalisation formelle pour éliminer les artefacts de présentation correspondant à un usage local (par exemple 100,53, 104,56, 10'100,53, 50,000,47, 5 45). Les chiffres extraits sont regroupés pour former des nombres, qui sont enregistrés dans une mémoire sans ordonnancement particulier. L'enregistrement d'un nombre ne prend pas nécessairement en compte la position initiale sur le document, ni la proximité ou la distance avec d'autres 10 caractères reconnus sur le document. Toutefois, pour certains nombres appartenant à une classe préenregistrée (taux de TVA, code postal,...), un marqueur peut être associé au nombre considéré lors de cette étape du traitement. 15 Les nombres analysés peuvent être filtrés pour réduire la complexité informatique par différents moyens incluant, mais sans s'y limiter, les règles contextuelles, syntaxiques, positionnelles et graphiques. Par exemple, en considérant la figure 3, les 20 caractères "33470" (34) formant un nombre seront éliminé du sous-ensemble des « nombres » par un traitement comparant cette séquence avec un ensemble de séquences alphanumériques enregistrées dans une mémoire contenant les exceptions, en l'occurrence les codes postaux français. 25 Ces « pseudo-nombres » sont filtrés et maintenus à l'écart du sous-ensemble des nombres par l'application d'analyses. Le traitement (13) constitue une étape facultative de tests. Elle consiste à rechercher des combinaisons de 30 nombres extraits par les traitements précités présentant une probabilité significative de relations fonctionnelles. Par exemple, les nombres les plus grands présentent une plus forte probabilité de correspondre à une somme que des nombres plus petits. 3061573 13 Les nombres les plus importants sont associés à un marqueur spécifique, ce qui permet de réduire le nombre de traitements ultérieurs et bien sur le temps de calcul requis. En effet, même pour un document simple, ne 5 contenant que quelques dizaines de séquences formées par des chiffres, le nombre de combinaisons augmente très rapidement, de manière exponentielle. Tout prétraitement basé sur des hypothèses telles que celle susvisée permet de réduire drastiquement le temps de 10 calcul. Les tests de prétraitements sont enregistrés dans une mémoire du serveur, sous forme de fonctions heuristiques. Ces fonctions heuristiques peuvent être calculées dynamiquement et mise à jour au fur et à mesure du traitement 15 de nouveaux documents, pour améliorer dynamiquement le fonctionnement du système. Une telle fonction heuristique peut prendre n'importe quel facteur interne au document, externe au document, ou fourni par un utilisateur ou un système 20 d'information, qui prend des informations, mais sans s'y limiter, des règles graphiques contextuelles, syntaxiques, positionnelles. Elle peut prendre en compte par exemple le contenu d'une mémoire de référence dans laquelle sont enregistrées des 25 séquences chiffrées correspondant à des taux de TVA usuels dans différents pays, ou de codes postaux, ou de structures de codes bancaires, ou encore de combinaisons entre des informations alphanumériques intrinsèques au document, par exemple la combinaison entre une information alphabétique et 30 une information numérique, justifiant d'une probabilité forte selon laquelle l'information numérique récurrente correspond à la codification d'un article. L'appartenance de ces données aux référentiels peut être déterminée par toute logique ou système de classification par apprentissage, profond ou non. 3061573 14 Le filtrage réalisé optionnellement par le traitement (13) permet de réduire le volume des séquences de chiffres à traiter lors des étapes suivantes. Le traitement (14) consiste à appliquer une boucle 5 qui teste tous les nombres précédemment extraits et le cas échéant filtrés, pour trouver la somme possible des nombres précédemment extraits (étape 12 et 13). Par exemple, dans la facture illustrée par la figure 3, le test sera positif pour la combinaison (48000 ; 24000 ; 24000) car ces trois séquences 10 chiffrées extraites sont liées par une relation fonctionnelle de type « A=B+C » (48000 = 24000 + 24000). De même, les combinaisons de séquences (491.14 ; 409.28 ; 81.86 ; 491.14) sont liées par une relations fonctionnelle additive de type (A= (Ei Bi) 15 D'autres relations fonctionnelles sont testées, par exemple des relations de type A=(Ei,j Bi Ci). Bien sur, A, Bi et C sont choisi parmi les séquences de chiffres extraits et filtrés, ainsi que sur des valeurs numériques enregistrées dans une mémoire du serveur, correspondant par exemple à des 20 taux connus de TVA (qui ne figurent pas toujours dans le document analysé). Les paramètres i et j sont des valeurs comprises entre 0 et N, N étant un entier qui peut être égal au nombre de séquences chiffrées filtrées et extraites. C'est pour cette raison que l'étape de filtrage optionnelle (13) 25 permet de réduire très significativement le nombre d'opérations à réaliser lors de l'étape (14). Le traitement (14) pour tester toutes les combinaisons de nombres possibles peut être amélioré par toute approche empirique, statistique, mathématique ou logique pour 30 réduire le nombre de combinaisons ou pour ordonner ces combinaisons afin d'accélérer la découverte du scénario le plus probable. Toutes les séries de nombres donnant une somme existante sont alors considérées. Pour chaque ensemble, toutes 3061573 15 les partitions (sous-ensemble de nombres) possibles sont créées. La somme de chaque partition est calculée et est testée à l'encontre de tous les taux d'imposition connus, soit 5 dans le monde, soit dans un ou plusieurs pays sélectionnés mais non limités par un ensemble externe de paramètres transmis avec les documents, un ensemble de données extraites de À l'intérieur du document, mais sans s'y limiter, un algorithme ou un processus d'apprentissage machine qui fournit 10 un estimateur des pays les plus probables pour le document donné, ou un ensemble généré à partir de comportements historiques liés à un utilisateur ou un contexte d'entreprise, ou toute combinaison de ces méthodes. Le test de chaque partition par rapport à 15 l'ensemble donné de taux d'imposition se fait en considérant les séquences chiffrées dans les partitions comme des taux de TVA en testant si le document contient un ou deux nombres A et B dans le document, mais désactivés pour toute combinaison qui correspondent à A = (1 + R) * S et / ou B = R * S, où S est la 20 somme des nombres dans la partition et R un taux d'imposition de l'un des pays ci-dessus définis. Le test peut aussi porter sur la vérification si le document contient un ou deux nombres A et B dans le document, mais sans aucun rôle dans le scénario présent, qui 25 correspondent à S = (1 + R) * A et / ou B = R * A, où S est la somme des nombres dans la partition et R un taux d'imposition de celui du pays ci-dessus défini. Pour toutes les partitions créées hors de l'ensemble de nombres Q sommant à X, les relations entre les 30 candidats A, B et R sont stockées comme un scénario séparé lié à X et Q. Une fois que tous les scenarii sont créés, ou qu'un algorithme de décision définit que la recherche de la relation entre les autres possibles X, Q, A et B n'est probablement pas utile, tous les scenarii sont comparés entre eux en utilisant 3061573 16 la logique que le scénario le plus probable est celui qui utilise le plus grand nombre de nombres disponibles et qui donne le plus haut niveau d'information aux nombres où l'information est définie comme la somme du nombre de 5 relations cohérentes que chaque nombre avec d'autres nombres disponibles dans le document et où les relations fiscales des nombres est les relations entre les nombres de Q, A et / ou B) sont plus élevés que les relations de la somme (entre les nombres de Q). Par exemple, un cas de bordure où un scénario 10 décrivant X = (1 + R) * J et K = R * J devrait avoir la priorité par rapport à un scénario définissant clairement X = J + K. Le scénario le mieux classé est considéré comme la solution pour le document. Notez qu'il peut empiriquement se 15 produire qu'un tel scénario ne soit pas le résultat attendu comme le ferait un homme lisant le document. Ce taux d'erreur est empiriquement marginal et peut être filtré en ajoutant des heuristiques supplémentaires qui pourraient favoriser un scénario à un autre en fonction de tout interne, externe ou un 20 mélange des deux informations disponibles sur le document. Des améliorations peuvent également être apportées pour surmonter le fait empirique que le calcul impliquant les taux d'imposition peut souffrir sur le document de l'arrondissement opéré par l'émetteur par erreur ou délibérément. 25 Ainsi, pour chaque opération impliquant un taux et en s'assurant que toutes les opérations de somme sur le document restent exactes, une relation entre des nombres extraits peut être considérée valide dans une plage d'erreur définie par interne, externe ou un mélange des deux facteurs, 30 et en classant ainsi la solution produite par les taux d'erreur induits. Des traitements additionnels du document peuvent être appliqués pour la gestion des escomptes, des remises, des déclarations en espèces ou tout autre type de nombre dont la 3061573 17 relation fonctionnelle est une combinaison de soustraction(s) et d'addition(s). Dans ce cas, des analyseurs syntaxiques sont appliqués pour analyser la signification négative, soit par la présence d'un signe moins («-»), soit par un préfixe (par 5 exemple: «discount: 50 $»), soit par toute autre information telle que position, la couleur ou la police, etc. Le traitement de nombres négatifs ajoute la logique qu'il existe un nombre D tel que D + N = X où N est un nombre négatif analysé, X est un prix total détecté par l'algorithme 10 précédemment décrit et D un nombre disponible sur le document mais inutilisé dans le scénario de X. Dans ce cas, D est alors considéré comme le total du document et est lié à X, N et à tous les sous-totaux et taux d'imposition liés au scénario de X. Lors du classement 15 des scenarii, la logique présentée ne change pas en considérant que le scénario est choisi compte tenu du nombre maximum de numéros impliqués dans le scénario et la force de leur relation par les taxes. Une implémentation préférée ajoute une logique selon laquelle il est possible que pour 20 tout nombre Y de l'addition à X, il puisse exister deux nombres T et E, non utilisés dans un scénario X donné, tels que Y = T * E. On considère alors Que T et E sont la quantité et le prix unitaire (ou l'inverse) pour un sous-total Y. Ces informations peuvent être ajoutées à tous les scénarios où 25 elles participent, en ajoutant des informations à ces scénarios et en laissant inchangé le scénario décrit précédemment. Une mise en oeuvre préférée du procédé décrit ici est une implémentation impliquant un calcul GPU puisque la complexité informatique est d'une forme exponentielle par 30 rapport au nombre de nombres analysés et considérés. Des traitements additionnels peuvent être ajoutés pour le traitement des erreurs d'OCR sur la base de statistiques empiriques d'erreurs. Dans une telle implémentation, l'extraction des nombres se fait avec des 3061573 18 nombres "virtuels", variantes des nombres réellement présents sur la facture et à considérer par l'algorithme présenté. Ce dernier ne changeant que dans la mesure ou les nombres "virtuels" seront toujours défavorisés dans le choix des 5 scénarii vis à vis des nombres réellement présents sur le document. De même, toute donnée des scenarii, provenant de bases référentielles ou d'une déduction logique déduite par une heuristique non respecté liée à l'omission sur la facture 10 ou sa non extraction de l'information peut ainsi être considérée comme générée et constituer un scénario plus probable que les scenarii ne prenant pas en compte ces données. Il est alors donc possible de s'abstraire d'omissions en reconstruisant l'information la plus logique pour le 15 document traité. Implémentation matérielle Les traitements susvisés peuvent être réalisés sous différentes formes, par un processeur appliquant un code 20 informatique ou encore par des processeurs spécialisés comprenant une pluralité d'unité arithmétique élémentaires et logique (UAL, en anglais arithmetic-logic unit, ALU) fonctionnant en parallèles. Ces unités arithmétiques élémentaires peuvent être réalisées par des circuits intégrés 25 TTL (Transistor-Transistor Logic). Les unités arithmétiques élémentaires calculent sur des nombres entiers, et peuvent effectuer les opérations communes, que l'on peut séparer en quatre groupes : - Les opérations arithmétiques : addition, 30 soustraction, changement de signe, etc. - les opérations logiques : compléments à un, à deux, et, ou, ou-exclusif, non, non-et, etc. 3061573 19 - les comparaisons : test d'égalité, supérieur, inférieur, et leur équivalents « ou égal ». - éventuellement des décalages et rotations. Chaque unité arithmétique élémentaire possède deux 5 entrées A et B sur lesquelles on présente les données à traiter ainsi que deux sorties, R qui est le résultat de l'opération, et D les éventuels drapeaux. REVENDICATIONS1 - Procédé de traitement automatique de documents pour la production de séquences de données structurées et 5 hiérarchisées comportant : - une étape de récupération d'au moins un document constitué par une image numérique - une étape de reconnaissance optique de caractères produisant, pour chacun des documents, un ensemble de 10 données numériques - une étape de structuration des données reconnues caractérisé en ce que l'étape de structuration consiste à associer à une partie au moins des données reconnues une étiquette numérique caractérisant ladite donnée, 15 ladite étape de structuration comportant : - une étape de classification d'une partie desdites données sans mise en oeuvre d'un modèle structurel, en fonction de l'appartenance de chacune des données reconnues à un ou plusieurs 20 référentiels de qualification enregistrés dans une mémoire et de la probabilité de correspondance, pour enregistrer dans une mémoire temporaire de tables [donnée ; qualification(s), probabilité] 25 - à appliquer, aux données qualifiées correspondant à une valeur numérique, un traitement consistant à calculer une pluralité de combinaisons en fonction de règles heuristiques prédéterminées 30 - de calculer le score de chacune desdites combinaisons 3061573 21 - d'affecter aux données d'une combinaison dont le score est maximal, les qualifications correspondant à des heuristiques préétablies - d'enregistrer un fichier numérique constitué par les combinaisons de données de scores maximaux et de qualifications correspondantes précédemment calculés. 2 - Procédé de traitement automatique de documents 10 selon la revendication 1 caractérisé en ce qu'il comporte une étape additionnelle de génération de données non existantes en fonction des hypothèses d'erreurs. 3 - Procédé de traitement automatique de documents 15 selon la revendication 1 caractérisé en ce qu'il comporte une étape de génération de données non existante en fonction des hypothèses d'omission. 4 - Procédé de traitement automatique de documents 20 selon la revendication 1 caractérisé en ce qu'il comporte une étape de recherche de données exogènes en fonction du résultat du traitement du document. 5 - Procédé de traitement automatique de documents 25 selon la revendication 1 caractérisé en ce qu'il comporte une étape de traitement de normalisation formelle des caractères numériques extraits pour éliminer les artefacts de présentation. 30 6 - Système de traitement automatique de documents pour la production de séquences de données structurées et hiérarchisées caractérisé en ce qu'il comporte un moyen de 3061573 22 reconnaissance optique de caractères pour produire, pour chacun des documents à traiter, un ensemble de données numériques et un calculateur exécutant un programme d'ordinateur pour appliquer auxdites données numériques une 5 étape de classification d'une partie desdites données sans mise en oeuvre d'un modèle structurel, en fonction de l'appartenance de chacune des données reconnues à un ou plusieurs référentiels de qualification enregistrés dans une mémoire et de la probabilité de correspondance, pour enregistrer dans une mémoire temporaire de tables [donnée ; qualification(s) , probabilité] et une étape de structuration des données consistant à : - à appliquer, aux données qualifiées correspondant à une valeur numérique, un traitement consistant à calculer une pluralité de combinaisons en fonction de règles heuristiques prédéterminées - de calculer le score de chacune desdites combinaisons - d'affecter aux données d'une combinaison dont le score est maximal les qualifications correspondant à des heuristiques préétablies - d'enregistrer un fichier numérique constitué par les combinaisons de données de score maximal et de qualifications correspondants précédemment calculés. 7 - Système pour le traitement automatique de documents caractérisé en ce qu'il est constitué par au moins un ordinateur local (1) et un serveur (2) ainsi qu'un code informatique commandant l'exécution d'un traitement de structuration consiste à associer à une partie au moins des données reconnues une étiquette numérique caractérisant ladite donnée, comportant : - une étape de classification d'une partie desdites données sans mise en oeuvre d'un modèle structurel, en fonction de l'appartenance de chacune des données 3061573 23 reconnues à un ou plusieurs référentiel de qualification enregistré dans une mémoire et de la probabilité de correspondance, pour enregistrer dans une mémoire temporaire de tables [donnée ; qualification(s), 5 probabilité] - à appliquer, aux données qualifiés correspondant à une valeur numérique, un traitement consistant à calculer une pluralité de combinaisons en fonction de règles heuristiques prédéterminées 10 - de calculer le score de chacune desdites combinaisons - d'affecter aux données d'une combinaison dont le score est maximal les qualifications correspondant à des heuristiques préétablies. 15 8 - Système pour le traitement automatique de documents selon la revendication précédente caractérisé en ce qu'il comporte en outre un scanner (3) destiné à la numérisation de documents physiques. 20 9 - Système pour le traitement automatique de documents selon la revendication 7 caractérisé en ce que ledit code commandant l'exécution d'un traitement de structuration est exécuté par des processeurs spécialisés comprenant une pluralité d'unité arithmétique élémentaires. 25