CH718888A2 - A method of extracting data from a document. - Google Patents

A method of extracting data from a document. Download PDF

Info

Publication number
CH718888A2
CH718888A2 CH70158/21A CH0701582021A CH718888A2 CH 718888 A2 CH718888 A2 CH 718888A2 CH 70158/21 A CH70158/21 A CH 70158/21A CH 0701582021 A CH0701582021 A CH 0701582021A CH 718888 A2 CH718888 A2 CH 718888A2
Authority
CH
Switzerland
Prior art keywords
metadata
documents
model
document
learning
Prior art date
Application number
CH70158/21A
Other languages
French (fr)
Inventor
Blayo François
Original Assignee
Neoinstinct Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neoinstinct Sa filed Critical Neoinstinct Sa
Priority to CH70158/21A priority Critical patent/CH718888A2/en
Priority to PCT/EP2022/071982 priority patent/WO2023016925A1/en
Publication of CH718888A2 publication Critical patent/CH718888A2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

L'invention concerne un procédé d'extraction de données dans un document cible textuellement numérisé, chaque donnée étant caractérisée par son type sous la forme d'une métadonnée, ledit procédé comprenant les étapes de : conception (E5) d'un modèle générique à partir d'une pluralité de documents comprenant chacun au moins une métadonnée marquée, ledit modèle générique listant l'ensemble des métadonnées marquées, production (E6) automatique d'une base de données d'apprentissage à partir du modèle générique généré, ladite base de données d'apprentissage comprenant une pluralité de documents d'apprentissage comprenant chacun tout ou partie des types de métadonnées du modèle générique généré, chaque type de métadonnées étant associé à une valeur, génération (E7) d'une pluralité de modèles spécifiques par entrainement d'une pluralité de réseaux de neurones en même nombre que le nombre de modèles spécifiques à partir de la base d'apprentissage, l'entrainement de chaque réseau de neurones entrainant la génération d'un modèle spécifique représentatif d'un type de métadonnée listé dans le modèle générique, lecture textuelle et séquentielle du document cible à l'aide de la fenêtre glissante et calcul, pour chaque caractère de ladite fenêtre glissante et pour chaque modèle spécifique, de la probabilité d'appartenance dudit caractère à la métadonnée correspondant audit modèle spécifique, identification, dans la fenêtre glissante, du modèle spécifique pour lequel la moyenne des probabilités calculées pour chaque caractère d'au moins une série de caractères est supérieure à un seuil prédéterminé, détermination de la métadonnée associée au modèle spécifique identifié, extraction de la valeur associée à ladite métadonnée déterminée.The invention relates to a method for extracting data from a textually digitized target document, each datum being characterized by its type in the form of metadata, said method comprising the steps of: designing (E5) a generic model to from a plurality of documents each comprising at least one marked metadata, said generic model listing all the marked metadata, automatic production (E6) of a training database from the generated generic model, said learning data comprising a plurality of learning documents each comprising all or part of the types of metadata of the generated generic model, each type of metadata being associated with a value, generation (E7) of a plurality of specific models by training a plurality of neural networks in the same number as the number of specific models from the learning base, training each neural network in dragging the generation of a specific model representative of a type of metadata listed in the generic model, textual and sequential reading of the target document using the sliding window and calculation, for each character of said sliding window and for each model specific, of the probability of belonging of said character to the metadata corresponding to said specific model, identification, in the sliding window, of the specific model for which the mean of the probabilities calculated for each character of at least one series of characters is greater than one predetermined threshold, determination of the metadata associated with the identified specific model, extraction of the value associated with said determined metadata.

Description

Domaine technique de l'inventionTechnical field of the invention

[0001] La présente invention se rapporte à une méthode en partie mise en oeuvre par ordinateur pour la reconnaissance et l'extraction automatique de données d'un document, en particulier l'extraction automatique de données d'une pièce comptable. The present invention relates to a method partly implemented by computer for the recognition and automatic extraction of data from a document, in particular the automatic extraction of data from an accounting document.

État de la techniqueState of the art

[0002] Une étude datant de 2015 („Driscoll“) évaluant 832 divisions financières d'entreprises utilisant les données de la base de données „Open Standards Benchmarking“ de l'APQC („American Productivity & Quality Center“), a mis en lumière ce que les divisions financières font réellement toute la journée. Les dirigeants de ces divisions ont été questionnés sur le temps consacré par leurs organisations au traitement des transactions, au contrôle, à l'aide à la décision et aux activités de gestion. Les résultats ont montré que quelle que soit la taille de l'entreprise, environ la moitié du temps des divisions financières est consacrée au traitement des transactions. [0002] A study dating from 2015 („Driscoll“) evaluating 832 financial divisions of companies using data from the „Open Standards Benchmarking“ database of the APQC („American Productivity & Quality Center“), highlighted light what the financial divisions actually do all day. The leaders of these divisions were asked about the time spent by their organizations on transaction processing, control, decision support and management activities. The results showed that regardless of company size, about half of finance departments' time is spent processing transactions.

[0003] Cela signifie qu'au cours d'une semaine de travail moyenne, les employés des divisions financières hautement rémunérés passent l'équivalent du lundi matin au mercredi midi pour s'assurer que les factures sont payées, que les clients reçoivent des factures correctes, que le travail de comptabilité générale est effectué et que les immobilisations sont comptabilisées, entre autres tâches qui permettent à l'argent de circuler dans l'entreprise. [0003] This means that in an average work week, employees in highly paid finance departments spend the equivalent of Monday morning to Wednesday noon making sure bills are paid, customers receive bills correct, that general ledger work is done and fixed assets are accounted for, among other tasks that keep money flowing through the business.

[0004] A l'opposé, la direction exige des équipes financières des renseignements rapides, fiables et concis sur les répercussions économiques de mesures stratégiques et tactiques précises. En fin de premier semestre, lorsqu'il est encore temps d'améliorer le rendement, la direction veut connaître l'incidence sur la structure des coûts du choix de la stratégie A plutôt que de l'option B ou C. Elle veut que le calcul du chiffre d'affaires et de la marge d'exploitation soient déterminés par des décisions précises quant à l'affectation des ressources limitées de l'entreprise. [0004] In contrast, management requires finance teams to provide timely, reliable, and concise information on the economic impact of specific strategic and tactical actions. At the end of the first half, when there is still time to improve performance, management wants to know the impact on the cost structure of choosing strategy A rather than option B or C. They want the revenue and operating margin calculations are determined by specific decisions about the allocation of the company's limited resources.

[0005] Afin qu'une équipe financière puisse trouver le temps d'appuyer les décisions stratégiques de l'entreprise tout en assurant ses tâches opérationnelles nécessite une réduction du travail manuel. [0005] In order for a finance team to be able to find the time to support the company's strategic decisions while performing its operational tasks, a reduction in manual work is required.

[0006] Par exemple, il est fréquent que des entreprises reçoivent 60 % des factures des fournisseurs sur papier ou en format PDF („Portable Document Format“). Quelqu'un doit saisir manuellement ces données dans les systèmes financiers de l'entreprise. Certains utilisent la reconnaissance optique de caractères. Mais cela prend aussi du temps, et les petites et moyennes entreprises n'ont peut-être pas les moyens de le faire à grande échelle. Ainsi, le papier continue d'encombrer le système, obligeant les employés à être formés et gérés, ce qui coûte du temps et de l'argent. [0006] For example, it is common for companies to receive 60% of supplier invoices on paper or in PDF format (“Portable Document Format”). Someone has to manually enter this data into the company's financial systems. Some use optical character recognition. But it also takes time, and small and medium-sized businesses may not have the means to do it at scale. Thus, paper continues to clutter the system, requiring employees to be trained and managed, which costs time and money.

[0007] Si l'objectif est de traiter les transactions rapidement, à peu de frais et sans erreurs, les entreprises doivent libérer leur personnel financier des piles de papier en mouvement et les amener à se concentrer sur la compréhension des facteurs de coût et de demande, des besoins en ressources et des contraintes opérationnelles. [0007] If the goal is to process transactions quickly, inexpensively, and without errors, businesses need to free their finance staff from moving piles of paper and get them to focus on understanding cost drivers and demand, resource requirements and operational constraints.

[0008] Ainsi, des millions de documents produits chaque jour sont examinés, traités, stockés, vérifiés et transformés en données lisibles par ordinateur. Par exemple, les comptes créditeurs et débiteurs, les états financiers, les documents administratifs, les dossiers des ressources humaines, les documents juridiques, les dossiers de paie, les documents d'expédition et les formulaires fiscaux. [0008] Thus, millions of documents produced each day are examined, processed, stored, verified and transformed into machine-readable data. For example, accounts payable and receivable, financial statements, administrative documents, human resources records, legal documents, payroll records, shipping documents and tax forms.

[0009] Ces documents exigent généralement que les données soient extraites pour pouvoir être traitées. [0009] These documents generally require that the data be extracted in order to be able to be processed.

[0010] Diverses techniques, comme l'Échange de Données informatisées (EDI), tentent d'éliminer les efforts de traitement humain en codant et en transmettant l'information documentaire dans des messages strictement formatés. L'échange de données informatisées est connu pour ses systèmes informatiques personnalisés, ses logiciels peu conviviaux et ses normes complexes qui ont empêché sa propagation rapide tout au long de la chaîne logistique. La grande majorité des entreprises ont évité de mettre en oeuvre l'EDI perçue comme trop coûteuse. De même, les applications de XML, XBRL et d'autres fichiers de documents lisibles par ordinateur sont très limitées comparativement à l'utilisation de documents sur papier et d'images numériques tels que PDF et JPEG (Joint Photographie Expert Group). [0010] Various techniques, such as Electronic Data Interchange (EDI), attempt to eliminate human processing efforts by encoding and transmitting documentary information in strictly formatted messages. Electronic data interchange is notorious for its custom computer systems, unfriendly software, and complex standards that have prevented its rapid spread throughout the supply chain. The vast majority of companies have avoided implementing EDI perceived as too costly. Similarly, applications of XML, XBRL and other machine-readable document files are very limited compared to the use of paper documents and digital images such as PDF and JPEG (Joint Photography Expert Group).

[0011] A ce jour, ces documents sont lus et interprétés par des personnes humaines pour être traités par des ordinateurs. Plus précisément, il y a trois méthodes générales d'extraction de données dans les documents : • l'extraction conventionnelle • l'externalisation • l'automatisation.[0011] To date, these documents are read and interpreted by human beings to be processed by computers. Specifically, there are three general methods of extracting data from documents: • conventional extraction • outsourcing • automation.

[0012] L'extraction conventionnelle des données nécessite des travailleurs ayant une formation spécifique, une expertise dans le domaine, une formation particulière, une connaissance des logiciels et/ou une compréhension culturelle. Les préposés à l'extraction des données doivent reconnaître les documents, identifier et extraire l'information pertinente sur les documents et entrer les données de façon appropriée et précise dans des logiciels particuliers. Une telle extraction manuelle des données est complexe, longue et sujette aux erreurs. Il en découle que le coût de l'extraction des données est souvent très élevé et particulièrement lorsque l'extraction des données est effectuée par des comptables, des avocats et d'autres professionnels hautement rémunérés dans le cadre de leur travail. [0012] Conventional data mining requires workers with specific training, domain expertise, special training, software knowledge, and/or cultural understanding. Data Extractors must recognize documents, identify and extract relevant information from documents, and enter data appropriately and accurately into specific software. Such manual data extraction is complex, time-consuming and error-prone. As a result, the cost of data mining is often very high and especially when data mining is performed by accountants, lawyers and other highly paid professionals as part of their job.

[0013] L'extraction de données conventionnelle expose également l'intégralité des documents aux travailleurs en charge de l'extraction de données. Ces documents peuvent contenir des renseignements de nature confidentielle concernant l'emploi, la situation de famille, les finances, les questions juridiques, fiscales et autres des collaborateurs et des entreprises. [0013] Conventional data extraction also exposes the entirety of the documents to the workers in charge of the data extraction. These documents may contain information of a confidential nature relating to the employment, family status, finances, legal, tax and other matters of associates and companies.

[0014] Alors que l'extraction de données conventionnelle se fait entièrement sur papier, l'externalisation et l'automatisation commencent par la conversion du papier en fichiers d'images numériques. Cette étape est simple, facile et rapide grâce à des scanneurs de haute qualité, rapides et abordables qui sont offerts par de nombreux fournisseurs. Une fois les documents papier convertis en fichiers d'images numériques, le traitement des documents peut être rendu plus productif grâce à l'utilisation d'un logiciel de flux de travail qui achemine les documents vers la main-d'oeuvre la moins onéreuse, interne ou externe. Le traitement primaire peut être effectué par du personnel subalterne ; les exceptions peuvent être traitées par du personnel mieux formé. Malgré les gains de productivité potentiels offerts par le logiciel de flux de travail par une meilleure utilisation des ressources humaines, le traitement manuel des documents reste un processus fondamentalement coûteux. [0014] While conventional data mining is done entirely on paper, outsourcing and automation starts with converting paper into digital image files. This step is simple, easy and quick thanks to high quality, fast and affordable scanners that are offered by many vendors. Once paper documents are converted into digital image files, document processing can be made more productive through the use of workflow software that routes documents to the least expensive workforce, internal or external. Primary processing can be done by junior staff; exceptions can be handled by better trained staff. Despite the potential productivity gains offered by workflow software through better utilization of human resources, manual document processing remains an inherently expensive process.

