Predobdelava dokumentov PDF z Amazon Textract: zaznavanje in odstranjevanje vizualnih elementov

Izvorno vozlišče: 1204412

Amazonovo besedilo je popolnoma upravljana storitev strojnega učenja (ML), ki samodejno izvleče natisnjeno besedilo, rokopis in druge podatke iz skeniranih dokumentov, ki presega preprosto optično prepoznavanje znakov (OCR) za prepoznavanje, razumevanje in pridobivanje podatkov iz obrazcev in tabel. Amazon Texttract lahko zazna besedilo v različnih dokumentih, vključno s finančnimi poročili, zdravstvenimi kartotekami in davčnimi obrazci.

V mnogih primerih uporabe morate ekstrahirati in analizirati dokumente z različnimi vizualnimi elementi, kot so logotipi, fotografije in grafikoni. Ti vizualni elementi vsebujejo vdelano besedilo, ki zmoti izpis Amazon Texttract ali pa ni potrebno za vaš nadaljnji proces. Številni obrazci ali dokumenti za vrednotenje nepremičnin na primer vsebujejo slike hiš ali trende preteklih cen. Te informacije niso potrebne v nadaljnjih procesih in jih morate odstraniti, preden uporabite Amazon Texttract za analizo dokumenta. V tej objavi ponazarjamo dve učinkoviti metodi za odstranitev teh vizualnih elementov kot del predprocesiranja.

Pregled rešitev

Za to objavo uporabljamo PDF, ki kot primer vsebuje logotip in grafikon. Za pretvorbo in odkrivanje teh vizualnih elementov uporabljamo dve različni vrsti postopkov, nato pa jih redigiramo.

Pri prvi metodi uporabljamo knjižnico OpenCV canny edge detektor za zaznavanje robov vizualnih elementov. Za drugo metodo napišemo analizator koncentracije slikovnih pik po meri za zaznavanje lokacije teh vizualnih elementov.

Te vizualne elemente lahko izvlečete za nadaljnjo obdelavo in preprosto spremenite kodo, da bo ustrezala vašemu primeru uporabe.

PDF-ji, po katerih je mogoče iskati, so izvorne datoteke PDF, ki jih običajno ustvarijo druge aplikacije, kot so besedilni procesorji, navidezni tiskalniki PDF in izvorni urejevalniki. Te vrste datotek PDF hranijo metapodatke, besedilo in slikovne informacije v dokumentu. Z lahkoto lahko uporabljate knjižnice, kot je PyMuPDF/fitz za krmarjenje po strukturi PDF in prepoznavanje slik in besedila. V tej objavi se osredotočamo na dokumente, po katerih ni mogoče iskati, ali dokumente, ki temeljijo na slikah.

1. možnost: zaznavanje vizualnih elementov z detektorjem robov OpenCV

Pri tem pristopu pretvorimo PDF v format PNG, nato pa dokument v sivinah z OpenCV-Python knjižnico in uporabite Canny Edge Detector za zaznavanje vizualnih lokacij. Sledite lahko podrobnim korakom v nadaljevanju prenosnik.

  1. Pretvori dokument v sivine.

  1. Uporabite algoritem Canny Edge za zaznavanje obrisov v dokumentu Canny-Edged.
  2. Identificirajte pravokotne konture z ustreznimi dimenzijami.

Dodatno lahko prilagodite in optimizirate nekaj parametrov, da povečate natančnost zaznavanja glede na vaš primer uporabe:

  • Najmanjša višina in širina – Ti parametri določajo najmanjši prag višine in širine za vizualno zaznavanje. Izražen je v odstotkih glede na velikost strani.
  • oblazinjenje – Ko je zaznana kontura pravokotnika, določimo dodatno območje oblazinjenja, da imamo nekaj prilagodljivosti na skupni površini strani, ki jo je treba redigirati. To je koristno v primerih, ko besedila v vizualnih elementih niso znotraj jasno razmejenih pravokotnih območij.

Prednosti in slabosti

Ta pristop ima naslednje prednosti:

  • Zadovoljuje večino primerov uporabe
  • Enostaven za izvedbo in hiter za uporabo
  • Njegovi optimalni parametri dajejo dobre rezultate

