PDF-dokumentum előfeldolgozása az Amazon Textract segítségével: Vizuális észlelés és eltávolítás

Forrás csomópont: 1204412

Amazon szöveg egy teljesen felügyelt gépi tanulási (ML) szolgáltatás, amely automatikusan kivonja a nyomtatott szöveget, kézírást és egyéb adatokat a beolvasott dokumentumokból, és túlmutat az egyszerű optikai karakterfelismerésen (OCR) az adatok azonosítása, megértése és az űrlapokból és táblázatokból való kinyerése érdekében. Az Amazon Textract számos dokumentumban képes felismerni a szöveget, beleértve a pénzügyi jelentéseket, az orvosi feljegyzéseket és az adózási űrlapokat.

Sok esetben ki kell bontani és elemezni kell a dokumentumokat különféle látványelemekkel, például logókkal, fényképekkel és diagramokkal. Ezek a látványelemek olyan beágyazott szöveget tartalmaznak, amely összevonja az Amazon Textract kimenetét, vagy nincs rá szükség a későbbi folyamatokhoz. Például sok ingatlanértékelési űrlap vagy dokumentum tartalmaz képeket a házakról vagy a történelmi árak trendjeiről. Ezekre az információkra nincs szükség a későbbi folyamatokban, és el kell távolítania azokat, mielőtt az Amazon Textract segítségével elemzi a dokumentumot. Ebben a bejegyzésben két hatékony módszert mutatunk be ezeknek a látványelemeknek az előfeldolgozás részeként történő eltávolítására.

Megoldás áttekintése

Ehhez a bejegyzéshez egy PDF-fájlt használunk, amely példaként egy logót és egy diagramot tartalmaz. Két különböző típusú folyamatot használunk ezeknek a látványelemeknek a konvertálására és észlelésére, majd szerkesztésére.

Az első módszerben az OpenCV könyvtár canny edge detektorát használjuk a látvány széleinek észlelésére. A második módszerhez egyedi pixelkoncentráció-analizátort írunk, amely meghatározza ezeknek a látványelemeknek a helyét.

Kibonthatja ezeket a látványelemeket további feldolgozáshoz, és könnyen módosíthatja a kódot, hogy megfeleljen a használati esetnek.

A kereshető PDF-ek natív PDF-fájlok, amelyeket általában más alkalmazások, például szövegfeldolgozók, virtuális PDF-nyomtatók és natív szerkesztők generálnak. Az ilyen típusú PDF-ek metaadatokat, szöveget és képinformációkat tárolnak a dokumentumon belül. Könnyen használhatja a könyvtárakat, mint pl PyMuPDF/fitz a PDF szerkezetében való navigáláshoz, valamint a képek és szövegek azonosításához. Ebben a bejegyzésben a nem kereshető vagy képalapú dokumentumokra összpontosítunk.

1. lehetőség: Vizuális elemek észlelése OpenCV élérzékelővel

Ebben a megközelítésben a PDF-fájlt PNG formátumba konvertáljuk, majd szürkeárnyalatos a dokumentumot a OpenCV-Python könyvtárat, és használja a Canny Edge Detectort a vizuális helyek észleléséhez. Az alábbiakban a részletes lépéseket követheti jegyzetfüzet.

  1. Konvertálja a dokumentumot szürkeárnyalatossá.

  1. Alkalmazza a Canny Edge algoritmust a körvonalak észleléséhez a Canny-Edged dokumentumban.
  2. Határozza meg a téglalap alakú kontúrokat a megfelelő méretekkel.

Néhány paramétert tovább hangolhat és optimalizálhat az észlelési pontosság növelése érdekében, a használati esettől függően:

  • Minimális magasság és szélesség – Ezek a paraméterek határozzák meg a vizuális észlelés minimális magassági és szélességi küszöbértékeit. Az oldal méretének százalékában van kifejezve.
  • Bélés – Ha a rendszer téglalap kontúrt észlel, meghatározzuk az extra kitöltési területet, hogy némi rugalmasságot biztosítsunk a szerkesztendő oldal teljes területén. Ez olyan esetekben hasznos, amikor a látványelemek szövegei nem egyértelműen körülhatárolt téglalap alakú területeken belül vannak.

Előnyök és hátrányok

