Qu'est-ce que le traitement de documents ?
Le traitement des documents est le processus d'automatisation de l'extraction de données structurées à partir de documents. Cela peut concerner n'importe quel document, par exemple une facture, un CV, des cartes d'identité, etc. La partie difficile ici n'est pas seulement l'OCR. Il existe de nombreuses options disponibles à faible coût qui peuvent extraire du texte et vous indiquer l'emplacement. Le véritable défi consiste à étiqueter ces morceaux de texte avec précision et automatiquement.
Impact commercial du traitement des documents
Plusieurs secteurs dépendent fortement du traitement des documents pour leurs opérations quotidiennes. Les organisations financières ont besoin d'accéder aux dossiers déposés auprès de la SEC, aux dossiers d'assurance, et une entreprise de commerce électronique ou de chaîne d'approvisionnement peut avoir besoin d'accéder aux factures utilisées, la liste est longue. L’exactitude de ces informations est tout aussi importante que le temps gagné, c’est pourquoi nous recommandons toujours d’utiliser des méthodes avancées de deep learning qui généralisent davantage et sont plus précises.
Selon ce rapport de PwC, [lien] Même la quantité la plus rudimentaire d'extraction de données structurées peut permettre aux employés d'économiser 30 à 50 % du temps consacré à copier et coller manuellement des données de fichiers PDF vers des feuilles de calcul Excel. Les modèles comme LayoutLM ne sont certainement pas rudimentaires, ils ont été construits comme des agents extrêmement intelligents capables d'extraire des données précises à grande échelle, dans différents cas d'utilisation. Même chez bon nombre de nos propres clients, nous avons réduit le temps nécessaire à l’extraction manuelle des données de 20 minutes par document à moins de 10 secondes. Il s’agit d’un changement massif, permettant aux travailleurs d’être plus productifs et d’obtenir un débit global plus élevé.
Alors, où peut-on appliquer une IA similaire à LayoutLM ? Chez Nanonets, nous avons utilisé cette technologie pour
- Automatisation du traitement des factures
- Extraction de données de tableau
- Extraction de données de formulaire
- Reprendre l'analyse
et bien d'autres cas d'utilisation.
Pourquoi LayoutLM ?
Comment un modèle d'apprentissage profond détermine-t-il si un morceau de texte donné est une description d'article dans une facture ou le numéro de facture ? En termes simples, comment un modèle apprend-il à attribuer correctement des étiquettes ?
Une méthode consiste à utiliser des intégrations de texte provenant d'un modèle de langage massif comme BERT ou GPT-3 et à les exécuter via un classificateur – bien que cela ne soit pas très efficace. Il existe de nombreuses informations que l’on ne peut pas évaluer uniquement à l’aide du texte. Ou bien, on pourrait utiliser des informations basées sur des images. Ceci a été réalisé en utilisant les modèles R-CNN et Faster R-CNN. Cependant, cela n’utilise toujours pas pleinement les informations disponibles dans les documents. Une autre approche utilisée était celle des réseaux de neurones convolutifs graphiques, qui combinaient à la fois des informations de localisation et des informations textuelles, mais ne prenaient pas en compte les informations d'image.
Alors, comment pouvons-nous utiliser les trois dimensions de l’information, c’est-à-dire le texte, l’image et l’emplacement du texte donné ? C'est là qu'interviennent des modèles comme LayoutLM. Bien qu'il s'agisse d'un domaine de recherche actif depuis de nombreuses années, LayoutLM a été l'un des premiers modèles à avoir réussi à combiner les pièces pour créer un modèle unique qui effectue l'étiquetage en utilisant des informations de position, des informations basées sur du texte, et aussi des informations sur l'image.
Tutoriel LayoutLM
Cet article suppose que vous comprenez ce qu’est un modèle de langage. Sinon, ne vous inquiétez pas, nous avons également écrit un article à ce sujet ! Si vous souhaitez en savoir plus sur les modèles de transformateurs et sur l'attention qu'ils méritent, cliquez ici est un article étonnant de Jay Alammar.
En supposant que nous ayons réglé ces problèmes, commençons par le didacticiel. Nous utiliserons le document LayoutLM original comme référence principale.
Extraction de texte OCR
La toute première chose que nous faisons avec un document est d'extraire les informations textuelles du document et de trouver leurs emplacements respectifs. Par emplacement, nous faisons référence à ce qu’on appelle une « boîte englobante ». Un cadre de délimitation est un rectangle qui encapsule le morceau de texte sur la page.
Dans la plupart des cas, on suppose que le cadre de sélection a son origine dans le coin supérieur gauche, que l'axe x positif est dirigé de l'origine vers la droite de la page et que l'axe y positif est dirigé de l'origine vers la droite de la page. en bas de la page, un pixel étant considéré comme l'unité de mesure.
Intégrations de langue et d'emplacement
Ensuite, nous utilisons cinq couches d’intégration différentes. La première consiste à coder les informations liées à la langue, c'est-à-dire les intégrations de texte.
Les quatre autres sont réservés aux intégrations d’emplacements. En supposant que nous connaissons les valeurs de xmin, ymin, xmax et ymax, nous pouvons déterminer l'ensemble du cadre de délimitation (si vous ne pouvez pas le visualiser, Voici un lien pour vous). Ces coordonnées sont transmises à travers leurs couches d'intégration respectives pour coder les informations de localisation.
Les cinq intégrations – une pour le texte et quatre pour les coordonnées – sont ensuite additionnées pour créer la valeur finale de l'intégration qui est transmise via LayoutLM. La sortie est appelée intégration LayoutLM.
Incorporations d'images
D'accord, nous avons donc réussi à trouver le texte et les informations relatives à l'emplacement en combinant leurs intégrations et en les faisant passer par un modèle de langage. Maintenant, comment pouvons-nous contourner le processus de combinaison des informations liées à l’image ?
Pendant que le texte et les informations de mise en page sont codés, en parallèle, nous utilisons Faster R-CNN pour extraire les régions de texte liées au document. Faster R-CNN est un modèle d'image utilisé pour la détection d'objets. Dans notre cas, nous l'utilisons pour détecter différents morceaux de texte (en supposant que chaque phrase est un objet), puis transmettre les images segmentées à travers un calque entièrement connecté pour aider à générer également des intégrations pour les images.
Les intégrations LayoutLM ainsi que les intégrations d'images sont combinées pour créer une intégration finale, qui peut ensuite être utilisée pour effectuer un traitement en aval.
Mise en page pré-formationLM
Tout ce qui précède n'a de sens que si nous comprenons la méthode avec laquelle LayoutLM a été formé. Après tout, quel que soit le type de connexions que nous établissons dans un réseau neuronal, tant qu’il n’est pas formé avec le bon objectif d’apprentissage, il n’est pas tout à fait intelligent. Les auteurs de LayoutLM souhaitaient poursuivre une méthode similaire à celle utilisée pour la pré-formation BERT.
Modèle de langage visuel masqué (MVLM)
Afin d'aider le modèle à découvrir quel texte aurait pu se trouver à un certain emplacement, les auteurs ont masqué de manière aléatoire quelques éléments de texte tout en conservant les informations et les intégrations liées à l'emplacement. Cela a permis à LayoutLM d'aller au-delà de la simple modélisation de langage masqué et a également permis d'associer les intégrations de texte à des modalités liées à l'emplacement.
Classification de documents multi-étiquettes (MDC)
L'utilisation de toutes les informations contenues dans le document pour le classer en catégories aide le modèle à comprendre quelles informations sont pertinentes pour une certaine classe de documents. Cependant, les auteurs notent que pour des ensembles de données plus volumineux, les données sur les classes de documents peuvent ne pas être facilement disponibles. Par conséquent, ils ont fourni une base de résultats à la fois sur la formation MVLM seule et sur la formation MVLM + MDC.
Ajustement précis de LayoutLM pour les tâches en aval
Plusieurs tâches en aval peuvent être exécutées avec LayoutLM. Nous discuterons de ceux entrepris par les auteurs.
Compréhension du formulaire
Cette tâche consiste à lier un type d'étiquette à un morceau de texte donné. Grâce à cela, nous pouvons extraire des données structurées de tout type de document. Compte tenu du résultat final, c'est-à-dire les intégrations LayouLM + les intégrations d'images, elles sont transmises à travers une couche entièrement connectée, puis à travers un softmax pour prédire les probabilités de classe pour l'étiquette d'un morceau de texte donné.
Compréhension du reçu
Dans cette tâche, plusieurs emplacements d'informations étaient laissés vides sur les reçus et le modèle devait positionner correctement des morceaux de texte sur leurs emplacements respectifs.
Classification des images de documents
Les informations du texte et de l'image du document sont combinées pour aider à comprendre la classe du document en le faisant simplement passer à travers une couche softmax.
Disposition du visage câlinLM
L’une des principales raisons pour lesquelles LayoutLM fait tant l’objet de discussions est que le modèle était open source il y a quelque temps. C'est disponible sur Hugging Face, donc utiliser LayoutLM est désormais beaucoup plus facile.
Avant d'entrer dans les détails de la façon dont vous pouvez affiner LayoutLM pour vos propres besoins, il y a quelques éléments à prendre en considération.
Installation de bibliothèques
Pour exécuter LayoutLM, vous aurez besoin de la bibliothèque de transformateurs de Hugging Face, qui à son tour dépend de la bibliothèque PyTorch. Pour les installer (s'ils ne sont pas déjà installés), exécutez les commandes suivantes
Sur les boîtes englobantes
Pour créer un schéma d'intégration uniforme quelle que soit la taille de l'image, les coordonnées du cadre de délimitation sont normalisées sur une échelle de 1000 XNUMX.
configuration
À l’aide de la classe transformers.LayoutLMConfig, vous pouvez définir la taille du modèle en fonction de vos besoins, car ces modèles sont généralement lourds et nécessitent une puissance de calcul importante. Le définir sur un modèle plus petit peut vous aider à l’exécuter localement. Tu peux en savoir plus sur la classe ici.
LayoutLM pour la classification des documents (Lien)
Si vous souhaitez effectuer une classification de documents, vous aurez besoin de la classe transformers.LayoutLMForSequenceClassification. La séquence ici est la séquence de texte du document que vous avez extrait. Voici un petit exemple de code de Hugging Face.co qui vous expliquera comment l'utiliser
LayoutLM pour l'étiquetage de texte (Lien)
Pour effectuer un étiquetage sémantique, c'est-à-dire attribuer des étiquettes à différentes parties de texte dans le document, vous aurez besoin de la classe transformers.LayoutLMForTokenClassification. Vous trouverez peut-être plus de détails sur le pareil ici.Voici un petit exemple de code pour voir comment cela peut fonctionner pour vous
Quelques points à noter concernant la disposition du visage câlinLM
- Actuellement, le modèle Hugging Face LayoutLM utilise la bibliothèque open source Tesseract pour l'extraction de texte, ce qui n'est pas très précis. Vous voudrez peut-être envisager d'utiliser un autre outil OCR payant comme AWS Texttract ou Google Cloud Vision.
- Le modèle existant fournit uniquement le modèle de langage, c'est-à-dire les intégrations LayoutLM, et non les couches finales qui combinent les fonctionnalités visuelles. Mise en pageLMv2 (discuté dans la section suivante) utilise la bibliothèque Detectron pour activer également l'intégration de fonctionnalités visuelles.
- La classification des étiquettes s'effectue au niveau des mots, c'est donc au moteur d'extraction de texte OCR de s'assurer que tous les mots d'un champ sont dans une séquence continue, ou qu'un champ peut être prédit comme deux.
Mise en pageLMv2
LayoutLM a révolutionné la manière dont les données étaient extraites des documents. Cependant, en ce qui concerne la recherche sur l’apprentissage profond, les modèles ne font que s’améliorer au fil du temps. LayoutLM a également été remplacé par LayoutLMv2, où les auteurs ont apporté quelques modifications significatives à la façon dont le modèle a été formé.
Y compris les intégrations spatiales 1D et les intégrations de jetons visuels
LayoutLMv2 comprenait des informations concernant l'emplacement relatif 1D, ainsi que des informations globales relatives à l'image. La raison pour laquelle cela est important est due aux nouveaux objectifs de formation, dont nous allons maintenant parler.
Nouveaux objectifs de formation
LayoutLMv2 comprenait des objectifs de formation modifiés. Ceux-ci sont les suivants :
- Modélisation du langage visuel masqué : c'est la même chose que dans LayoutLM
- Alignement de l'image du texte : le texte a été masqué de manière aléatoire à partir de l'image, tandis que les jetons de texte ont été fournis au modèle. Pour chaque jeton, le modèle devait savoir si le texte donné était couvert ou non. Grâce à cela, le modèle a pu combiner des informations provenant de modalités visuelles et textuelles.
- Correspondance d'image de texte : il est demandé au modèle de vérifier si l'image donnée correspond au texte donné. Les échantillons négatifs sont soit alimentés sous forme de fausses images, soit aucune intégration d’image n’est fournie. Ceci est fait pour garantir que le modèle en apprend davantage sur la façon dont le texte et les images sont liés.
Grâce à ces nouvelles méthodes et intégrations, le modèle a pu obtenir des scores F1 plus élevés sur presque tous les ensembles de données de test comme LayoutLM.
- Qui sommes-nous
- accès
- Compte
- Avec cette connaissance vient le pouvoir de prendre
- atteint
- à travers
- infection
- Avancée
- agents
- AI
- Tous
- déjà
- Bien que
- montant
- Une autre
- une approche
- Réservé
- autour
- article
- auteurs
- disponibles
- AWS
- base
- va
- LES MEILLEURS
- Bit
- Box
- Cartes
- cas
- challenge
- classification
- le cloud
- code
- combiné
- Société
- calcul
- configuration
- Connexions
- considération
- Costs
- pourriez
- Clients
- données
- journée
- Malgré
- Détection
- DID
- différent
- INSTITUTIONNELS
- down
- e-commerce
- Efficace
- permettant
- établir
- Excel
- Visage
- plus rapide
- Fonctionnalité
- Fonctionnalités:
- Fed
- la traduction de documents financiers
- Prénom
- Abonnement
- générer
- GitHub
- aider
- aide
- ici
- Comment
- How To
- HTTPS
- image
- Impact
- important
- améliorer
- inclus
- secteurs
- d'information
- Assurance
- Intelligent
- IT
- l'étiquetage
- Etiquettes
- langue
- plus importantes
- APPRENTISSAGE
- apprentissage
- Niveau
- Bibliothèque
- LINK
- Liste
- localement
- emplacement
- emplacements
- manuellement
- massif
- assorti
- Matière
- modèle
- numériques jumeaux (digital twin models)
- (en fait, presque toutes)
- réseau et
- réseaux
- ouvert
- open source
- Opérations
- Options
- de commander
- organisations
- Autre
- payé
- Papier
- pièce
- power
- processus
- fournit
- PWC
- Les raisons
- recommander
- rapport
- conditions
- Exigences
- un article
- Résultats
- CV
- Courir
- Escaliers intérieurs
- programme
- SEC
- sens
- set
- mise
- décalage
- significative
- similaires
- étapes
- Taille
- petit
- smart
- So
- quelque chose
- j'ai commencé
- succès
- la quantité
- chaîne d'approvisionnement
- tâches
- Technologie
- tester
- Avec
- fiable
- jeton
- Tokens
- top
- Formation
- comprendre
- utilisé
- utiliser
- Plus-value
- Quoi
- que
- des mots
- Activités principales
- ouvriers
- années