[0015] L'externalisation exige la même éducation, la même expertise, la même formation, la même connaissance du logiciel et/ou la même compréhension culturelle. Comme pour l'extraction de données conventionnelle, les personnes chargées de l'extraction de données doivent reconnaître les documents, trouver les informations pertinentes sur les documents, extraire et saisir les données de manière appropriée et précise dans des logiciels particuliers. Comme l'externalisation est manuelle, tout comme l'extraction de données conventionnelle, elle est également complexe, longue et sujette aux erreurs. Certaines entreprises réduisent souvent les coûts en délocalisant le travail d'extraction de données dans des lieux où les coûts de la main d'oeuvre est plus faible. Par exemple, l'extraction de données à partir de documents fiscaux et financiers américains est une fonction qui a été mise en oeuvre en utilisant des milliers de travailleurs anglophones bien formés en Inde et dans d'autres pays à bas salaires. [0015] Outsourcing requires the same education, the same expertise, the same training, the same software knowledge and/or the same cultural understanding. As with conventional data mining, data extractors need to recognize documents, find relevant information on documents, extract and enter data appropriately and accurately into particular software. Since outsourcing is manual, just like conventional data mining, it is also complex, time-consuming, and error-prone. Some companies often cut costs by outsourcing data mining work to locations where labor costs are lower. For example, extracting data from US tax and financial documents is a feature that has been implemented using thousands of well-trained English-speaking workers in India and other low-wage countries.

[0016] La première étape de l'externalisation consiste à numériser les documents financiers, fiscaux ou autres et à sauvegarder les fichiers images qui en résultent. Ces fichiers d'images sont accessibles par les personnes chargées de l'extraction des données par plusieurs méthodes. Une méthode stocke les fichiers d'images sur les systèmes informatiques de l'organisation source et les travailleurs d'extraction de données visualisent les fichiers d'images sur les réseaux (tels que l'Internet ou les réseaux privés). Une autre méthode stocke les fichiers d'images sur des systèmes informatiques tiers et les travailleurs d'extraction de données visualisent alors les fichiers d'images sur les serveurs tiers à travers les réseaux. Une autre méthode consiste à transmettre les fichiers d'images des organisations sources sur les réseaux et à stocker les fichiers d'images pour que les travailleurs chargés de l'extraction des données puissent les visualiser sur le système informatique des organisations d'extraction des données. [0016] The first stage of outsourcing consists of digitizing the financial, tax or other documents and saving the resulting image files. These image files can be accessed by data extractors through several methods. One method stores image files on the source organization's computer systems and data extraction workers view the image files on networks (such as the Internet or private networks). Another method stores image files on third-party computer systems and data extraction workers then view the image files on third-party servers across networks. Another method is to transmit the source organizations' image files over networks and store the image files for data extraction workers to view on the data extraction organizations' computer system. .

[0017] Par exemple, un comptable peut numériser les divers formulaires fiscaux contenant les données financières des clients et transmettre les fichiers d'images numérisés à une entreprise externe. Un employé de l'entreprise externe extrait les données financières du client et les saisit dans un logiciel d'impôt sur le revenu. Le fichier de données du logiciel d'impôt qui en résulte est ensuite retransmis au comptable. [0017] For example, an accountant can scan various tax forms containing client financial data and transmit the scanned image files to an external company. An external company employee extracts the client's financial data and enters it into income tax software. The resulting tax software data file is then transmitted back to the accountant.

[0018] Dans cette situation, de nombreux clients ont constaté des problèmes de qualité dans les travaux d'extraction de données externalisée. Les fournisseurs de services externes s'attaquent à ces problèmes en embauchant des travailleurs mieux formés ou plus expérimentés, en leur offrant une formation plus poussée, en extrayant et en saisissant des données deux fois ou plus ou en vérifiant de façon exhaustive la qualité de leur travail. Ces mesures réduisent par voie de conséquence les économies de coûts attendues de l'externalisation. [0018] In this situation, many customers have seen quality issues in outsourced data mining jobs. External service providers address these issues by hiring better trained or more experienced workers, providing them with more extensive training, extracting and entering data twice or more, or comprehensively checking the quality of their work. These measures consequently reduce the cost savings expected from outsourcing.

[0019] L'externalisation s'accompagne de préoccupations relatives aux risques de sécurité associés tels que la fraude et au vol d'identité. Ces préoccupations en matière de sécurité s'appliquent aux employés et aux travailleurs temporaires ainsi qu'aux travailleurs externes et aux travailleurs à l'étranger qui ont accès à des documents contenant des renseignements sensibles. [0019] With outsourcing comes concerns about associated security risks such as fraud and identity theft. These security concerns apply to employees and temporary workers as well as to external and overseas workers who have access to documents containing sensitive information.

[0020] Bien que la transmission de fichiers d'images numérisés à l'organisme d'extraction des données puisse être sécurisée par des techniques cryptographiques, les données sensibles et les renseignements personnels d'identification sont „en clair“, c'est-à-dire non cryptés lorsqu'ils sont lus par les travailleurs responsables de l'extraction des données avant leur entrée dans les systèmes informatiques appropriés. Les organisations d'extraction de données reconnaissent publiquement le besoin de sécurité de l'information. Certains organismes d'extraction de données affirment enquêter et effectuer des vérifications sur les antécédents des employés. De nombreuses organisations d'extraction de données annoncent limiter strictement l'accès physique aux locaux dans lesquels les employés entrent les données. Le papier, le matériel d'écriture, les appareils photo ou toute autre technologie d'enregistrement peuvent être interdits dans les locaux. De plus, les employés peuvent faire l'objet d'une inspection pour s'assurer que rien n'est copié ou supprimé. Étant donné que de telles mesures de sécurité en apparence exhaustives sont principalement de nature physique, elles sont imparfaites et potentiellement invérifiables. [0020] Although the transmission of digitized image files to the data extraction agency may be secured by cryptographic techniques, sensitive data and personally identifiable information is "in the clear", i.e. that is, unencrypted when read by the workers responsible for extracting the data before it enters the appropriate computer systems. Data mining organizations publicly recognize the need for information security. Some data mining organizations claim to investigate and perform background checks on employees. Many data mining organizations advertise strictly limiting physical access to premises where employees enter data. Paper, writing materials, cameras or other recording technology may be prohibited on the premises. Additionally, employees can be inspected to ensure nothing is copied or deleted. Since such seemingly comprehensive security measures are primarily physical in nature, they are imperfect and potentially unverifiable.

[0021] En raison de ces imperfections, des failles dans la sécurité physique se sont produites. Par exemple, les propriétaires, les gestionnaires, le personnel des organismes d'extraction de données peuvent utiliser à mauvais escient une partie ou la totalité des renseignements confidentiels non cryptés qui leur sont confiés. De plus, des violations de la sécurité physique et des systèmes d'information par des tiers peuvent se produire. Étant donné que les organismes d'extraction de données sont de plus en plus souvent situés à l'étranger, les citoyens suisses victimes de cette façon n'ont souvent que peu ou pas de recours. [0021] Due to these imperfections, breaches in physical security have occurred. For example, owners, managers, staff of data mining organizations may misuse some or all of the unencrypted confidential information entrusted to them. Additionally, breaches of physical security and information systems by third parties may occur. As data-mining organizations are increasingly located abroad, Swiss citizens victimized in this way often have little or no recourse.

[0022] La troisième méthode générale d'extraction de données implique une automatisation partielle, combinant souvent la reconnaissance optique de caractères, l'inspection humaine et un logiciel de gestion des flux de travail. [0022] The third general method of data extraction involves partial automation, often combining optical character recognition, human inspection, and workflow management software.

[0023] Des outils logiciels qui facilitent l'extraction et la transformation automatisées des informations documentaires sont disponibles auprès de plusieurs fournisseurs. L'économie relative des coûts d'exploitation facilitée par ces outils est proportionnelle au degré d'automatisation qui dépend notamment de l'application, de la qualité de la personnalisation des logiciels, de la variété et de la qualité des documents. [0023] Software tools that facilitate the automated extraction and transformation of document information are available from several vendors. The relative savings in operating costs facilitated by these tools is proportional to the degree of automation which depends in particular on the application, the quality of the customization of the software, the variety and the quality of the documents.

[0024] La première étape d'une opération d'extraction de données partiellement automatisée consiste à numériser les documents financiers, fiscaux ou autres et à enregistrer les fichiers images qui en résultent. Les images numérisées sont comparées à une base de données de documents connus. Les images qui ne sont pas identifiées sont acheminées aux travailleurs de l'extraction de données pour un traitement conventionnel. Les images qui sont identifiées ont des données extraites à l'aide de modèles, basés sur l'emplacement ou sur l'étiquette, ainsi que de la technologie de reconnaissance optique de caractères (ROC). [0024] The first step in a partially automated data extraction operation consists in digitizing the financial, tax or other documents and saving the resulting image files. The scanned images are compared against a database of known documents. Images that are not identified are routed to data extraction workers for conventional processing. The images that are identified have data extracted using templates, either location-based or tag-based, as well as optical character recognition (OCR) technology.

[0025] La reconnaissance optique des caractères est imparfaite, plus d'un pour cent des caractères étant incorrectement reconnus. Or, les documents papier ne sont ni propres ni de haute qualité, souffrant d'être pliés ou abîmés avant la numérisation, déformés pendant la numérisation et dégradés pendant la binarisation post-numérisation. Par conséquent, certaines des informations nécessaires pour identifier les données ne sont souvent pas reconnaissables et il en résulte que certaines des données ne peuvent pas être extraites automatiquement. [0025] The optical character recognition is imperfect, more than one percent of the characters being incorrectly recognized. However, paper documents are neither clean nor of high quality, suffering from being folded or damaged before scanning, distorted during scanning and degraded during post-scanning binarization. Therefore, some of the information needed to identify the data is often not recognizable and as a result some of the data cannot be extracted automatically.

[0026] À l'aide d'outils logiciels conventionnels, les éditeurs déclarent être en mesure d'extraire jusqu'à 80 à 90 % des données sur un nombre limité de formulaires types. Lorsqu'il existe un large éventail de formulaires, l'extraction automatisée des données est très limitée. Malgré des années d'efforts, plusieurs fournisseurs d'automatisation de documents fiscaux atteignent des taux d'identification de 50 % voire moins dans la qualité d'extraction de données et admettent de nombreuses erreurs en comparaison avec les méthodes conventionnelles d'extraction de données. [0026] Using conventional software tools, publishers claim to be able to extract up to 80-90% of the data on a limited number of standard forms. When there is a wide range of forms, automated data extraction is very limited. Despite years of effort, many tax document automation vendors achieve identification rates of 50% or less in data extraction quality and admit many errors compared to conventional data extraction methods. .

[0027] Ce taux décroit encore lorsque les documents ne sont pas issus de formulaires standardisés. Cela est le cas, par exemple, pour les tickets de caisse de supermarchés, les billets de transport urbain et tous les documents justificatifs qui ne sont pas issus d'un fournisseur administratif standard. [0027] This rate decreases further when the documents are not taken from standardized forms. This is the case, for example, for supermarket receipts, urban transport tickets and all supporting documents that are not issued by a standard administrative supplier.

[0028] Afin de tenter de remédier au moins en partie à ces inconvénients, le document US20210117665A décrit un procédé à utiliser dans une plate-forme de gestion des dépenses utilisable pour effectuer une analyse de contenu d'un document de facture imagé comprenant au moins une facture, d'une manière améliorée. La plate-forme de gestion des dépenses comprend un analyseur automatique de factures (AIA) comprenant un moteur de reconnaissance optique de caractères (OCR), ledit analyseur automatique de factures (AIA) pouvant fonctionner pour effectuer une analyse automatisée d'au moins une facture. La plate-forme de gestion des dépenses comprend également un moteur d'apprentissage automatique comprenant un référentiel de connaissances et un mécanisme entraîné pour effectuer une analyse visuo-linguistique, dans lequel ledit mécanisme comprend un réseau neuronal. Le procédé comprend les étapes de réception, via une interface de communication, du document de facture imagé ; de prétraitement, par l'analyseur automatique de factures (AIA), de ladite au moins une facture, d'extraction, par le moteur de reconnaissance optique de caractères (OCR), d'un ensemble de résultats OCR associés à ladite au moins une facture, de génération, par l'analyseur automatique de factures (AIA), d'une image améliorée par OCR de l'au moins une facture, d'application, par l'analyseur automatique de factures (AIA), d'une analyse visuo-linguistique pour déterminer une information sémantique d'au moins un élément de l'au moins une facture, et de production, par l'analyseur automatique de factures (AIA), d'un ou plusieurs résultats d'analyse. [0028] In an attempt to remedy these drawbacks at least in part, the document US20210117665A describes a method to be used in an expense management platform that can be used to perform a content analysis of an imaged invoice document comprising at least an invoice, in an improved way. The expense management platform includes an automatic invoice analyzer (AIA) including an optical character recognition (OCR) engine, said automatic invoice analyzer (AIA) operable to perform automated analysis of at least one invoice . The expense management platform also includes a machine learning engine including a knowledge repository and a trained mechanism for performing visuo-linguistic analysis, wherein said mechanism includes a neural network. The method includes the steps of receiving, via a communication interface, the imaged invoice document; pre-processing, by the automatic invoice analyzer (AIA), of said at least one invoice, extraction, by the optical character recognition (OCR) engine, of a set of OCR results associated with said at least one invoice, of generation, by the automatic invoice analyzer (AIA), of an image improved by OCR of the at least one invoice, of application, by the automatic invoice analyzer (AIA), of an analysis visuo-linguistic to determine semantic information of at least one element of the at least one invoice, and production, by the automatic invoice analyzer (AIA), of one or more analysis results.

