OCR pour les PDF

Nœud source: 879686

Introduction

Depuis la généralisation de l'utilisation des ordinateurs dans les années 1970 suivie de l'invention des PDF en 1993, le stockage de fichiers texte dans des formats numériques a progressivement mais progressivement dominé sur les papiers traditionnels. Cet avantage imbattable a été créé et encore amélioré en faisant de l'auto-stop la commodité d'Internet qui permet d'envoyer facilement des fichiers texte numériques à travers le monde en quelques secondes. Aujourd'hui, non seulement les textes encodés par machine sont enregistrés et partagés via des PDF, mais même les papiers des documents manuscrits sont numérisés dans de tels formats pour un traitement et une distribution ultérieurs.

Cette tendance émergente, cependant, a mis en lumière un nouveau domaine de recherche actuellement en cours - la reconnaissance optique de caractères (OCR) PDF. L'OCR est le processus de conversion de texte numérisé ou manuscrit en texte codé par machine, de sorte qu'il puisse être utilisé par les programmes pour un traitement et une analyse ultérieurs. Bien que l'application de l'OCR soit large (des images de panneaux routiers aux documents texte formels), cet article plonge spécifiquement dans le domaine de l'OCR PDF, en particulier les PDF de papier numérisé et manuscrit, et discute de la technologie et des programmes dans différentes langues pour effectuer le tâche. Un aperçu détaillé et une comparaison de plusieurs logiciels sur le marché pour l'OCR PDF sont également présentés à titre de référence.


Vous recherchez une solution OCR pour extraire des informations à partir de fichiers PDF? Donner des nanonetsune rotation pour une plus grande précision, une plus grande flexibilité, un post-traitement et un large éventail d'intégrations!


Avancées des solutions OCR

Avant de discuter des codes, des détails et des avantages des OCR, nous expliquons d'abord le concept de fonctionnement de l'OCR en introduisant les avancées de la technologie impliquée.

OCR traditionnel

La conversion électronique des documents numérisés pour un calcul ultérieur, avant un apprentissage en profondeur répondant à la précision requise pour de telles tâches, est généralement effectuée en quatre étapes simples :

  1. Rassemblez une base de données de personnages connus.
  2. Utilisez des capteurs photo pour rassembler et séparer les lettres individuelles des documents numérisés.
  3. Comparez l'ensemble d'attributs récupérés des photocapteurs avec les attributs physiques de la base de données.
  4. Convertissez chaque ensemble d'attributs en conséquence dans le caractère connu avec la plus grande similitude.

Si l'approche traditionnelle semble être efficace la plupart du temps, elle est vulnérable à ses restrictions inhérentes fondées sur des règles. Une étape intermédiaire cruciale de l'OCR consiste à extraire avec succès des lettres ou des signes uniques d'un ensemble / groupe de textes. Cette extraction nécessite certains modèles ou règles (c'est-à-dire des tailles / styles de police prédéfinis) pour qu'elle soit très précise. Imposer de plus en plus de règles pour augmenter la précision va créer un dilemme de surapprentissage de l'OCR, ou de corriger uniquement sur des styles d'écritures spécifiques. Toute incohérence d'éclairage pendant le processus de numérisation entraînerait également des erreurs lorsque l'OCR est entièrement basée sur des règles.

De plus, les comparaisons d'attributs basées sur des règles sont également insuffisantes lorsqu'il s'agit d'écritures manuscrites. Les polices générées par ordinateur sont pour la plupart fixes avec des attributs souvent évidents et faciles à comparer - les polices manuscrites sont exactement le contraire, avec des variations illimitées et sont donc beaucoup plus difficiles à classer. Étant donné qu'à chaque fois qu'un personnage fabriqué à la main est légèrement différent, il n'est pas non plus possible de tous les inclure dans la base de données. Cela nécessite souvent que les OCR exécutent des algorithmes plus sophistiqués en plus de la correspondance d'attributs naïve.

Enfin, la barrière de plusieurs langues existe également dans l'approche traditionnelle. De nombreuses langues adoptent des symboles similaires voire identiques; si nous stockons tous les symboles dans la base de données, nous ne serions pas en mesure de faire la différence entre deux symboles en effectuant simplement une correspondance d'attributs, ce qui rend finalement l'approche traditionnelle souvent limitée à un seul langage par modèle.

