Metapodatki knjig in iskanje naslovnic z uporabo OCR in API-ja za Google Knjige
S KNIME postane ekstrahiranje kritičnih informacij iz slik enostavno kot ABC.
By Roberto Cadili, Data Scientist, KNIME & Lada Rudnickaja, podatkovni znanstvenik, KNIME
Slika 1: Primeri obvestil o izdaji knjige, kjer je mogoče podatke izvleči z OCR.
Večino časa neobdelani podatki, ki jih potrebujemo za naš projekt podatkovne znanosti, niso organizirani v lični, dobro strukturirani in pregledni tabeli. Namesto tega je to včasih shranjeno kot besedilo v skeniranem dokumentu. Besede v dokumentu je treba nato ekstrahirati eno za drugo, da tvorijo besedilno oblikovano podatkovno celico. To je naloga, ki jo izvaja optično prepoznavanje znakov (OCR).
Ko berete besede tega članka, pa naj gre za besedilo ali številko, jih vaše oči lahko obdelajo tako, da prepoznajo svetle in temne vzorce, ki sestavljajo znake (npr. črke, številke, ločila itd.). Vaši možgani nato dekodirajo različne kombinacije znakov in vzorcev, da dojamejo pomen besed. V tem smislu so vaše oči in možgani najbolj izpopolnjen in izpopolnjen OCR motor, ki si ga lahko zamislite, in delujejo, ne da bi tega sploh opazili.
Računalniki imajo podobne zmogljivosti, vendar se morajo spopasti s ključno omejitvijo: odsotnostjo oči. Če želimo, da računalniki vidijo in berejo fizični besedilni dokument, moramo vnesti grafično datoteko, ustvarjeno z optičnim skenerjem ali digitalnim fotoaparatom. Kar zadeva računalnike, ni razlike med dokumentom, pridobljenim s katero koli od teh možnosti, in fotografijo Eifflovega stolpa: oba veljata za nesmiselni zbirki barvnih kvadratov - znanih tudi kot piksli -, ki sestavljajo katero koli računalniško grafično podobo. Kot taka je slednja le slika besedila, ki ga nameravamo brati in ne samo besedilo.
Tukaj lahko OCR pride prav. Ta zmogljiva tehnologija lahko izvleče natisnjene, tipkane ali ročno napisane podatke, naj gre za račune, vizitke, pravna besedila ali izpise, in jih pretvori v digitalno obliko, ki jo je mogoče iskati in urejati. Čeprav je OCR dolga leta veljal za drago storitev, ki si jo je lahko privoščilo le malo velikih podjetij, so od sredine 2000-ih naprej njeni stroški postopoma padli, medtem ko so se njena natančnost in zmogljivosti razvile, da danes podpirajo več sto jezikov in kodiranje znakov , od UTF-8 do GB2312.
Prednost možnosti iskanja in pridobivanja besedila iz slik je lahko neprecenljiva. Na primer, v pravni ali računovodski panogi lahko predstavlja znaten prihranek stroškov in časa, saj omogoča pridobitev delov besedila ali številk v člankih ali finančnih izkazih v nekaj sekundah. Če primerjamo ta proces s stroški najema skupine ljudi, ki preberejo na tisoče dokumentov samo zato, da bi našli eno samo kritično informacijo, dobimo predstavo o tem, kako lahko OCR koristi podjetjem.
V zadnjem času tehnologija OCR doživlja tiho revolucijo, saj jo ponudniki te storitve združujejo z AI. Posledica tega so ne le zajemanje podatkov, omogočanje iskanja in urejanja, ampak sistem AI dejansko razume vsebino za izvajanje določenih nalog. Na primer, po OCR-ju besedila lahko AI zagotovi njegov prevod z nevronskim strojnim prevajanjem z minimalnim človeškim posredovanjem. Še en klasičen primer prihaja iz oddelka za revizijo, kjer je mogoče goljufive račune prepoznati po OCR-ju vsebine dokumenta pdf z uporabo tehnik zaznavanja odstopanj. In tako naprej. Ta sinergija združuje najboljše iz obeh svetov za racionalizacijo procesov in povečanje produktivnosti za podjetja in stranke.
V primeru uporabe, opisanem v tem članku, se OCR uporablja za identifikacijo knjige in nato za pridobitev metapodatkov knjige iz repozitorija Google Books.
Natančneje si bomo ogledali:
- Kako se lahko izvaja OCR v Platforma KNIME Analytics.
- Kako lahko integriramo KNIME-jev procesor OCR in Google Books API za primer uporabe pridobivanja metapodatkov in naslovnice knjige.
OCR v analitični platformi KNIME
OCR slika, ki vsebuje besedilo, v KNIME je zelo lahka naloga. Vse kar je potrebno je, da namestite Obdelava slik KNIME — integracija Tess4J razširitev v vašem lokalu Platforma KNIME Analytics, ter povleci in spusti Tess4J vozlišče na vaš urejevalnik delovnega toka.
Vozlišče Tess4J združuje Tesseract OCR knjižnica, enega najpogosteje uporabljenih in natančnih odprtokodnih procesorjev OCR. Tesseract je prvotno kot lastniško programsko opremo razvil Hewlett-Packard Laboratories v zgodnjih 1990-ih letih in je bil pozneje odprtokoden leta 2005. Google je od takrat sprejel projekt in sponzoriral njegov razvoj.
Vozlišče Tess4J deluje na Tesseract 3, ki deluje tako, da prepoznava vzorce znakov v postopku dveh prehodov.
- V prvem prehodu motor poskuša prepoznati vsak posamezen znak. Nato posreduje znake, ki so bili prepoznani z visoko stopnjo zaupanja pri prvem prehodu v prilagodljiv klasifikator kot podatke za usposabljanje. Na ta način ima prilagodljivi klasifikator možnost, da se nauči natančneje prepoznati naslednje besedilo.
- Lahko pa se zgodi, da prilagodljivi klasifikator prepozno pridobi uporabne informacije, da bi dal pomemben prispevek. Da bi rešil to težavo in izkoristil znanje, pridobljeno s prilagodljivim klasifikatorjem, motor upravlja drugi prehod, kjer znake, ki niso bili dovolj dobro prepoznani, ponovno prepozna [1].
Tesseract 3 obravnava vse znake Unicode (kodirane z UTF-8) in lahko obdeluje besedilo v različnih jezikih in postavitvah pisanja: od leve proti desni (npr. angleščina, italijanščina, ruščina itd.), od desne proti levi (npr. arabščina, hebrejščina, urdu itd.) in od zgoraj navzdol (npr. japonščina, korejščina, kitajščina itd.) [2].
Odpoved odgovornosti. Uporabniki Mac trenutno ne morejo uporabljati vozlišča Tess4J. Razvijalci KNIME si prizadevajo obnoviti nemoteno delovanje.
Primer uporabe: Pridobivanje metapodatkov in naslovnice knjige
Zdaj, ko smo pridobili osnovno razumevanje delovanja OCR v platformi KNIME Analytics, si poglejmo zanimiv primer uporabe. Recimo, da smo zbrali slike, ki ponazarjajo obvestila o izdaji več knjig, in s temi informacijami želimo pridobiti metapodatke in naslovnice knjig. Pridobljene podatke bi lahko nato uporabili na primer za izdelavo prilagojene digitalne knjižnice in usposabljanje sistema za priporočanje knjig.
Delovni tok na sliki 2 zajema vse korake: od branja slik, OCR-ja, obdelave besedila in ekstrakcije reference ISBN do metapodatkov o knjigah ter zajema iskanje in vizualizacijo. Oglejmo si podrobneje različne korake.
Slika 2: To potek dela izvaja preprosto nalogo OCR na obvestilih o izdajah knjig ter pridobi metapodatke in platnice knjige s pomočjo API-ja Google Books.
1 — Branje slikovnih podatkov
Prvi korak je uvoz slik obvestil o izdaji knjige v KNIME. Obvestilo o izdaji je stran v knjigi, ki vsebuje informacije o trenutni izdaji, kot so obvestilo o avtorskih pravicah, pravna obvestila, informacije o objavi, zgodovina tiskanja in koda ISBN (slika 1).
Za to poskrbi metanoda “Read image data” na enostaven in programski način (slika 3). Lokacijo, kjer so shranjene slikovne datoteke, identificiramo z Seznam datotek/map vozlišče in uporabite Bralnik slik (tabela) vozlišče za eleganten uvoz slik. V vozlišču Bralnik slik (Tabela) moramo samo določiti »Vnosni stolpec datoteke«, to je stolpec s potmi do datotek, kjer so shranjene naše slike. Vse druge konfiguracije lahko pustite privzete.
Bralnik slik (tabela) je del Obdelava slik KNINE razširitev in tako kot druga vozlišča v tej razširitvi ponuja interaktivni pogled, ki vsebuje sliko in njene metapodatke, tako da preprosto z desno miškino tipko kliknete vozlišče, izberete »Pogled: Pregledovalnik slik« in dvokliknete katero koli sliko v pogledu tabele.
Slika 3: Znotraj metanode »Read image data«. Vozlišče Bralnik slik (Tabela) uvozi slike v potek dela in nam omogoča, da jih interaktivno raziskujemo v njegovem pogledu.
2 — OCR
Ko v slikovnih datotekah preberemo obvestila o izdaji knjige, jih lahko optično prepoznamo.
Konfiguracija vozlišča Tess4J je zelo preprosta in zahteva le nekaj klikov (slika 4). V Nastavitve vozlišče ponuja možnost, da popravite kakršno koli rotacijo ali poševno sliko tako, da izberete polje »Poravnaj vhodne slike« v razdelku »Predobdelava« konfiguracijskega pogovornega okna. Običajno je priporočljivo, da to storite, saj grafične datoteke morda ne bodo pravilno poravnane. Poleg tega vozlišče Tess4J samodejno ustvari binarizirano sliko za pokrovom.
Nato izberemo »Tessdata Path«. Privzeto je to nastavljeno na »Uporabi interno«, kar nam nato omogoča izbiro jezika besedila, ki ga želimo obdelati. V tej konfiguraciji je angleščina privzeti jezik, vendar vozlišče Tess4J podpira druge naravne jezike, kot so danščina, italijanščina, španščina, ruščina, grščina, slovaščina, nemščina in francoščina. Omeniti velja, da lahko z izbiro »Uporabi zunanjo« razširimo zmogljivosti vozlišča Tess4J na jezike, ki niso interno podprti. Pravzaprav lahko izberemo lastne, zunanje usposobljene podatkovne jezikovne modele, tako da določimo imenik, kjer so shranjeni. Izbrali smo »Uporabi interno«, ker se za naše angleške dokumente raje zanašamo na interne modele Tess4J.
V razdelku »Konfiguracija prepoznavanja« najdemo dve najpomembnejši konfiguraciji spustnega seznama, in sicer »Način segmentacije strani« in »Način mehanizma OCR«. Prvi določa, kako je naša stran segmentirana.
Na sliki 4 izberemo »Full Auto Pageseg«, ki zagotavlja popolnoma samodejno segmentacijo strani. Odvisno od posameznega primera uporabe je morda primernejša izbira drugega načina izmed 13 razpoložljivih (npr. »En stolpec« ali »Redko besedilo«).
Druga nastavitev nas prosi, da izberemo motor OCR. Tukaj izberemo »Samo Tesseract«, ki zagotavlja najhitrejšo izvedbo. Druge možnosti vključujejo "Samo kocka" - alternativni način prepoznavanja za Tesseract - ki je počasnejši, vendar pogosto daje boljše rezultate; ali "Tesseract And Cube", ki združuje najboljše iz obeh svetov. Izbira enega ali drugega mehanizma je močno odvisna od kakovosti slike in zahtevnosti besedila, ki ga želimo obdelati.
Vozlišče Tess4J poleg osnovnih nastavitev ponuja še Napredna konfiguracija zavihek, kjer lahko določimo niz kontrolni parametri. Ta zavihek naredi vozlišče izjemno prilagodljivo in pomaga strokovnim uporabnikom, da prilagodijo in natančno prilagodijo motor Tesseract OCR svojim posebnim potrebam. Ne skrbite, v večini primerov vas bodo osnovne konfiguracije pripeljale daleč!
Slika 4: Konfiguracijsko pogovorno okno vozlišča Tess4J.
Poleg prilagajanja konfiguracij vozlišča Tess4J glede na primer uporabe je dobra praksa, da po potrebi temeljito predhodno obdelate vhodne slike. Zlasti Tesseract najbolje deluje, če so slike dovolj povečane, tako da je število slikovnih pik x-višine znakov vsaj 20 slikovnih pik; slike so pravilno poravnane in imajo dovolj visoko ločljivost; in morebitne temne obrobe so odstranjene ali pa jih je mogoče napačno razumeti kot znake [3]. The Obdelava slik KNINE razširitev vključuje več vozlišč za čiščenje slik, manipulacijo in transformacijo ter mnoge primer delovnih tokov je mogoče najti na KNIME Hub.
Izhod vozlišča Tess4J je tabela, ki vsebuje ekstrahirano besedilo kot podatkovni tip String, in kot tako je mogoče iskati in urejati.
3 — Obdelava besedila za ekstrakcijo ISBN
Ko so slike optično prepoznane, je mogoče končno dostopati do besedila, ki ga vsebujejo, in pridobiti koristne informacije.
Zlasti obvestila o izdaji običajno poročajo o kodi ISBN, dodeljeni knjigi. Koda ISBN je edinstvena, 13-mestna (dolgo pred letom 10 je bila 2007-mestna) identifikator komercialne knjige in je kot taka dodeljena vsaki ločeni izdaji in različici publikacije. Izvleček kode ISBN nam omogoča nedvoumno sklicevanje na vsako knjigo, ko želimo pridobiti metainformacije. Da bi to dosegli, se lahko zanesemo na vozlišča, vključena v KNIME — Obdelava besedila razširitev, od katerih so nekatere uporabljene v metanodi »ISBN extraction« (slika 5).
V metanodi »Čiščenje besedila« začnemo s preoblikovanjem OCR-jevega besedila iz niza v podatkovni tip dokumenta. Nato pretvorimo besedilo v male črke, odstranimo ločila, prazne presledke, vezaje in zamenjamo črke »o« z »0« (ničle), da popravimo napačno prepoznane znake v kodah ISBN.
Kode ISBN izvlečemo tako, da izločimo 13 znakov, ki sledijo nizu »isbn«, in uporabimo Motor za pravila vozlišče za preverjanje, ali ekstrahirani znaki ne vsebujejo manjkajočih vrednosti in imajo pričakovano dolžino 13 znakov. Nato izkoristimo zmožnost tega vozlišča, da dodamo stolpec, ki označuje uspešno ekstrakcijo kot 1 in neuspešno ekstrakcijo kot 0.
Slika 5: Znotraj metanode »ISBN extraction«.
4 — Pridobivanje in vizualizacija metainformacij
V zadnjem koraku uporabimo kode ISBN za pridobivanje metainformacij o knjigah in naslovnic iz API-ja Google Books. Za to poskrbi metanoda »Pridobi metapodatke in platnice knjige« (slika 6). Vendar pa je pridobivanje metapodatkov mogoče le, če so bile kode ISBN uspešno ekstrahirane. Da bi zagotovili nemoteno obravnavo uspešnega/neuspešnega pridobivanja ISBN, vključujemo več vozlišč za nadzor poteka dela. Podroben pregled najdete v Cheat Sheet: Nadzor in orkestracija s platformo KNIME Analytics.
Če je koda ISBN uspešno ekstrahirana, uporabimo PRIDOBITE zahtevo vozlišče, kamor želite poslati zahtevo GET Google Books API, brezplačna spletna storitev RESTful, ki jo poganja Google in omogoča pridobivanje več metainformacij, kot so naslov knjige, podnaslov, avtorji, datum objave, opis, število strani, jezik, povprečna ocena, število ocen in naslovnica. Poleg tega ta spletna storitev RESTful ne zahteva ustvarjanja računa razvijalca. Konfiguracija vozlišča GET Request je zelo enostavna. Zahteva preprosto izbiro smiselnega »URL stolpca«, ki ga sestavimo v Manipulacija z nizi vozlišče tako, da se pridruži URL API za Google Knjige s kodo ISBN vsakega obvestila o izdaji. Vse druge konfiguracije lahko pustite privzete.
Nato razčlenimo izhod JSON vozlišča GET Request z uporabo Pot JSON vozlišče in združi ekstrahirane metainformacije s platnicami knjig, preden zbere končne rezultate.
Nazadnje ustvarimo komponento »Vizualiziraj metapodatke in platnice knjige« za lepo vizualizacijo pridobljenih metainformacij in platnic knjige.
V komponento zavijemo Pripomoček filtra interaktivnega drsnika razpona vozlišče za omogočanje dinamičnega filtriranja knjig na podlagi povprečnega števila ocen (0-grozno; 5-fantastično), ki so jih dodelili bralci v Google Knjigah, in Pogled ploščic vozlišče za prikaz rezultatov.
Komponenta nato pridobi pogled, vključno z drsnikom za izbiro knjig na podlagi povprečne ocene in tabelo, ki gosti platnice in opis izbranih knjig. Za ta članek smo izbrali ekstrahiranje knjig z ocenami med 3 in 5, rezultati pa so prikazani na sliki 6.
Slika 6: Pridobljene metainformacije in naslovnice knjig za knjige z ocenami, višjimi od 3.
Povzetek
V tem članku smo ponazorili, kako je mogoče preprosto izvesti OCR v platformi KNIME Analytics. V ta namen smo predstavili vozlišče Tess4J in zagotovili podrobnosti o delovanju knjižnice Tesseract OCR, na kateri to vozlišče temelji.
Poleg tega smo prikazali preprost primer uporabe, kjer je OCR lahko močan in uporaben vir. Izluščili smo podatke iz obvestil o izdajah knjig – zlasti kode ISBN – za pošiljanje zahteve GET spletni storitvi RESTful Google Books. To nam je omogočilo pridobitev metapodatkov in naslovnic knjig.
S KNIME OCR-ovanje slik za ekstrahiranje kritičnih informacij postane enostavno kot ABC. Preizkusite sami! Kakšen je vaš primer uporabe OCR?
Potek dela, predstavljen v tem članku, lahko brezplačno prenesete iz KNIME Hub.
Reference
[1] Smith, R. (2007). »Pregled motorja Tesseract OCR«. Deveta mednarodna konferenca o analizi in prepoznavanju dokumentov (ICDAR 2007), str. 629–633. Dostopno na:
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[Pridobljeno: 15.07.2021].
[2] Projekt Tesseract OCR na GitHubu — https://github.com/tesseract-ocr/tesseract
[3] Dokumentacija Tesseract OCR na GitHubu — https://tesseract-ocr.github.io/tessdoc/
Roberto Cadili je podatkovni znanstvenik pri KNIME, NLP navdušenec in ljubitelj zgodovine. Urejevalnik za Low Code for Advanced Data Science.
Lada Rudnickaja je podatkovni znanstvenik pri KNIME.
Kot je bilo prvič objavljeno leta Nizka koda za napredno podatkovno znanost.
prvotni. Poročeno z dovoljenjem.
Povezano:
Vir: https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- Račun
- računovodstvo
- AI
- vsi
- Analiza
- analitika
- API
- članek
- članki
- Avtorji
- avto
- BEST
- knjige
- Pasovi
- izgradnjo
- poslovni
- podjetja
- ki
- Kariera
- primeri
- prepoznavanje znakov
- kitajski
- Razvrstitev
- čiščenje
- stranke
- Koda
- Zbiranje
- Stolpec
- komercialna
- Podjetja
- komponenta
- računalniki
- Konferenca
- zaupanje
- konfiguracija
- vsebina
- avtorske pravice
- Trenutna
- Armaturna plošča
- datum
- znanost o podatkih
- podatkovni znanstvenik
- Podatki
- Odkrivanje
- Razvojni
- Razvijalci
- Razvoj
- digitalni
- Dokumenti
- Drop
- Zgodnje
- urednik
- inženir
- Angleščina
- itd
- izvedba
- Razširi
- Izkoristite
- pridobivanje
- Slika
- končno
- finančna
- prva
- sledi
- obrazec
- format
- brezplačno
- francosko
- GitHub
- dobro
- skupina
- Ravnanje
- priročen
- tukaj
- visoka
- Najem
- zgodovina
- gostovanje
- Kako
- Kako
- HTTPS
- Ideja
- identificirati
- slika
- Vključno
- prihodki
- Povečajte
- Industrija
- Podatki
- interaktivno
- Facebook Global
- IT
- pridružite
- znanje
- Korejski
- Oznake
- jezik
- jeziki
- velika
- UČITE
- učenje
- Pravne informacije
- Vzvod
- Knjižnica
- light
- Seznam
- kraj aktivnosti
- Long
- strojno učenje
- strojno prevajanje
- Manipulacija
- srednje
- in sicer
- Čisto
- Nevronski
- nlp
- vozlišča
- številke
- OCR
- Ponudbe
- odprite
- open source
- optično prepoznavanje znakov
- Možnost
- možnosti
- Ostalo
- ljudje
- fizično
- slika
- pixel
- platforma
- produktivnost
- Projekt
- Python
- kakovost
- območje
- ocen
- Surovi
- surovi podatki
- Bralec
- bralci
- reading
- poročilo
- vir
- Rezultati
- Znanost
- Iskalnik
- izbran
- Občutek
- nastavite
- nastavitev
- Enostavno
- So
- Software
- SOLVE
- španski
- Sponzorirane
- Začetek
- zgodbe
- uspešno
- podpora
- Podprti
- Podpira
- sistem
- tehnike
- Tehnologija
- tesserakt
- čas
- vrh
- usposabljanje
- Preoblikovanje
- preoblikovanje
- prevod
- unicode
- us
- Uporabniki
- Poglej
- vizualizacija
- web
- Kaj je
- besede
- delo
- potek dela
- deluje
- vredno
- pisanje
- X
- let