[0029] Cette solution repose sur la détection de probabilités de présence des données à identifier dans le document. Ces probabilités sont visualisées sous forme de cartes de chaleur („heatmaps“ en langue anglaise) comme illustré sur la figure 12 du document US20210117665A. Il s'agit en l'espèce de combiner une représentation spatiale avec une représentation sémantique obtenue après reconnaissance optique de caractères. L'utilisation de probabilités et de carte de chaleur est particulièrement complexe et peut limiter l'efficacité de la méthode. De plus, la solution proposée dans US20210117665A ne peut traiter que des données structurées sous forme de formulaire. This solution is based on the detection of probabilities of presence of the data to be identified in the document. These probabilities are displayed in the form of heatmaps as illustrated in FIG. 12 of document US20210117665A. This involves combining a spatial representation with a semantic representation obtained after optical character recognition. The use of probabilities and heat maps is particularly complex and can limit the effectiveness of the method. Moreover, the solution proposed in US20210117665A can only process data structured in form form.

[0030] En outre, l'extraction de métadonnées de manière automatique présente une difficulté technique qui découle de la variabilité du format des métadonnées des pièces comptables. En général, pour un pays donné, la présentation de la date, du numéro de TVA, des montants reste cohérente. Par exemple, une date en Suisse sera formatée de la manière suivante : jj.mm.aaaa. En France, le format sera : jj/mm/aaaa. Aux Etats-Unis, le format sera : mm/jj/aaaa. Il existe également une variabilité au sein d'un même pays. Pour la Suisse, la date peut aussi être formatée selon jj.mm.aa ou encore jj mmmmmm aa. L'identifiant TVA qui figure sur la pièce comptable est aussi sujet à variations. Par exemple en Suisse il peut être formaté CHE-nnn.nnn.nnn TVA, CHE-nnn.nnn.nnn MWST, CHE-nnn.nnn.nnn IVA, CHE-nnn.nnn.nnn VAT. Le montant total de la pièce comptable peut aussi varier selon le format des nombres. Le séparateur peut être un „.“ ou „,“. Par exemple : 150.00 ou 150,00. Les items qui composent la description de chaque ligne de la pièce comptable peuvent aussi varier en nombre. Il peut y avoir un article comme dix articles dans une même pièce comptable. Les taux de TVA peuvent aussi être différents au sein d'une même pièce comptable. La variabilité du contenu des pièces comptable crée une complexité combinatoire qui rend une tâche d'extraction automatique difficile à réaliser par une succession de conditions. [0030] In addition, the automatic extraction of metadata presents a technical difficulty which stems from the variability of the format of the metadata of the accounting documents. In general, for a given country, the presentation of the date, the VAT number, the amounts remains consistent. For example, a date in Switzerland will be formatted as follows: dd.mm.yyyy. In France, the format will be: dd/mm/yyyy. In the United States, the format will be: mm/dd/yyyy. There is also variability within a single country. For Switzerland, the date can also be formatted according to dd.mm.yy or even dd mmmmmm yy. The VAT identifier that appears on the accounting document is also subject to variations. For example in Switzerland it can be formatted CHE-nnn.nnn.nnn TVA, CHE-nnn.nnn.nnn MWST, CHE-nnn.nnn.nnn IVA, CHE-nnn.nnn.nnn VAT. The total amount of the voucher can also vary depending on the format of the numbers. The separator can be a „.“ or „,“. For example: 150.00 or 150.00. The items that make up the description of each line of the accounting document can also vary in number. There can be one article as well as ten articles in the same accounting document. VAT rates can also be different within the same accounting document. The variability of the content of the accounting documents creates a combinatorial complexity which makes an automatic extraction task difficult to carry out by a succession of conditions.

[0031] Un but de l'invention est de proposer un système et une méthode d'extraction automatique de données dans un document, par exemple un document comptable, structuré ou non structuré. Un tel document comptable peut par exemple être une pièce justificative, un relevé de banque, une facture fournisseur ou tout document requis pour l'établissement d'un grand livre comptable. Un autre but de l'invention est de proposer une solution simple, fiable, rapide et efficace pour extraire automatiquement des données d'un grand nombre de documents, en particulier de nature variée. An object of the invention is to provide a system and a method for automatically extracting data from a document, for example an accounting document, structured or unstructured. Such an accounting document can for example be a supporting document, a bank statement, a supplier invoice or any document required for the establishment of an accounting ledger. Another object of the invention is to propose a simple, reliable, rapid and efficient solution for automatically extracting data from a large number of documents, in particular of a varied nature.

Résumé de l'inventionSummary of the invention

[0032] A cette fin, l'invention a tout d'abord pour objet un procédé d'extraction de données dans un document cible textuellement numérisé, chaque donnée étant caractérisée par son type sous la forme d'une métadonnée, ledit procédé comprenant les étapes de : conception d'un modèle générique à partir d'une pluralité de documents comprenant chacun au moins une métadonnée marquée, ledit modèle générique listant l'ensemble des métadonnées marquées, production automatique d'une base de données d'apprentissage à partir du modèle générique généré, ladite base de données d'apprentissage comprenant une pluralité de documents d'apprentissage comprenant chacun tout ou partie des types de métadonnées du modèle générique généré, chaque type de métadonnées étant associé à une valeur, génération d'une pluralité de modèles spécifiques par entrainement d'une pluralité de réseaux de neurones en même nombre que le nombre de modèles spécifiques à partir de la base d'apprentissage, l'entrainement de chaque réseau de neurones entrainant la génération d'un modèle spécifique représentatif d'un type de métadonnée listé dans le modèle générique, lecture textuelle et séquentielle du document cible à l'aide de la fenêtre glissante et calcul, pour chaque caractère de ladite fenêtre glissante et pour chaque modèle spécifique, de la probabilité d'appartenance dudit caractère à la métadonnée correspondant au dit modèle spécifique, identification, dans la fenêtre glissante, du modèle spécifique pour lequel la moyenne des probabilités calculées pour chaque caractère d'au moins une série de caractères est supérieure à un seuil prédéterminé, détermination de la métadonnée associée au modèle spécifique identifié, extraction de la valeur associée à ladite métadonnée déterminée.To this end, the invention firstly relates to a method for extracting data from a textually digitized target document, each datum being characterized by its type in the form of metadata, said method comprising the steps of: design of a generic model from a plurality of documents each comprising at least one marked metadata, said generic model listing all of the marked metadata, automatic production of a learning database from the generated generic model, said learning database comprising a plurality of learning documents each comprising all or part of the types of metadata of the generated generic model, each type of metadata being associated with a value, generation of a plurality of specific models by training a plurality of neural networks in the same number as the number of specific models from the learning base, the training of each neural network resulting in the generation of a specific model representing a type of metadata listed in the generic model, textual and sequential reading of the target document using the sliding window and calculation, for each character of said sliding window and for each specific model, of the probability that said character belongs to the metadata corresponding to said specific model, identification, in the sliding window, of the specific model for which the mean of the probabilities calculated for each character of at least one series of characters is greater than a predetermined threshold, determination of the metadata associated with the specific model identified, extraction of the value associated with said determined metadata.

[0033] L'invention permet de reconnaître automatiquement tout document à partir d'un petit nombre d'extractions réalisées manuellement qui servent de base pour l'apprentissage à un système automatisé. The invention makes it possible to automatically recognize any document from a small number of extractions carried out manually which serve as a basis for learning an automated system.

[0034] En reposant sur la construction automatique de modèles relatifs à chaque métadonnée par apprentissage automatique supervisé, le procédé selon l'invention est efficace pour traiter tout type de document et parer ainsi à la variabilité du contenu des documents, notamment comptables. [0034] By relying on the automatic construction of models relating to each piece of metadata by supervised machine learning, the method according to the invention is effective for processing any type of document and thus coping with the variability of the content of documents, in particular accounting documents.

[0035] La constitution d'une base d'apprentissage suffisamment exhaustive permet d'assurer que les modèles offrent une performance en accord avec les besoins des utilisateurs. En particulier, l'utilisateur doit trouver un bénéfice en simplicité et en efficacité qui compensera les situations dans lesquelles l'extraction des métadonnées automatique de la pièce comptable produira un résultat partiel. [0035] The constitution of a sufficiently exhaustive learning base makes it possible to ensure that the models offer a performance in accordance with the needs of the users. In particular, the user must find a benefit in simplicity and efficiency which will compensate for the situations in which the automatic extraction of metadata from the accounting document will produce a partial result.

[0036] Le principe de l'invention repose sur le fait que chaque émetteur d'une pièce comptable présente son contenu d'une manière structurée et cohérente. L'invention consiste à identifier statistiquement la structure des informations contenues dans les pièces comptables produites par un émetteur et à la généraliser pour être ensuite en mesure de reconnaître les informations contenues dans toutes les pièces comptables émises par un même émetteur. Par exemple, un détaillant émet un ticket de caisse qui contient le nom de sa société, le numéro de TVA, les articles achetés, les taux de TVA appliqués pour chaque article, le total de la transaction, le vendeur, le mode de règlement, l'identification du mode de règlement, l'adresse de la société. L'invention décrite dans ce brevet doit permettre d'identifier sur un petit nombre de tickets toutes les informations précédemment décrites puis d'être en mesure de les identifier pour tout ticket émis par ce détaillant. Cette opération doit notamment permettre d'identifier tous les articles vendus, quelle que soit leur nombre, tous les taux de TVA, tous les modes de règlement tels que cash, carte bancaire, carte de payement. The principle of the invention is based on the fact that each issuer of an accounting document presents its content in a structured and coherent manner. The invention consists in statistically identifying the structure of the information contained in the accounting documents produced by a transmitter and in generalizing it in order to then be able to recognize the information contained in all the accounting documents transmitted by the same transmitter. For example, a retailer issues a receipt that contains the name of his company, the VAT number, the items purchased, the VAT rates applied for each item, the transaction total, the seller, the method of payment, the identification of the mode of payment, the address of the company. The invention described in this patent should make it possible to identify on a small number of tickets all the information previously described and then to be able to identify them for any ticket issued by this retailer. This operation must in particular make it possible to identify all the items sold, whatever their number, all the VAT rates, all the methods of payment such as cash, bank card, payment card.

[0037] Selon une caractéristique de l'invention, le procédé comprend une étape de sélection d'un nombre prédéterminé de documents de référence dans un ensemble initial de documents. According to one characteristic of the invention, the method comprises a step of selecting a predetermined number of reference documents from an initial set of documents.

[0038] Selon un aspect de l'invention, la sélection du nombre prédéterminé de documents dans un ensemble initial de documents est réalisée manuellement par un opérateur. According to one aspect of the invention, the selection of the predetermined number of documents from an initial set of documents is carried out manually by an operator.

[0039] Avantageusement, le procédé comprend une étape préliminaire de numérisation du document cible par reconnaissance optique de caractères pour permettre une lecture textuelle. Advantageously, the method includes a preliminary step of digitizing the target document by optical character recognition to allow textual reading.

[0040] Selon un aspect de l'invention, le procédé comprend une étape de marquage de chaque métadonnée identifiable dans chaque document sélectionné, de préférence manuellement par un opérateur. [0040] According to one aspect of the invention, the method comprises a step of marking each piece of identifiable metadata in each selected document, preferably manually by an operator.

[0041] Avantageusement, le procédé comprend une étape d'enregistrement dans une zone mémoire des modèles spécifiques générés. [0041] Advantageously, the method comprises a step of recording in a memory zone the specific models generated.

[0042] De préférence, la production (génération) automatique de la base de données d'apprentissage à partir du modèle générique généré comprend la génération d'au moins cent documents d'apprentissage, de préférence au moins mille, de préférence encore au moins dix-mille. [0042] Preferably, the automatic production (generation) of the learning database from the generated generic model comprises the generation of at least one hundred learning documents, preferably at least one thousand, more preferably at least ten thousand.

[0043] Selon un aspect de l'invention, chaque type de métadonnées est associé de manière aléatoire à une valeur. According to one aspect of the invention, each type of metadata is randomly associated with a value.

[0044] De manière avantageuse, chaque document de la pluralité de documents d'apprentissage comprend tous les types de métadonnées du modèle générique généré. [0044] Advantageously, each document of the plurality of learning documents includes all the types of metadata of the generated generic model.

