OCR za datoteke PDF

Izvorno vozlišče: 879686

Predstavitev

Od razširjene uporabe računalnikov v sedemdesetih letih, ki mu je sledila iznajdba PDF-jev leta 1970, je shranjevanje besedilnih datotek v digitalnih oblikah postopoma, a vztrajno prevladovalo nad tradicionalnimi papirji. Ta nepremagljiv rob je bil ustvarjen in dodatno izboljšan s hitrim priklopom interneta, ki omogoča enostavno pošiljanje digitalnih besedilnih datotek po svetu v nekaj sekundah. Danes se strojno kodirana besedila ne shranjujejo in delijo prek datotek PDF, v takšne formate se optično preberejo tudi papirji ročno napisanih dokumentov za nadaljnjo obdelavo in distribucijo.

Ta nastajajoči trend pa je osvetlil novo in trenutno trenutno področje raziskav - optično prepoznavanje znakov PDF (OCR). OCR je postopek pretvorbe optično prebranega ali ročno napisanega besedila v strojno kodirano besedilo, tako da bi ga lahko programi nadalje uporabljali za nadaljnjo obdelavo in analizo. Čeprav je uporaba OCR široka (od slik cestnih znakov do formalnih besedilnih dokumentov), ​​se ta članek posebej ukvarja s področjem OCR PDF, zlasti PDF-jev optično prebranega in ročno napisanega papirja, ter razpravlja o tehnologiji in programih v različnih jezikih za izvajanje naloga. Podroben pregled in primerjava več programske opreme na trgu za OCR PDF je predstavljena za referenco.


Iščete rešitev OCR za pridobivanje informacij iz datotek PDF? Daj Nanonetsvrtenje za večjo natančnost, večjo prilagodljivost, naknadno obdelavo in širok nabor integracij!


Napredek pri rešitvah OCR

Preden se pogovorimo o kodah, podrobnostih in prednostih OCR, najprej predstavimo koncept delovanja OCR z uvedbo napredka v zadevni tehnologiji.

Tradicionalni OCR

Elektronsko pretvorbo optično prebranih dokumentov za nadaljnje računanje, preden se poglobljeno učenje doseže zahtevano natančnost za takšne naloge, običajno izvede v štirih preprostih korakih:

  1. Zberite bazo podatkov znanih znakov.
  2. Uporabite fotosenzorje za zbiranje in ločevanje posameznih črk od optično prebranih dokumentov.
  3. Primerjajte nabor atributov, pridobljenih iz fotosenzorjev, s fizičnimi atributi iz baze podatkov.
  4. Vsak niz atributov ustrezno pretvorite v znani lik z največjo podobnostjo.

Čeprav se zdi, da je tradicionalni pristop večino časa učinkovit, je občutljiv na svoje inherentne omejitve, ki temeljijo na pravilih. Eden ključnih vmesnih korakov OCR je uspešno izločanje posameznih črk ali znakov iz nabora / skupine besedil. Za ekstrakcijo so potrebne nekatere predloge ali pravila (tj. Vnaprej določene velikosti / slogi pisave), da bodo zelo natančni. Uvedba vedno več pravil za povečanje natančnosti bo ustvarila dilemo o prekomerni opremi OCR ali pa bo popravila samo določene sloge pisanja. Kakršna koli nedoslednost osvetlitve med postopkom optičnega branja bi povzročila tudi napake, če OCR popolnoma temelji na pravilih.

Poleg tega primerjave atributov, ki temeljijo na pravilih, tudi pri rokopisih ne zadoščajo. Računalniško ustvarjene pisave so večinoma popravljene z atributi, ki so pogosto očitni in jih je enostavno primerjati - ročno napisane pisave so ravno nasprotno, z neomejenimi različicami, zato jih je težko razvrstiti. Ker se ročno izdelan lik nekoliko razlikuje, tudi vseh njih ni mogoče vključiti v bazo podatkov. To pogosto zahteva, da OCR izvajajo bolj dovršene algoritme poleg naivnega ujemanja atributov.

