Extraction et mappage de champs
Note
Pour plus d’informations, consultez l’onglet Texte et images !
L’extraction de champs est le processus de prise de sortie de texte à partir d’OCR et de mappage de valeurs de texte individuelles à des champs de données spécifiques étiquetés qui correspondent à des informations métier significatives. Bien qu’OCR vous indique quel texte existe dans un document, l’extraction de champs vous indique ce que signifie ce texte et l’emplacement où il appartient à vos systèmes d’entreprise.
Le pipeline d'extraction sur le terrain
L'extraction des champs suit un processus systématique qui transforme les données issues de la reconnaissance optique de caractères (OCR) en données structurées.
Les étapes du processus d’extraction de champ sont les suivantes :
- Ingestion des données de la reconnaissance optique de caractères (OCR).
- Détection sur le terrain et identification des candidats.
- Cartographie et association des champs.
- Normalisation et normalisation des données.
- Intégration à des processus et systèmes métier.
Examinons ces étapes plus en détail.
Étape 1 : Intégration de la sortie OCR
Le processus commence par la sortie structurée du pipeline OCR, qui peut inclure :
- Contenu texte brut : caractères et mots réels extraits du document
- Métadonnées positionnelles : coordonnées de zone englobante, emplacements de page et informations sur l’ordre de lecture
- Scores de confiance : niveaux de confiance du moteur OCR pour chaque élément de texte
- Informations de disposition : structure de document, sauts de ligne, limites de paragraphe
Note
Contrairement au traitement de texte simple, l’extraction de champs s’appuie fortement sur l’emplacement où le texte apparaît dans le document, pas seulement sur ce qu’il dit. La position de « 12345 » peut vous aider à déterminer s’il s’agit d’un numéro de facture, d’un ID client ou d’un numéro de téléphone.
Étape 2 : Détection sur le terrain et identification des candidats
Cette étape identifie la valeur de champ potentielle dans la sortie OCR. Il existe plusieurs approches qui peuvent être utilisées, indépendamment ou en combinaison, pour déterminer les champs probables dans les résultats OCR.
Détection basée sur des modèles
Les modèles de détection de champ s’appuient sur la mise en correspondance des modèles basés sur des règles. L’identification de champ peut être effectuée à l’aide de techniques telles que :
- Dispositions de documents prédéfinies avec des positions de champ connues et des mots clés d’ancrage.
- Recherche des paires étiquette-valeur comme « Numéro de facture : », « Date : », « Total : ».
- Expressions régulières et algorithmes de correspondance de chaîne.
Les avantages d’une approche basée sur un modèle incluent une précision élevée pour les types de documents connus, le traitement rapide et les résultats explicables.
Les limitations de l’approche incluent l’exigence de création manuelle de modèles et la complexité provoquées par des variations de disposition ou des incohérences de nommage de champ.
Détection basée sur le Machine Learning
Au lieu d’une logique codée en dur pour extraire des champs basés sur des noms connus et des emplacements, vous pouvez utiliser un corpus d’exemples de documents pour entraîner un modèle Machine Learning qui extrait les champs en fonction des relations apprises. Les modèles basés sur les transformateurs en particulier sont adaptés à l’application de signaux contextuels pour identifier les modèles, et sont donc souvent la base d’une solution de détection de champ.
Les approches de formation pour les modèles Machine Learning de détection de champ sont les suivantes :
- Apprentissage supervisé : formé sur des jeux de données étiquetés avec des emplacements de champ connus.
- Apprentissage auto-supervisé : préentraîné sur les grandes structures de documents pour comprendre les modèles de disposition.
- Apprentissage multimodal : combine du texte, du visuel et des fonctionnalités positionnelles.
-
Architectures de modèle avancées, telles que :
- Graph Neural Networks (GNN) qui modélisent les relations spatiales entre les éléments de texte en tant que connexions de graphe.
- Mécanismes d’attention qui se concentrent sur les régions de documents pertinentes lors de la prédiction des valeurs de champ.
- Modèles séquence à séquence qui transforment des séquences de texte non structurées en affectations de champs structurées.
IA dégénérative pour l’extraction basée sur des schémas
Des progrès récents dans les modèles de langage volumineux (LLMs) ont conduit à l’émergence de techniques de détection de champ basées sur l’IA générative, ce qui permet une détection de champ plus efficace et plus efficace par le biais de :
- Extraction basée sur les instructions dans laquelle vous fournissez au LLM le texte du document et une définition de schéma, et il fait correspondre le texte aux champs du schéma.
- Apprentissage à quelques coups dans lequel vous pouvez entraîner des modèles avec des exemples minimaux pour extraire des champs personnalisés.
- Raisonnement chaîné qui guide les modèles dans la logique d’identification de champ pas à pas.
Étape 3 : Mappage et association de champs
Une fois les valeurs candidates identifiées, elles doivent être mappées à des champs de schéma spécifiques :
Techniques de jumelage clé-valeur
Dans de nombreux cas, les champs de données d’un document ou d’un formulaire sont des valeurs discrètes qui peuvent être mappées aux clés, par exemple le nom du fournisseur, la date et le montant total d’un reçu ou d’une facture. Les techniques courantes utilisées pour le jumelage clé-valeur sont les suivantes :
Analyse de proximité :
- Clustering spatial : regroupez les éléments de texte à proximité à l’aide d’algorithmes de distance.
- Analyse de l’ordre de lecture : suivez le flux de texte naturel pour associer des étiquettes à des valeurs.
- Relations géométriques : utilisez des modèles d’alignement, de retrait et de positionnement.
Reconnaissance du modèle linguistique :
- Reconnaissance d’entité nommée (NER) : identifiez des types d’entités spécifiques (dates, quantités, noms).
- Étiquetage des parties du discours : comprendre les relations grammaticales entre les étiquettes et les valeurs.
- Analyse des dépendances : analyser les relations syntaxiques dans le texte.
Traitement du contenu des tables et des données structurées
Certains documents incluent des structures de texte plus complexes, telles que des tableaux. Par exemple, un reçu ou une facture peut inclure une table des éléments de ligne avec des colonnes pour le nom, le prix et la quantité achetée.
La présence d’une table peut être déterminée à l’aide de plusieurs techniques, notamment :
- Architectures de réseau neuronal convolutionnel (CNN) spécialisées pour la reconnaissance de structure de table.
- Méthodes de détection d'objets adaptées à l'identification des cellules de tableau.
- Approches d’analyse basées sur des graphiques qui modélisent la structure de la table sous forme de relations de graphe entre les cellules.
Pour mapper les valeurs des cellules d’un tableau à des champs, la solution d’extraction de champs peut utiliser une ou plusieurs des techniques suivantes :
- Association de colonnes de lignes pour mapper des cellules de tableau à des schémas de champ spécifiques.
- Détection des en-têtes pour identifier les en-têtes de colonne et comprendre les significations des champs.
- Traitement hiérarchique pour gérer les structures de tables imbriquées et les sous-totaux.
Score de confiance et validation
La précision de l’extraction de champ dépend de nombreux facteurs, et les algorithmes et modèles utilisés pour implémenter la solution sont soumis à des erreurs potentielles d’identification ou d’interprétation de valeur. Pour tenir compte de cela, différentes techniques sont utilisées pour évaluer la précision des valeurs de champ prédites ; y compris:
- Confiance OCR : Hériter des scores de confiance de la reconnaissance de texte sous-jacente.
- Fiabilité de la correspondance des modèles : Score basé sur la façon dont l’extraction correspond aux modèles attendus.
- Validation du contexte : vérifiez que les valeurs de champ sont logiques dans le contexte du document.
- Validation inter-champs : vérification des relations entre les champs extraits (par exemple, en vérifiant que les sous-totaux des éléments de ligne correspondent au total de la facture).
Étape 4 : Normalisation et normalisation des données
Les valeurs extraites brutes sont généralement transformées en formats cohérents (par exemple, pour garantir que toutes les dates extraites sont exprimées dans le même format de date) et vérifiées pour la validité.
Normalisation des formats
Voici quelques exemples de normalisation des formats qui peuvent être implémentés :
Normalisation de date :
- Détection de format : identifier différents formats de date (MM/DD/AAAA, DD-MM-AAAA, etc.).
- Algorithmes d’analyse : convertissez en formats ISO standardisés.
- Résolution d’ambiguïté : gérer les cas où le format de date n’est pas clair.
Traitement monétaire et numérique :
- Reconnaissance des symboles : Gestion des différents symboles monétaires et des séparateurs de milliers.
- Normalisation décimale : normaliser la représentation décimale entre les paramètres régionaux.
- Conversion d’unité : convertir entre différentes unités de mesure selon les besoins.
Normalisation du texte :
- Normalisation de la casse : Appliquer des règles de capitalisation cohérentes.
- Normalisation de l’encodage : gérez différents encodages de caractères et caractères spéciaux.
- Expansion de l’abréviation : convertissez les abréviations courantes en formes complètes.
Validation des données et assurance qualité
Ainsi que la mise en forme des champs extraits, le processus de normalisation permet une validation supplémentaire des valeurs extraites par le biais de techniques telles que :
Validation basée sur des règles :
- Vérification du format : vérifiez que les valeurs extraites correspondent aux modèles attendus (numéros de téléphone, adresses e-mail).
- Validation de plage : vérifiez que les valeurs numériques sont comprises dans des limites raisonnables.
- Vérification de champ obligatoire : vérifiez que tous les champs obligatoires sont présents.
Validation statistique :
- Détection hors norme : identifiez des valeurs inhabituellement élevées ou faibles susceptibles d’indiquer des erreurs d’extraction.
- Analyse de la distribution : comparez les valeurs extraites par rapport aux modèles historiques.
- Validation inter-documents : vérifiez la cohérence entre les documents associés.
Étape 5 : Intégration à des processus et systèmes métier
La dernière étape du processus implique généralement l’intégration des valeurs de champ extraites dans un processus ou un système métier :
Mappage de schéma
Les champs extraits doivent peut-être être transformés ou reformatés afin qu’ils s’alignent sur les schémas d’application utilisés pour l’ingestion des données dans les systèmes en aval. Par exemple:
- Schémas de base de données : mapper des champs extraits à des colonnes et tables de base de données spécifiques.
- Charges utiles d’API : Mettez en forme les données pour la consommation d’API REST par les systèmes en aval.
- Files d’attente de messages : préparer des messages structurés pour le traitement asynchrone.
Le processus de mappage de schéma peut impliquer des transformations telles que :
- Renommage des champs : Associer les noms de champs extraits aux conventions du système cible.
- Conversion de type de données : vérifiez que les valeurs correspondent aux types de données attendus dans les systèmes cibles.
- Logique conditionnelle : appliquez des règles métier pour la transformation de champ et la dérivation.
Métriques et rapports de qualité
Une autre tâche courante une fois le processus d’extraction terminé est d’évaluer et de signaler la qualité des données extraites. Le rapport peut inclure des informations telles que :
- Scores de confiance au niveau du champ : évaluations de confiance individuelles pour chaque champ extrait.
- Évaluation de la qualité au niveau du document : métriques globales de réussite de l’extraction.
- Catégorisation d’erreur : classifier les échecs d’extraction par type et cause.