[0045] Avantageusement encore, le procédé comprend une étape de filtrage pour s'assurer que chaque document comprend au maximum une métadonnée de chaque type. [0045]Also advantageously, the method includes a filtering step to ensure that each document includes at most one piece of metadata of each type.

[0046] De préférence, un réseau de neurones est dédié pour générer chaque modèle spécifique. [0046] Preferably, a neural network is dedicated to generate each specific model.

[0047] Dans un mode de réalisation, la fenêtre glissante glisse d'un caractère à chaque itération. In one embodiment, the sliding window slides by one character at each iteration.

[0048] De préférence, la taille de la fenêtre glissante est d'au moins vingt caractères, de préférences au moins cinquante caractères, par exemple cent caractères. Preferably, the size of the sliding window is at least twenty characters, preferably at least fifty characters, for example one hundred characters.

[0049] L'invention concerne également un produit programme d'ordinateur caractérisé en ce qu'il comporte un ensemble d'instructions de code de programme qui, lorsqu'elles sont exécutées par un ou plusieurs processeurs, configurent le ou les processeurs pour mettre en oeuvre un procédé tel que présenté précédemment. The invention also relates to a computer program product characterized in that it comprises a set of program code instructions which, when executed by one or more processors, configure the processor or processors to put implements a method as presented above.

[0050] L'invention concerne également un module d'extraction de données dans un document cible textuellement numérisé, ledit module d'extraction étant configuré pour mettre en oeuvre certaines étapes du procédé tel que présenté précédemment. The invention also relates to a data extraction module in a textually digitized target document, said extraction module being configured to implement certain steps of the method as presented above.

[0051] L'invention concerne également un système comprenant un module de capture d'images, un module de gestion, un module de reconnaissance de caractères, un module d'extraction tel que présenté précédemment, une zone mémoire et un écran. The invention also relates to a system comprising an image capture module, a management module, a character recognition module, an extraction module as presented above, a memory zone and a screen.

Brève description des dessinsBrief description of the drawings

[0052] La figure 1 illustre schématiquement une forme de réalisation du système selon l'invention. La figure 2 illustre un exemple d'image d'un document de référence. La figure 3 illustre un mode de réalisation de la phase d'apprentissage. La figure 4 illustre un exemple d'apprentissage par réseaux de neurones à partir d'une fenêtre glissante. La figure 5 illustre décrit les sous-étapes d'entrainement de l'exemple de la figure 4. La figure 6 illustre un exemple de codage par position des caractères encadrés par la balise <total>. La fenêtre 7 illustre deux exemples de profils de probabilité moyenne de prédiction d'une métadonnée à partir de caractères détectés. La figure 8 illustre un mode de réalisation de la phase d'exploitation. La figure 9 illustre un exemple d'identification de métadonnées à partir de profils de probabilités de prédiction des caractères détectés. La figure 10 illustre un exemple d'image d'un document permettant l'ajout manuel d'une métadonnée dans un champ dédié.Figure 1 schematically illustrates an embodiment of the system according to the invention. Figure 2 shows an example image of a reference document. Figure 3 illustrates an embodiment of the learning phase. Figure 4 illustrates an example of learning by neural networks from a sliding window. FIG. 5 illustrates describes the training sub-steps of the example of FIG. 4. FIG. 6 illustrates an example of coding by position of the characters framed by the <total> tag. Window 7 illustrates two examples of profiles of average probability of prediction of a metadata from detected characters. FIG. 8 illustrates an embodiment of the exploitation phase. FIG. 9 illustrates an example of identification of metadata from profiles of prediction probabilities of the characters detected. Figure 10 illustrates an example of an image of a document allowing the manual addition of metadata in a dedicated field.

Description détailléedetailed description

[0053] On a représenté à la figure 1 un exemple schématique fonctionnel d'une forme de réalisation du système 1 selon l'invention. There is shown in Figure 1 a functional schematic example of an embodiment of the system 1 according to the invention.

I. Système 1I. System 1

[0054] Le système 1 permet d'extraire de manière automatique une ou plusieurs données d'un document dit „cible“ tel que, par exemple, un document comptable, notamment de type facture ou facturette, ou tout autre document. Dans un document cible, chaque donnée est caractérisée par son type et éventuellement son nom. Le type d'une donnée peut être représenté par une métadonnée pour identifier ledit type de manière algorithmique ou informatique de manière connue en soi. Le rôle et le traitement de ces métadonnées sera mieux compris à la lumière de la description qui sera faite ci-après. The system 1 makes it possible to automatically extract one or more data from a so-called “target” document such as, for example, an accounting document, in particular of the invoice or receipt type, or any other document. In a target document, each data is characterized by its type and possibly its name. The type of a datum can be represented by metadata to identify said type algorithmically or by computer in a manner known per se. The role and processing of these metadata will be better understood in the light of the description which will be given below.

[0055] Le système 1 comprend un module de capture d'images 10, un module de gestion 20, un module de reconnaissance de caractères 30, un module d'extraction 40, une zone mémoire 50 et un écran 60. The system 1 comprises an image capture module 10, a management module 20, a character recognition module 30, an extraction module 40, a memory zone 50 and a screen 60.

[0056] Le module de capture d'images 10, le module de gestion 20, le module de reconnaissance de caractères 30, le module d'extraction 40, la zone mémoire 50 et l'écran 60 peuvent être mis en oeuvre par une même entité physique ou bien par des entités physiques distinctes. The image capture module 10, the management module 20, the character recognition module 30, the extraction module 40, the memory zone 50 and the screen 60 can be implemented by a single physical entity or by separate physical entities.

[0057] De préférence, comme dans l'exemple illustré sur la figure 1, le module de capture d'images 10 est mis en oeuvre par un première entité physique, le module de gestion 20, le module de reconnaissance de caractères 30, le module d'extraction 40 et la zone mémoire 50 sont mis en oeuvre par une deuxième entité physique, par exemple un serveur 2 ou un ordinateur, et l'écran 60 constitue une troisième entité physique, les trois entités étant connectées entre elles de manière filaire, sans fil ou via un ou plusieurs réseaux de communication. Preferably, as in the example illustrated in Figure 1, the image capture module 10 is implemented by a first physical entity, the management module 20, the character recognition module 30, the extraction module 40 and memory zone 50 are implemented by a second physical entity, for example a server 2 or a computer, and the screen 60 constitutes a third physical entity, the three entities being connected together by wire , wirelessly or via one or more communication networks.

Module de capture d'images 10Image Capture Module 10

[0058] Le module de capture d'images 10 est configuré pour générer des images de documents. Ces documents peuvent être des documents de références ou des documents cibles, comme cela sera expliqué ci-après. The image capture module 10 is configured to generate document images. These documents can be reference documents or target documents, as will be explained below.

[0059] Le module de capture d'images 10 peut par exemple être un scanner manuel, un scanner automatique, l'appareil photo d'un smartphone, un appareil photo et en général tout appareil capable de générer une image de la pièce comptable et d'en produire un fichier numérique, par exemple au format JPEG (Joint Photographie Expert Group), TIFF, BMP (BitMaP) ou PDF (Packet Data Format) ou tout autre format adapté. Parmi les dispositifs à balayage, on inclut les scanners connectés directement à un ordinateur, les scanners partagés connectés sur un ordinateur via un réseau et les scanners intelligents comprenant une fonctionnalité de calcul intégrée. La capture à partir de smartphones avec un envoi direct vers des systèmes de stockage tels que Dropbox®, Trésorit®, OneDrive® sont utilisables. The image capture module 10 can for example be a manual scanner, an automatic scanner, the camera of a smartphone, a camera and in general any device capable of generating an image of the accounting document and to produce a digital file, for example in JPEG (Joint Photography Expert Group), TIFF, BMP (BitMaP) or PDF (Packet Data Format) or any other suitable format. Scanning devices include scanners connected directly to a computer, shared scanners connected to a computer via a network, and smart scanners with built-in computing functionality. Capture from smartphones with direct sending to storage systems such as Dropbox®, Trésorit®, OneDrive® can be used.

[0060] A l'issue de la capture d'image, la ou les images peuvent être transmises au module de gestion 20, qui les stockent dans la zone mémoire 50 ou les transfèrent au module de reconnaissance de caractères 30, ou directement au module de reconnaissance de caractères 30. [0060] At the end of the image capture, the image(s) can be transmitted to the management module 20, which stores them in the memory zone 50 or transfers them to the character recognition module 30, or directly to the module character recognition 30.

Module de gestion 20Management Module 20

[0061] Le module de gestion 20 est configuré pour contrôler les différentes interactions avec le module de capture d'images 10, avec le module de reconnaissance de caractères 30, avec le module d'extraction 40, avec la zone mémoire et avec l'écran 60. Le module de gestion 20 peut comprendre la zone mémoire 50 ou être relié (directement ou à distance) à la zone mémoire 50. The management module 20 is configured to control the various interactions with the image capture module 10, with the character recognition module 30, with the extraction module 40, with the memory zone and with the screen 60. The management module 20 can include the memory area 50 or be connected (directly or remotely) to the memory area 50.

[0062] Afin de permettre les interactions avec l'utilisateur via l'écran 60, le module de gestion 20 comprend une interface utilisateur (UI ou User Interface). De préférence, cette interface utilisateur fonctionne à l'intérieur d'un navigateur web tel que par exemple Google Chrome®, Firefox®, Microsoft Edge®, Safari® ou tout navigateur standard disponible sur le marché ou au niveau de l'état de l'art. In order to allow interactions with the user via the screen 60, the management module 20 comprises a user interface (UI or User Interface). Preferably, this user interface operates within a web browser such as for example Google Chrome®, Firefox®, Microsoft Edge®, Safari® or any standard browser available on the market or at state level. 'art.

[0063] Le module de gestion 20 est configuré pour permettre la sélection, de préférence manuellement par un opérateur via l'interface utilisateur, d'un nombre prédéterminé de documents, dits „de référence“, dans un ensemble initial de documents. The management module 20 is configured to allow the selection, preferably manually by an operator via the user interface, of a predetermined number of documents, called "reference", in an initial set of documents.

[0064] Le module de gestion 20 est configuré pour permettre le marquage, par un opérateur via l'interface utilisateur, de chaque métadonnée identifiable dans chaque document de référence sélectionné. The management module 20 is configured to allow the marking, by an operator via the user interface, of each identifiable metadata item in each selected reference document.

Module de reconnaissance de caractères 3030 Character Recognizer

[0065] Le module de reconnaissance de caractères 30 est configuré pour coder un document cible sous forme textuelle par reconnaissance optique de caractères (ROC), appelée Optical Character Recognition (OCR) en langue anglaise. The character recognition module 30 is configured to encode a target document in textual form by optical character recognition (OCR), called Optical Character Recognition (OCR) in English.

[0066] La reconnaissance optique de caractères est un procédé informatique pour la traduction d'images de textes imprimés ou dactylographiés en fichiers de texte. Ce procédé est mis en oeuvre par un logiciel permettant de récupérer le texte dans l'image d'un texte imprimé et de le sauvegarder dans un fichier pouvant être exploité dans un traitement de texte pour enrichissement, et stocké dans une base de données ou sur un autre support exploitable par un système informatique. [0066] Optical character recognition is a computer-based process for translating images of printed or typed text into text files. This method is implemented by software making it possible to recover the text in the image of a printed text and to save it in a file which can be used in a word processor for enrichment, and stored in a database or on another medium usable by a computer system.

[0067] Les caractères extraits de l'image par le module de reconnaissance de caractères 30 sont transférés vers le module d'extraction 40 via le module de gestion (ou alternativement directement). The characters extracted from the image by the character recognition module 30 are transferred to the extraction module 40 via the management module (or alternatively directly).

Module d'extraction 40Extraction module 40

[0068] Le module d'extraction 40 est configuré pour analyser les caractères fournis par le module de reconnaissance de caractères 30. A cette fin, le module d'extraction 40 peut être mis en oeuvre par un ordinateur, par un serveur, par une plateforme ou tout dispositif adapté comprenant un processeur ou plusieurs processeurs permettant le traitement des étapes comme cela sera décrit ci-après. The extraction module 40 is configured to analyze the characters provided by the character recognition module 30. To this end, the extraction module 40 can be implemented by a computer, by a server, by a platform or any suitable device comprising a processor or several processors allowing the processing of the steps as will be described below.

[0069] Le module d'extraction 40 est configuré pour générer de manière automatique un modèle générique à partir d'une pluralité de documents dits „marqués“. Les documents marqués correspondent à des documents de référence comprenant chacun au moins une métadonnée qui a été marquée par un opérateur via le module de gestion 20. The extraction module 40 is configured to automatically generate a generic model from a plurality of so-called “marked” documents. The marked documents correspond to reference documents each comprising at least one piece of metadata which has been marked by an operator via the management module 20.

[0070] Le modèle générique généré par le module d'extraction 40 liste l'ensemble des métadonnées marquées dans différents documents de référence par l'opérateur. The generic model generated by the extraction module 40 lists all the metadata marked in different reference documents by the operator.