Končno ovira za več jezikov obstaja tudi v tradicionalnem pristopu. Številni jeziki sprejemajo podobne ali celo enake simbole; če vse simbole shranimo v bazo podatkov, ne bi mogli razlikovati med dvema simboloma zgolj z ujemanjem atributov, zaradi česar je tradicionalni pristop pogosto omejen na samo en jezik na model.

V luči nedavne dobe globokega učenja, ki so jo na srečo vzgojile hitro rastoče računalniške zmogljivosti strojne opreme, so novejši OCR vključili učne modele tako med postopkom pridobivanja besedila kot v fazi njihove interpretacije.

Poglobljeni učni temelji OCR motorji

Poglobljeno učenje, pomembna veja področja strojnega učenja, si je s pomočjo številnih priznanih znanstvenikov, ki so ga postavili v ospredje, pridobilo veliko popularnost. V tradicionalnem inženirstvu je naš cilj oblikovanje sistema / funkcije, ki ustvari izhod iz danega vhoda; globoko učenje pa se naslanja na vložke in izhode, da bi našlo vmesno razmerje, ki ga je mogoče razširiti na nove nevidne podatke s pomočjo tako imenovanih nevronska mreža.

Arhitektura nevronske mreže

Nevronska mreža ali večplastni perceptron posnema način učenja človeških možganov. Vsako vozlišče, in sicer nevroni, znotraj mreže so podobni biološkim nevronom, ki prejemajo informacije, da se "aktivirajo". Kompleti nevronov tvorijo plasti, več plasti pa se zlaga v mrežo, ki uporablja informacije za ustvarjanje napovedi. Napovedovanje je lahko v vseh oblikah, od napovedovanja razreda za klasifikacijske težave do omejujočih polj elementov v nalogah za odkrivanje predmetov - vsi so dosegli vrhunsko stanje v primerjavi s prejšnjo literaturo. Pri nalogi OCR se močno uporabljata dve vrsti izhodnih podatkov skupaj z dvema žanroma omrežij.

  • Konvolucijske nevronske mreže (CNN) - CNN-ji so danes eden najbolj prevladujočih sklopov omrežij, zlasti na področju računalniškega vida. Vsebuje več zavojnih jeder, ki drsijo skozi sliko, da izvlečejo funkcije. Na koncu so CNN skupaj s tradicionalnimi mrežnimi plastmi zelo uspešni pri pridobivanju funkcij iz dane slike za izvajanje napovedi. Ta postopek se lahko nadalje prenese na nalogo iskanja omejevalnih polj in odkrivanja atributov znakov za nadaljnjo razvrstitev v postopku OCR.
  • Dolgoročni kratkoročni spomini (LSTM) - LSTM so družina omrežij, ki se večinoma uporabljajo za sekvenčne vhode. Intuicija je preprosta - za vse zaporedne podatke (npr. Vreme, zaloge) so lahko novi rezultati močno odvisni od prejšnjih rezultatov, zato bi bilo koristno nenehno posredovanje prejšnjih rezultatov kot del vhodnih funkcij pri izvajanju novih napovedi. . V primeru OCR so lahko prej odkrite črke v veliko pomoč pri napovedovanju naslednjih, saj bi nabor znakov običajno moral biti smiseln, ko je sestavljen (npr. Angleška črka "g" je bolj verjetno, da pride po "do" kot številka "9", kljub podobnim atributom).

