Forbehandling af PDF-dokumenter med Amazon Textract: Visuel registrering og fjernelse

Kildeknude: 1204412

amazontekst er en fuldt administreret maskinlæringstjeneste (ML), der automatisk udtrækker trykt tekst, håndskrift og andre data fra scannede dokumenter, der går ud over simpel optisk tegngenkendelse (OCR) for at identificere, forstå og udtrække data fra formularer og tabeller. Amazon Textract kan registrere tekst i en række dokumenter, herunder økonomiske rapporter, lægejournaler og skatteformularer.

I mange tilfælde skal du udtrække og analysere dokumenter med forskellige visuelle elementer, såsom logoer, fotos og diagrammer. Disse visuelle elementer indeholder indlejret tekst, der indvikler Amazon Textract-output eller ikke er påkrævet til din downstream-proces. For eksempel indeholder mange ejendomsvurderingsskemaer eller dokumenter billeder af huse eller tendenser i historiske priser. Disse oplysninger er ikke nødvendige i downstream-processer, og du skal fjerne dem, før du bruger Amazon Textract til at analysere dokumentet. I dette indlæg illustrerer vi to effektive metoder til at fjerne disse visuelle elementer som en del af din forbehandling.

Løsningsoversigt

Til dette indlæg bruger vi en PDF, der indeholder et logo og et diagram som eksempel. Vi bruger to forskellige typer processer til at konvertere og detektere disse billeder og derefter redigere dem.

I den første metode bruger vi OpenCV-bibliotekets canny edge-detektor til at detektere kanten af ​​det visuelle. Til den anden metode skriver vi en brugerdefineret pixelkoncentrationsanalysator for at registrere placeringen af ​​disse billeder.

Du kan udtrække disse billeder til yderligere behandling og nemt ændre koden, så den passer til din brugssituation.

Søgbare PDF'er er native PDF-filer, der normalt genereres af andre applikationer, såsom tekstbehandlere, virtuelle PDF-printere og native editorer. Disse typer PDF'er beholder metadata, tekst og billedoplysninger inde i dokumentet. Du kan nemt bruge biblioteker som f.eks PyMuPDF/fitz til at navigere i PDF-strukturen og identificere billeder og tekst. I dette indlæg fokuserer vi på ikke-søgbare eller billedbaserede dokumenter.

Mulighed 1: Registrering af visuals med OpenCV kantdetektor

I denne tilgang konverterer vi PDF'en til PNG-format og gråtoner derefter dokumentet med OpenCV-Python bibliotek og brug Canny Edge Detector til at registrere de visuelle placeringer. Du kan følge de detaljerede trin i det følgende notesbog.

  1. Konverter dokumentet til gråtoner.

  1. Anvend Canny Edge-algoritmen til at detektere konturer i Canny-Edged-dokumentet.
  2. Identificer de rektangulære konturer med relevante dimensioner.

Du kan yderligere tune og optimere nogle få parametre for at øge detektionsnøjagtigheden afhængigt af din brugssituation:

  • Minimum højde og bredde – Disse parametre definerer minimumshøjde- og breddetærsklerne for visuel detektering. Det er udtrykt i procent af sidestørrelsen.
  • Polstring – Når en rektangelkontur detekteres, definerer vi det ekstra polstringsområde for at have en vis fleksibilitet på det samlede område af siden, der skal redigeres. Dette er nyttigt i tilfælde, hvor teksterne i det visuelle billede ikke er inden for klart afgrænsede rektangulære områder.

Fordele og ulemper

Denne tilgang har følgende fordele:

  • Det tilfredsstiller de fleste anvendelsestilfælde
  • Det er nemt at implementere og hurtigt at komme i gang
  • Dens optimale parametre giver gode resultater

Metoden har dog følgende ulemper:

  • For visuals uden en afgrænsningsramme eller omgivende kanter kan ydeevnen variere afhængigt af typen af ​​visuals
  • Hvis en tekstblok er inde i store afgrænsningsfelter, kan hele tekstblokken betragtes som en visuel og fjernes ved hjælp af denne logik

Mulighed 2: Pixelkoncentrationsanalyse

Vi implementerer vores anden tilgang ved at analysere billedpixelerne. Normale tekstafsnit bevarer en koncentrationssignatur i sine linjer. Vi kan måle og analysere pixeltæthederne for at identificere områder med pixeltætheder, der ikke ligner resten af ​​dokumentet. Du kan følge de detaljerede trin i det følgende notesbog.

  1. Konverter dokumentet til gråtoner.
  2. Konverter grå områder til hvide.
  3. Fold pixels sammen vandret for at beregne koncentrationen af ​​sorte pixels.
  4. Opdel dokumentet i vandrette striber eller segmenter for at identificere dem, der ikke er fuldtekst (strækker sig over hele siden).

  1. For alle vandrette segmenter, der ikke er fuldtekst, skal du identificere de områder, der er tekst versus områder, der er billeder. Dette gøres ved at bortfiltrere sektioner ved hjælp af minimum og maksimum sort pixel koncentrationstærskler.
  2. Fjern områder, der er identificeret som ikke-fuldtekst.

Du kan justere følgende parametre for at optimere nøjagtigheden af ​​at identificere ikke-tekstområder:

  • Tærskler for horisontale segmenter uden tekst – Definer minimums- og maksimumstærskler for sort pixelkoncentration, der bruges til at detektere ikke-tekstlige vandrette segmenter på siden.
  • Ikke-tekstlige lodrette segmenttærskler – Definer minimum og maksimum sort pixel koncentrationstærskler, der bruges til at detektere ikke-tekst lodrette segmenter på siden.
  • Vinduesstørrelse – Styrer, hvordan siden er opdelt i vandrette og lodrette segmenter til analyse (X_WINDOW, Y_WINDOW). Det er defineret i antal pixels.
  • Minimum synsareal – Definerer det mindste område, der kan betragtes som et visuelt billede, der skal fjernes. Det er defineret i pixels.
  • Grå rækkevidde tærskel – Tærsklen for, at gråtoner skal fjernes.

Fordele og ulemper

Denne tilgang er meget tilpasselig. Det har dog følgende ulemper:

  • Optimale parametre tager længere tid og for at opnå en dybere forståelse af løsningen
  • Hvis dokumentet ikke er perfekt rettet (billede taget med kamera med en vinkel), kan denne metode mislykkes.

Konklusion

I dette indlæg viste vi, hvordan du kan implementere to tilgange til at redigere visuals fra forskellige dokumenter. Begge tilgange er nemme at implementere. Du kan få resultater af høj kvalitet og tilpasse begge metoder i henhold til din brugssituation.

Besøg offentligheden for at lære mere om forskellige teknikker i Amazon Textract AWS prøver GitHub repo.


Om forfatterne

 Yuan Jiang er en Sr Solution Architect med fokus på machine learning. Han er medlem af Amazon Computer Vision Hero-programmet og Amazon Machine Learning Technical Field Community.

Victor Red er en Sr Partner Solution Architect med Conversational AI-fokus. Han er også medlem af Amazon Computer Vision Hero-programmet.

louis pineda er en Sr Partner Management Solution Architect. Han er også medlem af Amazon Computer Vision Hero-programmet.

Miguel Romero Calvo er dataforsker fra AWS Machine Learning Solution Lab.

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

Tidsstempel:

Mere fra AWS Machine Learning Blog