[0071] Le module d'extraction 40 est configuré pour générer de manière automatique une base de données dite „d'apprentissage“ à partir du modèle générique généré. Ceci est réalisé par un générateur qui produit de multiples exemples à partir du „modèle générique“. Le générateur est donc une sorte de simulateur qui va produire tout un ensemble de documents différents basés sur le modèle générique. The extraction module 40 is configured to automatically generate a so-called “learning” database from the generated generic model. This is achieved by a generator which produces multiple examples from the „generic model“. The generator is therefore a kind of simulator which will produce a whole set of different documents based on the generic model.

[0072] La base de données d'apprentissage comprend donc un nombre important de documents dits „d'apprentissage“, de préférence au moins plusieurs centaines ou plusieurs milliers, comprenant chacun tout ou partie des types de métadonnées du modèle générique, chaque type de métadonnées étant associé à une valeur de donnée générée aléatoirement. The learning database therefore comprises a large number of so-called "learning" documents, preferably at least several hundred or several thousand, each comprising all or part of the types of metadata of the generic model, each type of metadata being associated with a randomly generated data value.

[0073] Le module d'extraction 40 est configuré pour générer une pluralité de modèles spécifiques par entrainement d'une pluralité de réseaux de neurones en même nombre à partir de la base d'apprentissage, l'entrainement de chaque réseau de neurones entrainant la génération d'un modèle spécifique représentatif d'un type de métadonnée listé dans le modèle générique. Par „même nombre“, on entend qu'un réseau de neurones est dédié à un et un seul modèle spécifique. The extraction module 40 is configured to generate a plurality of specific models by training a plurality of neural networks in the same number from the learning base, the training of each neural network causing the generation of a specific model representative of a type of metadata listed in the generic model. By "same number", we mean that a neural network is dedicated to one and only one specific model.

[0074] Le module d'extraction 40 est configuré pour enregistrer les modèles spécifiques générés dans la zone mémoire 50. The extraction module 40 is configured to save the specific models generated in the memory area 50.

[0075] Le module d'extraction 40 est configuré pour procéder à une lecture textuelle et séquentielle d'un document cible à l'aide d'une fenêtre glissante et pour calculer, pour chaque caractère de ladite fenêtre glissante et pour chaque modèle spécifique, la probabilité d'appartenance dudit caractère à la métadonnée correspondant au modèle spécifique. The extraction module 40 is configured to carry out a textual and sequential reading of a target document using a sliding window and to calculate, for each character of said sliding window and for each specific model, the probability that said character belongs to the metadata corresponding to the specific pattern.

[0076] Le module d'extraction 40 est configuré pour identifier, dans la fenêtre glissante, le modèle spécifique pour lequel la moyenne des probabilités calculées pour chaque caractère d'au moins une série de caractères est supérieure à un seuil prédéterminé. The extraction module 40 is configured to identify, in the sliding window, the specific model for which the mean of the probabilities calculated for each character of at least one series of characters is greater than a predetermined threshold.

[0077] Le module d'extraction 40 est configuré pour déterminer la métadonnée associée au modèle spécifique identifié. The extraction module 40 is configured to determine the metadata associated with the specific model identified.

Zone mémoire 50Memory area 50

[0078] La zone mémoire 50 est comprise dans le module de gestion 20 ou est reliée (directement ou à distance) au module de gestion 20 afin de stocker les différents documents numériques utilisés lors de la mise en oeuvre de l'invention, notamment les documents de références, les documents marqués, le modèle générique, les documents d'apprentissage, les modèles spécifiques et les documents cibles. The memory zone 50 is included in the management module 20 or is connected (directly or remotely) to the management module 20 in order to store the various digital documents used during the implementation of the invention, in particular the reference documents, marked documents, generic model, learning documents, specific models and target documents.

[0079] La zone mémoire 50 peut par exemple être un disque dur sur un ordinateur local, sur un serveur de fichier, sur un service cloud tel que Dropbox®, S3®, Box®, OneDrive® et en général tout système de stockage qui offre une interface de gestion de type Application Programming Interface (API). The memory zone 50 can for example be a hard disk on a local computer, on a file server, on a cloud service such as Dropbox®, S3®, Box®, OneDrive® and in general any storage system which offers an Application Programming Interface (API) type management interface.

Ecran 60Screen 60

[0080] L'écran 60 est connecté au module de gestion 20 afin d'afficher les documents, commandes et résultats nécessaires à la mise en oeuvre de l'invention. The screen 60 is connected to the management module 20 in order to display the documents, commands and results necessary for the implementation of the invention.

[0081] L'écran 60 peut être de tout type : un écran d'affichage simple, un écran tactile ou tout écran adapté. The screen 60 can be of any type: a simple display screen, a touch screen or any suitable screen.

II. Exemple de mise en oeuvreII. Example of implementation

[0082] Dans l'exemple non limitatif qui sera décrit ci-après, les documents cibles traités sont des facturettes de type tickets de caisse comportant plusieurs types de données associées à différentes métadonnées. A titre d'exemple, l'une des données peut être une somme totale de valeurs numériques de type „prix“, notée „SOMME CHF“ (somme en francs suisses) dans la facturette, et qui sera identifiée par une métadonnée comportant une balise de début, notée <total>, et une balise de fin, notée </total>. Dans ce cas, la valeur de la donnée sera de type numérique et sera indiquée entre la balise de début et la balise de fin. Par exemple, pour une somme totale de 2914, 85 CHF sur la facturette, le module d'extraction 40 notera ladite somme <total>2914,85</total>. [0082] In the non-limiting example which will be described below, the target documents processed are slips of the cash receipt type comprising several types of data associated with different metadata. By way of example, one of the pieces of data may be a total sum of numerical values of the "price" type, noted "SOMME CHF" (sum in Swiss francs) in the slip, and which will be identified by metadata comprising a tag start tag, denoted <total>, and an end tag, denoted </total>. In this case, the value of the data will be of numeric type and will be indicated between the start tag and the end tag. For example, for a total sum of 2914.85 CHF on the slip, the extraction module 40 will note said sum <total>2914.85</total>.

[0083] La mise en oeuvre du procédé selon l'invention suppose deux phases distinctes : une phase d'apprentissage et une phase d'exploitation. The implementation of the method according to the invention assumes two distinct phases: a learning phase and an operating phase.

Phase d'apprentissageLearning stage

[0084] La phase d'apprentissage est une phase préparatoire qui consiste en la sélection d'un ensemble de documents dits „de référence“, le marquage manuel par un opérateur desdits documents de référence, la production d'un modèle générique à partir des documents marqués, la génération d'un ensemble de documents dits „d'apprentissage“ à partir du document générique conçu et l'entrainement de réseaux de neurones à partir des documents d'apprentissage générés afin de créer des modèles spécifiques propres chacun à un type de métadonnées. The learning phase is a preparatory phase which consists of the selection of a set of so-called "reference" documents, the manual marking by an operator of the said reference documents, the production of a generic model from the marked documents, the generation of a set of so-called "learning" documents from the generic document designed and the training of neural networks from the generated learning documents in order to create specific models specific to each type metadata.

[0085] Cette phase d'apprentissage peut par exemple être réalisée pour chaque groupe de documents cibles similaires, notamment associés à un même éditeur desdits documents. This learning phase can for example be carried out for each group of similar target documents, in particular associated with the same publisher of said documents.

MarquageMarking

[0086] Tout d'abord, à l'étape E0, l'utilisateur du système 1 dispose d'un ensemble de documents de référence, par exemple sélectionnés par l'utilisateur ou à disposition de l'utilisateur. Ces documents sont choisis de préférence de manière à présenter différentes formes et/ou différentes types de données d'un même éditeur. First of all, in step E0, the user of system 1 has a set of reference documents, for example selected by the user or available to the user. These documents are preferably chosen so as to present different forms and/or different types of data from the same publisher.

[0087] Les documents de référence peuvent être sous forme papier ou électronique. Dans leur forme électronique, les documents sont des fichiers, par exemple des images de type JPEG ou des fichiers de type PDF. Dans leur forme papier, les documents de référence sont soumis au module de capture d'images 10 qui les transforme en fichiers informatiques, par exemple de type JPEG ou PDF. [0087] The reference documents can be in paper or electronic form. In their electronic form, documents are files, for example JPEG-type images or PDF-type files. In their paper form, the reference documents are submitted to the image capture module 10 which transforms them into computer files, for example of the JPEG or PDF type.

[0088] Une fois numérisés, s'ils ne l'étaient pas, les documents de référence sont envoyés au module de reconnaissance de caractères 30 qui les code sous forme textuelle lors d'une étape E1 de reconnaissance optique de caractères. Once digitized, if they were not, the reference documents are sent to the character recognition module 30 which encodes them in textual form during a step E1 of optical character recognition.

[0089] Ensuite, dans une étape E2, chaque document de référence codé sous forme textuelle est présenté à l'utilisateur via l'écran 60 pour lui permettre de désigner simplement les métadonnées présentes dans ledit document de référence. Next, in a step E2, each reference document coded in textual form is presented to the user via the screen 60 to allow him to simply designate the metadata present in said reference document.

[0090] Le principe de l'analyse consiste à extraire automatiquement des métadonnées identifiables dans de document de référence sous forme textuelle. Dans l'exemple décrit ci-après, la présente invention offre l'extraction de neuf métadonnées identifiables qui sont : • Date: la date d'émission du document de référence ; • Identifier: le numéro de TVA de l'émetteur du document de référence; • Total: le montant total du document de référence; • Item-name: la description d'une ligne du document de référence; • Item-value: la valeur correspondant à l'item-name du document de référence; • Item-taxcode: le code de TVA correspondant à l'item-name; • Taxitem-code: le code correspondant à un pourcentage de TVA; • Taxitem-value: le montant de de la TVA correspondant à un Taxitem-code; • Taxitem-percentage : le pourcentage de la TVA correspondant à un Taxitem-code ;Dans cet exemple, les métadonnées identifiables sont de deux types: • Individuelles: Date, Identifier, Total, Item-name, Item-value, Item-taxcode, taxitem-code, taxitem-value, taxitem-percentage • Composées : Items et Taxitems qui sont respectivement composées de plusieurs Item et taxitem.The principle of the analysis consists in automatically extracting identifiable metadata in the reference document in textual form. In the example described below, the present invention offers the extraction of nine identifiable metadata which are: • Date: the date of issue of the reference document; • Identify: the VAT number of the issuer of the reference document; • Total: the total amount of the reference document; • Item-name: the description of a line of the reference document; • Item-value: the value corresponding to the item-name of the reference document; • Item-taxcode: the VAT code corresponding to the item-name; • Taxitem-code: the code corresponding to a VAT percentage; • Taxitem-value: the amount of VAT corresponding to a Taxitem-code; • Taxitem-percentage: the VAT percentage corresponding to a Taxitem-code; In this example, the identifiable metadata are of two types: • Individual: Date, Identifier, Total, Item-name, Item-value, Item-taxcode, taxitem-code, taxitem-value, taxitem-percentage • Composites: Items and Taxitems which are respectively composed of several Items and taxitem.

[0091] En référence à la figure 2, l'image du document de référence affichée sur l'écran 60 via l'interface utilisateur graphique 400 est disponible dans le champ 435 pour permettre à l'utilisateur de le reconnaître simplement. Les données extraites après l'étape d'extraction de texte sont présentées dans le champ 440. Les métadonnées à identifier sont présentées dans les champs 410 (Date), 415 (Identifier), 423 (Total) pour les métadonnées de type individuelles, 420 (Item-name), 421 (Item-value), 422 (Item-tax-code) pour les métadonnées de type Items et 425 (taxitem-code), 426 (taxitem-value), 427 (taxitem-percentage). La page peut être sauvegardée via la fonction „save“ 430. [0091] Referring to Figure 2, the image of the reference document displayed on the screen 60 via the graphical user interface 400 is available in the field 435 to allow the user to recognize it simply. Data extracted after the text extraction step is presented in field 440. Metadata to be identified is presented in fields 410 (Date), 415 (Identify), 423 (Total) for individual type metadata, 420 (Item-name), 421 (Item-value), 422 (Item-tax-code) for Items type metadata and 425 (taxitem-code), 426 (taxitem-value), 427 (taxitem-percentage). The page can be saved via the „save“ function 430.

[0092] Le champ 450 est destiné à l'affichage de messages qui résultent de traitement de cohérence sur les métadonnées de la pièce comptable. Ce traitement ne sera pas décrit dans le cadre de la présente invention. [0092] The field 450 is intended for the display of messages which result from consistency processing on the metadata of the accounting document. This treatment will not be described within the scope of the present invention.

[0093] Dans une étape E3, l'utilisateur va exploiter l'interface 400 pour associer les données identifiées dans le champ 440 avec les métadonnées à identifier (étape dite „de marquage“). A cet effet, l'utilisateur effectue une sélection d'une partie de texte du champ 440 et un glisser-déposer de ce texte dans une des métadonnées à identifier. In a step E3, the user will use the interface 400 to associate the data identified in the field 440 with the metadata to be identified (so-called “marking” step). To this end, the user selects a portion of text from field 440 and drags and drops this text into one of the metadata to be identified.