À la lumière de l'ère récente de l'apprentissage profond, heureusement soulevée par les capacités de calcul matériel en croissance rapide, les nouveaux OCR ont incorporé des modèles d'apprentissage à la fois pendant le processus d'extraction de texte et dans la phase de leur interprétation.

Moteurs OCR basés sur l'apprentissage en profondeur

L'apprentissage en profondeur, une branche majeure du domaine de l'apprentissage automatique, a acquis une grande popularité grâce à l'aide de nombreux scientifiques de renom qui l'ont poussé au premier plan. Dans l'ingénierie traditionnelle, notre objectif est de concevoir un système / une fonction qui génère une sortie à partir d'une entrée donnée; l'apprentissage en profondeur, d'autre part, s'appuie sur les entrées et les sorties pour trouver la relation intermédiaire qui peut être étendue à de nouvelles données invisibles via ce que l'on appelle Réseau neuronal.

Architecture de réseau de neurones

Un réseau de neurones, ou un perceptron multicouche, imite la façon dont le cerveau humain apprend. Chaque nœud, à savoir les neurones, à l'intérieur du réseau sont comme des neurones biologiques tels qu'ils reçoivent des informations pour « s'activer ». Des ensembles de neurones forment des couches, et plusieurs couches s'empilent pour devenir un réseau, qui utilise les informations pour générer une prédiction. La prédiction peut prendre toutes les formes, depuis une prédiction de classe pour les problèmes de classification jusqu'aux cadres de délimitation des éléments dans les tâches de détection d'objets, qui ont tous atteint l'état de l'art par rapport à la littérature précédente. Dans la tâche de l'OCR, deux types de sortie, ainsi que deux genres de réseaux, sont fortement appliqués.

  • Réseaux de neurones convolutifs (CNN) - Les CNN sont l'un des ensembles de réseaux les plus dominants utilisés aujourd'hui, en particulier dans le domaine de la vision par ordinateur. Il comprend plusieurs noyaux convolutifs qui glissent à travers l'image pour extraire des caractéristiques. Accompagnés de couches réseau traditionnelles à la fin, les CNN réussissent très bien à récupérer des caractéristiques d'une image donnée pour effectuer des prédictions. Ce processus peut en outre être transféré à la tâche de trouver des cadres de délimitation et de détecter des attributs de caractères pour une classification ultérieure dans le processus OCR.
  • Mémoires à Long Court Terme (LSTM) - Les LSTM sont une famille de réseaux appliqués principalement aux entrées de séquence. L'intuition est simple - pour toutes les données séquentielles (c.-à-d. Météo, stocks), les nouveaux résultats peuvent dépendre fortement des résultats précédents, et il serait donc avantageux de constamment répercuter les résultats précédents dans le cadre des caractéristiques d'entrée lors de la réalisation de nouvelles prévisions. . Dans le cas de l'OCR, les lettres déjà détectées peuvent être d'une grande aide pour prédire la suivante, car un jeu de caractères doit généralement avoir un sens lorsqu'il est assemblé (par exemple, une lettre anglaise «g» est plus susceptible de venir après «do» qu'un chiffre «9», malgré leurs attributs similaires).

Outre les principales tâches de l'OCR qui intègrent l'apprentissage en profondeur, de nombreuses étapes de prétraitement pour éliminer les approches basées sur des règles ont également bénéficié des technologies de réseau de neurones en plein essor:

  • Débruitage - Lorsqu'un document n'est pas correctement numérisé, les méthodes basées sur des règles peuvent facilement échouer. Une approche récente adoptée par les technologies OCR consiste à appliquer un Réseau Adversaire Génératif (GAN) pour «débruiter» l'entrée. Le GAN comprend deux réseaux, un générateur et un discriminateur. Le générateur génère constamment de nouvelles entrées pour le discriminateur afin de faire la distinction entre les entrées réelles et générées, permettant au générateur de s'améliorer constamment en créant un contenu idéal. Dans ce cas, le GAN est formé à partir d'une paire de documents débruités et bruyants, et le but du générateur est de générer un document débruité aussi proche que possible de la vérité terrain. Pendant la phase d'application, le GAN, s'il est bien formé, peut ensuite être utilisé sur chaque entrée pour affiner les documents mal numérisés.
  • Identification des documents - Les tâches OCR, en particulier les tâches OCR sur les PDF, sont souvent utilisées dans le but d'extraire correctement les données des formulaires et des documents. Par conséquent, connaître le type de document que la machine OCR traite actuellement peut augmenter considérablement la précision de l'extraction des données. Les arts récents ont incorporé un réseau siamois, ou un réseau de comparaison, pour comparer les documents avec des formats de documents préexistants, permettant au moteur OCR d'effectuer au préalable une classification des documents. Il a été démontré empiriquement que cette étape supplémentaire améliore la précision des extractions de texte.