Poleg glavnih nalog OCR, ki vključujejo poglobljeno učenje, so bile tudi številne stopnje predobdelave za odpravo pristopov, ki temeljijo na pravilih, upravičene do uspešnih tehnologij nevronskih mrež:

  • Označevanje - Če je dokument neprimerno optično prebran, metode, ki temeljijo na pravilih, zlahka ne bodo uspele. Nedavni pristop, ki so ga sprejele tehnologije OCR, je uporaba generičnega kontradiktornega omrežja (GAN), da se "odpravi" vložek. GAN obsega dve omrežji, generator in diskriminator. Generator nenehno ustvarja nove vhodne podatke, da diskriminator razlikuje med dejanskimi in ustvarjenimi vložki, kar generatorju omogoča nenehno izboljševanje pri ustvarjanju idealnih vsebin. V tem primeru je GAN usposobljen iz para odkritih in hrupnih dokumentov, cilj generatorja pa je ustvariti neoglasen dokument, kolikor je mogoče blizu resnici na tleh. Med fazo prijave lahko GAN, če je dobro usposobljen, nato na vsakem vhodu uporabi za fino nastavitev slabo optično prebranih dokumentov.
  • Identifikacija dokumenta - Naloge OCR, zlasti naloge OCR v datotekah PDF, se pogosto uporabljajo za pravilno pridobivanje podatkov iz obrazcev in dokumentov. Zato lahko poznavanje vrste dokumenta, ki ga naprava za optično prepoznavanje znakov trenutno obdeluje, znatno poveča natančnost pridobivanja podatkov. Novejše umetnosti so vključile siamsko mrežo ali primerjalno mrežo za primerjavo dokumentov z obstoječimi formati dokumentov, kar omogoča, da mehanizem OCR predhodno izvede klasifikacijo dokumentov. Ta dodatni korak je bil empirično prikazan za izboljšanje natančnosti pri iskanju besedila.

Če povzamemo, je napredovanju OCR koristila eksponentna rast zmogljivosti strojne opreme in poglobljeno učenje. OCR-ji PDF so zdaj dosegli natančnost do presenetljivih standardov za številne aplikacije.


Iščete rešitev OCR za pridobivanje informacij iz datotek PDF? Daj Nanonetsvrtenje za večjo natančnost, večjo prilagodljivost, naknadno obdelavo in širok nabor integracij!


Aplikacije programske opreme OCR PDF

Glavni cilj OCR je pridobiti podatke iz nestrukturiranih formatov, naj bodo to številčne številke ali dejanske številke. Če je iskanje uspešno in natančno, lahko programi uporabljajo OCR za delovne naloge, kot je prepoznavanje in interpretacija besedila, zlasti za numerično in kontekstualno analizo.

Numerična analiza podatkov

Kadar datoteke PDF vsebujejo numerične podatke, jih OCR pomaga izvleči za izvajanje statistične analize. Natančneje, OCR s pomočjo izvlečkov tabel ali parov ključ / vrednost (KVP) lahko uporabite za iskanje smiselnih števil iz različnih regij enega danega besedila. Nato lahko uporabimo statistične ali celo metode strojnega učenja (npr. KNN, K-Means, Linearna / Logistična regresija) za modele različnih aplikacij

Razlaga besedilnih podatkov

Po drugi strani pa bo obdelava besedilnih podatkov morda zahtevala več stopenj izračuna, pri čemer bo končni cilj programov razumeti "pomen", ki stoji za besedami. Takšen postopek interpretacije besedilnih podatkov v njihove pomenske pomene imenujemo obdelava naravnega jezika (NLP).

Prednosti PDF OCR

OCR PDF služi številnim namenom na ravni aplikacije. Naslednji razdelki opisujejo nekaj primerov uporabe, tako majhnih kot osebna uporaba, tako velikih kot korporacija.

Primeri za osebno uporabo

OCR-ji PDF prinašajo izjemno udobje pri reševanju nadležnih nalog, kot so skeniranje osebnih dokumentov in osebno financiranje.

Osebne izkaznice je pogosto treba pretvoriti v formate PDF in jih poslati različnim aplikacijam. Ti identifikacijski dokumenti vsebujejo informacije, kot so datum rojstva in številke osebnih dokumentov, ki jih je treba pogosto vnašati za različne namene, zato bi bil zelo natančen OCR PDF, ki najde ustrezna polja in ustrezne vrednosti v ID-ju, zelo pomemben pomoč pri opravljanju trivialnih ročnih nalog. Edino potrebno delo bi bilo samo dvakrat preveriti morebitno neskladnost.

