Zephyrnet-logo

Hoe u eenvoudig gegevens uit loonstroken haalt met behulp van deep learning

Datum:

Hoe loonstroken OCR? Deze blog is een uitgebreid overzicht van verschillende methoden om gestructureerde tekst met behulp van OCR te extraheren uit salarisstroken om handmatige gegevensinvoer te automatiseren.

Loonstroken of loonstrookjes, zoals ze meer algemeen bekend zijn, zijn een veel voorkomende vorm van inkomensverificatie die door kredietverstrekkers wordt gebruikt om uw kredietwaardigheid te controleren. Als u een werkende werknemer bent of in het verleden bent geweest, bent u er ongetwijfeld een tegengekomen. Meestal bevatten deze loonstroken details zoals het inkomen van een werknemer voor een bepaalde tijd inclusief andere velden zoals zijn / haar belastingaftrek, verzekeringsbedragen, burgerservicenummers enz. Deze kunnen op papier of digitaal zijn en soms via e-mail worden verzonden of post.

Momenteel krijgen kredietverstrekkers gescande of digitale pdf's van deze loonstroken en voeren ze handmatig de gegevens ervan in hun systemen in om een ​​lening te verstrekken. Dit proces is tijdrovend, vooral tijdens het hoogseizoen, waardoor het lang duurt tussen het aanvragen van een lening en het vrijgeven van fondsen. Wat als je zou kunnen schraap PDF versies van deze loonstroken en deze tijd terugbrengen tot enkele seconden voor een snellere leningverwerking om uw klant tevreden te stellen?

In deze blog zullen we verschillende manieren bespreken waarop men de informatie-extractie van loonstroken kan automatiseren (Loonstrook OCR of Loonstrook PDF-uittreksel), en sla ze op als gestructureerde gegevens met behulp van Optical Character Recognition (OCR). Verder bespreken we de veelvoorkomende uitdagingen die we tegenkomen bij het bouwen van een nauwkeurige OCR die is geïntegreerd met machine learning en deep learning-modellen. Hieronder vindt u de inhoudsopgave.

In deze sectie bespreken we hoe we gebruik kunnen maken van op OCR gebaseerde algoritmen om informatie uit loonstroken te halen. Als u OCR niet kent, beschouw het dan als een computeralgoritme dat afbeeldingen van getypte of handgeschreven tekst in tekstindeling kan lezen. Er zijn verschillende - gratis en open-source tools op GitHub zoals Tesseract, Ocropus, Kraken, maar hebben bepaalde beperkingen. Tesseract is bijvoorbeeld erg nauwkeurig in het extraheren van georganiseerde tekst, maar het presteert niet goed op ongestructureerde gegevens. Evenzo hebben de andere OCR-tools verschillende beperkingen op basis van de lettertypen, taal, uitlijning, sjablonen enz. Nu we terugkomen op ons probleem van het extraheren van informatie uit loonstroken, zou een ideale OCR in staat moeten zijn om alle essentiële velden op te halen, ongeacht de hierboven besproken nadelen. Laten we nu, voordat we een OCR instellen, de standaardvelden bekijken die we uit een loonstrookdocument moeten halen.

  • Netto salaris
  • Brutosalaris
  • bankrekening
  • Naam van de werkgever
  • Werkgever adres
  • Naam werknemer
  • Werknemersnummer
  • Adres werknemer
  • Salarisperiode
  • Geboortedatum
  • Dagen gewerkt
  • Gewerkte uren
  • Datum van in / uit-service
  • Uurtarief
  • Belastingtarief
  • Datum van afgifte

Voordat we een OCR opzetten en naar de uitvoer kijken, moeten we ons realiseren dat OCR niet weet wat voor soort documenten we ze geven om te extraheren, ze identificeren blindelings de tekst en retourneren ze, ongeacht de velden of ID's die hierboven zijn genoemd. Nu gebruiken we Tesseract, een gratis en open-source OCR-engine van Google. Raadpleeg onze handleiding over Tesseract hier voor meer informatie over het configureren van dit op uw systeem en het ontwikkelen van pythonscripts voor gescande afbeeldingen.

Afbeelding links: loonstrook, afbeelding rechts: tekst uit de loonstrook gehaald met Tesseract

Zoals we duidelijk kunnen zien, identificeerde Tesseract alle tekst in de gegeven afbeelding, ongeacht de tabellen, posities en uitlijning van de tekst, en drukte deze nauwkeurig af. Maar er is veel nabewerking nodig om alle belangrijke velden te selecteren en ze op een gestructureerde manier te plaatsen. Stel dat u alleen de belasting hoeft af te trekken die voor een werknemer is afgetrokken, Tesseract alleen kan dat niet. Dit is waar machine learning en deep learning-modellen in beeld komen om op intelligente wijze de locatie van de velden te identificeren en de nodige waarden te extraheren. We noemen dit extractie van sleutel-waardeparen, laten we bespreken hoe we dit kunnen bereiken in de volgende secties.

Nadelen en uitdagingen

Bij het scannen van loonstroken komen we verschillende problemen tegen, zoals het vastleggen in verkeerde hoeken of zwakke lichtomstandigheden. Nadat ze zijn vastgelegd, is het even belangrijk om te controleren of ze origineel of vervalst zijn. In deze sectie bespreken we deze kritieke uitdagingen en hoe ze kunnen worden aangepakt.

Onjuist scannen