En résumé, la progression de l'OCR a bien profité de la croissance exponentielle des capacités matérielles et de l'apprentissage en profondeur. Les OCR PDF ont maintenant atteint des précisions à un niveau étonnant pour de nombreuses applications.


Vous recherchez une solution OCR pour extraire des informations à partir de fichiers PDF? Donner des nanonetsune rotation pour une plus grande précision, une plus grande flexibilité, un post-traitement et un large éventail d'intégrations!


Applications du logiciel PDF OCR

L'objectif principal de l'OCR est de récupérer des données à partir de formats non structurés, qu'il s'agisse de chiffres numériques ou de nombres réels. Si la récupération est réussie et très précise, les programmes peuvent utiliser l'OCR pour des tâches de travail telles que la reconnaissance et l'interprétation de texte, en particulier pour l'analyse numérique et contextuelle.

Analyse numérique des données

Lorsque les fichiers PDF contiennent des données numériques, l'OCR permet de les extraire pour effectuer une analyse statistique. Plus précisément, l'OCR à l'aide d'extractions de tables ou de paires clé-valeur (KVP) peut être appliquée pour trouver des nombres significatifs dans différentes régions d'un texte donné. Nous pouvons ensuite adopter des méthodes statistiques ou même d'apprentissage automatique (c'est-à-dire KNN, K-Means, régression linéaire/logistique) aux modèles de diverses applications

Interprétation des données textuelles

D'un autre côté, le traitement des données textuelles peut nécessiter plus d'étapes de calcul, le but ultime étant que les programmes comprennent les «significations» des mots. Un tel processus d'interprétation des données textuelles dans leurs significations sémantiques est appelé traitement du langage naturel (NLP).

Avantages de l'OCR PDF

PDF OCR sert de nombreuses fins au niveau de l'application. Les sections suivantes décrivent quelques exemples de cas d'utilisation d'aussi petit qu'un usage personnel à aussi grand que celui d'une entreprise.

Cas d'utilisation personnels

Les OCR PDF apportent une immense commodité lors de la gestion de tâches ennuyeuses telles que la numérisation d'identités et le financement personnel.

Les identifiants personnels doivent souvent être convertis en formats PDF pour être envoyés à diverses applications. Ces documents d'identification contiennent des informations telles que la date de naissance et les numéros d'identification qui doivent souvent être saisis de manière répétitive à des fins différentes, et par conséquent, un PDF OCR très précis qui trouve les champs correspondants et les valeurs correspondantes dans l'ID serait très utile. aide à effectuer des tâches manuelles triviales. Le seul travail requis serait de simplement vérifier à nouveau toute incohérence.

Le financement personnel est un autre processus qui nécessite des tonnes de travail manuel. Bien que les développements dans Excel et les feuilles de calcul aient déjà facilité des tâches telles que la budgétisation personnelle, l'OCR et l'extraction de données sur les factures PDF pourraient accélérer davantage le processus. Ces données peuvent être automatiquement mises dans des feuilles de calcul pour analyse comme mentionné dans les sections précédentes à effectuer. On peut facilement utiliser le temps de saisie d'origine pour réfléchir à de meilleurs plans financiers.

Cas d'utilisation commerciale

Les grandes entreprises et les petites organisations doivent gérer des milliers de paperasse suivant des formats similaires, qui sont à forte intensité de main-d'œuvre et pourtant improductifs (c'est-à-dire que tout le travail est mis à profit pour quelque chose qui nécessite moins de remue-méninges). Les classifications de documents automatisées et les collectes/analyses d'enquêtes sont là où l'OCR est utile.

