Brevet FR2924834A1 — publié le 20090612

Titre Procédé et système améliorés de saisie assistée notamment pour outils de gestion informatique La présente invention concerne un procédé d'intégration automatique de données entrantes dans un logiciel de gestion de données. Etat de la technique De tels procédés visent par exemple l'intégration automatique d'écritures comptables dans un système de comptabilité informatique, par reconnaissance optique d'informations contenues dans des pièces comptables sur support papier (typiquement des factures). Un exemple concret d'un tel procédé connu est illustré sur la figure 1. En référence à celle-ci, lorsque l'on souhaite automatiser l'intégration des données dans un progiciel de gestion données il est nécessaire de produire un flux de données structurées intégrable dans le progiciel. Le flux est habituellement de deux natures possibles : soit il est issu d'un système de transmission électronique type EDI avec un format de fichier bien spécifié (EDIFACT, XML, PDF, Text, fichier tabulaire, etc.) puis transformé aux spécifications d'entrée de la passerelle du progiciel, soit il est issu d'un système de LAD (pou Lecture Automatique de Document) et transformé aux spécifications d'entrée de la passerelle du progiciel. La chaîne de transformation est alors la suivante : Papier -> Scanner -> OCR -> Extraction des champs -> Structure de donnée à intégrer -> Sas d'entrée -> Logiciel de gestion de données. Toutefois, il est fréquent dans ce genre de procédé de faire face à des défauts de fiabilité (lecture optique erronée des données), à des données incomplètes, à la présence de cas particulier. Ces pourquoi les données entrantes nécessitent des validations ou corrections manuelles par l'opérateur, et/ou des compléments de saisie manuels par l'opérateur (notamment à des fins de rapprochement, d'affectation analytique, d'affectation comptable dans le cas de la gérance pour compte de tiers, etc.) Un autre type de difficulté se présente dans le cas où le logiciel de destination n'offre que des possibilités incomplètes, pauvres, voir inexistantes en termes de passerelle permettant l'introduction de données dans le système autrement que par saisie dans des champs de saisie à l'aide du clavier du système. Résumé de l'invention La présente invention a pour objet de pallier les limitations de l'état de la technique et notamment de pallier l'absence de passerelle d'entrée d'un logiciel de gestion de données, ou encore de pallier la faible qualité des services, ou le manque de possibilités, offerts par une telle passerelle dans le cas où elle existe. Un autre objet de la présente invention est de simplifier et d'optimiser les saisies manuelles complémentaires qui sont en général nécessaires, dans un but de productivité gain de temps, notamment en les regroupant en un seul point du processus. Un autre objet encore de l'invention est d'autoriser, sans compliquer l'ensemble du processus, une saisie enrichie. Enfin un objet de l'invention est de capitaliser sur ces enrichissements pour améliorer la qualité de l'extraction des données destinée à nourrir la saisie assistée. On propose à cet effet d'instrumenter la ou les interfaces de saisie du progiciel pour leur faire jouer le triple rôle de passerelle d'intégration automatique ou semi-automatique, d'écran permettant des saisies complémentaires, et enfin de source d'informations (à savoir les données déjà contenues dans l'outil de gestion et/ou dérivées des actions de l'opérateur pour enrichir les traitements initiaux d'extraction et de préparation effectués sur la source brute de données afin d'améliorer en permanence ces traitements. Plus spécifiquement, la présente invention propose un procédé de saisie assistée notamment pour un outil de gestion informatique, caractérisé en ce qu'il comprend les étapes suivantes : (a) intégration de données brutes à partir d'une source extérieure, (b) extraction de données pertinentes à partir 25 desdites données brutes, (c) affichage, organisé en champs de pré-saisie, des données pertinentes extraites en vue de leur pré-validation, (d) transcription desdites données extraites vers 30 des champs correspondants d'un module de saisie préexistant appartenant à l'outil de gestion, en vue de permettre des compléments de saisie et une validation d'ensemble. Certains aspects avantageux, mais nullement limitatifs de ce procédé sont les suivants : * l'étape d'extraction comprend une numérisation d'une image papier en image numérique, ou une étape de lecture d'un fichier structuré ou décrit selon un langage de description prédéfini. * l'étape d'extraction comprend une reconnaissance optique de caractères ou une conversion de document en liste d'éléments alphanumériques et de coordonnées associées, ou une analyse lexicale et syntaxique. * le procédé comprend en outre une étape intermédiaire, entre les étapes (b) et (c) de qualification des données extraites à l'aide d'une base de règles d'extraction. * l'étape (c) comprend une attribution, à l'aide d'une base de règles de pré-saisie, de valeurs possibles pour les différents champs de pré-saisie. * l'étape de transcription est réalisée par appel de fonctions d'interfaces de programmation d'application au niveau système d'exploitation et au niveau de l'outil de gestion pour simuler une saisie dans les champs du module de saisie de l'outil de gestion. * le procédé comprend en outre une étape de saisie manuelle de données complémentaires dans le module de saisie préexistant de l'outil de gestion, et une étape d'enrichissement de la base de règles de pré-saisie et/ou de la base de règles d'extraction en fonction des données complémentaires. * le procédé comprend une étape d'affichage simultané d'une représentation des données brutes dans une première zone d'affichage, de champs de pré-saisie dans une deuxième zone d'affichage, et d'un écran de saisie du module de saisie préexistant dans une troisième zone d'affichage. L'invention propose également un système informatique, comprenant une unité centrale, des mémoires de programme et de travail, des dispositifs d'entrée et un dispositif d'affichage, caractérisé en ce qu'il contient des programmes aptes à mettre en œuvre le procédé tel que défini ci-dessus. Brève description des dessins D'autres aspects, buts et avantages de la présente invention apparaîtront mieux à la lecture de la description détaillée suivante d'une forme de réalisation préférée de celle-ci, donnée à titre d'exemple non limitatif et faite en référence aux dessins annexés, sur lesquels : La figure 1 est un schéma de principe d'un procédé 20 de saisie assistée selon l'art antérieur, La figure 2 est un schéma de principe d'un procédé de saisie assistée selon l'invention, et Les figures 3 à 6 sont des exemples d'images-écran obtenues avec le procédé de saisie assistée selon 25 l'invention. Description détaillée d'un mode de réalisation préféré On va maintenant décrire l'invention en détail en référence à un exemple d'application classique en soi, 30 consistant à intégrer automatiquement des contenus de factures fournisseurs dans un progiciel de gestion. En référence à la figure 2, la saisie assistée des données entrantes selon l'invention met en jeu l'enchaînement des étapes suivantes : 1) intégration de la donnée brute depuis sa source 5 extérieure, a. soit par un scanneur qui transforme une image papier en image numérique, b. soit par un automate de réception qui lit un fichier structuré par exemple de type EDIFACT ou XML, ou 10 encore décrit selon un langage de description de page de type PDF, XPS, Postscript, etc. 2) Extraction des données pertinentes depuis le fichier brut, a. soit par un module de reconnaissance optique de 15 caractères (OCR pour Optical Character Recognition en anglais) qui est capable de trouver les éléments de texte et leur position dans l'image pour les documents numérisés, b. soit par des programmes de conversion (par 20 exemple de type PDF2XML) pour des documents de type PDF, Text, Postscript, XPS, qui permettent de transformer un document en une liste de morceaux de texte associés à leurs coordonnées XY dans le document, c. soit encore par analyse lexicale et syntaxique 25 pour les fichiers structurées de type XML. 3) Qualification des données grâce à une base de règles préexistante qui a été alimentée manuellement puis enrichie par l'utilisateur, par laquelle le programme est capable d'associer un sens sémantique à chacun des champs 30 isolés les uns des autres avec un taux de confiance adéquat. Des exemples de règles sont donnés ci-dessous : • Si la donnée est un nombre avec deux chiffres après la virgule associée au symbole euro et que le texte située à sa gauche est � Montant TTC � on peut qualifier cette donnée de � Montant � TTC avec un niveau de confiance élevé ; • Si on a localisé le nom du fournisseur ou son numéro de SIREN dans une zone, il est probable que le montant HT hors taxe se situe dans telle zone. 4) Préparation pour saisie (module de pré-saisie), 10 en deux sous-étapes : a. une deuxième base de règles relative au fonctionnement de l'écran de saisie permet d'attribuer à chaque champ de l'écran de saisie 0, 1 ou N possibilités de valeurs en fonction du résultat de l'étape précédente, 15 b. Les données ainsi qualifiées sont proposée à l'utilisateur qui peut les valider, les compléter ou les corriger dans une zone de pré-saisie en se référant à la zone de visualisation de la source qui contient selon les cas : 20 i. soit une représentation originale du document cas d'un document numérisé par scanner ou décrit dans langage de description de page ; ii. soit une représentation reconstituée du document dans le cas d'un fichier structuré de type XML, 25 EDIFACT, etc. 5) Saisie semi-automatique, avec deux sous-étapes principales : a. lorsque l'utilisateur décide de valider ces données dans l'écran de pré-saisie, ces valeurs sont 30 alors automatiquement transcrites dans les champs correspondants de l'écran de saisie préexistant du logiciel de gestion ; cette transcription s'effectue par appel de fonctions préexistantes de l'outil de gestion lorsqu'elles sont disponibles, soit dans le cas contraire par exemple par le processus suivant : i. Appels de l'API (Application Programming 5 Interface en anglais) du système d'exploitation pour retrouver la fenêtre de saisie recherchée du logiciel de gestion, ii. Appels de l'API du système d'exploitation de la machine pour simulation d'actions sur un dispositif 10 d'entrée de type souris, iii. Appels de l'API du système d'exploitation pour simulation de l'enfoncement de touches du clavier de la machine correspondant aux données alphanumériques à transcrire, 15 b. sur ce même écran de saisie préexistant et ainsi pré-rempli en certains de ses champs, l'utilisateur peut décider de compléter la saisie avant validation définitive, et ce à l'aide des programmes appartenant au logiciel de gestion ; lors de ces compléments de saisie, 20 le procédé selon l'invention prévoit avantageusement que le module de pré-saisie (cf. point 4) ci-dessus) soit également alimenté par ces compléments, détectés par exemple par les actions clavier/souris correspondantes), ceci pour la mise en oeuvre de l'étape 6) ci-dessous. 25 6) Le module de pré-saisie effectue alors les opérations suivantes : a. enrichissement de la deuxième base de règles précitée pour ensuite pouvoir formuler à l'utilisateur des propositions de pré-saisie plus riches lorsqu'un jeu 30 de données similaire se présentera. Par exemple, à partir du retour de ces compléments de saisie, le module de pré-saisie pourra ultérieurement déduire un code d'affectation comptable à suggérer lors de la prochaine saisie en l'associant automatiquement au fournisseur. b. enrichissement de la première base de règles précitée par exemple en retenant la position des champs dans la facture. Les figures 3-4 et 5-6 illustrent deux exemples d'affichages engendrés par le procédé et le système de l'invention. Comme on le voit sur ces figures, il est avantageux 10 selon un aspect de l'invention de prévoir dans une fenêtre d'affichage commune : - une première zone Z1 contenant la représentation graphique du document de départ, avec des éléments alphanumériques encadrés A, B, C, D, etc. représentatifs 15 de l'existence de valeurs récupérées au niveau de l'étape d'extraction ; une deuxième zone Z2 de pré-saisie, où les informations extraites peuvent être vérifiées et validées ; et 20 - une troisième zone Z3 qui n'est autre qu'un écran de saisie du logiciel de gestion. La figure 3 illustre cet affichage avant transcription des données récupérées dans l'écran de la zone Z3, cette transcription étant illustrée sur la 25 figure 4, où les éléments alphanumériques transcrits sont désignés par les mêmes signes de référence A, B, C, etc. que dans la zone Z1. Les figures 5 et 6 illustrent un autre exemple selon le même principe. 30 Bien entendu, l'homme du métier peut apporter à l'invention de nombreuses variantes et modifications. Par exemple, il est possible de recourir à des mécanismes de représentation en semi-transparence sur les zones de pré-saisie et de saisie Z2 et Z3 pour faciliter la visualisation et l'intelligibilité de ces zones. Il est également possible, dans la zone de visualisation Z1, d'associer une zone de texte (telle qu'un libellé) à une zone définie de l'écran de saisie par un mécanisme tel que le suivant : - sélection de la zone d'intérêt avec la souris par 10 encadrement ou simple clic ; - en réponse à cette sélection, affichage d'un menu contextuel qui contient la liste des champs possibles de l'écran de pré-saisie, - à l'aide de la souris, choix du champ auquel on 15 souhaite faire correspondre cette zone de texte. REVENDICATIONS 1. Procédé de saisie assistée notamment pour un outil de gestion informatique, caractérisé en ce qu'il comprend 5 les étapes suivantes : (a) intégration de données brutes à partir d'une source extérieure, (b) extraction de données pertinentes à partir desdites données brutes, 10 (c) affichage, organisé en champs de pré-saisie, des données pertinentes extraites en vue de leur pré-validation, (d) transcription desdites données extraites vers des champs correspondants d'un module de saisie 15 préexistant appartenant à l'outil de gestion, et vue de permettre des compléments de saisie et une validation d'ensemble. 2. Procédé selon la revendication 1, dans lequel 20 l'étape d'extraction comprend une numérisation d'une image papier en image numérique, ou une étape de lecture d'un fichier structuré ou décrit selon un langage de description prédéfini. 25 3. Procédé selon la revendication 1 ou 2, dans lequel l'étape d'extraction comprend une reconnaissance optique de caractères ou une conversion de document en liste d'éléments alphanumériques et de coordonnées associées, ou une analyse lexicale et syntaxique. 30 4. Procédé selon l'une des revendications 1 à 3, comprend en outre une étape intermédiaire, entre lesétapes (b) et (c) de qualification des données extraites à l'aide d'une base de règles d'extraction. 5. Procédé selon l'une des revendications 1 à 4, dans 5 lequel l'étape (c) comprend une attribution, à l'aide d'une base de règles de pré-saisie, de valeurs possibles pour les différents champs de pré-saisie. 6. Procédé selon l'une des revendications 1 à 5, dans 10 lequel l'étape de transcription est réalisée par appel de fonctions d'interfaces de programmation d'application au niveau système d'exploitation et au niveau de l'outil de gestion pour simuler une saisie dans les champs du module de saisie de l'outil de gestion. 15 7. Procédé selon l'une des revendications 1 à 6, comprenant en outre une étape de saisie manuelle de données complémentaires dans le module de saisie préexistant de l'outil de gestion, et une étape 20 d'enrichissement de la base de règles de pré-saisie et/ou de la base de règles d'extraction en fonction des données complémentaires. 8. Procédé selon l'une des revendications 1 à 7, 25 comprend une étape d'affichage simultané d'une représentation des données brutes dans une première zone d'affichage, de champs de pré-saisie dans une deuxième zone d'affichage, et d'un écran de saisie du module de saisie préexistant dans une troisième zone d'affichage. 30 9. Système informatique, comprenant une unité centrale, des mémoires de programme et de travail, des dispositifsd'entrée et un dispositif d'affichage, caractérisé en ce qu'il contient des programmes aptes à mettre en œuvre le procédé selon l'une des revendications 1 à 8.