Vendar ima pristop naslednje pomanjkljivosti:

  • Za vizualne elemente brez omejevalnega polja ali okoliških robov se lahko zmogljivost razlikuje glede na vrsto vizualnih elementov
  • Če je blok besedila znotraj velikih omejevalnih polj, se lahko celoten blok besedila šteje za vizualno in se odstrani po tej logiki

Možnost 2: Analiza koncentracije slikovnih pik

Naš drugi pristop izvajamo z analizo slikovnih pik. Običajni odstavki besedila ohranijo podpis koncentracije v svojih vrsticah. Izmerimo in analiziramo lahko gostoto slikovnih pik, da prepoznamo območja z gostoto slikovnih pik, ki niso podobne preostalemu dokumentu. Sledite lahko podrobnim korakom v nadaljevanju prenosnik.

  1. Pretvori dokument v sivine.
  2. Pretvori sive površine v bele.
  3. Strnite slikovne pike vodoravno, da izračunate koncentracijo črnih slikovnih pik.
  4. Dokument razdelite na vodoravne črte ali segmente, da prepoznate tiste, ki niso celotno besedilo (raztezajo se čez celotno stran).

  1. Za vse vodoravne segmente, ki niso polno besedilo, določite območja, ki so besedilo, in področja, ki so slike. To se izvede s filtriranjem odsekov z uporabo najmanjšega in največjega praga koncentracije črnih slikovnih pik.
  2. Odstranite področja, ki so označena kot necelotno besedilo.

Za optimizacijo natančnosti prepoznavanja nebesedilnih območij lahko nastavite naslednje parametre:

  • Pragi vodoravnih segmentov brez besedila – Določite najnižji in največji prag koncentracije črnih slikovnih pik, ki se uporablja za zaznavanje vodoravnih segmentov brez besedila na strani.
  • Pragi navpičnih segmentov brez besedila – Določite najnižji in največji prag koncentracije črnih slikovnih pik, ki se uporablja za zaznavanje nebesedilnih navpičnih segmentov na strani.
  • Velikost okna – Nadzoruje, kako je stran razdeljena na vodoravne in navpične segmente za analizo (X_WINDOW, Y_WINDOW). Določeno je v številu slikovnih pik.
  • Najmanjša vizualna površina – Določa najmanjše območje, ki se lahko šteje za vizualno, ki jo je treba odstraniti. Določen je v slikovnih pikah.
  • Prag sivega območja – Prag za odtenke sive, ki jih je treba odstraniti.

Prednosti in slabosti

Ta pristop je zelo prilagodljiv. Vendar pa ima naslednje pomanjkljivosti:

  • Optimalni parametri trajajo dlje časa in za doseganje globljega razumevanja rešitve
  • Če dokument ni popolnoma popravljen (slika, posneta s kamero pod kotom), lahko ta metoda ne uspe.

zaključek

V tej objavi smo pokazali, kako lahko implementirate dva pristopa za urejanje vizualnih elementov iz različnih dokumentov. Oba pristopa sta enostavna za izvedbo. Dobite lahko visokokakovostne rezultate in prilagodite katero koli metodo glede na vaš primer uporabe.

Če želite izvedeti več o različnih tehnikah v Amazon Texttract, obiščite javnost AWS Samples GitHub repo.


O avtorjih

 Yuan Jiang je Sr Solution Architect s poudarkom na strojnem učenju. Je član programa Amazon Computer Vision Hero in Amazon Machine Learning Technical Field Community.

Victor Red je Sr Partner Solution Architect s poudarkom na pogovorni AI. Je tudi član programa Amazon Computer Vision Hero.

louis pineda je Sr arhitekt rešitev za upravljanje partnerjev. Je tudi član programa Amazon Computer Vision Hero.

Miguel Romero Calvo je podatkovni znanstvenik iz laboratorija za rešitve strojnega učenja AWS.

Vir: https://aws.amazon.com/blogs/machine-learning/process-text-and-images-in-pdf-documents-with-amazon-texttract/

Časovni žig:

Več od Blog za strojno učenje AWS