Dit is het meest voorkomende probleem bij het uitvoeren van OCR. Voor gescande en uitgelijnde afbeeldingen van hoge kwaliteit heeft de OCR een hoge nauwkeurigheid bij het produceren van volledig doorzoekbare bewerkbare tekst. Wanneer een scan echter vervormd is of wanneer de tekst wazig is, kunnen OCR-tools deze moeilijk lezen, waardoor soms onnauwkeurige resultaten worden verkregen. Om dit te verhelpen, moeten we vertrouwd zijn met technieken zoals beeldtransformatie en scheeftrekken, die ons helpen het beeld op de juiste plaats uit te lijnen.

Fraude en onscherpe beeldcontroles

Het is belangrijk dat bedrijven en medewerkers controleren of de loonstroken authentiek zijn of niet. Dit zijn enkele van de eigenschappen die ons kunnen helpen controleren of de afbeelding nep is of niet.

  • Identificeer achtergronden voor gebogen of vervormde onderdelen.
  • Pas op voor afbeeldingen van lage kwaliteit.
  • Controleer op wazige of bewerkte teksten.

Een algoritme dat bekend is om deze taak te overwinnen, is de 'Variance of Laplaceian'. Het helpt ons de verdeling van lage en hoge frequenties in de gegeven afbeelding te vinden en te onderzoeken.

Zoals hierboven besproken, zal sleutelwaarde-extractie zoeken naar door de gebruiker gedefinieerde sleutels die statische tekst zijn op formulieren en vervolgens de bijbehorende waarden identificeren. Om deze techniek eerst te bereiken, moet men vertrouwd zijn met Deep Learning. We zullen er ook voor moeten zorgen dat deze deep learning-algoritmen van toepassing zijn op verschillende sjablonen, aangezien hetzelfde algoritme geschikt zou moeten zijn voor documenten van andere formaten. Nadat het algoritme de positie van de vereiste sleutels en waarden heeft gevonden, gebruiken we OCR om de tekst eruit te halen.

Hier is een voorbeeld van hoe tesseract tekst extraheert,

Voorbeeld loonstrook

Sample Company LLC EARNINGS STATEMENT
2305 Gruene Lake Drive, Suite C New Braunfels, Texas
Hidalgo P. Swift XXX-XX-1234 12345 76612 01/08/19-01/14/19 0115/19
GROSS WAGES 24.25 40.00 970.00 FICA MED TAX 14.06 28.12
FICA SS TAX 60.14 120.28
FED TAX 117.68 235.36
1,940.00 383.76 1,556.24 970.00 191.88 778.12

Terwijl we voor het extraheren van sleutelwaardeparen een JSON-uitvoer hebben van de vereiste sleutels en waarden van de gegeven loonstrook. De output JSON-gegevens kunnen worden opgeslagen als gestructureerde gegevens in Excel-sheets, databases en CRM-systemen met behulp van eenvoudige automatiseringsscripts. In de volgende sectie bespreken we enkele technieken voor diepgaand leren voor het extraheren van sleutel-waardeparen op documenten zoals loonstroken.

Deep Learning-modellen voor loonstrookje IE

Er zijn twee manieren om informatie te extraheren met behulp van deep learning: de ene bouwt algoritmen op die van afbeeldingen kunnen leren en de andere van de tekst.

Oké, laten we nu eens diepgaand leren en begrijpen hoe deze algoritmen sleutel-waardeparen uit afbeeldingen of tekst identificeren. Ook speciaal voor loonstroken is het essentieel om de gegevens in de tabellen te extraheren, aangezien de meeste inkomsten en inhoudingen op een loonstrook in tabelvorm worden vermeld. Laten we nu eens kijken naar een paar populaire deep learning-architecturen voor gescande documenten.

In het onderzoek, CUTIE (Leren om documenten te begrijpen met convolutionele universele tekstinformatie-extractor), Xiaohui Zhao stelde voor om belangrijke informatie uit documenten te halen, zoals bonnen of facturen, en de interessante teksten te bewaren tot gestructureerde gegevens. Het hart van dit onderzoek zijn de convolutionele neurale netwerken, die worden toegepast op teksten. Hier zijn de teksten ingebed als objecten met semantische connotaties. Dit model is getraind op 4 gelabelde ontvangstbewijzen en heeft een gemiddelde nauwkeurigheid van 484% en 90.8% behaald op respectievelijk taxibonnen en entertainmentbewijzen.

BERTraster is een populair op deep learning gebaseerd taalmodel voor het begrijpen van generieke documenten en het uitvoeren van extractietaken voor sleutel-waardeparen. Dit model maakt ook gebruik van convolutionele neurale netwerken op basis van semantische instantiesegmentatie voor het uitvoeren van de gevolgtrekking. Over het algemeen was de gemiddelde nauwkeurigheid van de geselecteerde koptekst en regelitems van het document 65.48%.

In DiepDeSRT, Schreiber et al. presenteerde het end-to-end-systeem voor tabelbegrip in documentafbeeldingen. Het systeem bevat twee opeenvolgende modellen voor tabeldetectie en gestructureerde gegevensextractie in de herkende tabellen. Het presteerde beter dan state-of-the-art methoden voor tafeldetectie en structuurherkenning door F1-metingen van respectievelijk 96.77% en 91.44% voor tafeldetectie en structuurherkenning te behalen. Dergelijke modellen kunnen worden gebruikt om uitsluitend waarden uit tabellen met loonstroken te extraheren.

Verder lezen


spot_img

Laatste intelligentie

spot_img