[0094] Par exemple sur la Figure 6, la donnée 20.12.2018 présente dans le champ 440 de l'interface 400 a été glissée-déposée dans la métadonnée Date 410. Les documents marqués sont enregistrés dans la zone mémoire 50 dans une étape E4. For example in Figure 6, the data 20.12.2018 present in the field 440 of the interface 400 has been dragged and dropped into the Date metadata 410. The marked documents are saved in the memory zone 50 in a step E4 .

[0095] Un extrait de la base de données d'un document exemple avec les métadonnées identifiées est présenté dans le Tableau 1 suivant : [0095] An extract from the database of an example document with the identified metadata is presented in the following Table 1:

[0096] Les métadonnées sont identifiées grâce aux balises qui leur correspondent. Chaque métadonnée encadre la donnée par une balise ouvrante qui se termine par une balise fermante. Par exemple la métadonnée „date“ est stockée comme <date>20.12.2018</date>. [0096] The metadata are identified using the tags that correspond to them. Each metadata surrounds the data with an opening tag that ends with a closing tag. For example the metadata „date“ is stored as <date>20.12.2018</date>.

[0097] Ce processus d'identification est répété pour l'ensemble des documents de référence disponibles afin d'obtenir un ensemble de documents de référence marqués. This identification process is repeated for all the available reference documents in order to obtain a set of marked reference documents.

Modèle génériqueGeneric model

[0098] Une fois les documents de référence marqués, une étape E5 permet de générer une synthèse de l'ensemble des documents de référence marqués sous la forme d'un document appelé „modèle générique“ correspondant dans cet exemple à un modèle de document comptable générique. Le module d'extraction 40 construit, c'est à dire génère, de manière automatique le modèle générique à partir de la pluralité des documents marqués. Le modèle générique liste l'ensemble des métadonnées marquées par l'utilisateur dans les documents de référence. Ce modèle générique est constitué à partir d'une fusion de différents contenus pour produire un modèle génératif des pièces comptables. Il consiste à lister exhaustivement et compter les occurrences de chaque ligne du document de référence. [0098] Once the reference documents have been marked, a step E5 makes it possible to generate a summary of all the reference documents marked in the form of a document called "generic model", corresponding in this example to an accounting document model. generic. The extraction module 40 builds, that is to say generates, automatically the generic model from the plurality of marked documents. The generic model lists all the metadata marked by the user in the reference documents. This generic model is made from a fusion of different contents to produce a generative model of accounting documents. It consists of exhaustively listing and counting the occurrences of each line of the reference document.

[0099] Par exemple, dans le Tableau 2 ci-après qui illustre un exemple de modèle générique, {{counts:22:34}}coop¶ signifie que la ligne „coop¶“ est apparue 22 fois sur les 34 exemples identifiés manuellement par l'utilisateur, la ligne {{counts:1 :34}}coo¶ est apparue 1 fois sur les 34. La ligne {{counts:3:34}}cood¶ est apparue 3 fois sur les 34 exemples : For example, in Table 2 below, which illustrates an example of a generic model, {{counts:22:34}}coop¶ means that the line "coop¶" appeared 22 times out of the 34 examples identified manually by the user, the line {{counts:1:34}}coo¶ appeared 1 time out of 34. The line {{counts:3:34}}cood¶ appeared 3 times out of 34 examples:

[0100] Pour les métadonnées composées de type Items ou Taxitems, la synthèse va produire une structure syntaxique. Par exemple, pour une métadonnée de type Items : signifie qu'une métadonnée de type items a été lue, suivie d'une balise Item-name. A l'intérieur de la balise, la donnée est composée de plusieurs caractères de type texte. A la suite de Item-name, plusieurs espace sont été lus, une valeur numérique a été lue, puis une valeur décimale, plus plusieurs espaces, suivis d'une Item-value composée d'une valeur décimale, puis d'une item-taxcode composée d'une valeur entière. L'item se termine alors. L'analyse a également identifié un item formé d'une manière différente : For compound metadata of the Items or Taxitems type, the synthesis will produce a syntactic structure. For example, for an Items-type metadata: means that an items-type metadata has been read, followed by an Item-name tag. Inside the tag, the data is made up of several text type characters. Following Item-name, several spaces were read, a numeric value was read, then a decimal value, then several spaces, followed by an Item-value composed of a decimal value, then an item- taxcode composed of an integer value. The item then ends. The analysis also identified an item formed in a different way:

[0101] L'analyse syntaxique est réalisée de manière analogue pour les métadonnées de type Tax-items. [0101] The syntactic analysis is carried out in an analogous manner for metadata of the Tax-items type.

Base de données d'apprentissageLearning database

[0102] Le module d'extraction 40 produit de manière automatique dans une étape E6 une base de données d'apprentissage à partir du modèle générique généré, ladite base de données d'apprentissage comprenant une pluralité de documents d'apprentissage comprenant chacun tout ou partie des types de métadonnées du modèle générique généré, chaque type de métadonnées étant associé à une valeur. The extraction module 40 automatically produces in a step E6 a learning database from the generated generic model, said learning database comprising a plurality of learning documents each comprising all or part of the metadata types of the generated generic model, each type of metadata being associated with a value.

[0103] La constitution d'une base d'apprentissage exhaustive ne peut pas être réalisée d'une façon manuelle car cela exigerait l'identification manuelle de métadonnées dans des centaines de pièces comptables. Une deuxième difficulté technique provient de ce constat : il faut faire appel à l'utilisateur pour identifier manuellement les métadonnées des pièces comptables mais cela ne peut être fait que de manière très limitée. Dans la pratique, un utilisateur acceptera d'analyser et identifier manuellement les métadonnées de quelques pièces comptables. Au-delà, le risque de provoquer un rejet sera très élevé et le système deviendra donc inutilisable. Dans le cadre de cette invention, l'identification et l'analyse d'un nombre restreint de métadonnées sera faite manuellement par un utilisateur afin de constituer une base d'exemples. Celle-ci sera ensuite automatiquement analysée afin de générer une base d'apprentissage beaucoup plus vaste. Celle-ci sera enfin utilisée pour générer automatiquement des modèles de métadonnées identifiables. Le processus détaillé est décrit en référence à la Figure 3. [0103] The constitution of an exhaustive learning base cannot be carried out manually because that would require the manual identification of metadata in hundreds of accounting documents. A second technical difficulty arises from this observation: the user must be called upon to manually identify the metadata of the accounting documents, but this can only be done in a very limited way. In practice, a user will agree to manually analyze and identify the metadata of some accounting documents. Beyond that, the risk of causing a rejection will be very high and the system will therefore become unusable. In the context of this invention, the identification and analysis of a limited number of metadata will be done manually by a user in order to constitute a base of examples. This will then be automatically analyzed to generate a much larger learning base. This will finally be used to automatically generate identifiable metadata models. The detailed process is described with reference to Figure 3.

[0104] A l'issue de l'analyse complète, le modèle générique est utilisé pour générer la base de données d'apprentissage, qui est stockée dans la zone mémoire 50. Cela est réalisé en produisant des documents dits „d'apprentissage“ dont le contenu est produit aléatoirement en respectant les contraintes du modèle générique. Cette méthode est rendue possible car le but poursuivi est de produire une grande quantité de documents comptables qui respectent la structure générale observée dans quelques documents et non les valeurs qu'ils contiennent. [0104] At the end of the complete analysis, the generic model is used to generate the learning database, which is stored in the memory area 50. This is achieved by producing so-called “learning” documents. whose content is produced randomly while respecting the constraints of the generic model. This method is made possible because the aim is to produce a large quantity of accounting documents which respect the general structure observed in some documents and not the values which they contain.

[0105] La méthode pour générer les documents d'apprentissage consiste à choisir aléatoirement des lignes du modèle générique comme par exemple : „serui par coop self-checkout“. Dans le mode de réalisation décrit, si la ligne ne contient que des caractères, on la garde telle quelle. The method for generating the learning documents consists of randomly choosing lines from the generic model such as for example: “serui par coop self-checkout”. In the embodiment described, if the line only contains characters, it is kept as it is.

[0106] Toujours dans le mode de réalisation décrit, si la ligne choisie contient des codes de types, alors on génère aléatoirement des valeurs qui correspondent à ces types afin de former une séquence de caractère. Still in the embodiment described, if the chosen line contains type codes, then values are randomly generated which correspond to these types in order to form a character sequence.

[0107] Par exemple, la ligne <taxcode>{{int:1}}</taxcode></item>¶ permet de produire la séquence de caractères <taxcode>6</taxcode></item>¶. Le type {{int:1}} a été remplacé par la valeur 6 choisie aléatoirement. For example, the line <taxcode>{{int:1}}</taxcode></item>¶ makes it possible to produce the sequence of characters <taxcode>6</taxcode></item>¶. The type {{int:1}} has been replaced by the randomly chosen value 6.

[0108] A l'issue de la génération aléatoire de lignes et de contenus de lignes d'un document d'apprentissage, une étape de filtrage (non représentée) peut être réalisée pour garantir que ledit document d'apprentissage généré sera conforme. Plus précisément, le filtrage consiste à ne conserver qu'une seule occurrence de chaque métadonnée Date, Identifier, Total, Items, Taxitems, les métadonnées Item-name, Item_value, Item-taxcode, Taxitem-code, Taxitem-value, Taxitem-percentage pouvant quant à elles apparaitre en nombre quelconque. [0108] At the end of the random generation of lines and line contents of a learning document, a filtering step (not shown) can be carried out to guarantee that said generated learning document will be compliant. More precisely, the filtering consists in keeping only one occurrence of each metadata Date, Identifier, Total, Items, Taxitems, metadata Item-name, Item_value, Item-taxcode, Taxitem-code, Taxitem-value, Taxitem-percentage which can appear in any number.

[0109] Un exemple de document d'apprentissage généré par cette méthode est présenté dans le Tableau 3 : An example of a learning document generated by this method is presented in Table 3:

[0110] A l'issue de cette étape E6, la zone mémoire 50 contient tous les documents générés aléatoirement, qui serviront à l'apprentissage des modèles. At the end of this step E6, the memory zone 50 contains all the randomly generated documents, which will be used for learning the models.

Modèles spécifiquesSpecific models

[0111] A l'issue de la génération de la base d'apprentissage, le système déclenche une étape E7 de modélisation automatique par apprentissage de réseaux de neurones. A cette fin, le module d'extraction 40 génère une pluralité de modèles spécifiques par entrainement d'une pluralité de réseaux de neurones en nombre identique à partir de la base d'apprentissage, l'entrainement de chaque réseau de neurones entrainant la génération d'un modèle spécifique représentatif d'un type de métadonnée listé dans le modèle générique. At the end of the generation of the learning base, the system triggers a step E7 of automatic modeling by learning of neural networks. To this end, the extraction module 40 generates a plurality of specific models by training a plurality of neural networks in the same number from the learning base, the training of each neural network resulting in the generation of 'a specific model representative of a type of metadata listed in the generic model.

[0112] L'étape E7 consiste à créer un ensemble de réseaux de neurones qui construisent par apprentissage supervisé un modèle de reconnaissance des données présentes dans un document cible. Dans le cadre de la présente invention, le choix des réseaux dépend du type de métadonnée. Pour les métadonnées individuelles (Total, Identifier, Date), chaque modèle sera construit par un réseau de neurone. Il faudra donc trois réseaux pour ces trois métadonnées individuelles. Pour les métadonnées de type Items ou tax-items composées de plusieurs métadonnées individuelles, les modèles seront construits à deux niveaux : modèles pour la reconnaissance du début et de la fin des métadonnées composées, et modèles pour la reconnaissance individuelle des métadonnées. Un exemple d'architecture des réseaux de neurones pour les métadonnées individuelles est illustré sur la Figure 4. The step E7 consists in creating a set of neural networks which construct, by supervised learning, a model for recognizing the data present in a target document. In the context of the present invention, the choice of networks depends on the type of metadata. For individual metadata (Total, Identifier, Date), each model will be built by a neural network. So three networks will be needed for these three individual metadata. For metadata of the Items or tax-items type composed of several individual metadata, the models will be built at two levels: models for the recognition of the beginning and the end of the compound metadata, and models for the individual recognition of the metadata. An example of the neural network architecture for individual metadata is shown in Figure 4.

[0113] L'architecture générale utilisée dans cet exemple pour les réseaux de neurones, qui modélisent les métadonnées individuelles, se compose d'une couche d'entrée dont la longueur est fixée par un paramètre. Dans le cas de la présente invention, la longueur pour les réseaux responsables de modéliser les métadonnées de type individuelle est fixée à cent caractères. The general architecture used in this example for the neural networks, which model the individual metadata, consists of an input layer whose length is fixed by a parameter. In the case of the present invention, the length for the networks responsible for modeling the individual type metadata is fixed at one hundred characters.

[0114] Cette couche d'entrée est une fenêtre de lecture glissante qui parcourt la pièce comptable en se décalant d'un caractère vers la droite pour chaque pas d'apprentissage. La fenêtre de lecture glissante 510, limitée pour l'illustration à vingt-cinq caractères, contient les caractères en cours de lecture dans le document d'apprentissage. [0114] This input layer is a sliding read window which traverses the accounting document by shifting one character to the right for each learning step. The sliding reading window 510, limited for the illustration to twenty-five characters, contains the characters being read in the learning document.

