Métadonnées du livre et récupération de la couverture à l'aide de l'OCR et de l'API Google Books
Avec KNIME, extraire des informations critiques à partir d’images devient aussi simple que ABC.
By Roberto Cadili, Data Scientist, KNIME & Lada Rudnitckaia, Data Scientist, KNIME
Figure 1 : Exemples de notices d'édition de livres dont les informations peuvent être extraites grâce à l'OCR.
La plupart du temps, les données brutes dont nous avons besoin pour notre projet de science des données ne sont pas organisées dans un tableau soigné, bien structuré et perspicace. Au contraire, cela est parfois stocké sous forme de texte dans un document numérisé. Les mots du document doivent ensuite être extraits un par un pour former une cellule de données au format texte. C'est la tâche effectuée par la reconnaissance optique de caractères (OCR).
Lorsque vous lisez les mots de cet article, qu'il s'agisse de texte ou de chiffres, vos yeux sont capables de les traiter en reconnaissant les motifs clairs et sombres qui composent les caractères (par exemple, lettres, chiffres, signes de ponctuation, etc.). Votre cerveau décode alors les différentes combinaisons de caractères et de motifs pour saisir le sens des mots. En ce sens, vos yeux et votre cerveau constituent le moteur OCR le plus sophistiqué et le plus raffiné que vous puissiez imaginer, et ils fonctionnent sans même que vous vous en rendiez compte.
Les ordinateurs ont des capacités similaires, mais ils doivent faire face à une limitation cruciale : l’absence d’yeux. Si nous voulons que les ordinateurs voient et lisent un document texte physique, nous devons saisir un fichier graphique généré soit avec un scanner optique, soit avec un appareil photo numérique. En ce qui concerne les ordinateurs, il n’y a aucune différence entre un document acquis avec l’une ou l’autre de ces options et une photographie de la Tour Eiffel : les deux sont considérés comme des ensembles dénués de sens de carrés colorés – également appelés pixels – qui constituent toute image informatique. En tant que tel, ce dernier n’est qu’une image du texte que nous avons l’intention de lire plutôt que le texte lui-même.
C'est là que l'OCR peut s'avérer utile. Cette technologie puissante est capable d'extraire des données imprimées, dactylographiées ou manuscrites, qu'il s'agisse de factures, de cartes de visite, de textes juridiques ou d'imprimés, et de les convertir en un format numérique consultable et modifiable. Bien que pendant de nombreuses années, l'OCR ait été considérée comme un service coûteux, que seules très peu de grandes entreprises pouvaient se permettre, à partir du milieu des années 2000, son coût a progressivement baissé tandis que sa précision et ses capacités ont évolué pour prendre aujourd'hui en charge plusieurs centaines de langues et d'encodages de caractères. , de UTF-8 à GB2312.
L’avantage de pouvoir rechercher et extraire du texte à partir d’images peut être inestimable. Par exemple, dans le secteur juridique ou comptable, cela peut représenter un gain de temps et d’argent important, car il permet de récupérer des portions de texte ou des chiffres dans des articles ou des états financiers en quelques secondes. La comparaison de ce processus avec le coût d’embauche d’un groupe de personnes pour lire des milliers de documents juste pour trouver une seule information critique donne une idée de la façon dont l’OCR peut profiter aux entreprises.
Plus récemment, la technologie OCR connaît une révolution discrète, les fournisseurs de ce service la combinant avec l’IA. Grâce à cela, non seulement les données sont capturées, rendues consultables et modifiables, mais le système d’IA comprend réellement le contenu pour effectuer des tâches spécifiques. Par exemple, après avoir effectué une OCR sur un texte, l’IA peut fournir sa traduction à l’aide de la traduction automatique neuronale avec une intervention humaine minimale. Un autre exemple classique vient de la section d'audit, où les factures frauduleuses peuvent être reconnues après avoir effectué une OCR du contenu du document PDF, en utilisant des techniques de détection des valeurs aberrantes. Et ainsi de suite. Cette synergie combine le meilleur des deux mondes pour rationaliser les processus et augmenter la productivité des entreprises et des clients.
Dans le cas d'utilisation décrit dans cet article, l'OCR est utilisée pour identifier un livre, puis pour récupérer les métadonnées du livre à partir du référentiel Google Livres.
Plus précisément, nous allons examiner :
- Comment l'OCR peut être effectuée dans Plateforme d'analyse KNIME.
- Comment pouvons-nous intégrer le processeur OCR de KNIME et l'API Google Books pour le cas d'utilisation de récupération des métadonnées et de la couverture d'un livre.
OCR dans la plateforme d'analyse KNIME
OCRer une image contenant du texte dans KNIME est une tâche très simple. Il suffit d'installer le Traitement d'image KNIME — Intégration Tess4J extension dans votre local Plateforme d'analyse KNIME, et de glisser-déposer le Tess4J nœud sur votre éditeur de workflow.
Le nœud Tess4J intègre le Bibliothèque OCR Tesseract, l'un des processeurs OCR open source les plus utilisés et les plus précis disponibles. Tesseract a été initialement développé en tant que logiciel propriétaire par les laboratoires Hewlett-Packard au début des années 1990, puis a été rendu open source en 2005. Google a depuis lors adopté le projet et sponsorisé son développement.
Le nœud Tess4J s'exécute sur Tesseract 3, qui fonctionne en reconnaissant les modèles de caractères dans une procédure en deux passes.
- Lors du premier passage, le moteur tente de reconnaître chaque personnage individuellement. Il transmet ensuite les caractères reconnus avec une grande confiance lors du premier passage à un classificateur adaptatif en tant que données d'entraînement. De cette manière, le classificateur adaptatif a la possibilité d’apprendre à reconnaître plus précisément le texte suivant.
- Cependant, il peut arriver que le classificateur adaptatif apprenne des informations utiles trop tard pour apporter une contribution significative. Pour résoudre ce problème et exploiter les connaissances acquises par le classificateur adaptatif, le moteur opère un deuxième passage où les caractères qui n'étaient pas suffisamment bien reconnus sont à nouveau reconnus [1].
Tesseract 3 gère tous les caractères Unicode (codés avec UTF-8) et peut traiter du texte dans différentes langues et dispositions d'écriture : de gauche à droite (par exemple, anglais, italien, russe, etc.), de droite à gauche (par exemple, arabe, hébreu, ourdou, etc.) et de haut en bas (par exemple, japonais, coréen, chinois, etc.) [2].
Avertissement. Les utilisateurs Mac ne peuvent actuellement pas utiliser le nœud Tess4J. Les développeurs de KNIME s'efforcent de restaurer le bon fonctionnement.
Cas d'utilisation : récupération des métadonnées et de la couverture d'un livre
Maintenant que nous avons acquis une compréhension de base du fonctionnement de l'OCR dans KNIME Analytics Platform, examinons un cas d'utilisation intéressant. Supposons que nous ayons collecté des images illustrant les notices d'édition de plusieurs livres et qu'avec ces informations nous souhaitions récupérer les métadonnées et les couvertures des livres. Les données récupérées pourraient ensuite être utilisées, par exemple, pour créer une bibliothèque numérique personnalisée et former un système de recommandation de livres.
Le flux de travail de la figure 2 couvre toutes les étapes : de la lecture d'images, de l'OCR, du traitement de texte et de l'extraction de références ISBN, jusqu'aux métadonnées du livre, à la récupération et à la visualisation de la couverture. Voyons en détail les différentes étapes.
Figure 2 : Ceci workflow effectue une tâche OCR simple sur les avis d'édition de livres et récupère les métadonnées et la couverture du livre à l'aide de l'API Google Livres.
1 — Lire les données d'image
La première étape consiste à importer les images des avis d'édition du livre dans KNIME. L'avis d'édition est la page d'un livre contenant des informations sur l'édition actuelle, telles qu'un avis de droit d'auteur, des mentions légales, des informations de publication, un historique d'impression et un code ISBN (Figure 1).
Le métanode « Lire les données d'image » s'en charge de manière simple et programmatique (Figure 3). Nous identifions l'emplacement où les fichiers image sont stockés avec le Liste des fichiers/dossiers nœud et utilisez le Lecteur d'images (tableau) nœud pour importer gracieusement les images. Dans le nœud Image Reader (Table), il suffit de spécifier la « File Input Column », c'est-à-dire la colonne avec les chemins d'accès aux fichiers où sont stockées nos images. Toutes les autres configurations peuvent être laissées par défaut.
Le lecteur d'images (tableau) fait partie du Traitement d'images KNINE et, comme les autres nœuds de cette extension, il offre une vue interactive contenant l'image et ses métadonnées en cliquant simplement avec le bouton droit sur le nœud, en sélectionnant « Affichage : Visionneuse d'images » et en double-cliquant sur n'importe quelle image dans la vue tabulaire.
Figure 3 : À l'intérieur du métanode « Lire les données d'image ». Le nœud Image Reader (Table) importe des images dans le flux de travail et nous permet de les explorer de manière interactive dans sa vue.
2 — ROC
Après avoir lu les fichiers images des notices d'édition du livre, nous pouvons les OCR.
La configuration du nœud Tess4J est très simple et ne nécessite que quelques clics (Figure 4). Dans le Paramètres , le nœud offre la possibilité de corriger toute rotation ou image asymétrique en sélectionnant la case « Réalignement des images d'entrée » dans la section « Prétraitement » de la boîte de dialogue de configuration. Il est généralement conseillé de le faire, car les fichiers graphiques risquent de ne pas être correctement alignés. De plus, le nœud Tess4J produit automatiquement une image binarisée derrière le capot.
Ensuite, nous sélectionnons le « Chemin Tessdata ». Par défaut, celui-ci est réglé sur « Utiliser interne », ce qui nous permet ensuite de choisir la langue du texte que nous souhaitons traiter. Dans cette configuration, l'anglais est la langue par défaut, mais le nœud Tess4J prend en charge d'autres langues naturelles telles que le danois, l'italien, l'espagnol, le russe, le grec, le slovaque, l'allemand et le français. Il convient de mentionner qu'en sélectionnant « Utiliser externe », nous pouvons étendre les capacités du nœud Tess4J pour inclure des langages qui ne sont pas pris en charge en interne. En effet, nous pouvons choisir nos propres modèles de langage de données formés en externe en spécifiant le répertoire dans lequel ils sont stockés. Nous choisissons « Use Internal » car nous préférons nous appuyer sur les modèles internes de Tess4J pour nos documents anglais.
Dans la section « Configuration de la reconnaissance », on retrouve les deux configurations de liste déroulante les plus importantes, à savoir le « Mode de segmentation de page » et le « Mode moteur OCR ». Le premier définit la façon dont notre page est segmentée.
Dans la figure 4, nous sélectionnons « Full Auto Pageseg », qui garantit une segmentation de page entièrement automatique. En fonction du cas d'utilisation spécifique, la sélection d'un autre mode parmi les 13 disponibles (par exemple, « Colonne unique » ou « Texte clairsemé ») peut être une option plus appropriée.
Le deuxième paramètre nous demande de choisir le moteur OCR. Ici, nous sélectionnons « Tesseract Only », qui garantit l'exécution la plus rapide. D'autres options incluent « Cube Only » – un mode de reconnaissance alternatif pour Tesseract – qui est plus lent mais produit souvent de meilleurs résultats ; ou « Tesseract And Cube », qui combine le meilleur des deux mondes. Le choix d'un moteur ou d'un autre dépend fortement de la qualité de l'image et de la complexité du texte que l'on souhaite traiter.
En plus des paramètres de base, le nœud Tess4J propose un Configuration avancée onglet où l'on peut définir un ensemble de Paramètres de contrôle. Cet onglet rend le nœud extrêmement flexible et aide les utilisateurs experts à personnaliser et à affiner le moteur Tesseract OCR en fonction de leurs besoins spécifiques. Ne vous inquiétez pas cependant, dans la plupart des cas, les configurations de base vous mèneront loin !
Figure 4 : Boîte de dialogue de configuration du nœud Tess4J.
En plus d'ajuster les configurations du nœud Tess4J en fonction du cas d'utilisation considéré, il est recommandé de prétraiter minutieusement les images d'entrée, si nécessaire. En particulier, Tesseract fonctionne mieux lorsque les images sont suffisamment agrandies pour que le nombre de pixels de la hauteur x des caractères soit d'au moins 20 pixels ; les images sont correctement alignées et ont une résolution suffisamment élevée ; et toutes les bordures sombres sont supprimées, sinon elles pourraient être interprétées à tort comme des caractères [3]. Le Traitement d'images KNINE L'extension comprend plusieurs nœuds pour le nettoyage, la manipulation et la transformation des images, ainsi que de nombreux exemples de flux de travail peut être trouvé sur le Centre KNIME.
La sortie du nœud Tess4J est un tableau contenant le texte extrait sous forme de données String, et en tant que tel, il peut être recherché et modifié.
3 — Traitement de texte pour l'extraction de l'ISBN
Une fois les images OCRed, le texte qu'elles contiennent peut enfin être consulté et les informations utiles récupérées.
En particulier, les notices d'édition indiquent généralement le code ISBN attribué au livre. Le code ISBN est un identifiant commercial unique de 13 chiffres (il était de 10 chiffres avant 2007) et, en tant que tel, il est attribué à chaque édition et variation distincte d'une publication. Extraire le code ISBN nous permet de faire référence à chaque livre sans ambiguïté lorsque nous souhaitons récupérer des métainformations. Pour y parvenir, nous pouvons nous appuyer sur les nœuds inclus dans KNIME — Traitement de texte extension, dont certaines sont utilisées dans le métanode « extraction ISBN » (Figure 5).
Dans le métanode « Nettoyage de texte », nous commençons par transformer le texte OCRed du type de données String en Document. Ensuite, nous convertissons le texte en minuscules, supprimons la ponctuation, les espaces, les tirets et remplaçons les lettres « o » par « 0 » (zéros) pour corriger les caractères mal reconnus dans les codes ISBN.
Nous extrayons les codes ISBN en isolant les 13 caractères qui suivent la chaîne « isbn », et utilisons le Moteur de règles nœud pour vérifier si les caractères extraits ne contiennent pas de valeurs manquantes et ont une longueur attendue de 13 caractères. Nous exploitons ensuite la capacité de ce nœud à ajouter une colonne qui étiquette l'extraction réussie comme 1 et l'extraction échouée comme 0.
Figure 5 : À l’intérieur du métanode « Extraction ISBN ».
4 — Récupération et visualisation de métainformations
Dans la dernière étape, nous utilisons les codes ISBN pour récupérer les métainformations et les couvertures des livres à partir de l'API Google Livres. Le métanode « Obtenir les métadonnées et les couvertures du livre » s'en charge (Figure 6). Cependant, la récupération des métadonnées n'est possible que si les codes ISBN ont été extraits avec succès. Pour garantir une gestion fluide des extractions ISBN réussies ou non, nous incluons plusieurs nœuds de contrôle de flux de travail. Vous pouvez trouver un aperçu perspicace dans le Aide-mémoire : Contrôle et orchestration avec la plateforme d'analyse KNIME.
Si le code ISBN est extrait avec succès, nous utilisons le GET Demande nœud auquel envoyer une requête GET API Google Livres, un service Web RESTful gratuit alimenté par Google qui permet de récupérer plusieurs métainformations telles que le titre du livre, le sous-titre, les auteurs, la date de publication, la description, le nombre de pages, la langue, la note moyenne, le nombre de notes et la couverture. De plus, ce service web RESTful ne nécessite pas la création d'un compte développeur. La configuration du nœud GET Request est très simple. Cela nécessite la simple sélection d’une « colonne URL » significative que nous construisons dans le Manipulation de chaînes nœud en rejoignant le URL de l'API Google Livres avec le code ISBN de chaque notice d'édition. Toutes les autres configurations peuvent être laissées par défaut.
Nous analysons ensuite la sortie JSON du nœud GET Request à l'aide du Chemin JSON nœud et joignez les métainformations extraites aux couvertures de livres avant de collecter les résultats finaux.
Enfin, nous créons le composant « Visualiser les métadonnées et les couvertures du livre » pour une visualisation soignée des métainformations et des couvertures du livre récupérées.
Dans le composant, nous enveloppons le Widget de filtre de curseur de plage interactif nœud pour activer le filtrage dynamique des livres en fonction du nombre de notes moyennes (0-terrible ; 5-fantastique) attribuées par les lecteurs sur Google Books, et le Carrelage nœud pour afficher les résultats.
Le composant acquiert ensuite une vue comprenant le curseur pour sélectionner les livres en fonction de la note moyenne et un tableau hébergeant les couvertures et la description des livres sélectionnés. Pour cet article, nous avons choisi d'extraire des livres avec des notes comprises entre 3 et 5, et les résultats sont affichés dans la figure 6.
Figure 6 : Métainformations récupérées et couvertures de livres pour les livres dont la note est supérieure à 3.
Résumé
Dans cet article, nous avons illustré comment l'OCR peut être facilement réalisée dans la plateforme d'analyse KNIME. Pour cela, nous avons présenté le nœud Tess4J et apporté des détails sur le fonctionnement de la bibliothèque Tesseract OCR sur laquelle repose ce nœud.
De plus, nous avons montré un cas d’utilisation simple dans lequel l’OCR peut être une ressource puissante et utile. Nous avons extrait des informations des notices d'édition de livres, en particulier les codes ISBN, pour envoyer une requête GET au service Web RESTful de Google Books. Cela nous a permis de récupérer les métadonnées et les couvertures des livres.
Avec KNIME, l'OCR des images pour extraire des informations critiques devient aussi simple que ABC. Essayez-le vous-même ! Quel est votre cas d’utilisation de l’OCR ?
Le workflow présenté dans cet article peut être téléchargé gratuitement depuis le Centre KNIME.
Bibliographie
[1] Smith, R. (2007). «Un aperçu du moteur OCR Tesseract». Neuvième Conférence internationale sur l'analyse et la reconnaissance des documents (ICDAR 2007), p. 629-633. Accessible à :
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[Récupéré : 15.07.2021].
[2] Projet Tesseract OCR sur GitHub — https://github.com/tesseract-ocr/tesseract
[3] Documentation Tesseract OCR sur GitHub — https://tesseract-ocr.github.io/tessdoc/
Roberto Cadili est data scientist chez KNIME, passionné de PNL et amoureux d'histoire. Éditeur de Low Code pour Advanced Data Science.
Lada Rudnitckaia est data scientist chez KNIME.
Comme publié pour la première fois dans Low Code pour la science des données avancée.
ORIGINALE. Republié avec permission.
Connexe:
Source : https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- Compte
- Comptabilité
- AI
- Tous
- selon une analyse de l’Université de Princeton
- analytique
- api
- article
- sur notre blog
- auteurs
- auto
- LES MEILLEURS
- Livres
- Box
- construire
- la performance des entreprises
- entreprises
- les soins
- Carrière
- cas
- reconnaissance des caractères
- chinois
- classification
- Nettoyage
- CLIENTS
- code
- Collecte
- Colonne
- commercial
- Sociétés
- composant
- ordinateurs
- Congrès
- confiance
- configuration
- contenu
- droit d'auteur
- Courant
- tableau de bord
- données
- science des données
- Data Scientist
- détail
- Détection
- Développeur
- mobiles
- Développement
- numérique
- INSTITUTIONNELS
- Goutte
- "Early Bird"
- éditeur
- ingénieur
- Anglais
- etc
- exécution
- Développer vous
- Exploiter
- extraction
- Figure
- finalement
- la traduction de documents financiers
- Prénom
- suivre
- formulaire
- le format
- Test d'anglais
- Français
- GitHub
- Bien
- Réservation de groupe
- Maniabilité
- pratique
- ici
- Haute
- Embauchons
- Histoire
- hébergement
- Comment
- How To
- HTTPS
- idée
- identifier
- image
- Y compris
- passif
- Améliore
- industrie
- d'information
- Interactif
- International
- IT
- rejoindre
- spécialisées
- Coréen
- Etiquettes
- langue
- Langues
- gros
- APPRENTISSAGE
- apprentissage
- Légal
- Levier
- Bibliothèque
- lumière
- Liste
- emplacement
- Location
- machine learning
- traduction automatique
- Manipulation
- moyenne
- à savoir
- Soigné
- Neural
- nlp
- nœuds
- numéros
- OCR
- Offres Speciales
- ouvert
- open source
- reconnaissance optique de caractères
- Option
- Options
- Autre
- Personnes
- Physique
- image
- pixel
- plateforme
- productivité
- Projet
- Python
- qualité
- gamme
- votes
- raw
- les données brutes
- Reader
- lecteurs
- en cours
- rapport
- ressource
- Résultats
- Sciences
- Rechercher
- choisi
- sens
- set
- mise
- étapes
- So
- Logiciels
- RÉSOUDRE
- Espagnol
- Sponsorisé
- Commencer
- Stories
- réussi
- Support
- Appareils
- Les soutiens
- combustion propre
- techniques
- Technologie
- tesseract
- fiable
- top
- Formation
- De La Carrosserie
- transformer
- Traduction
- unicode
- us
- utilisateurs
- Voir
- visualisation
- web
- Qu’est ce qu'
- des mots
- Activités principales
- workflow
- vos contrats
- vaut
- écriture
- X
- années