A könyv metaadatai és borítóinak visszakeresése az OCR és a Google Books API használatával
A KNIME segítségével a kritikus információk kinyerése a képekből olyan egyszerű, mint az ABC.
By Roberto Cadili, Data Scientist, KNIME és Lada Rudnitckaia, Data Scientist, KNIME
1. ábra: Példák könyvkiadási megjegyzésekre, ahol az OCR-nek köszönhetően információkat lehet kinyerni.
Az adattudományi projektünkhöz szükséges nyers adatok legtöbbször nincsenek rendezett, jól strukturált és áttekintő táblázatba rendezve. Ehelyett ez néha szövegként kerül tárolásra egy beszkennelt dokumentumban. A dokumentumban lévő szavakat ezután egyenként ki kell bontani, hogy szöveges formátumú adatcellát képezzenek. Ezt a feladatot az Optical Character Recognition (OCR) végzi.
A cikk szavainak olvasása közben, legyen szó szövegről vagy számról, a szeme képes feldolgozni azokat azáltal, hogy felismeri a karaktereket alkotó világos és sötét mintákat (pl. betűk, számok, írásjelek stb.). Az agy ekkor dekódolja a karakterek és minták különböző kombinációit, hogy megértse a szavak jelentését. Ebben az értelemben a szeme és az agya a legkifinomultabb és legkifinomultabb OCR-motor, amelyet csak el tud képzelni, és anélkül működik, hogy észrevenné.
A számítógépek hasonló képességekkel rendelkeznek, de meg kell küzdeniük egy döntő korláttal: a szemek hiányával. Ha azt szeretnénk, hogy a számítógépek lássanak és olvassanak egy fizikai szöveges dokumentumot, akkor optikai szkennerrel vagy digitális fényképezőgéppel előállított grafikus fájlt kell bevinnünk. Ami a számítógépeket illeti, nincs különbség az egyik opcióval megszerzett dokumentum és az Eiffel-torony fényképe között: mindkettőt színes négyzetek – más néven pixelek – értelmetlen gyűjteményének tekintik, amelyek bármilyen számítógépes grafikai képet alkotnak. Mint ilyen, ez utóbbi csak egy képe a szövegről, amelyet fel kívánunk olvasni, nem pedig maga a szöveg.
Itt jöhet jól az OCR. Ez a nagy teljesítményű technológia képes nyomtatott, gépelt vagy kézzel írott adatok kinyerésére, legyen szó számlákról, névjegykártyákról, jogi szövegekről vagy nyomatokról, és azokat kereshető és szerkeszthető digitális formátummá konvertálja. Bár az OCR-t sok éve drága szolgáltatásnak tekintették, amelyet csak nagyon kevés nagyvállalat engedhet meg magának, a 2000-es évek közepétől kezdődően költsége fokozatosan csökkent, miközben pontossága és képességei úgy fejlődtek, hogy ma már több száz nyelvet és karakterkódolást támogasson. , UTF-8-ról GB2312-re.
A szöveg keresésének és a képekből való kinyerésének előnyei felbecsülhetetlenek lehetnek. Például a jogi vagy számviteli ágazatban jelentős költség- és időmegtakarítást jelenthet, mivel lehetővé teszi a cikkekben vagy a pénzügyi kimutatásokban szereplő szövegrészek vagy számok lekérését pillanatok alatt. Összehasonlítva ezt a folyamatot azzal a költséggel, hogy egy embercsoportot bérelnek fel, hogy több ezer dokumentumot olvassanak át, csak hogy egyetlen kritikus információt találjanak, képet adnak arról, hogy az OCR milyen előnyökkel járhat a vállalkozások számára.
A közelmúltban az OCR technológia csendes forradalmon megy keresztül, mivel a szolgáltatás szolgáltatói kombinálják az AI-val. Ennek eredményeként nem csak az adatok rögzítése, kereshetővé és szerkeszthetővé válik, hanem az AI-rendszer ténylegesen megérti a tartalmat, hogy bizonyos feladatokat hajtson végre. Például egy szöveg OCR-je után a mesterséges intelligencia neurális gépi fordítással tudja biztosítani a fordítását minimális emberi beavatkozással. Egy másik klasszikus példa az auditálási részből származik, ahol a hamis számlák a pdf-dokumentum tartalmának OCR-ellenőrzése után, outlier-detektáló technikák segítségével felismerhetők. Stb. Ez a szinergia a két világ legjobbjait ötvözi a folyamatok ésszerűsítése és a vállalkozások és ügyfelek termelékenységének növelése érdekében.
Az ebben a cikkben leírt használati esetben az OCR-t a könyv azonosítására, majd a könyv metaadatainak a Google Könyvek tárhelyéből való lekérésére használják.
Pontosabban a következőket nézzük meg:
- Hogyan hajtható végre az OCR KNIME Analytics platform.
- Hogyan integrálhatjuk a KNIME OCR processzorát és a Google Books API-t a könyv metaadatainak és borítóinak lekéréséhez.
OCR a KNIME Analytics platformon
A szöveget tartalmazó kép OCR-je a KNIME-ben nagyon egyszerű feladat. Csak telepíteni kell a KNIME képfeldolgozás — Tess4J integráció kiterjesztés a helyi KNIME Analytics platform, és a drag&drop ikonra Tess4J csomópontot a munkafolyamat-szerkesztőbe.
A Tess4J csomópont integrálja a Tesseact OCR könyvtár, az egyik legszélesebb körben használt és legpontosabb elérhető nyílt forráskódú OCR processzor. A Tesseract eredetileg a Hewlett-Packard Laboratories saját szoftvereként fejlesztette ki az 1990-es évek elején, majd 2005-ben nyílt forráskódúvá tették. A Google azóta elfogadta a projektet és szponzorálta a fejlesztést.
A Tess4J csomópont a Tesseract 3-on fut, amely a karakterminták felismerésével működik egy kétmenetes eljárásban.
- Az első lépésben a motor megpróbál minden egyes karaktert felismerni. Ezután az első lépésben nagy biztonsággal felismert karaktereket továbbítja egy adaptív osztályozónak tanítási adatként. Ily módon az adaptív osztályozónak lehetősége van megtanulni, hogyan ismerje fel a következő szöveget pontosabban.
- Előfordulhat azonban, hogy az adaptív osztályozó túl későn tanul meg hasznos információkat ahhoz, hogy érdemben hozzájáruljon. A probléma megoldása és az adaptív osztályozó által megszerzett tudás hasznosítása érdekében a motor egy második lépést hajt végre, ahol a nem eléggé felismert karaktereket újra felismeri [1].
A Tesseract 3 bármilyen (UTF-8 kódolású) Unicode karaktert kezel, és többféle nyelvű szöveget és írási elrendezést tud feldolgozni: balról jobbra (pl. angol, olasz, orosz stb.), jobbról balra (pl. arab, héber, urdu stb.) és felülről lefelé (pl. japán, koreai, kínai stb.) [2].
Fontos. A Mac felhasználók jelenleg nem tudják használni a Tess4J csomópontot. A KNIME fejlesztői a zavartalan működés helyreállításán dolgoznak.
Használati eset: A könyv metaadatainak és borítójának lekérése
Most, hogy alapvető ismereteket szereztünk az OCR működéséről a KNIME Analytics Platformban, vessünk egy pillantást egy érdekes használati esetre. Tegyük fel, hogy összegyűjtöttünk képeket, amelyek több könyv kiadási figyelmeztetését illusztrálják, és ezekkel az információkkal szeretnénk lekérni a könyv metaadatait és borítóit. A visszakeresett adatok ezután felhasználhatók például egy személyre szabott digitális könyvtár felépítésére és egy könyvajánló rendszer betanítására.
A 2. ábrán látható munkafolyamat az összes lépést lefedi: a képolvasástól, az OCR-től, a szövegfeldolgozástól és az ISBN-hivatkozások kinyerésétől a könyv metaadataiig és a borítók visszakereséséig és megjelenítéséig. Nézzük meg részletesen a különböző lépéseket.
2. ábra: Ez munkafolyamat egyszerű OCR-feladatot hajt végre a könyvkiadási értesítéseken, és lekéri a könyv metaadatait és borítóját a Google Books API segítségével.
1 — Képadatok olvasása
Az első lépés a könyvkiadás figyelmeztető képeinek importálása a KNIME-ba. A kiadási értesítés a könyv azon oldala, amely az aktuális kiadással kapcsolatos információkat tartalmaz, például szerzői jogi megjegyzést, jogi megjegyzéseket, publikációs információkat, nyomtatási előzményeket és ISBN-kódot (1. ábra).
A „Read image data” metanode gondoskodik erről egyszerű és programozható módon (3. ábra). A képfájlok tárolási helyét a következővel azonosítjuk Fájlok/mappák listázása csomópontot, és használja a Képolvasó (táblázat) csomópont a képek kecsesen importálásához. Az Image Reader (Table) csomópontban csak a „File Input Column”-t kell megadnunk, vagyis azt az oszlopot, amelyen a képeink tárolására szolgáló fájlok elérési útjai vannak. Az összes többi konfiguráció alapértelmezettként hagyható.
Az Image Reader (Táblázat) része a KNINE képfeldolgozás kiterjesztés, és a bővítmény többi csomópontjához hasonlóan interaktív nézetet kínál, amely tartalmazza a képet és annak metaadatait, egyszerűen kattintson a jobb gombbal a csomópontra, válassza ki a „Nézet: Képnézegető” lehetőséget, és kattintson duplán bármely képre a táblázat nézetben.
3. ábra: A „Képadatok olvasása” metanóduson belül. Az Image Reader (Table) csomópont importálja a képeket a munkafolyamatba, és lehetővé teszi számunkra, hogy interaktívan felfedezzük őket a nézetében.
2 – OCR
A könyvkiadási közlemények képfájljainak beolvasása után azokat OCR-rel tudjuk elvégezni.
A Tess4J csomópont konfigurálása nagyon egyszerű, és mindössze néhány kattintást igényel (4. ábra). Ban,-ben beállítások fülön a csomópont lehetőséget kínál bármilyen elforgatás vagy ferde kép javítására a konfigurációs párbeszédpanel „Preprocessing” részében a „Bemeneti képek elferdítése” négyzet bejelölésével. Általában ezt javasoljuk, mert előfordulhat, hogy a grafikus fájlok nincsenek megfelelően igazítva. Ezenkívül a Tess4J csomópont automatikusan bináris képet készít a motorháztető mögött.
Ezután kiválasztjuk a „Tessdata Path”-et. Alapértelmezés szerint ez a „Belső használata”, amely lehetővé teszi számunkra, hogy kiválasszuk a feldolgozni kívánt szöveg nyelvét. Ebben a konfigurációban az angol az alapértelmezett nyelv, de a Tess4J csomópont más természetes nyelveket is támogat, például a dán, olasz, spanyol, orosz, görög, szlovák, német és francia nyelvet. Érdemes megemlíteni, hogy a „Külső használata” lehetőség kiválasztásával a Tess4J csomópont képességeit bővíthetjük olyan nyelvekkel is, amelyek belsőleg nem támogatottak. Valójában saját, külső betanított adatnyelvi modelleket választhatunk, ha megadjuk a könyvtárat, ahol tárolódnak. A „Belső használata” lehetőséget választjuk, mivel angol nyelvű dokumentumainkhoz szívesebben támaszkodunk a Tess4J belső modelljére.
A „Felismerő konfiguráció” részben megtaláljuk a két legfontosabb legördülő lista konfigurációját, nevezetesen az „Oldalszegmentációs módot” és az „OCR motor módot”. Az első határozza meg, hogyan szegmentálódik oldalunk.
A 4. ábrán a „Full Auto Pageseg” opciót választjuk, amely biztosítja a teljesen automatikus oldalszegmentálást. Az adott használati esettől függően a 13 elérhető mód közül egy másik mód kiválasztása (pl. „Egyoszlopos” vagy „Ritka szöveg”) megfelelőbb lehet.
A második beállítás az OCR motor kiválasztását kéri. Itt a „Csak Tesseract” lehetőséget választjuk, amely biztosítja a leggyorsabb végrehajtást. További lehetőségek közé tartozik a „Cube Only” – a Tesseract alternatív felismerési módja –, amely lassabb, de gyakran jobb eredményeket produkál; vagy a „Tesseract And Cube”, amely a két világ legjobbjait ötvözi. Az egyik vagy másik motor kiválasztása erősen függ a kép minőségétől és a feldolgozni kívánt szöveg összetettségétől.
Az alapbeállításokon kívül a Tess4J csomópont egy Advanced Config fül, ahol meghatározhatunk egy halmazt vezérlési paraméterek. Ez a lap rendkívül rugalmassá teszi a csomópontot, és segít a szakértő felhasználóknak a Tesseract OCR-motor testreszabásában és finomhangolásában sajátos igényeik szerint. Ne aggódjon azonban, a legtöbb esetben az alapvető konfigurációk messzire vezetnek!
4. ábra: A Tess4J csomópont konfigurációs párbeszédablaka.
A Tess4J csomópont konfigurációinak az adott használati esethez való igazítása mellett jó gyakorlat a bemeneti képek alapos előfeldolgozása, ha szükséges. A Tesseract különösen akkor működik a legjobban, ha a képek kellően fel vannak méretezve, hogy a karakterek x-magasságának pixelszáma legalább 20 pixel legyen; a képek helyesen vannak igazítva és kellően nagy felbontásúak; és a sötét szegélyeket eltávolítja, különben félreértelmezheti őket karakterként [3]. A KNINE képfeldolgozás A kiterjesztés számos csomópontot tartalmaz a képtisztításhoz, -kezeléshez és -átalakításhoz, és sok példa munkafolyamatok megtalálható a KNIME Hub.
A Tess4J csomópont kimenete egy táblázat, amely a kivont szöveget String adattípusként tartalmazza, és mint ilyen, kereshető és szerkeszthető.
3 – Szövegfeldolgozás ISBN-kivonathoz
Miután a képek OCR-re kerültek, a bennük lévő szöveg végre elérhető, és hasznos információk kinyerhetők.
A kiadási közlemények általában a könyvhöz rendelt ISBN-kódot tartalmazzák. Az ISBN-kód egy egyedi, 13 számjegyből álló (10 előtt 2007 számjegyű volt), kereskedelmi könyvazonosító, és mint ilyen, a kiadvány minden egyes kiadásához és változatához hozzá van rendelve. Az ISBN-kód kinyerése lehetővé teszi, hogy minden könyvre egyértelműen hivatkozhassunk, amikor metainformációkat szeretnénk lekérni. Ennek eléréséhez a benne foglalt csomópontokra támaszkodhatunk KNIME — Szövegfeldolgozás kiterjesztés, amelyek közül néhányat az „ISBN extrakciós” metanódusban használnak (5. ábra).
A „Szövegtisztítás” metanode-ban az OCR-re írt szöveget String-ről Dokumentum adattípusra alakítjuk át. Ezután a szöveget kisbetűssé alakítjuk, eltávolítjuk az írásjeleket, szóközöket, kötőjeleket, és az „o” betűket „0”-ra (nullák) cseréljük, hogy kijavítsuk az ISBN-kódok félreismert karaktereit.
Kivonjuk az ISBN kódokat az „isbn” karakterláncot követő 13 karakter elkülönítésével, és a Rule Engine csomópont annak ellenőrzésére, hogy a kibontott karakterek nem tartalmaznak-e hiányzó értékeket, és a várt hosszuk 13 karakter. Ezután kihasználjuk ennek a csomópontnak a képességét, hogy hozzáfűzzünk egy oszlopot, amely a sikeres kivonást 1-nek, a sikertelen kivonást pedig 0-nak jelöli.
5. ábra: Az „ISBN extrakció” metanóduson belül.
4 – Metainformáció visszakeresése és megjelenítése
Az utolsó lépésben az ISBN-kódokat használjuk a könyv metainformációinak és borítóinak lekérésére a Google Könyvek API-ból. A „Könyv metaadatok és borítók beszerzése” metanód gondoskodik erről (6. ábra). A metaadatok visszakeresése azonban csak akkor lehetséges, ha az ISBN-kódokat sikeresen kivonták. A sikeres/sikertelen ISBN-kinyerés zökkenőmentes kezeléséhez több munkafolyamat-vezérlő csomópontot is beépítünk. Áttekintő áttekintést találhat a Cheat Sheet: Vezérlés és hangszerelés a KNIME Analytics platformmal.
Ha az ISBN kódot sikeresen kinyerjük, akkor a GET Kérés csomópont, amelyre GET-kérést kell küldeni Google Könyvek API, a Google által üzemeltetett ingyenes RESTful webszolgáltatás, amely lehetővé teszi számos metainformáció lekérését, például a könyv címét, alcímét, szerzőit, megjelenési dátumát, leírását, oldalszámát, nyelvét, átlagos értékelését, értékeléseinek számát és borítóját. Ezenkívül ez a RESTful webszolgáltatás nem igényel fejlesztői fiók létrehozását. A GET Request csomópont konfigurációja nagyon egyszerű. Ehhez egyszerűen ki kell választani egy értelmes „URL oszlopot”, amelyet a String manipuláció csomóponthoz csatlakozva Google Könyvek API URL az egyes kiadási közlemények ISBN-kódjával. Az összes többi konfiguráció alapértelmezettként hagyható.
Ezután elemezzük a GET Request csomópont JSON-kimenetét a JSON elérési út csomópontot, és összekapcsolja a kivont metainformációkat könyvborítókkal, mielőtt összegyűjti a végeredményt.
Végül létrehozzuk a „Könyv metaadatainak és borítóinak megjelenítése” komponenst a visszakeresett könyv metainformációinak és borítóinak ügyes megjelenítéséhez.
Az alkatrészbe becsomagoljuk a Interaktív tartománycsúszka szűrő widget csomópont, amely lehetővé teszi a dinamikus könyvszűrést a Google Könyvek olvasói által hozzárendelt átlagos értékelések (0-borzasztó; 5-fantasztikus) alapján, és Csempe nézet csomópont az eredmények megjelenítéséhez.
Az összetevő ezután egy nézetet kap, amely tartalmazza a könyvek átlagos értékelés alapján történő kiválasztásához csúszkát, valamint egy táblázatot, amely tartalmazza a kiválasztott könyvek borítóját és leírását. Ehhez a cikkhez a 3 és 5 közötti besorolású könyveket választottuk ki, az eredmények pedig a 6. ábrán láthatók.
6. ábra: A 3-nál magasabb értékelésű könyvek metainformációi és borítói.
Összegzésként
Ebben a cikkben bemutattuk, hogyan lehet egyszerűen végrehajtani az OCR-t a KNIME Analytics platformon. Ebből a célból bemutattuk a Tess4J csomópontot, és részleteket közöltünk a Tesseract OCR könyvtár működéséről, amelyen ez a csomópont alapul.
Továbbá bemutattunk egy egyszerű használati esetet, ahol az OCR hatékony és hasznos erőforrás lehet. Információkat gyűjtöttünk ki a könyvkiadásokról szóló értesítésekből – különösen az ISBN-kódokból –, hogy GET-kérést küldjünk a Google Könyvek RESTful webszolgáltatásának. Ez lehetővé tette számunkra a könyv metaadatainak és borítóinak lekérését.
A KNIME segítségével a kritikus információk kinyerése a képek OCR-je olyan egyszerűvé válik, mint az ABC. Próbáld ki te is! Mi az OCR használati esete?
A cikkben bemutatott munkafolyamat ingyenesen letölthető a KNIME Hub.
Referenciák
[1] Smith, R. (2007). „A Tesseract OCR motor áttekintése”. Kilencedik Nemzetközi Dokumentumelemzési és -elismerési konferencia (ICDAR, 2007), 629–633. Megtekinthető:
https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33418.pdf
[Letöltve: 15.07.2021.].
[2] Tesseract OCR projekt a GitHubon — https://github.com/tesseract-ocr/tesseract
[3] Tesseract OCR-dokumentáció a GitHubon — https://tesseract-ocr.github.io/tessdoc/
Roberto Cadili a KNIME adattudósa, az NLP-rajongó és a történelem szerelmese. A Low Code for Advanced Data Science szerkesztője.
Lada Rudnitckaia a KNIME adattudósa.
Az első közzététel szerint: Alacsony kód az Advanced Data Science számára.
eredeti. Engedéllyel újra közzétéve.
Kapcsolódó:
Forrás: https://www.kdnuggets.com/2021/11/book-metadata-cover-retrieval-ocr-google-books-api.html
- "
- &
- 2021
- Fiók
- számvitel
- AI
- Minden termék
- elemzés
- analitika
- api
- cikkben
- cikkek
- szerzők
- auto
- BEST
- Könyvek
- Doboz
- épít
- üzleti
- vállalkozások
- ami
- Karrier
- esetek
- karakter felismerés
- kínai
- besorolás
- Takarításra
- ügyfél részére
- kód
- Gyűjtő
- Oszlop
- kereskedelmi
- Companies
- összetevő
- számítógépek
- Konferencia
- bizalom
- Configuration
- tartalom
- copyright
- Jelenlegi
- műszerfal
- dátum
- adat-tudomány
- adattudós
- részlet
- Érzékelés
- Fejlesztő
- fejlesztők
- Fejlesztés
- digitális
- dokumentumok
- Csepp
- Korai
- szerkesztő
- mérnök
- Angol
- stb.
- végrehajtás
- Bontsa
- Exploit
- kitermelés
- Ábra
- Végül
- pénzügyi
- vezetéknév
- következik
- forma
- formátum
- Ingyenes
- francia
- GitHub
- jó
- Csoport
- Kezelés
- ügyes
- itt
- Magas
- Kölcsönzés
- történelem
- tárhely
- Hogyan
- How To
- HTTPS
- ötlet
- azonosítani
- kép
- Beleértve
- Jövedelem
- Növelje
- ipar
- információ
- interaktív
- Nemzetközi
- IT
- csatlakozik
- tudás
- koreai
- Címkék
- nyelv
- Nyelvek
- nagy
- TANUL
- tanulás
- Jogi
- Tőkeáttétel
- könyvtár
- fény
- Lista
- elhelyezkedés
- Hosszú
- gépi tanulás
- gépi fordítás
- Manipuláció
- közepes
- ugyanis
- Tiszta
- ideg-
- NLP
- csomópontok
- számok
- OCR
- Ajánlatok
- nyitva
- nyílt forráskódú
- optikai karakter felismerés
- opció
- Opciók
- Más
- Emberek (People)
- fizikai
- kép
- pixel
- emelvény
- termelékenység
- program
- Piton
- világítás
- hatótávolság
- értékelés
- Nyers
- nyers adatok
- Olvasó
- olvasók
- Olvasás
- jelentést
- forrás
- Eredmények
- Tudomány
- Keresés
- kiválasztott
- értelemben
- készlet
- beállítás
- Egyszerű
- So
- szoftver
- SOLVE
- spanyol
- Szponzorált
- kezdet
- TÖRTÉNETEK
- sikeres
- támogatás
- Támogatott
- Támogatja
- rendszer
- technikák
- Technológia
- Tesseract
- idő
- felső
- Képzések
- Átalakítás
- transzformáló
- Fordítás
- unicode
- us
- Felhasználók
- Megnézem
- megjelenítés
- háló
- Mi
- szavak
- Munka
- munkafolyamat
- művek
- érdemes
- írás
- X
- év