FR3061573A1 - METHOD AND SYSTEM FOR AUTOMATIC PROCESSING OF DOCUMENTS - Google Patents
METHOD AND SYSTEM FOR AUTOMATIC PROCESSING OF DOCUMENTS Download PDFInfo
- Publication number
- FR3061573A1 FR3061573A1 FR1663515A FR1663515A FR3061573A1 FR 3061573 A1 FR3061573 A1 FR 3061573A1 FR 1663515 A FR1663515 A FR 1663515A FR 1663515 A FR1663515 A FR 1663515A FR 3061573 A1 FR3061573 A1 FR 3061573A1
- Authority
- FR
- France
- Prior art keywords
- data
- processing
- documents
- document
- digital
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000015654 memory Effects 0.000 claims abstract description 27
- 238000012797 qualification Methods 0.000 claims abstract description 25
- 238000012015 optical character recognition Methods 0.000 claims abstract description 7
- 238000004519 manufacturing process Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000011282 treatment Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 description 10
- 238000005192 partition Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000007792 addition Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Creation or modification of classes or clusters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Character Discrimination (AREA)
- Character Input (AREA)
Abstract
La présente invention concerne un procédé et un système de traitement automatique de documents pour la production de séquences de données structurées et 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 données numériques - une étape de structuration des données reconnues. L'étape de structuration consiste à associer à une partie au moins des données reconnues une étiquette numérique, ladite donnée, comportant une étape de classification d'une partie desdites données sans mise en œuvre 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 enregistrer dans une mémoire temporaire de tables [donnée ; qualification(s), probabilité].The present invention relates to a method and system for automatic document processing for the production of structured and hierarchical data sequences comprising: a step of recovering at least one document constituted by a digital image; an optical character recognition step producing, for each of the documents, a set of numerical data - a step of structuring the recognized data. The structuring step consists in associating at least a portion of the recognized data with a digital tag, said datum comprising a step of classifying a portion of said data without implementing a structural model, depending on the membership. each of the recognized data to one or more qualification repositories stored in a memory and the probability of correspondence, to record in a temporary memory of tables [data; qualification (s), probability].
Description
Titulaire(s) :Holder (s):
DEPLUS BENJAMIN.MORE BENJAMIN.
O Demande(s) d’extension :O Extension request (s):
(® Mandataire(s) : IP TRUST.(® Agent (s): IP TRUST.
(54) PROCEDE ET SYSTEME DE TRAITEMENT AUTOMATIQUE DE DOCUMENTS.(54) METHOD AND SYSTEM FOR AUTOMATIC DOCUMENT PROCESSING.
FR 3 061 573 - A1 (57) La présente invention concerne un procédé et un système de traitement automatique de documents pour la production de séquences de données structurées et hiérarchisées comportant:FR 3,061,573 - A1 (57) The present invention relates to a method and a system for automatic document processing for the production of structured and hierarchical data sequences comprising:
- une étape de récupération d'au moins un document constitué par une image numérique- a step of recovering at least one document consisting of a digital image
- une étape de reconnaissance optique de caractères produisant, pour chacun des documents, un ensemble de données numériquesa step of optical character recognition producing, for each of the documents, a set of digital data
- une étape de structuration des données reconnues.- a step of structuring recognized data.
L'étape de structuration consiste à associer à une partie au moins des données reconnues une étiquette numérique, 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 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), probabilité].The structuring step consists in associating with at least part of the recognized data a digital label, said data, comprising a step of classification of a part of said data without implementing a structural model, as a function of membership. of each of the data recognized to one or more qualification repository recorded in a memory and of the probability of correspondence, for recording in a temporary memory of tables [given; qualification (s), probability].
PROCEDE ET SYSTEME DE TRAITEMENT AUTOMATIQUE DE DOCUMENTSMETHOD AND SYSTEM FOR AUTOMATIC DOCUMENT PROCESSING
Domaine de 1'inventionField of the invention
La présente invention concerne le domaine des 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 ou de traitements statistiques.The present invention relates to the field of automatic document processing for extracting digital data. It relates in particular to the processing of financial or accounting documents such as invoices, supporting documents or accounting documents, with a view to providing accounting entries, analyzes in the form of reports or statistical processing.
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 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.One of the peculiarities of accounting documents is that the semantic context is relatively poor, most of the information contained in such a document being made up of numbers, comprising few sentences and is not presented in a standardized form. It is therefore very difficult to use semantic, grammatical or structural processing to categorize, extract and validate the necessary information.
Etat de la techniqueState of the art
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 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. 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é 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 1'image pour déterminer quel est le meilleur rendement, à partir de la pluralité de sorties pour chaque pièce.Known in the prior art, the US patent US8897563 describing a document analysis system which receives and processes tasks from a plurality of users, in which each station can process multiple electronic documents to extract documents. data. An automatic method of pre-processing each received electronic document using a plurality of images and transformation algorithms to improve the subsequent extraction of data from said documents is provided. The method includes: electronically partitioning each page of electronic document received into pieces; automatically processing each part of the received electronic document page each using a plurality of image preprocessing algorithms to produce a plurality of variant images of each part; and analyzing the results of the processing and extracting data on each of the variants of the parts of the image to determine which is the best yield, from the plurality of outputs for each part.
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.Patent EP12702861 describes a data acquisition and processing engine, in which the data acquisition engine is adapted to extract data from the electronic document, which is preferably a document in PDF format such as an invoice.
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 seulementThe data includes glyphs in the form of words and at least one property spatially associated with the glyphs, the property being location, fonts, background or shading. An anchor is defined according to the rules describing the relationship between the extracted data and the spatial property. The engine for processing analyzes of data extracted by applying rules to determine the anchor point and the probability of knowing whether the spatial property and the data extracted meet the requirements of the rules to determine the best if the data extracted in format of the necessary data output. This solution is however only applicable to textual elements, with ordered rules only
Inconvénients de l'art antérieurDisadvantages of the prior art
Les solutions de l'art présentent plusieurs inconvénients techniques.The solutions of the art have several technical drawbacks.
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, présentation prédéfinie, pour un fournisseur, client, avec une ou type 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 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.Known solutions adapted to the automatic processing of accounting documents are limited to the processing of a very specific type of document, namely invoices, the form of which is highly standardized, these are generally documents printed on an A4 medium, predefined presentation, for a supplier, client, with a given type of document. For example, the position of the information elements on the document are predetermined and unchanging, and it is thus possible to deduce from the position of an information element what its nature and meaning are. The automatic classification of information results from knowing the structure of the document, and from determining the position of each of the recognized information with respect to the known structure of the document.
Ces solutions nécessitent donc impérativement une 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.These solutions therefore imperatively require prior knowledge of the configuration of a model for each document to be processed, and of the completeness of the possible configurations with regard to the documents to be processed.
Lorsque les procédés de l'art antérieur sont appliqués sur un document d'un format inconnu et/ou d'une structure inconnue, le traitement n'aboutit à aucun résultat et ne permettent pas un traitement autre que par un opérateur humain.When the methods of the prior art are applied to a document of an unknown format and / or of an unknown structure, the processing does not lead to any result and does not allow processing other than by a human operator.
Par ailleurs, les solutions de l'art antérieur appliquent un traitement à une information unique contenue 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.Furthermore, the solutions of the prior art apply processing to single information contained in an area of the previously known format. When a zone contains a multitude of information, the processing operations according to the prior art are generally ineffective and do not allow the individual information to be properly qualified without the intervention of a human operator.
L'art antérieur ne permet également pas de valider la qualité des informations extraites en testant la qualité de leur cohérence.The prior art also does not make it possible to validate the quality of the information extracted by testing the quality of its consistency.
Par ailleurs, les solutions de l'art antérieur présentent un problème technique majeur, dans la mesure où 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.Furthermore, the solutions of the prior art present a major technical problem, insofar as the absence of knowledge and information on the structure of the document to be processed simply does not allow automatic processing of the document.
Solution apportée par l'art antérieurSolution provided by the prior art
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 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 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.The present invention aims to remedy the drawbacks of the prior art by allowing completely automatic processing, without the intervention of a human operator, and applicable to a series of disparate documents, of heterogeneous formats and structures and without it being necessary for the user to record prior information on the forms of documents likely to be processed. The invention provides a technical answer to the problem of automatic processing by a machine of a document for which there is no prior information relating to the structuring of the textual data it contains.
A cet effet, l'invention concerne selon son 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 :To this end, the invention relates in its most general sense to an automatic document processing method for the production of structured and hierarchical data sequences comprising:
une étape de reconnaissance optique de caractères produisant, pour chacun des documents, un ensemble de 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, ladite étape de structuration comportant :a step of optical character recognition producing, for each of the documents, a set of raw textual data a step of structuring the recognized data characterized in that the structuring step consists in associating with at least part of the recognized data a label characterizing said data, said structuring step comprising:
une étape de classification d'une partie desdites données sans mise en œuvre d'un modèle structurel, en fonction de l'appartenance de d'une partie 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), 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 de calculer le score de chacune desdites combinaisons d'affecter aux données d'une combinaison dont le score est maximal les qualifications correspondant à 1'heuristique.a step of classifying part of said data without implementing a structural model, as a function of the belonging of part of the recognized data to one or more qualification repositories recorded in a memory and the probability of correspondence, to save in a temporary memory of tables [given; qualification (s), probability] to apply, to the qualified data corresponding to a numerical value, a treatment consisting in calculating a plurality of combinations according to predetermined heuristic rules of calculating the score of each of said combinations to assign to the data of a combination whose score is maximum the qualifications corresponding to heuristics.
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 d'erreurs.According to a particular embodiment, the method according to the invention comprises an additional step of generating non-existent data as a function of the error hypotheses.
Avantageusement, le procédé comporte une étape de génération de données non existante en fonction des hypothèses d'omission.Advantageously, the method includes a step of generating non-existent data as a function of the omission hypotheses.
Selon une variante, le document comporte une étape de recherche de données exogènes en fonction du résultat du traitement du document.According to a variant, the document comprises a step of searching for exogenous data as a function of the result of the processing of the 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é 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 données sans mise en œuvre 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 enregistrer dans une mémoire temporaire de tables [donnée ; qualification(s) , probabilité] et une étape de structuration des données consistant à :The invention also relates to an automatic document processing system for the production of structured and hierarchical data sequences, characterized in that it comprises an optical character recognition means for producing, for each of the documents to be processed, a set of data. digital and a computer executing a computer program to apply to said digital data a step of classifying part of said data without implementing a structural model, according to the membership of each of the recognized data to one or more qualification repository stored in a memory and the probability of correspondence, for recording in a temporary memory of tables [given; qualification (s), probability] and a data structuring step consisting of:
à 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 de calculer le score de chacune desdites combinaisons d'affecter aux données d'une combinaison dont le scoreapplying, to the qualified data corresponding to a numerical value, a process consisting in calculating a plurality of combinations according to predetermined heuristic rules of calculating the score of each of said combinations to assign to the data of a combination whose score
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 traitement de structuration consiste à associer à une partie au moins des données reconnues une étiquette numérique caractérisant ladite donnée, comportant :automatic document processing characterized in that it consists of at least a local computer and a server as well as a computer code controlling the execution of a structuring processing consists in associating with at least part of the recognized data a label digital characterizing said data, comprising:
une étape de classification d'une partie desdites données sans mise en œuvre 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 correspondance, temporaire de probabilité] une mémoire et de pour enregistrer tables [donnée ;a step of classifying part of said data without implementing a structural model, according to the membership of each of the recognized data in one or more qualification repository recorded in correspondence, temporary probability] a memory and to save tables [data;
la probabilité de dans une mémoire qualification(s), à appliquer, aux valeur numérique, une pluralité de données qualifiés un traitement correspondant à une consistant à calculer 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 correspondants à des heuristiques préétablies.the probability of in a qualification memory (s), of applying, to the numerical value, a plurality of qualified data, a treatment corresponding to one consisting in calculating combinations according to predetermined heuristic rules to calculate the score of each of said combinations to assign to data of a combination with a maximum score, the qualifications corresponding to predetermined heuristics.
Avantageusement, le système comporte en outre un scanner destiné à la numérisation de documents physiques.Advantageously, the system further comprises a scanner intended for the scanning of physical documents.
Selon une variante, 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és arithmétiques élémentaires.According to a variant, said code controlling the execution of a structuring processing is executed by specialized processors comprising a plurality of elementary arithmetic units.
Description détaillée d'un exemple non limitatif de 1'inventionDetailed description of a nonlimiting example of the 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ù :The present invention will be better understood on reading the description which follows, concerning a nonlimiting exemplary embodiment referring to the appended drawings where:
la figure 1 représente une vue schématique d'une 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 réalisation réalisation logicielle,FIG. 1 represents a schematic view of a hardware architecture FIG. 2 represents a schematic view of a functional architecture FIG. 3 represents a schematic view of an accounting document before its processing realization software realization,
La présente invention peut entièrement matérielle, logicielle un logiciel de l'exécution sur un (par résident, système prendre la ou une exemple une un microcode, informatique, forme forme de application etc. ) en vue d'un support lisible tel qu'un CD, une mémoire flash ou une lequel est enregistré un code de programme pour clé USB, sur le transfert dans la mémoire d'un ordinateur, ou encore un mode de réalisation combinant aspects logiciels et matériels.The present invention can be entirely hardware, software, execution software on a (by resident, system take the or an example a microcode, computer, form of application etc.) for a readable medium such as CD, a flash memory or one which is recorded a program code for USB key, on the transfer in the memory of a computer, or even an embodiment combining software and hardware aspects.
Le code de programme peut être exécuté entièrement sur l'ordinateur de l'utilisateur, ou partiellement sur 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 étendu (WAN), ou la connexion peut être faite à un ordinateur externe (par exemple, à travers l'Internet en utilisant un fournisseur de services Internet).The program code can be executed entirely on the user's computer, or partially on the user's computer and partly on a remote computer or entirely on the remote computer or a server. In the latter scenario, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, over the Internet using an Internet service provider).
Description de l'architecture matérielleDescription of the hardware architecture
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.In the description which follows, details of certain well-known technical characteristics can be omitted in order to avoid unnecessarily complicating the embodiments presented.
L'architecture matérielle est présentée selon un exemple de mise en œuvre, 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).The hardware architecture is presented according to an example of implementation, where certain functionalities are executed on a local computer (1), and certain functionalities are executed on a server (2).
L'ordinateur local (1) est relié à un scanner (3) destiné à la numérisation de documents physiques. Il comporte é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.The local computer (1) is connected to a scanner (3) intended for the scanning of physical documents. It also comprises, in known manner, input-output interfaces for receiving digital documents originating from a storage medium or from remote computer equipment.
L'ordinateur (1) comporte de façon connue un ou plusieurs calculateurs commandés par un système d'exploitation et des logiciels applicatifs, un ensemble de composants internes tels que des mémoires ROM et des mémoires à écriturelecture aléatoire ou des mémoires Flash et un adaptateur de réseau ou d'une interface telle qu'une carte TCP / IP, une carte d'interface WI-FI ou 3G ou 4G ou une liaison filaire ou sans fil.The computer (1) comprises, in a known manner, one or more computers controlled by an operating system and application software, a set of internal components such as ROM memories and random-read writing memories or Flash memories and an adapter. network or an interface such as a TCP / IP card, a WI-FI or 3G or 4G interface card or a wired or wireless link.
L'ordinateur (1) et les équipements périphériques, notamment le scanner (3) communiquent par l'intermédiaire d'un réseau comprenant des fils de cuivre, fibres optiques, transmission sans fil, routeurs, pare-feu, des commutateurs, des ordinateurs passerelle et / ou serveurs.The computer (1) and peripheral equipment, in particular the scanner (3) communicate via a network comprising copper wires, optical fibers, wireless transmission, routers, firewalls, switches, computers gateway and / or servers.
L'architecture matérielle comprend également des composants externes tels qu'un clavier (4) et une souris 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 (1).The hardware architecture also includes external components such as a keyboard (4) and a computer mouse (5). External components can also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices. These external components are controlled by device drivers installed on the computer (1).
Description de l'architecture fonctionnelleDescription of the functional architecture
La figure 2 représente une vue schématique de l'architecture fonctionnelle d'un exemple de mise en œuvre de 1'invention.FIG. 2 represents a schematic view of the functional architecture of an exemplary implementation of the invention.
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 œuvre par des instructions de programmes d'ordinateurs ou éventuellement par des modules électroniques. Ces instructions de programme 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 appareil programmable de traitement de données.Aspects of the present invention are described below with reference to the simplified flowchart. It will be understood that each block can be implemented by instructions from computer programs or possibly by electronic modules. These computer program instructions can be supplied to a processor of a general-purpose computer, a special-purpose computer, or any other programmable data processing device to produce a machine, so that the instructions that execute through the processor from the computer or other programmable data processing device.
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 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 1'invention.The processing which is the subject of the invention is applied to a digital document consisting of an image of an accounting document, or any other digital document of a common format (e.g. pdf, docx). This image can be obtained by photographing or reading a physical document (6) by a scanner (3) of a physical accounting document, for example a sales receipt, or by a natively digital document. The way of making the digital image is not part of the invention.
Dans l'exemple illustré par la figure 3, le document à traiter est constitué par une facture.In the example illustrated in Figure 3, the document to be processed consists of an invoice.
L'invention se distingue de solution de l'art antérieur par le fait qu'il n'est pas nécessaire de connaître 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.The invention differs from the prior art solution in that it is not necessary to know the structure of the document, neither as regards the arrangement of the information, nor as regards the nature of the information, nor with regard to the language used.
Le but est de permettre le traitement d'un document quelconque et non structuré, sans nécessiter l'enregistrement préalable d'informations associées à la structure du document à analyser.The aim is to allow the processing of any unstructured document, without requiring the prior recording of information associated with the structure of the document to be analyzed.
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 constituées de chiffres telles que le numéro de téléphone (32) ou des prix (33).This invoice presented as an example in Figure 3 of the text elements, such as the supplier's business name (30) or its address (31), information consisting of figures such as the telephone number (32) or prices (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 originelle numérique, par exemple un document au format PDF ou une image.This document is the subject of a first scanning operation by a scanner (3) in the example described. Of course, the document could also be received in an original digital form, for example a document in PDF format or an 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 qu'une reconnaissance de caractères.The scanner (3) and, where appropriate, the associated software applications can carry out a preprocessing, for example of improvement of the contrast, of the brightness, as well as a recognition of characters.
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 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.Figure 2 illustrates the processing steps applied to the digital document to extract and assign the digital values of the document to the price and related information without prior knowledge of the structure of the analyzed document. These steps are performed by a computer system comprising a network, a client computer (1) and a server computer (2) executing an extraction program.
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).The server computer (2) includes an electronic memory for storing data (for example, text data, code data, electronic documents, electronic images).
La première étape (10) consiste à procéder à un 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.The first step (10) consists of processing documents (6) to provide a digital document in formats, pdf, images, Microsoft Word (trade name) .doc / .docx. or any other format. Of course, in the case where the document is available in electronic form, the step of acquiring an image is not necessary.
Le traitement (11) consiste à transformer un document lisible parProcessing (11) consists in transforming a document readable by
1'homme en séquences numériques de caractères enregistrés dans une mémoire vive de l'ordinateur ( 1 ) ou du serveur ( 2 ) .1 man in numerical sequences of characters recorded in a random access memory of the computer (1) or of the server (2).
Beaucoup de techniques, impliquant le matériel, le logiciel, ou une combinaison des deux existent aujourd'hui.Many techniques, involving hardware, software, or a combination of the two exist today.
A titre d'exemple, les solutions Abbyy (nom commercial), ou Tesseract (nom commercial) initialement développé parFor example, the Abbyy (trade name) or Tesseract (trade name) solutions initially developed by
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.Hewlett Packard (trade name) allow such processing for document recognition, data capture and language processing.
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.The processing (12) consists in processing the result of step (11) to extract the sequences of characters recognized those corresponding to numbers.
Ce traitement consiste à extraire de la séquence de caractères reconnus dans un document le sous-ensemble 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.This processing consists in extracting from the sequence of recognized characters in a document the subset of characters corresponding to numeric characters comprising the Arabic numerals (from 0 to 9), and optionally distinguishing a second subset which comprises the alphabetic characters. representing the letters (from A to Z in the Latin alphabet) lower and upper case.
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,The digital characters thus extracted are subject to formal normalization processing in order to eliminate the presentation artifacts corresponding to local use (for example 100.53, 104.56, 10'100.53, 50,000.47,
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 caractères reconnus sur le document.The extracted digits are grouped together to form numbers, which are stored in a memory without any particular scheduling. The registration of a number does not necessarily take into account the initial position on the document, nor the proximity or the distance with other recognized characters on the 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.However, for certain numbers belonging to a preregistered class (VAT rate, postal code, ...), a marker can be associated with the number considered during this stage of processing.
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.The numbers analyzed can be filtered to reduce IT complexity by various means including, but not limited to, contextual, syntactic, positional and graphic rules.
Par exemple, en considérant la figure 3, les 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.For example, considering FIG. 3, the characters 33470 (34) forming a number will be eliminated from the subset of "numbers" by a process comparing this sequence with a set of alphanumeric sequences recorded in a memory containing the exceptions, in l 'occurrence French postal codes.
Ces « pseudo-nombres » sont filtrés et maintenus à l'écart du sous-ensemble des nombres parThese "pseudo-numbers" are filtered and kept away from the subset of numbers by
1'application d'analyses.The application of analyzes.
Le traitement (13) constitue une étape facultative de tests. Elle consiste à rechercher des combinaisons de nombres extraits par les traitements précités présentant une probabilité significative de relations fonctionnelles.Processing (13) is an optional step of testing. It consists in seeking combinations of numbers extracted by the aforementioned treatments having a significant probability of functional relationships.
Par exemple, les nombres les plus grands présentent une plus forte probabilité de correspondre à une somme que des nombres plus petits.For example, larger numbers have a higher probability of being a sum than smaller numbers.
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.The most important numbers are associated with a specific marker, which makes it possible to reduce the number of subsequent treatments and of course the calculation time required.
En effet, même pour un document simple, ne contenant que quelques dizaines de séquences formées par des chiffres, le nombre de combinaisons augmente très rapidement, de manière exponentielle.Indeed, even for a simple document, containing only a few tens of sequences formed by numbers, the number of combinations increases very rapidly, exponentially.
Tout prétraitement basé sur des hypothèses telles que celle susvisée permet de réduire drastiquement le temps de calcul.Any pretreatment based on assumptions such as that mentioned above makes it possible to drastically reduce the calculation time.
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 de nouveaux documents, pour améliorer dynamiquement le fonctionnement du système.The preprocessing tests are saved in a memory of the server, in the form of heuristic functions. These heuristic functions can be calculated dynamically and updated as new documents are processed, to dynamically improve the functioning of the system.
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 d'information, qui prend des informations, mais sans s'y limiter, des règles graphiques contextuelles, syntaxiques, positionnelles.Such a heuristic function can take any factor internal to the document, external to the document, or provided by a user or an information system, which takes information, but not limited to, contextual, syntactic, graphic rules, positional.
Elle peut prendre en compte par exemple le contenu d'une mémoire de référence dans laquelle sont enregistrées des 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 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.It can take into account, for example, the content of a reference memory in which are recorded encrypted sequences corresponding to the usual VAT rates in different countries, or postal codes, or structures of bank codes, or combinations between alphanumeric information intrinsic to the document, for example the combination between alphabetical information and digital information, justifying a strong probability that the recurring digital information corresponds to the codification of an article. The membership of these data in the repositories can be determined by any logic or classification system by learning, deep or not.
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.The filtering optionally performed by the processing (13) makes it possible to reduce the volume of the sequences of digits to be processed during the following steps.
Le traitement (14) consiste à appliquer une boucle 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 chiffrées extraites sont liées par une relation fonctionnelle de type « A=B+C » (48000 = 24000 + 24000).The processing (14) consists in applying a loop which tests all the numbers previously extracted and if necessary filtered, to find the possible sum of the numbers previously extracted (step 12 and 13). For example, in the invoice illustrated in Figure 3, the test will be positive for the combination (48000; 24000; 24000) because these three extracted numerical sequences are linked by a functional relationship of 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= (^± B.J.Similarly, the combinations of sequences (491.14; 409.28; 81.86; 491.14) are linked by an additive functional relationship of type (A = (^ ± BJ
D'autres relations fonctionnelles sont testées, par exemple des relations de type A=(£id ΒΞ Cj). Bien sur, A, ΒΞ et Cj 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 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)Other functional relations are tested, for example relations of type A = (£ id Β Ξ Cj). Of course, A, Β Ξ and Cj are chosen from the sequences of digits extracted and filtered, as well as from numerical values recorded in a memory of the server, corresponding for example to known rates of VAT (which do not always appear in the document analyzed). The parameters i and j are values between 0 and N, N being an integer which can be equal to the number of encrypted sequences filtered and extracted. It is for this reason that the optional filtering step (13)
combinaisons de nombres possibles peut être amélioré par toute approche empirique, statistique, mathématique ou logique pour 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.combinations of possible numbers can be improved by any empirical, statistical, mathematical or logical approach to reduce the number of combinations or to order these combinations in order to accelerate the discovery of the most probable scenario.
Toutes les séries de nombres donnant une somme existante sont alors considérées. Pour chaque ensemble, toutes les partitions (sous-ensemble de nombres) possibles sont créées.All series of numbers giving an existing sum are then considered. For each set, all possible partitions (subset of numbers) are created.
La somme de chaque partition est calculée et est testée à l'encontre de tous les taux d'imposition connus, soit 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 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.The sum of each partition is calculated and is tested against all known tax rates, either worldwide, or in one or more countries selected but not limited by an external set of parameters transmitted with the documents, a data set extracted from, but not limited to, within the document, a machine learning algorithm or process that provides an estimator of the most likely countries for the given document, or a set generated from behaviors history related to a user or a business context, or any combination of these methods.
Le test de chaque partition par rapport à 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) *Set/ouB=R*S, où S est la somme des nombres dans la partition et R un taux d'imposition de l'un des pays ci-dessus définis.The test of each partition against the given set of tax rates is done by considering the sequences encrypted in the partitions as VAT rates by testing whether the document contains one or two numbers A and B in the document, but deactivated for any combination which corresponds to A = (1 + R) * Set / or B = R * S, where S is the sum of the numbers in the partition and R a tax rate of one of the countries defined above.
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 correspondent àS= (1+R) *Aet/ouB=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.The test can also relate to the verification if the document contains one or two numbers A and B in the document, but without any role in the present scenario, which correspond to S = (1 + R) * A and / or B = R * A, where S is the sum of the numbers in the partition and R is a tax rate of that of the country defined above.
Pour toutes les partitions créées hors de l'ensemble de nombres Q sommant à X, les relations entre les 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 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 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énarioFor all partitions created outside the set of numbers Q summing to X, the relationships between the candidates A, B and R are stored as a separate scenario linked to X and Q. Once all the scenarios are created, or qu a decision algorithm defines that the search for the relationship between the other possible X, Q, A and B is probably not useful, all scenarios are compared with each other using the logic that the most likely scenario is the one that uses the largest number of numbers available and gives the highest level of information to numbers where information is defined as the sum of the number of consistent relationships that each number with other numbers available in the document and where relationships fiscal numbers is the relations between the numbers of Q, A and / or B) are higher than the relations of the sum (between the numbers of Q). For example, a border case where a scenario
solution pour le document. Notez qu'il peut empiriquement se 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 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.solution for the document. Note that it can empirically happen that such a scenario is not the expected result as a man reading the document would do. This error rate is empirically marginal and can be filtered by adding additional heuristics that could favor one scenario to another depending on all internal, external or a mixture of the two information available on the document. Improvements can also be made to overcome the empirical fact that the calculation involving tax rates may suffer on the borough document operated by the issuer by mistake or deliberately.
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, et en classant ainsi la solution produite par les taux d'erreur induits.Thus, for each operation involving a rate and ensuring that all the sum operations on the document remain accurate, a relationship between extracted numbers can be considered valid within a range of error defined by internal, external or a mixture of two factors, and thus classifying the solution produced by the induced error rates.
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 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 exemple: «discount: 50 $»), soit par toute autre information telle que position, la couleur ou la police, etc.Additional document processing can be applied for the management of discounts, rebates, cash declarations or any other type of number whose functional relationship is a combination of subtraction (s) and addition (s). In this case, parsers are applied to analyze the negative meaning, either by the presence of a minus sign ("-"), or by a prefix (for example: "discount: $ 50"), or by any other information such as position, color or font, 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 précédemment décrit et D un nombre disponible sur le document mais inutilisé dans le scénario de X.Processing negative numbers adds the logic that there is a number D such that D + N = X where N is a negative number analyzed, X is a total price detected by the algorithm previously described and D is a number available on the document but unused in the scenario of 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 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 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ù 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 rapport au nombre de nombres analysés et considérés.In this case, D is then considered as the total of the document and is linked to X, N and to all the subtotals and tax rates linked to the scenario of X. When ranking the scenarios, the logic presented does not change considering that the scenario is chosen taking into account the maximum number of numbers involved in the scenario and the strength of their relationship by taxes. A preferred implementation adds logic according to which it is possible that for any number Y of the addition to X, there can exist two numbers T and E, not used in a given scenario X, such as Y = T * E. We consider whereas T and E are the quantity and the unit price (or vice versa) for a subtotal Y. This information can be added to all the scenarios in which they participate, by adding information to these scenarios and leaving unchanged the scenario described above. A preferred implementation of the method described here is an implementation involving a GPU calculation since the computer complexity is of an exponential form relative to the number of numbers analyzed and considered.
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 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 scénarii vis à vis des nombres réellement présents sur le document.Additional processing can be added for processing OCR errors based on empirical error statistics. In such an implementation, the extraction of the numbers is done with virtual numbers, variants of the numbers actually present on the invoice and to be considered by the algorithm presented. The latter only changing insofar as the virtual numbers will always be disadvantaged in the choice of scenarios vis-à-vis the numbers actually present on the document.
De même, toute donnée des scénarii, 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 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 scénarii 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 document traité.Likewise, any data from the scenarios, coming from reference databases or from a logical deduction deduced by a non-respected heuristic linked to the omission on the invoice or its non-extraction of information can thus be considered as generated and constitute a scenario more likely than the scenarios not taking this data into account. It is therefore possible to avoid omissions by reconstructing the most logical information for the document processed.
Implémentation matérielleHardware implementation
Les traitements susvisés peuvent être réalisés sous différentes formes, par un processeur appliquant un code 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 TTL (Transistor-Transistor Logic).The abovementioned processing operations can be carried out in different forms, by a processor applying a computer code or even by specialized processors comprising a plurality of elementary and logical arithmetic unit (UAL, in English arithmetic — logic unit, ALU) operating in parallel. These elementary arithmetic units can be realized by integrated circuits 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 :The elementary arithmetic units calculate on whole numbers, and can perform the common operations, which can be separated into four groups:
Les opérations arithmétiques : addition, soustraction, changement de signe, etc.Arithmetic operations: addition, subtraction, change of sign, etc.
- les opérations logiques : compléments à un, à deux, et, ou, ou-exclusif, non, non-et, etc.- logical operations: additions to one, two, and, or, or-exclusive, no, no-and, etc.
les comparaisons : test d'égalité, supérieur, inférieur, et leur équivalents « ou égal ».comparisons: equality test, higher, lower, and their “or equal” equivalents.
- éventuellement des décalages et rotations.- possibly offsets and rotations.
Chaque unité arithmétique élémentaire possède deux 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.Each elementary arithmetic unit has two inputs A and B on which the data to be processed is presented, as well as two outputs, R which is the result of the operation, and D any flags.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1663515A FR3061573B1 (en) | 2016-12-29 | 2016-12-29 | METHOD AND SYSTEM FOR AUTOMATIC DOCUMENT PROCESSING |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1663515A FR3061573B1 (en) | 2016-12-29 | 2016-12-29 | METHOD AND SYSTEM FOR AUTOMATIC DOCUMENT PROCESSING |
FR1663515 | 2016-12-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3061573A1 true FR3061573A1 (en) | 2018-07-06 |
FR3061573B1 FR3061573B1 (en) | 2024-06-21 |
Family
ID=59070719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1663515A Active FR3061573B1 (en) | 2016-12-29 | 2016-12-29 | METHOD AND SYSTEM FOR AUTOMATIC DOCUMENT PROCESSING |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3061573B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044375A (en) * | 1998-04-30 | 2000-03-28 | Hewlett-Packard Company | Automatic extraction of metadata using a neural network |
-
2016
- 2016-12-29 FR FR1663515A patent/FR3061573B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044375A (en) * | 1998-04-30 | 2000-03-28 | Hewlett-Packard Company | Automatic extraction of metadata using a neural network |
Also Published As
Publication number | Publication date |
---|---|
FR3061573B1 (en) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Johann et al. | Safe: A simple approach for feature extraction from app descriptions and app reviews | |
US11055527B2 (en) | System and method for information extraction with character level features | |
US20160041894A1 (en) | Structured logging and instrumentation framework | |
US20240086468A1 (en) | Document Matching Using Artificial Intelligence | |
US20200125954A1 (en) | Systems and methods for selecting and generating log parsers using neural networks | |
US20240054802A1 (en) | System and method for spatial encoding and feature generators for enhancing information extraction | |
US20210326241A1 (en) | Test cycle optimization using contextual association mapping | |
Srinivasan et al. | Biases in AI Systems: A survey for practitioners | |
US11755958B1 (en) | Systems and methods for detecting cryptocurrency wallet artifacts in a file system | |
JP2022003517A (en) | Detection of image-derived identification documents to protect sensitive information | |
Gilardi et al. | Text-as-data methods for comparative policy analysis | |
CN115238688B (en) | Method, device, equipment and storage medium for analyzing association relation of electronic information data | |
Ricker et al. | AI-generated faces in the real world: a large-scale case study of twitter profile images | |
US20220405499A1 (en) | Method and system for extracting information from a document | |
US12056771B1 (en) | Systems and methods for descriptive machine learning based underwriting | |
RU2715024C1 (en) | Method of trained recurrent neural network debugging | |
US20240233427A1 (en) | Data categorization using topic modelling | |
FR3061573A1 (en) | METHOD AND SYSTEM FOR AUTOMATIC PROCESSING OF DOCUMENTS | |
FR3061337A1 (en) | UNIVERSAL AND OPTIMIZED RULES ENGINE FOR THE PROCESSING OF MANAGEMENT DOCUMENTS | |
US20250005953A1 (en) | Anomaly detection in documents with visual cues | |
Lopes et al. | Artificial Intelligence and Machine Learning Approaches to Document Digitization in the Banking Industry: An Analysis. | |
Sabernick III | Development of an autopsy forensics module for cortana artifacts analysis | |
US20240169147A1 (en) | Reference driven nlp-based topic categorization | |
Manna et al. | IFChatbot: Convolutional Neural Network based chatbot for Image Forgery Detection and Localization | |
Yuadi et al. | Evaluation for Optical Character Recognition of Mobile Application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20180706 |
|
TP | Transmission of property |
Owner name: FRED, FR Effective date: 20181011 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
PLFP | Fee payment |
Year of fee payment: 7 |
|
PLFP | Fee payment |
Year of fee payment: 8 |
|
RX | Complete rejection |
Effective date: 20240325 |
|
RN | Application for restoration |
Effective date: 20240514 |
|
FC | Decision of inpi director general to approve request for restoration |
Effective date: 20240523 |
|
PLFP | Fee payment |
Year of fee payment: 9 |