Raamatu metaandmete ja kaante otsimine OCR-i ja Google Books API abil
KNIME abil muutub piltidelt kriitilise teabe eraldamine sama lihtsaks kui ABC.
By Roberto Cadili, andmeteadlane, KNIME ja Lada Rudnitckaia, andmeteadlane, KNIME
Joonis 1: Näited raamatute väljaande teadetest, kust saab tänu OCR-ile teavet eraldada.
Enamasti pole meie andmeteaduse projekti jaoks vajalikud toorandmed korrastatud, hästi struktureeritud ja arusaadavas tabelis. Pigem salvestatakse see mõnikord tekstina skannitud dokumendis. Seejärel tuleb dokumendis olevad sõnad ükshaaval välja võtta, et moodustada tekstivormingus andmelahter. Seda ülesannet täidab optiline märgituvastus (OCR).
Selle artikli sõnu, olgu see siis tekst või number, lugedes suudavad teie silmad neid töödelda, tuvastades märgid moodustavad heledad ja tumedad mustrid (nt tähed, numbrid, kirjavahemärgid jne). Seejärel dekodeerib teie aju erinevaid tähemärkide ja mustrite kombinatsioone, et mõista sõnade tähendust. Selles mõttes on teie silmad ja aju kõige keerukam ja rafineeritum OCR-mootor, mida võite ette kujutada, ja need töötavad ilma, et te seda isegi märkaksite.
Arvutitel on sarnased võimalused, kuid nad peavad tegelema olulise piiranguga: silmade puudumisega. Kui tahame, et arvutid näeksid ja loeksid füüsilist tekstidokumenti, peame sisestama graafilise faili, mis on genereeritud kas optilise skanneri või digikaameraga. Mis puutub arvutitesse, siis kummagi variandiga omandatud dokumendil ja Eiffeli torni fotol pole vahet: mõlemat peetakse värviliste ruutude (tuntud ka pikslite) mõttetuks kogumiks, mis moodustavad mis tahes arvutigraafika. Sellisena on viimane vaid pilt tekstist, mida kavatseme lugeda, mitte tekstist endast.
Siin võib OCR olla kasulik. See võimas tehnoloogia suudab eraldada prinditud, trükitud või käsitsi kirjutatud andmeid, olgu need siis arved, visiitkaardid, juriidilised tekstid või väljatrükid, ning teisendada need otsitavasse ja redigeeritavasse digitaalvormingusse. Kuigi OCR-i on aastaid peetud kalliks teenuseks, mida said endale lubada vaid väga vähesed suured ettevõtted, on alates 2000. aastate keskpaigast selle maksumus järk-järgult langenud, samas kui selle täpsus ja võimalused on arenenud nii, et see toetab tänapäeval mitusada keelt ja märgikodeeringut. , alates UTF-8 kuni GB2312.
Piltidelt teksti otsimise ja nendest eraldamise eelised võivad olla hindamatud. Näiteks õigus- või raamatupidamisvaldkonnas võib see olla märkimisväärne kulude ja aja kokkuhoid, kuna see võimaldab mõne sekundiga leida artiklites või finantsaruannetes olevaid tekstiosi või numbreid. Selle protsessi võrdlemine inimeste rühma palkamisega, et lugeda läbi tuhandeid dokumente, et leida üksainus oluline teave, annab aimu, kuidas OCR võib ettevõtetele kasu saada.
Viimasel ajal on OCR-tehnoloogia läbimas vaikset revolutsiooni, kuna selle teenuse pakkujad ühendavad selle AI-ga. Selle tulemusena mitte ainult ei koguta andmeid, muudetakse neid otsitavaks ja redigeeritavaks, vaid AI-süsteem mõistab sisu konkreetsete ülesannete täitmiseks. Näiteks pärast teksti OCR-i saab tehisintellekt pakkuda selle tõlke neuraalse masintõlke abil minimaalse inimese sekkumisega. Teine klassikaline näide pärineb auditi rubriigist, kus petturlikud arved saab ära tunda pärast pdf-dokumendi sisu OCR-i läbivaatamist, kasutades kõrvalekallete tuvastamise tehnikaid. Ja nii edasi. See sünergia ühendab mõlema maailma parimad omadused, et tõhustada protsesse ja suurendada ettevõtete ja klientide tootlikkust.
Selles artiklis kirjeldatud kasutusjuhul kasutatakse OCR-i raamatu tuvastamiseks ja seejärel raamatu metaandmete hankimiseks Google Booksi hoidlast.
Täpsemalt vaatleme järgmist:
- Kuidas OCR-i saab läbi viia KNIME Analyticsi platvorm.
- Kuidas saame integreerida KNIME OCR-protsessori ja Google Books API-i raamatute metaandmete ja kaane toomiseks.
OCR KNIME Analyticsi platvormil
Teksti sisaldava pildi OCR-i tuvastamine KNIME-s on väga lihtne ülesanne. Kõik, mis on vajalik, on installida KNIME pilditöötlus – Tess4J integratsioon laiendus teie kohalikus piirkonnas KNIME Analyticsi platvormja pukseerimiseks Tess4J sõlme oma töövoo redaktorisse.
Tess4J sõlm integreerib Tesseracti OCR-teek, üks kõige laialdasemalt kasutatavaid ja täpsemaid saadaolevaid avatud lähtekoodiga OCR-protsessoreid. Tesseracti töötas algselt välja Hewlett-Packard Laboratories patenteeritud tarkvarana 1990. aastate alguses ja hiljem muudeti see 2005. aastal avatud lähtekoodiga tarkvaraks. Sellest ajast alates on Google projekti omaks võtnud ja selle arendust sponsoreerinud.
Tess4J sõlm töötab Tesseract 3-s, mis tuvastab kahekäigulises protseduuris märgimustrid.
- Esimesel läbimisel püüab mootor ära tunda iga üksiku tegelase. Seejärel edastab see esimesel läbimisel suure usaldusväärsusega tuvastatud märgid adaptiivsesse klassifikaatorisse treeningandmetena. Nii on adaptiivsel klassifikaatoril võimalus õppida järgnevat teksti täpsemalt ära tundma.
- Siiski võib juhtuda, et adaptiivne klassifikaator õpib kasulikku teavet liiga hilja, et anda sisulist panust. Selle probleemi lahendamiseks ja adaptiivse klassifikaatoriga omandatud teadmiste ärakasutamiseks käivitab mootor teise käigu, kus märgid, mida ei tuvastatud piisavalt hästi, tuvastatakse uuesti [1].
Tesseract 3 käsitleb kõiki Unicode'i märke (kodeeritud UTF-8-ga) ja suudab töödelda teksti erinevates keeltes ja kirjutamispaigutuses: vasakult paremale (nt inglise, itaalia, vene jne), paremalt vasakule (nt araabia, heebrea, urdu jne) ja ülalt alla (nt jaapani, korea, hiina jne) [2].
Vastutusest loobumine Maci kasutajad ei saa praegu Tess4J sõlme kasutada. KNIME arendajad töötavad selle nimel, et taastada tõrgeteta toimimine.
Kasutusjuhtum: raamatu metaandmete ja kaane toomine
Nüüd, kui oleme saanud põhiteadmised OCR toimimisest KNIME Analyticsi platvormis, vaatame ühte huvitavat kasutusjuhtumit. Oletame, et oleme kogunud pilte, mis illustreerivad mitme raamatu väljaandeteatisi ja selle teabe abil tahame hankida raamatute metaandmed ja kaaned. Otsitud andmeid saab seejärel kasutada näiteks kohandatud digitaalse raamatukogu koostamiseks ja raamatusoovitussüsteemi koolitamiseks.
Joonisel 2 olev töövoog hõlmab kõiki samme: alates pildi lugemisest, OCR-ist, tekstitöötlusest ja ISBN-i viidete eraldamisest kuni raamatu metaandmete ja kaante otsimise ja visualiseerimiseni. Vaatame üksikasjalikult erinevaid samme.
Joonis 2: see töövoog täidab lihtsa optilise tekstituvastuse ülesande raamatute väljaande teadetega ning hangib Google Books API abil raamatu metaandmed ja kaaned.
1 — lugege pildiandmeid
Esimene samm on raamatuväljaande teadete kujutiste importimine rakendusse KNIME. Väljaande teatis on leht raamatus, mis sisaldab teavet praeguse väljaande kohta, nagu autoriõiguse teatis, juriidilised teated, avaldamisteave, trükiajalugu ja ISBN-kood (joonis 1).
Metanood “Read image data” hoolitseb selle eest lihtsal ja programmilisel viisil (joonis 3). Me tuvastame pildifailide salvestamise asukoha Failide/kaustade loend sõlme ja kasutage Pildilugeja (tabel) sõlm piltide graatsiliseks importimiseks. Pildilugeja (tabeli) sõlmes peame määrama ainult failisisestuse veeru, st veeru, mis sisaldab failide teed, kuhu meie pildid on salvestatud. Kõik muud konfiguratsioonid saab jätta vaikeseadeks.
Pildilugeja (tabel) on osa KNINE pilditöötlus laiendus ja nagu ka teised selle laienduse sõlmed, pakub see interaktiivset vaadet, mis sisaldab pilti ja selle metaandmeid, lihtsalt paremklõpsates sõlmel, valides "View: Image Viewer" ja topeltklõpsates mis tahes pildil tabelivaates.
Joonis 3: metanoodi sees “Read image data”. Pildilugeja (tabeli) sõlm impordib pildid töövoogu ja võimaldab meil neid oma vaates interaktiivselt uurida.
2 — OCR
Pärast raamatuväljaande teadete pildifailide lugemist saame need OCR-i läbi lugeda.
Tess4J sõlme seadistamine on väga lihtne ja nõuab vaid paari klõpsu (joonis 4). Aastal Seaded vahekaardil, pakub sõlm võimalust korrigeerida mis tahes pööramist või kallutatud pilti, valides konfiguratsioonidialoogi jaotises "Eeltöötlus" kasti "Sisendpiltide moonutamine". Tavaliselt soovitatakse seda teha, kuna graafilised failid ei pruugi olla õigesti joondatud. Lisaks toodab Tess4J sõlm kapoti taga automaatselt binaarset kujutist.
Järgmisena valime "Tessdata tee". Vaikimisi on see seatud valikule "Kasuta sisemist", mis võimaldab meil seejärel valida töödeldava teksti keele. Selles konfiguratsioonis on vaikekeel inglise keel, kuid Tess4J sõlm toetab muid loomulikke keeli, nagu taani, itaalia, hispaania, vene, kreeka, slovaki, saksa ja prantsuse keel. Tasub mainida, et valides “Use External”, saame Tess4J sõlme võimalusi laiendada, et hõlmata keeli, mida sisemiselt ei toetata. Tõepoolest, me saame valida oma välise koolitatud andmekeele mudelid, määrates kataloogi, kuhu need salvestatakse. Valime „Kasuta sisemist”, kuna eelistame oma ingliskeelsete dokumentide puhul tugineda Tess4J sisemudelitele.
Jaotises "Tuvastamise konfiguratsioon" leiame kaks kõige olulisemat rippmenüü konfiguratsiooni, nimelt "Lehekülje segmenteerimise režiim" ja "OCR-mootori režiim". Esimene määrab, kuidas meie leht on segmenteeritud.
Joonisel 4 valime “Full Auto Pageseg”, mis tagab täisautomaatse lehe segmenteerimise. Sõltuvalt konkreetsest kasutusjuhtumist võib sobivam valik olla mõne muu režiimi valimine 13-st saadaolevast (nt "Ühe veerg" või "Hõred tekst").
Teine seade palub meil valida OCR-mootori. Siin valime "Ainult Tesseract", mis tagab kiireima täitmise. Muude valikute hulgas on "Cube Only" – Tesseracti alternatiivne tuvastusrežiim, mis on aeglasem, kuid annab sageli paremaid tulemusi; või “Tesseract And Cube”, mis ühendab endas mõlema maailma parimad. Ühe või teise mootori valimine sõltub suuresti pildi kvaliteedist ja töödeldava teksti keerukusest.
Lisaks põhisätetele pakub Tess4J sõlm Täpsem konfiguratsioon vahekaart, kus saame määratleda komplekti juhtimisparameetrid. See vahekaart muudab sõlme äärmiselt paindlikuks ja aitab asjatundlikel kasutajatel kohandada ja viimistleda Tesseracti OCR-mootorit vastavalt nende konkreetsetele vajadustele. Kuid ärge muretsege, enamikul juhtudel viivad põhikonfiguratsioonid teid kaugele!
Joonis 4: Tess4J sõlme konfiguratsioonidialoog.
Lisaks Tess4J sõlme konfiguratsioonide kohandamisele vastavalt käesolevale kasutusjuhtumile on hea tava sisendkujutisi vajadusel põhjalikult eeltöödelda. Eelkõige töötab Tesseract kõige paremini siis, kui pildid on piisavalt suurendatud, nii et märkide x-kõrguse pikslite arv on vähemalt 20 pikslit; pildid on õigesti joondatud ja piisavalt kõrge eraldusvõimega; ja kõik tumedad äärised eemaldatakse või neid võidakse tähemärkidena valesti tõlgendada [3]. The KNINE pilditöötlus laiendus sisaldab mitmeid sõlmpunkte pildi puhastamiseks, manipuleerimiseks ja teisendamiseks ning paljusid näidistöövood võib leida aadressil KNIME jaotur.
Tess4J sõlme väljund on tabel, mis sisaldab ekstraheeritud teksti stringi andmetüübina ning sellisena saab seda otsida ja redigeerida.
3 – ISBN-i väljavõtmiseks mõeldud tekstitöötlus
Kui pildid on OCR-iga läbi viidud, pääseb lõpuks juurde nendes sisalduvale tekstile ja saab sealt kasulikku teavet.
Eelkõige on väljaande teadetes tavaliselt kirjas raamatule määratud ISBN-kood. ISBN-kood on unikaalne, 13-kohaline (enne 10. aastat oli see 2007-kohaline) kommertsraamatu identifikaator ja sellisena omistatakse see väljaande igale eraldi väljaandele ja variatsioonile. ISBN-koodi eraldamine võimaldab meil metainfot hankides üheselt viidata igale raamatule. Selle saavutamiseks saame tugineda lisatud sõlmedele KNIME — tekstitöötlus laiendust, millest mõnda kasutatakse ISBN-i ekstraheerimise metanoodis (joonis 5).
Metanoodis "Teksti puhastamine" alustame OCR-teksti teisendamisest stringist dokumendi andmetüübiks. Järgmisena teisendame teksti väiketähtedeks, eemaldame kirjavahemärgid, tühjad tühikud, sidekriipsud ja asendame tähed “o” 0-ga (nullidega), et parandada ISBN-koodides valesti tuvastatud tähemärke.
Eraldame ISBN-koodid, eraldades 13 tähemärki, mis järgnevad stringile „isbn”, ja kasutame Reegli mootor sõlme, et kontrollida, kas eraldatud märgid ei sisalda puuduvaid väärtusi ja nende eeldatav pikkus on 13 tähemärki. Seejärel kasutame selle sõlme võimalust lisada veerg, mis märgib eduka ekstraheerimise kui 1 ja ebaõnnestunud ekstraheerimise kui 0.
Joonis 5: ISBN-i ekstraheerimise metanoodi sees.
4. Metainformatsiooni otsimine ja visualiseerimine
Viimases etapis kasutame ISBN-koode raamatute metateabe ja kaante hankimiseks Google Booksi API-st. Selle eest hoolitseb metanood „Hangi raamatu metaandmed ja kaaned” (joonis 6). Metaandmete otsimine on siiski võimalik ainult siis, kui ISBN-koodid on edukalt välja võetud. Eduka/ebaõnnestunud ISBN-i eraldamise sujuva käsitlemise tagamiseks kaasame mitu töövoo juhtsõlme. Põhjaliku ülevaate leiate lehelt Petuleht: juhtimine ja orkestreerimine KNIME Analyticsi platvormiga.
Kui ISBN-kood on edukalt välja võetud, kasutame HANGI taotlus sõlm, millele GET-taotlus saata Google Booksi API, Google'i jõul töötav tasuta veebiteenus RESTful, mis võimaldab hankida mitut metateavet, nagu raamatu pealkiri, alapealkiri, autorid, avaldamiskuupäev, kirjeldus, lehekülgede arv, keel, keskmine hinnang, hinnangute arv ja kaas. Lisaks ei nõua see RESTfuli veebiteenus arendajakonto loomist. GET Request sõlme konfiguratsioon on väga lihtne. See nõuab sisuka URL-i veeru lihtsat valimist, mille koostame Stringi manipuleerimine sõlme ühendades Google Booksi API URL iga väljaande teate ISBN-koodiga. Kõik muud konfiguratsioonid saab jätta vaikeseadeks.
Seejärel sõelume GET Request sõlme JSON-väljundi, kasutades JSON-tee sõlme ja ühendage ekstraheeritud metateave raamatukaantega enne lõpptulemuste kogumist.
Lõpuks loome komponendi „Raamatute metaandmete ja kaante visualiseerimine”, mis võimaldab hankitud raamatute metateavet ja kaaneid kenasti visualiseerida.
Komponendi sisse mähime Interaktiivne vahemiku liuguri filtri vidin sõlm, et lubada dünaamiline raamatute filtreerimine, mis põhineb keskmisel hinnangute arvul (0-kohutav; 5-fantastiline), mille lugejad on määranud teenuses Google Books, ja Plaadivaade sõlm tulemuste kuvamiseks.
Seejärel omandab komponent vaate, mis sisaldab liugurit, et valida raamatud keskmise hinnangu alusel, ja tabel, mis sisaldab valitud raamatute kaaneid ja kirjeldust. Selle artikli jaoks valisime väljavõtteks raamatud, mille reitingud on vahemikus 3–5, ja tulemused kuvatakse joonisel 6.
Joonis 6. Üle 3 reitinguga raamatute metateave ja raamatukaaned.
kokkuvõte
Selles artiklis oleme illustreerinud, kuidas OCR-i saab hõlpsasti läbi viia KNIME Analyticsi platvormil. Selleks oleme esitlenud Tess4J sõlme ja esitanud üksikasjad selle sõlme aluseks oleva Tesseract OCR teegi toimimise kohta.
Lisaks oleme näidanud lihtsat kasutusjuhtumit, kus OCR võib olla võimas ja kasulik ressurss. Oleme välja võtnud teabe raamatute väljaande teadetest – eelkõige ISBN-koodidest –, et saata Google Booksi veebiteenusele RESTful GET-taotlus. See on võimaldanud meil hankida raamatute metaandmeid ja kaaneid.
KNIME abil muutub OCR-i piltide kriitilise teabe eraldamine sama lihtsaks kui ABC. Proovige seda ise! Milline on teie OCR-i kasutusjuht?
Selles artiklis esitatud töövoo saab tasuta alla laadida saidilt KNIME jaotur.
viited
[1] Smith, R. (2007). "Tesseracti OCR-mootori ülevaade". Üheksas rahvusvaheline dokumentide analüüsi ja tunnustamise konverents (ICDAR 2007), lk 629–633. Juurdepääs aadressil:
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[Laaditud: 15.07.2021].
[2] Tesseracti OCR projekt GitHubis — https://github.com/tesseract-ocr/tesseract
[3] Tesseracti OCR-i dokumentatsioon GitHubis — https://tesseract-ocr.github.io/tessdoc/
Roberto Cadili on KNIME andmeteadlane, NLP entusiast ja ajaloohuviline. Advanced Data Science jaoks mõeldud madala koodi toimetaja.
Lada Rudnitckaia on KNIME andmeteadlane.
Nagu esmakordselt avaldati aastal Advanced Data Science'i madal kood.
Originaal. Loaga uuesti postitatud.
Seotud:
Allikas: https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- konto
- raamatupidamine
- AI
- Materjal: BPA ja flataatide vaba plastik
- analüüs
- analytics
- API
- artikkel
- kaubad
- autorid
- auto
- BEST
- Raamatud
- Kast
- ehitama
- äri
- ettevõtted
- mis
- Karjäär
- juhtudel
- tegelase äratundmine
- hiina
- klassifikatsioon
- puhastamine
- kliendid
- kood
- Kollektsioneerimine
- Veerg
- kaubandus-
- Ettevõtted
- komponent
- arvutid
- Konverents
- usaldus
- konfiguratsioon
- sisu
- autoriõigus
- Praegune
- armatuurlaud
- andmed
- andmeteadus
- andmeteadlane
- detail
- Detection
- arendaja
- Arendajad
- & Tarkvaraarendus
- digitaalne
- dokumendid
- Drop
- Varajane
- toimetaja
- insener
- Inglise
- jms
- täitmine
- Laiendama
- Ekspluateeri
- kaevandamine
- Joonis
- Lõpuks
- finants-
- esimene
- järgima
- vorm
- formaat
- tasuta
- prantsuse
- GitHub
- hea
- Grupp
- Käsitsemine
- mugav
- siin
- Suur
- Töökohad
- ajalugu
- Hosting
- Kuidas
- Kuidas
- HTTPS
- idee
- identifitseerima
- pilt
- Kaasa arvatud
- tulu
- Suurendama
- tööstus
- info
- interaktiivne
- rahvusvaheliselt
- IT
- liituma
- teadmised
- korea
- Labels
- keel
- Keeled
- suur
- Õppida
- õppimine
- Õigus
- Finantsvõimendus
- Raamatukogu
- valgus
- nimekiri
- liising
- Pikk
- masinõpe
- masintõlge
- Manipuleerimine
- keskmine
- nimelt
- puhas
- Neural
- nlp
- sõlmed
- numbrid
- OCR
- Pakkumised
- avatud
- avatud lähtekoodiga
- optiline märkide tuvastamine
- valik
- Valikud
- Muu
- Inimesed
- füüsiline
- pilt
- piksel
- inimesele
- tootlikkus
- projekt
- Python
- kvaliteet
- valik
- hinnangust
- Töötlemata
- algandmed
- lugeja
- lugejad
- Lugemine
- aru
- ressurss
- Tulemused
- teadus
- Otsing
- väljavalitud
- tunne
- komplekt
- kehtestamine
- lihtne
- So
- tarkvara
- LAHENDAGE
- hispaania
- Sponsorite
- algus
- Lood
- edukas
- toetama
- Toetatud
- Toetab
- süsteem
- tehnikat
- Tehnoloogia
- tesserakt
- aeg
- ülemine
- koolitus
- Transformation
- transformeerivate
- Tõlge
- Unicode
- us
- Kasutajad
- vaade
- visualiseerimine
- web
- Mis on
- sõnad
- Töö
- töövoog
- töötab
- väärt
- kirjutamine
- X
- aastat