[0115] Les caractères d'entrée sont codés numériquement selon la méthode en utilisant une couche d'intégration (Keras). Cette méthode étant connue de l'homme de l'art, elle ne sera pas détaillée dans le cadre de cette invention. Chaque caractère est encodé avec cinq valeurs numériques. The input characters are digitally coded according to the method using an integration layer (Keras). This method being known to those skilled in the art, it will not be detailed in the context of this invention. Each character is encoded with five numeric values.

[0116] Le réseau est constitué de trois couches de neurones dont le nombre est également fixé par un paramètre. Dans le cadre de la présente invention, il est fixé à cinq fois la taille de la fenêtre glissante, soit cinq cents neurones par couche. The network consists of three layers of neurons, the number of which is also fixed by a parameter. In the context of the present invention, it is fixed at five times the size of the sliding window, ie five hundred neurons per layer.

[0117] La couche de sortie 520 contient autant d'unités que la taille de la fenêtre d'entrée. Les valeurs de sortie sont „0“ ou „1“ et réalisant ainsi un codage par position. La valeur „0“ signifie que la valeur dans la couche d'entrée à la position correspondante n'est pas une donnée valide pour la métadonnée que l'on modélise. La valeur „1“ signifie que la valeur dans la couche d'entrée à la position correspondante est une donnée valide pour la métadonnée que l'on modélise. Dans l'exemple de la Figure 4, la métadonnée modélisée est „Total “. La valeur 18.75 correspondant à la valeur Total dans la fenêtre glissante en cours de lecture. The output layer 520 contains as many units as the size of the input window. The output values are „0“ or „1“ and thus realizing position coding. The value „0“ means that the value in the input layer at the corresponding position is not valid data for the metadata being modeled. The value "1" means that the value in the input layer at the corresponding position is valid data for the metadata being modeled. In the example of Figure 4, the metadata modeled is “Total”. The value 18.75 corresponding to the Total value in the sliding window being read.

[0118] Les paramètres du réseau de neurones dont l'architecture est présentée Figure 4 sont fixés par une méthode d'apprentissage dont le processus est présenté sur la Figure 5 et en référence à la figure 6. The parameters of the neural network whose architecture is presented in Figure 4 are fixed by a learning method whose process is presented in Figure 5 and with reference to Figure 6.

[0119] Le processus d'apprentissage E7 débute par l'étape E71 durant laquelle le système lit un document comptable dans la zone mémoire 50. Dans l'étape E72, ce document est parcouru à travers une fenêtre glissante 376 dont la taille en nombre de caractères est fixée par un paramètre. Une valeur typique de ce paramètre est cent caractères. Cette fenêtre glissante est codée sous la forme d'un vecteur xide texte 377 dont chaque position est un caractère et toutes les balises sont retirées. Les données de la fenêtre glissante sont analysées pour y détecter la présence d'une balise correspondant au modèle en cours d'apprentissage. Par exemple, si le modèle en cours d'apprentissage concerne la métadonnée „Total“, le système recherchera la présence de la balise <total> et </total> dans le texte de la fenêtre glissante 376. The learning process E7 begins with step E71 during which the system reads an accounting document in the memory area 50. In step E72, this document is scanned through a sliding window 376 whose size in number of characters is fixed by a parameter. A typical value for this parameter is one hundred characters. This sliding window is encoded in the form of a text xide vector 377, each position of which is a character and all the tags are removed. The data of the sliding window are analyzed in order to detect therein the presence of a beacon corresponding to the model being trained. For example, if the model being trained concerns the metadata "Total", the system will look for the presence of the tag <total> and </total> in the text of the sliding window 376.

[0120] En parallèle, un vecteur de valeurs binaires zi378 et de même longueur que xiest construit pour coder la position des caractères qui correspondent au modèle en cours d'apprentissage. Ce vecteur sera rempli avec des valeurs 1 aux positions qui correspondent aux valeurs numériques des caractères entourés par les balises <total> et </total> comme illustré sur la Figure 6 (étape E73). En général, le vecteur zicodera par position la présence ou l'absence de caractères correspondant au texte du modèle en cours d'apprentissage. In parallel, a vector of binary values zi378 and of the same length as xi is constructed to encode the position of the characters which correspond to the model being learned. This vector will be filled with values 1 at the positions which correspond to the numerical values of the characters surrounded by the tags <total> and </total> as illustrated in FIG. 6 (step E73). In general, the vector will zicode by position the presence or absence of characters matching the text of the model being trained.

[0121] Afin que la fenêtre glissante soit de longueur toujours égale, le contenu de la fenêtre glissante est rempli avec des caractères vides pour le début et pour la fin de la lecture du document comptable. Les deux vecteurs xiet zisont utilisés pour adapter les paramètres du modèle. Chaque métadonnée individuelle sera modélisée par un réseau de neurones. So that the sliding window is always of equal length, the content of the sliding window is filled with empty characters for the beginning and for the end of the reading of the accounting document. The two vectors xi and zi are used to fit the model parameters. Each individual metadata will be modeled by a neural network.

[0122] Dans l'exemple décrit ici, il y a neuf métadonnées individuelles. Il y aura donc neuf réseaux de neurones dont les paramètres seront calculés afin de modéliser chacune d'elles. [0122] In the example described here, there are nine individual pieces of metadata. There will therefore be nine neural networks whose parameters will be calculated in order to model each of them.

[0123] En phase d'apprentissage, chaque vecteur xi associé à un vecteur zjest présenté en entrée du réseau de neurones. Les valeurs de xitraversent le réseau pour produire une sortie yi. Cette dernière est comparée à la sortie attendue zj. La méthode de comparaison est un calcul d'angle de type „cosine similarity“ connu en soi. In the learning phase, each vector xi associated with a vector zj is presented as input to the neural network. The values of xi pass through the network to produce an output yi. The latter is compared to the expected output zj. The comparison method is an angle calculation of the "cosine similarity" type known in itself.

[0124] Pour les deux vecteurs yiet zj, l'angle θ s'obtient par le produit scalaire et la norme des vecteurs : For the two vectors yiet zj, the angle θ is obtained by the scalar product and the norm of the vectors:

[0125] Comme la valeur cos θ est comprise dans l'intervalle [-1,1], la valeur „-1“ indiquera des vecteurs opposés, „0“ des vecteurs orthogonaux et „1“ des vecteurs colinéaires de coefficient positif. Les valeurs intermédiaires permettent d'évaluer le degré de similarité. [0125] As the value cos θ is included in the interval [-1,1], the value "-1" will indicate opposite vectors, "0" orthogonal vectors and "1" collinear vectors with a positive coefficient. The intermediate values make it possible to evaluate the degree of similarity.

[0126] Les paramètres du modèle sont constitués de l'ensemble des connexions Wij531, 532, 533 de la Figure 5 entre neurones des différentes couches. Ils sont adaptés suivant un algorithme d'adaptation dans une étape E74 (figure 6). Dans le cadre de la présente invention, l'adaptation des coefficients repose sur une descente de gradient dont le calcul est optimisé par un optimisateur ADAM (Adaptive Moment Estimation). Ce processus est réitéré pour l'ensemble des exemples disponibles dans la base d'apprentissage. The parameters of the model consist of all the connections Wij531, 532, 533 of FIG. 5 between neurons of the different layers. They are adapted according to an adaptation algorithm in a step E74 (FIG. 6). In the context of the present invention, the adaptation of the coefficients is based on a gradient descent, the calculation of which is optimized by an ADAM (Adaptive Moment Estimation) optimizer. This process is repeated for all the examples available in the learning base.

[0127] Quand tous les caractères ont été lus, la fenêtre glissante 377 est décalée d'une unité vers la droite et les étapes E71 à E75 sont reprises jusqu'à ce que la fenêtre glissante 377 atteigne le dernier caractère du document d'apprentissage, pour chaque document d'apprentissage de la base d'apprentissage. When all the characters have been read, the sliding window 377 is shifted by one unit to the right and the steps E71 to E75 are repeated until the sliding window 377 reaches the last character of the learning document. , for each learning document in the learning database.

[0128] A l'issue de ce processus E7, les modèles spécifiques sont enregistrés dans la zone mémoire 50 afin de les rendre disponibles pour la phase d'exploitation. At the end of this process E7, the specific models are saved in the memory zone 50 in order to make them available for the exploitation phase.

Amélioration du modèleModel improvement

[0129] L'interprétation du modèle construit par ce processus est que pour chaque caractère de la fenêtre glissante 377, la sortie délivrée par le réseau prédit la probabilité que le caractère de la fenêtre glissante appartienne ou non à la section modélisée par le réseau. Du fait que l'on obtient un grand nombre de prédictions, il faut agréger la totalité des prédictions obtenues. Tous les vecteurs de sortie yiproduits à partir de la base d'apprentissage sont ainsi additionnés et une moyenne est calculée. où N est le nombre d'exemples disponibles dans la base de connaissance. The interpretation of the model built by this process is that for each character of the sliding window 377, the output delivered by the network predicts the probability that the character of the sliding window does or does not belong to the section modeled by the network. Since a large number of predictions are obtained, all of the predictions obtained must be aggregated. All the output vectors yi produced from the learning base are thus added and an average is calculated. where N is the number of examples available in the knowledge base.

[0130] L'analyse de cette moyenne permet d'améliorer le traitement destiné à produire la prédiction à partir de la fenêtre glissante. En effet, en analysant la forme des vecteurs avec des probabilités moyennes sur de nombreux échantillons, il ressort que la probabilité que des caractères donnés appartiennent à la section dépend de la forme de la prédiction. La prédiction ayant un profil très marqué aura une plus grande crédibilité qu'une prédiction avec un profil plus lisse. Un exemple est montré sur la Figure 7. The analysis of this average makes it possible to improve the processing intended to produce the prediction from the sliding window. Indeed, by analyzing the shape of the vectors with average probabilities over many samples, it appears that the probability that given characters belong to the section depends on the shape of the prediction. The prediction with a very marked profile will have greater credibility than a prediction with a smoother profile. An example is shown in Figure 7.

[0131] Pour différencier les pics, la méthode consiste à identifier les pics à l'intérieur d'un signal en se basant sur les propriétés des pics. Cette méthode prend un tableau de valeur monodimensionnel et trouve tous les maximas locaux par simple comparaison des valeurs voisines. Cette méthode permet de rendre compte de la proéminence de chaque pic qui, en général, peut être interprété comme la façon dont le pic se distingue de la région environnante. En outre, un filtrage additionnel est utilisé pour filtrer les petits pics qui peuvent apparaître sur les caractères du ticket. [0131] To differentiate the peaks, the method consists in identifying the peaks within a signal based on the properties of the peaks. This method takes a one-dimensional array of values and finds all local maxima by simple comparison of neighboring values. This method allows one to account for the prominence of each peak which, in general, can be interpreted as how the peak stands out from the surrounding region. Additionally, additional filtering is used to filter out small spikes that may appear on the ticket characters.

[0132] La valeur de proéminence est ensuite utilisée comme mesure de confiance. Une valeur de proéminence très élevée signifie généralement qu'il est très probable que la région représente la section, de sorte que la région ayant la proéminence la plus élevée est renvoyée comme région d'intérêt. The prominence value is then used as a measure of confidence. A very high prominence value usually means that the region is very likely to represent the section, so the region with the highest prominence is returned as the region of interest.

Prétraitement spécifique pour les métadonnées composéesSpecific preprocessing for compound metadata

[0133] Les métadonnées composées requièrent un prétraitement spécifique qui sert à extraire une partie du document pour construire le modèle. En effet, les métadonnées Item-name, Item_value, Item-taxcode, Taxitem-code, Taxitem-value, Taxitem-percentage ne peuvent apparaître que dans le contexte de métadonnées Items ou Taxitems. [0133] Compound metadata requires specific pre-processing which is used to extract part of the document to build the model. Indeed, Item-name, Item_value, Item-taxcode, Taxitem-code, Taxitem-value, Taxitem-percentage metadata can only appear in the context of Items or Taxitems metadata.

[0134] La base d'apprentissage doit donc refléter ce contexte particulier et ne contenir que des suites de caractères qui se trouvent dans ce contexte. Il convient donc d'identifier les caractères de début et de fin des parties des documents contenant les Items et Taxitems. The learning base must therefore reflect this particular context and only contain sequences of characters which are found in this context. It is therefore necessary to identify the start and end characters of the parts of the documents containing the Items and Taxitems.

[0135] Une fois ce traitement réalisé, l'apprentissage des modèles se réalise selon la même architecture et le même processus que pour les items individuels. Once this processing has been carried out, the learning of the models is carried out according to the same architecture and the same process as for the individual items.

[0136] A l'issue de l'ensemble des apprentissages, les paramètres des modèles sont enregistrés dans la zone mémoire 50 dans une étape E8. Ces paramètres seront utilisés lors de l'exploitation des modèles lorsqu'il s'agir de reconnaître automatiquement les métadonnées d'un nouveau document appelé „document cible“ n'ayant pas servi à l'apprentissage. At the end of all the learnings, the parameters of the models are recorded in the memory zone 50 in a step E8. These parameters will be used during the exploitation of the models when it is a question of automatically recognizing the metadata of a new document called "target document" not having been used for learning.