Les OCR permettent aux ordinateurs de convertir des textes numérisés en textes codés par machine. Le contenu des textes convertis peut ensuite être utilisé pour classer les documents, qu'il s'agisse de candidatures à différents rôles ou de formulaires en attente d'approbation. S'ils sont bien entraînés, les OCR peuvent entraîner des erreurs minimes qui pourraient être fréquentes en raison de la fatigue humaine inévitable. Du point de vue des entreprises, les dépenses de main-d'œuvre peuvent également être considérablement réduites.

En termes d'enquêtes ou de commentaires, qui sont souvent nécessaires aux organisations pour améliorer leur produit ou leurs plans actuels, l'OCR joue également un rôle essentiel. Les données peuvent être extraites rapidement et évaluées de manière approfondie pour une analyse statistique. S'il est bien conçu, même le texte manuscrit peut être extrait et analysé automatiquement.


Vous recherchez une solution OCR pour extraire des informations à partir de fichiers PDF? Donner des nanonetsune rotation pour une plus grande précision, une plus grande flexibilité, un post-traitement et un large éventail d'intégrations!


Un tutoriel simple

Les OCR PDF peuvent en fait être facilement programmés personnellement. Ce qui suit est un pipeline simple pour effectuer l'OCR sur les PDF.

Conversion de PDF en images

Il existe de nombreuses bibliothèques et API dans plusieurs langues qui prennent en charge les OCR pré-entraînés. Cependant, la plupart d'entre eux traitent avec des images et non directement avec des PDF. Par conséquent, pour simplifier les étapes suivantes, nous pouvons prétraiter les PDF dans des formats d'image avant d'effectuer des reconnaissances de caractères.

L'une des bibliothèques les plus couramment utilisées pour ce faire est la pdf2image bibliothèque pour Python, qui peut simplement être installée via la commande suivante:

pip install pdf2image

Ensuite, on peut importer la bibliothèque et utiliser l'une des deux lignes de code pour obtenir une image au format PIL comme suit:

from pdf2image import convert_from_path, convert_from_bytes
from pdf2image.exceptions import ( PDFInfoNotInstalledError, PDFPageCountError, PDFSyntaxError
) images = convert_from_path('/home/belval/example.pdf')
images = convert_from_bytes(open('/home/belval/example.pdf','rb').read())

Pour plus d'informations sur le code, vous pouvez vous référer à la documentation officielle dans https://pypi.org/project/pdf2image/

OCR d'image

Il existe de nombreuses API de grandes entreprises technologiques avec des OCR très précis. En raison de la présomption que les fichiers PDF sont généralement très emballés avec des données de texte denses, le moyen le plus approprié d'effectuer une telle OCR serait d'utiliser l'API Google Vision, en particulier le Document_Texte_Annotation fonctionner car il est spécialement conçu à ces fins. Spécifiquement, Document_Texte_Annotation envoie le code au moteur OCR que Google a conçu pour les textes denses, y compris les écritures manuscrites dans différentes langues.

L'ensemble de l'API Google Vision est simple à configurer, on peut se référer à ses conseils officiels sur https://cloud.google.com/vision/docs/quickstart-client-libraries pour la procédure de configuration détaillée.

Ensuite, nous pouvons utiliser les codes suivants pour la récupération OCR:

def detect_document(path): """Detects document features in an image.""" from google.cloud import vision import io client = vision.ImageAnnotatorClient() with io.open(path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) response = client.document_text_detection(image=image) for page in response.full_text_annotation.pages: for block in page.blocks: print('nBlock confidence: {}n'.format(block.confidence)) for paragraph in block.paragraphs: print('Paragraph confidence: {}'.format( paragraph.confidence)) for word in paragraph.words: word_text = ''.join([ symbol.text for symbol in word.symbols ]) print('Word text: {} (confidence: {})'.format( word_text, word.confidence)) for symbol in word.symbols: print('tSymbol: {} (confidence: {})'.format( symbol.text, symbol.confidence)) if response.error.message: raise Exception( '{}nFor more info on error messages, check: ' 'https://cloud.google.com/apis/design/errors'.format( response.error.message))