Ennek a megközelítésnek a következő előnyei vannak:

  • A legtöbb használati esetet kielégíti
  • Könnyen megvalósítható, és gyorsan üzembe helyezhető
  • Optimális paraméterei jó eredményeket adnak

A megközelítésnek azonban a következő hátrányai vannak:

  • A határolókeret vagy a környező élek nélküli látványelemek teljesítménye a látványelemek típusától függően változhat
  • Ha egy szövegblokk nagy határolókeretekben van, akkor az egész szövegblokk vizuálisnak tekinthető, és eltávolítható ezzel a logikával

2. lehetőség: Pixelkoncentráció elemzése

Második megközelítésünket a képpixelek elemzésével valósítjuk meg. A normál szöveges bekezdések soraiban megtartják a koncentrált aláírást. Mérhetjük és elemezhetjük a pixelsűrűséget, hogy azonosítsuk azokat a területeket, ahol a pixelsűrűség nem hasonlít a dokumentum többi részéhez. Az alábbiakban a részletes lépéseket követheti jegyzetfüzet.

  1. Konvertálja a dokumentumot szürkeárnyalatossá.
  2. A szürke területek fehérré alakítása.
  3. A fekete képpontok koncentrációjának kiszámításához vízszintesen csukja össze a képpontokat.
  4. Ossza fel a dokumentumot vízszintes csíkokra vagy szegmensekre, hogy azonosítsa azokat, amelyek nem teljes szövegűek (az egész oldalon átnyúlva).

  1. Minden olyan vízszintes szegmensnél, amely nem teljes szöveg, azonosítsa a szöveges és a képi területeket. Ez a szakaszok kiszűrésével történik a fekete pixelkoncentráció minimális és maximális küszöbértékével.
  2. Távolítsa el a nem teljes szövegként azonosított területeket.

A következő paraméterek hangolásával optimalizálhatja a nem szöveges területek azonosításának pontosságát:

  • Nem szöveges vízszintes szegmensküszöbök – Határozza meg a fekete pixelkoncentráció minimális és maximális küszöbértékét, amely az oldalon lévő nem szöveges vízszintes szegmensek észlelésére szolgál.
  • Nem szöveges függőleges szegmens küszöbértékei – Határozza meg a fekete pixelkoncentráció minimális és maximális küszöbértékét az oldalon lévő nem szöveges függőleges szegmensek észlelésére.
  • Ablak mérete – Azt szabályozza, hogy az oldal hogyan legyen felosztva vízszintes és függőleges szegmensekre elemzés céljából (X_WINDOW, Y_WINDOW). A pixelek számában van meghatározva.
  • Minimális vizuális terület – Meghatározza azt a legkisebb területet, amely eltávolítandó látványnak tekinthető. Pixelben van meghatározva.
  • Szürke tartomány küszöbértéke – Eltávolítandó szürke árnyalatok küszöbértéke.

Előnyök és hátrányok

Ez a megközelítés nagymértékben testreszabható. Ennek azonban a következő hátrányai vannak:

  • Az optimális paraméterek elérése hosszabb ideig tart, és a megoldás mélyebb megértéséhez
  • Ha a dokumentum nincs tökéletesen kijavítva (a fényképezőgéppel készített kép szögben), ez a módszer sikertelen lehet.

Következtetés

Ebben a bejegyzésben bemutattuk, hogyan valósíthat meg két megközelítést a különböző dokumentumokból származó vizualizációk eltávolítására. Mindkét megközelítés könnyen megvalósítható. Kiváló minőségű eredményeket érhet el, és bármelyik módszert személyre szabhatja a felhasználási esetnek megfelelően.

Ha többet szeretne megtudni az Amazon Textract különböző technikáiról, keresse fel a nyilvánosságot AWS minták GitHub repo.


A szerzőkről

 Yuan Jiang egy Sr Solution Architect, aki a gépi tanulásra összpontosít. Tagja az Amazon Computer Vision Hero programnak és az Amazon Machine Learning Technical Field Community-nek.

Victor Red egy Sr Partner Solution Architect, aki társalgási AI-központú. Tagja az Amazon Computer Vision Hero programnak is.

Luis Pineda Sr Partner Management Solution Architect. Tagja az Amazon Computer Vision Hero programnak is.

Miguel Romero Calvo az AWS Machine Learning Solution Lab adattudósa.

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

Időbélyeg:

Még több AWS gépi tanulási blog