Phase d'exploitationOperation phase

[0137] En référence à la figure 8, la phase d'exploitation comprend dans une étape S1 la lecture textuelle et séquentielle d'un document cible par le module d'extraction 40 à l'aide de la fenêtre glissante et le calcul dans une étape S2, pour chaque caractère de ladite fenêtre glissante et pour chaque modèle spécifique, de la probabilité d'appartenance dudit caractère à la métadonnée correspondant audit modèle spécifique. En s'inspirant de la manière dont le cerveau procède pour la lecture de textes, l'invention va permettre de lire un document cible à travers une fenêtre glissante centrée sur chaque caractère lu et qui lui offre ainsi un contexte de lecture. With reference to FIG. 8, the exploitation phase comprises in a step S1 the textual and sequential reading of a target document by the extraction module 40 using the sliding window and the calculation in a step S2, for each character of said sliding window and for each specific model, of the probability that said character belongs to the metadata corresponding to said specific model. Drawing inspiration from the way the brain proceeds to read texts, the invention will make it possible to read a target document through a sliding window centered on each character read and which thus offers it a reading context.

[0138] A l'étape S1, le document comptable est lu sous une forme textuelle. Cela suppose que la phase de reconnaissance de l'image a été effectuée préalablement. At step S1, the accounting document is read in textual form. This assumes that the image recognition phase has been performed previously.

[0139] A l'étape S2, la prédiction des métadonnées est déclenchée et le module d'extraction 40 calcule les probabilités d'appartenance à une métadonnée pour chaque caractère lu dans la fenêtre glissante à partir des modèles disponibles dans la zone mémoire 50. In step S2, the metadata prediction is triggered and the extraction module 40 calculates the probabilities of belonging to a piece of metadata for each character read in the sliding window from the models available in the memory zone 50.

[0140] Dans une étape S3, le module d'extraction 40 identifie, dans la fenêtre glissante, le modèle spécifique pour lequel la moyenne des probabilités calculées pour chaque caractère d'au moins une série de caractères est supérieure à un seuil prédéterminé, In a step S3, the extraction module 40 identifies, in the sliding window, the specific model for which the mean of the probabilities calculated for each character of at least one series of characters is greater than a predetermined threshold,

[0141] Dans une étape S4, le module d'extraction 40 détermine la métadonnée associée au modèle spécifique identifié. In a step S4, the extraction module 40 determines the metadata associated with the specific model identified.

[0142] Dans une étape S5, le module d'extraction 40 extrait la valeur associée à ladite métadonnée déterminée. In a step S5, the extraction module 40 extracts the value associated with said determined metadata.

[0143] En référence à la figure 9, pour chaque position de la fenêtre glissante 377, le module d'extraction 40 calcule toutes les prédictions de chaque modèle. Il identifie la métadonnée qui délivre la prédiction la plus crédible et, connaissant la position de chaque caractère, le système les copie dans le champ de la métadonnée correspondant. Sur la Figure 9, pour les caractères lus dans la fenêtre glissante, le modèle de métadonnée „total“ délivre la prédiction la plus crédible. Les données à l'emplacement correspondant aux probabilités le plus élevées seront copiées dans le champ de métadonnées „Total“. [0143] Referring to Figure 9, for each position of the sliding window 377, the extraction module 40 calculates all the predictions of each model. It identifies the metadata that delivers the most credible prediction and, knowing the position of each character, the system copies them into the corresponding metadata field. In Figure 9, for the characters read in the sliding window, the “total” metadata model delivers the most credible prediction. The data at the location with the highest probabilities will be copied to the 'Total' metadata field.

Ajout manuel d'une métadonnéeAdd metadata manually

[0144] La métadonnée „description“ peut être enrichie dans une fenêtre affichée par le module d'extraction 40. En référence à la figure 10, l'utilisateur peut remplir le champ 720 de cette interface pour ajouter manuellement une description de la pièce comptable. Cette étape peut être utilisée pour faciliter le regroupement de documents cibles de manière automatique. [0144] The "description" metadata can be enriched in a window displayed by the extraction module 40. With reference to Figure 10, the user can fill in the field 720 of this interface to manually add a description of the accounting document . This step can be used to facilitate grouping of target documents automatically.

[0145] L'invention permet donc une extraction automatique efficace et fiable. The invention therefore allows effective and reliable automatic extraction.

Claims (10)

1. Procédé d'extraction de données dans un document cible textuellement numérisé, chaque donnée étant caractérisée par son type sous la forme d'une métadonnée, ledit procédé comprenant les étapes de : – conception (E5) d'un modèle générique à partir d'une pluralité de documents comprenant chacun au moins une métadonnée marquée, ledit modèle générique listant l'ensemble des métadonnées marquées, – production (E6) automatique d'une base de données d'apprentissage à partir du modèle générique généré, ladite base de données d'apprentissage comprenant une pluralité de documents d'apprentissage comprenant chacun tout ou partie des types de métadonnées du modèle générique généré, chaque type de métadonnées étant associé à une valeur, – génération (E7) d'une pluralité de modèles spécifiques par entrainement d'une pluralité de réseaux de neurones en même nombre que le nombre de modèles spécifiques à partir de la base d'apprentissage, l'entrainement de chaque réseau de neurones entrainant la génération d'un modèle spécifique représentatif d'un type de métadonnée listé dans le modèle générique, – lecture (S1) textuelle et séquentielle du document cible à l'aide de la fenêtre glissante et calcul (S2), pour chaque caractère de ladite fenêtre glissante et pour chaque modèle spécifique, de la probabilité d'appartenance dudit caractère à la métadonnée correspondant audit modèle spécifique, – identification (S3), dans la fenêtre glissante, du modèle spécifique pour lequel la moyenne des probabilités calculées pour chaque caractère d'au moins une série de caractères est supérieure à un seuil prédéterminé, – détermination (S4) de la métadonnée associée au modèle spécifique identifié, – extraction (S5) de la valeur associée à ladite métadonnée déterminée.1. Method for extracting data from a textually digitized target document, each datum being characterized by its type in the form of metadata, said method comprising the steps of: – design (E5) of a generic model from a plurality of documents each comprising at least one marked metadata, said generic model listing all the marked metadata, – automatic production (E6) of a learning database from the generated generic model, said learning database comprising a plurality of learning documents each comprising all or part of the metadata types of the generated generic model , each type of metadata being associated with a value, – generation (E7) of a plurality of specific models by training a plurality of neural networks in the same number as the number of specific models from the learning base, the training of each neural network causing the generation of a specific model representing a type of metadata listed in the generic model, – textual and sequential reading (S1) of the target document using the sliding window and calculation (S2), for each character of said sliding window and for each specific model, of the probability of belonging of said character to the corresponding metadata to the specific model, – identification (S3), in the sliding window, of the specific model for which the mean of the probabilities calculated for each character of at least one series of characters is greater than a predetermined threshold, – determination (S4) of the metadata associated with the specific model identified, – extraction (S5) of the value associated with said determined metadata. 2. Procédé selon la revendication 1, comprenant une étape (E0) de sélection d'un nombre prédéterminé de documents de référence dans un ensemble initial de documents.2. Method according to claim 1, comprising a step (E0) of selecting a predetermined number of reference documents from an initial set of documents. 3. Procédé selon la revendication précédente, dans lequel la sélection du nombre prédéterminé de documents dans un ensemble initial de documents est réalisée manuellement par un opérateur.3. Method according to the preceding claim, in which the selection of the predetermined number of documents from an initial set of documents is carried out manually by an operator. 4. Procédé selon l'une quelconque des revendications précédentes, comprenant une étape de marquage (E3) de chaque métadonnée identifiable dans chaque document sélectionné, de préférence manuellement par un opérateur.4. Method according to any one of the preceding claims, comprising a step of marking (E3) each piece of identifiable metadata in each selected document, preferably manually by an operator. 5. Procédé selon l'une quelconque des revendications précédentes, comprenant une étape d'enregistrement (E4) dans une zone mémoire (50) des modèles spécifiques générés.5. Method according to any one of the preceding claims, comprising a step of recording (E4) in a memory zone (50) specific models generated. 6. Procédé selon l'une quelconque des revendications précédentes, dans lequel la production (E6) automatique de la base de données d'apprentissage à partir du modèle générique généré comprend la génération d'au moins cent documents d'apprentissage, de préférence au moins mille, de préférence encore au moins dix-mille.6. Method according to any one of the preceding claims, in which the automatic production (E6) of the learning database from the generated generic model comprises the generation of at least one hundred learning documents, preferably at less than a thousand, more preferably at least ten thousand. 7. Procédé selon l'une quelconque des revendications précédentes, dans lequel chaque document de la pluralité de documents d'apprentissage comprend tous les types de métadonnées du modèle générique généré.7. Method according to any one of the preceding claims, in which each document of the plurality of training documents comprises all the types of metadata of the generated generic model. 8. Procédé selon l'une quelconque des revendications précédentes, comprenant une étape de filtrage pour s'assurer que chaque document comprend au maximum une métadonnée de chaque type.8. Method according to any one of the preceding claims, comprising a filtering step to ensure that each document comprises at most one piece of metadata of each type. 9. Procédé selon l'une quelconque des revendications précédentes, dans lequel la fenêtre glissante glisse d'un caractère à chaque itération.9. Method according to any one of the preceding claims, in which the sliding window slides by one character at each iteration. 10. Module d'extraction (40) de données dans un document cible textuellement numérisé, ledit module d'extraction (40) étant configuré pour mettre en oeuvre le procédé selon la revendication 1.10. Extraction module (40) of data in a textually digitized target document, said extraction module (40) being configured to implement the method according to claim 1.
CH70158/21A 2021-08-13 2021-08-13 A method of extracting data from a document. CH718888A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CH70158/21A CH718888A2 (en) 2021-08-13 2021-08-13 A method of extracting data from a document.
PCT/EP2022/071982 WO2023016925A1 (en) 2021-08-13 2022-08-04 System for extracting data from a document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CH70158/21A CH718888A2 (en) 2021-08-13 2021-08-13 A method of extracting data from a document.

Publications (1)

Publication Number Publication Date
CH718888A2 true CH718888A2 (en) 2023-02-15

Family

ID=85200593

Family Applications (1)

Application Number Title Priority Date Filing Date
CH70158/21A CH718888A2 (en) 2021-08-13 2021-08-13 A method of extracting data from a document.

Country Status (2)

Country Link
CH (1) CH718888A2 (en)
WO (1) WO2023016925A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019079551A1 (en) * 2017-10-20 2019-04-25 Heretik Inc. Method and system for dynamically configuring a user interface for a specified document review task
WO2019092672A2 (en) 2017-11-13 2019-05-16 Way2Vat Ltd. Systems and methods for neuronal visual-linguistic data retrieval from an imaged document
RU2737720C1 (en) * 2019-11-20 2020-12-02 Общество с ограниченной ответственностью "Аби Продакшн" Retrieving fields using neural networks without using templates

Also Published As

Publication number Publication date
WO2023016925A1 (en) 2023-02-16

Similar Documents

Publication Publication Date Title
CN107608958B (en) Contract text risk information mining method and system based on unified modeling of clauses
CN109658478B (en) Method and system for providing enterprise portrait
US20190279170A1 (en) Dynamic resource management associated with payment instrument exceptions processing
Hurwitz et al. Big data for dummies
US8798354B1 (en) Method and system for automatic correlation of check-based payments to customer accounts and/or invoices
WO2021025926A1 (en) Digital content prioritization to accelerate hyper-targeting
US20150242856A1 (en) System and Method for Identifying Procurement Fraud/Risk
US20210233181A1 (en) System and method of determining tax liability of entity
CH716698A2 (en) Partial perceptual image hashing for invoice deconstruction.
US11710192B2 (en) Taxpayers switching tax preparers
US20220067365A1 (en) System and method for domain aware document classification and information extraction from consumer documents
FR3069075A1 (en) SYSTEM AND METHOD FOR INTEGRATING MESSAGE CONTENT IN A TARGET DATA PROCESSING DEVICE
Crookes et al. Technology challenges in accounting and finance
Jayoma et al. OCR based document archiving and indexing using PyTesseract: A record management system for dswd caraga, Philippines
Skyrius et al. The potential of big data in banking
Sahu et al. Invoice processing using robotic process automation
Lawton et al. eDiscovery in digital forensic investigations
WO2023016925A1 (en) System for extracting data from a document
CN113408446B (en) Bill accounting method and device, electronic equipment and storage medium
EP3945484A1 (en) Systems and methods for obtaining information from a digital message
TWM553835U (en) Automatic intelligent accounting system
Abate et al. Significance. Stop Illicit Heritage Trafficking with Artificial Intelligence
US20240089247A1 (en) Systems and methods for extracting discrete data from a data unit and managing access thereto using electronic digital certificates
US20220245202A1 (en) Blockchain Enabled Service Provider System
Darono et al. Tax Audit in the Era of Big Data: The Case of Indonesia