Alternativement, l'API Google Vision prend également en charge plusieurs langages, tels que Java et Go. Plus de codes concernant l'utilisation de l'API Google peuvent être récupérés ici : https://cloud.google.com/vision  

Il existe également d'autres services/API OCR d'Amazon et de Microsoft, et vous pouvez toujours utiliser le PyTesseract bibliothèque pour s'entraîner sur votre modèle à des fins spécifiques.


Vous recherchez une solution OCR pour extraire des informations à partir de fichiers PDF? Donner des nanonetsune rotation pour une plus grande précision, une plus grande flexibilité, un post-traitement et un large éventail d'intégrations!


Comparaison

Il existe de nombreux OCR PDF actuellement disponibles sur le marché. Alors que certains sont gratuits, rapides et peuvent être utilisés instantanément en ligne, d'autres fournissent des produits plus précis et mieux conçus pour un usage professionnel. Nous décrivons ici quelques options, ainsi que leurs avantages et inconvénients.

OCR PDF en ligne

Lorsque vous utilisez des OCR PDF à des fins personnelles pour des conversions rapides, la gratuité et la rapidité peuvent être plus souhaitables que la précision. Il existe de nombreux services OCR PDF en ligne qui répondent à ces besoins. On peut simplement télécharger des documents PDF et être convertis en texte écrit d'une manière rapide et pratique.

Le principal problème avec ceci, cependant, est le contrôle de la qualité de l'OCR. Ces logiciels OCR gratuits en ligne, bien qu'ils fonctionnent bien la plupart du temps, ne sont pas tenus de fournir la meilleure qualité de sortie à chaque fois par rapport à d'autres logiciels hors ligne qui nécessitent une maintenance constante.

Logiciels hors ligne

Actuellement, plusieurs entreprises fournissent des services OCR PDF très précis. Nous examinons ici plusieurs options de PDF OCR spécialisées dans différents aspects, ainsi que certains prototypes de recherche récents qui semblent fournir des résultats prometteurs:

Il existe plusieurs services OCR qui sont ciblés vers des tâches telles que les images dans la nature. Nous avons sauté ces services car nous nous concentrons actuellement sur la lecture de documents PDF uniquement.

  • ABBYY – ABBYY FineReader PDF est un OCR développé par ABBYY. Le logiciel dispose d'une interface utilisateur conviviale utilisée pour la lecture de PDF et la conversion de texte. Cependant, avec sa nature non technique (les clients cibles sont des spécialistes non technologiques dans d'autres domaines ayant besoin de PDF OCR), il serait plus difficile de l'intégrer dans d'autres programmes pour un traitement ultérieur.
  • Kofax - Semblable à ABBYY, Kofax est un lecteur PDF convivial qui nécessite un achat. Le prix est fixe pour un usage individuel, avec des remises pour les grandes entreprises. Une assistance 24h / 7 et XNUMXj / XNUMX est également disponible en cas de difficultés techniques.
  • Lecteur profond – Deep Reader est un travail de recherche publié dans la conférence ACCV 2019. Il intègre plusieurs architectures de réseau de pointe pour effectuer des tâches telles que la correspondance de documents, la récupération de texte et le débruitage d'images. Il existe des fonctionnalités supplémentaires telles que des tables et des extractions de paires clé-valeur qui permettent de récupérer et d'enregistrer les données de manière organisée.
  • Nanonets ™ – Nanonets™ PDF OCR utilise l'apprentissage en profondeur et est donc totalement indépendant des modèles et des règles. Non seulement les Nanonets peuvent fonctionner sur des types spécifiques de PDF, mais ils peuvent également être appliqués à n'importe quel type de document pour la récupération de texte.

Conclusion

En conclusion, dans cet article, nous avons expliqué les bases du fonctionnement d'une OCR, ainsi que la chronologie du développement de l'OCR, suivis de didacticiels simples et de cas d'utilisation. Nous avons également présenté un ensemble d'options viables pour les OCR PDF ainsi que leurs avantages et inconvénients pour une utilisation ultérieure.

Source : https://nanonets.com/blog/pdf-ocr/

Horodatage:

Plus de AI et apprentissage automatique