Osebno financiranje je še en postopek, ki zahteva na tone ročnega dela. Čeprav so razvoj na področju Excela in preglednic že olajšali naloge, kot je osebno načrtovanje proračuna, bi lahko OCR in pridobivanje podatkov na računih PDF še pospešili postopek. Te podatke lahko samodejno vstavite v preglednice za analizo, kot je omenjeno v prejšnjih oddelkih, ki jih je treba izvesti. Prvotni čas vklopa lahko enostavno izkoristite za razmišljanje o boljših finančnih načrtih.

Primeri poslovne uporabe

Tako velike korporacije kot manjše organizacije se morajo spopadati s tisoči papirjev v podobnih oblikah, ki so zelo delovno intenzivni in vendar neproduktivni (tj. Vsa delovna sila se porabi za nekaj, kar zahteva manj možganske nevihte). OCR je priročen pri avtomatiziranih klasifikacijah dokumentov in zbirkah / analizah raziskav.

OCR omogočajo računalnikom pretvorbo optično prebranih besedil v strojno kodirana besedila. Vsebino pretvorjenih besedil lahko nato uporabimo za razvrščanje dokumentov, ne glede na to, ali gre za prijave za različne vloge ali obrazce, ki čakajo na odobritev. Če se OCR dobro izurjajo, lahko privedejo do minimalnih napak, ki so lahko pogoste zaradi neizogibne človeške utrujenosti. S poslovnega vidika se lahko tudi izdatki za delo močno zmanjšajo.

Glede raziskav ali povratnih informacij, ki jih organizacije pogosto zahtevajo, da izboljšajo svoj trenutni izdelek ali načrte, ima OCR tudi ključno vlogo. Podatke je mogoče hitro pridobiti in obsežno ovrednotiti za statistične analize. Če je dobro oblikovan, se lahko celo ročno napisano besedilo samodejno izvleče in analizira.


Iščete rešitev OCR za pridobivanje informacij iz datotek PDF? Daj Nanonetsvrtenje za večjo natančnost, večjo prilagodljivost, naknadno obdelavo in širok nabor integracij!


Preprosta vadnica

OCR-je PDF lahko dejansko enostavno programirate osebno. Sledi preprost cevovod za izvedbo OCR na datotekah PDF.

Pretvorba PDF v slike

Obstajajo številne knjižnice in API-ji v več jezikih, ki podpirajo predhodno pripravljene OCR-je. Vendar jih večina obdeluje s slikami in ne neposredno PDF-ji. Za poenostavitev naslednjih korakov lahko datoteke PDF vnaprej obdelamo v slikovne formate, preden izvedemo prepoznavanje znakov.

Ena najpogosteje uporabljenih knjižnic za to je pdf2slika knjižnico za Python, ki jo lahko preprosto namestite z naslednjim ukazom:

pip install pdf2image

Nato lahko uvozite knjižnico in uporabite katero koli od dveh vrstic kode, da dobite sliko v obliki PIL, kot sledi:

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())

Za več informacij o kodi si oglejte uradno dokumentacijo v https://pypi.org/project/pdf2image/

OCR slike

Obstajajo številni API-ji velikih tehnoloških podjetij z zelo natančnimi OCR-ji. Zaradi domneve, da so datoteke PDF ponavadi zelo polne gostih besedilnih podatkov, bi bil najprimernejši način za izvedbo takšnega optičnega prepoznavanja besedila uporaba API-ja Google Vision, zlasti Document_Text_Anotacija funkcijo, saj je posebej zasnovana za take namene. Natančneje, Document_Text_Anotacija pošlje kodo mehanizmu OCR, ki ga je Google zasnoval za gosto besedilo, vključno z rokopisi v različnih jezikih.

Celoten API za Google Vision je enostaven za namestitev, lahko se sklicujete na njegova uradna navodila https://cloud.google.com/vision/docs/quickstart-client-libraries za podroben postopek namestitve.

Nato lahko za iskanje OCR uporabimo naslednje kode:

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))

Google Vision API podpira tudi več jezikov, kot sta Java in Go. Več kod o uporabi Googlovega API-ja je na voljo tukaj: https://cloud.google.com/vision  

Obstajajo tudi druge storitve / API-ji za OCR Amazon in Microsoft in vedno lahko uporabite PyTesseract knjižnico za usposabljanje na vašem modelu za posebne namene.


Iščete rešitev OCR za pridobivanje informacij iz datotek PDF? Daj Nanonetsvrtenje za večjo natančnost, večjo prilagodljivost, naknadno obdelavo in širok nabor integracij!


Primerjava

Trenutno je na trgu na voljo veliko OCR-jev PDF. Nekateri so brezplačni, hitri in jih je mogoče takoj uporabiti v spletu, drugi pa ponujajo natančnejše in bolje oblikovane izdelke za profesionalno uporabo. Tu opisujemo nekaj možnosti ter njihove prednosti in slabosti.

Spletni OCR-ji PDF

Pri uporabi OCR-jev PDF za osebno uporabo pri hitrih pretvorbah je lahko bolj zaželeno brezplačno in hitro kot natančnost. Obstajajo številne spletne storitve OCR za PDF, ki ustrezajo tem potrebam. Preprosto lahko naložite dokumente PDF in jih hitro in priročno spremenite v pisano besedilo.

Glavna težava pri tem pa je nadzor kakovosti OCR. Ta spletna brezplačna programska oprema za optično prepoznavanje znakov, čeprav večino časa dobro deluje, ni dolžna vsakič zagotoviti najboljše kakovosti v primerjavi z drugo programsko opremo brez povezave, ki zahteva stalno vzdrževanje

Programska oprema brez povezave

Trenutno obstaja več podjetij, ki zagotavljajo zelo natančne storitve OCR za PDF. Tu preučujemo več možnosti OCR PDF, ki so specializirane za različne vidike, pa tudi nekatere nedavne prototipe raziskav, za katere se zdi, da prinašajo obetavne rezultate:

Obstaja več storitev OCR, ki so usmerjene na naloge, kot so slike v naravi. Te storitve smo izpustili, saj se trenutno osredotočamo samo na branje dokumentov PDF.

  • ABBYY - ABBYY FineReader PDF je OCR, ki ga je razvil ABBYY. Programska oprema ima prijazen uporabniški vmesnik, ki se uporablja za branje PDF in pretvorbo besedila. Vendar pa bi bilo zaradi neinženirske narave (ciljni odjemalci so netehnični strokovnjaki na drugih področjih, ki potrebujejo PDF OCR) težje vključiti v druge programe za nadaljnjo obdelavo.
  • kofax - Podobno kot pri ABBYY je tudi Kofax prijazen bralnik datotek PDF, ki ga je treba kupiti. Cena je določena za individualno uporabo, s popusti za velike korporacije. 24-urna pomoč je na voljo tudi v primeru kakršnih koli tehničnih težav.
  • Globok bralec - Deep Reader je raziskovalno delo, objavljeno na konferenci ACCV 2019. Vključuje več najsodobnejših omrežnih arhitektur za izvajanje nalog, kot so ujemanje dokumentov, iskanje besedila in odstranjevanje slik. Obstajajo dodatne funkcije, kot so tabele in izvlečki parov ključ-vrednost, ki omogočajo organizirano pridobivanje in shranjevanje podatkov.
  • Nanonets ™ - Nanonets ™ PDF OCR uporablja globoko učenje, zato je popolnoma neodvisen od predloge in pravil. Nanonets ne more delati samo na določenih vrstah datotek PDF, temveč ga je mogoče uporabiti tudi za katero koli vrsto dokumenta za iskanje besedil.

zaključek

V zaključku smo se v tem članku sprehodili po osnovah delovanja OCR, pa tudi po časovni osi razvoja OCR, ki ji sledijo preproste vaje in primeri uporabe. Predstavili smo tudi nabor izvedljivih možnosti za OCR-je PDF ter njihove prednosti in slabosti za nadaljnjo uporabo.

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

Časovni žig:

Več od AI in strojno učenje