Razčlenitev računa – ekstrakcija podatkov računa za datoteke PDF in skenirane dokumente PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Razčlenitev računa – ekstrakcija podatkov računa za datoteke PDF in skenirane dokumente

Če ste kdaj morali ročno obdelati račun, veste, kako dolgotrajen in naporen je lahko postopek. Da ne omenjam, nagnjen je k napakam, saj je zlahka kaj spregledati, ko vse delate ročno.

Tu pridejo na vrsto razčlenjevalniki računov. Ta orodja avtomatizirajo postopek pridobivanja podatkov iz računov, kar omogoča hitro in enostavno pridobivanje informacij, ki jih potrebujete. To vam lahko prihrani veliko časa in težav ter pomaga zagotoviti, da so vaši računi natančno obdelani.

Ta članek raziskuje postopek ekstrakcije podatkov o računih z uporabo razčlenjevalnikov računov, z razpravo o nekaterih najboljših metodah za to, vključno z ekstrakcijo tabele, naprednim OCR in globokim učenjem.

Preučili bomo tudi prednosti avtomatiziranega pridobivanja podatkov iz računov pred ročno obdelavo. Potopimo se takoj.

Kaj je razčlenjevalnik računov?

Razčlenjevalnik računov je vrsta programske opreme, ki je zasnovana za branje in razlago dokumentov računov. To lahko vključuje datoteke PDF, slike in druge vrste datotek.

Namen razčlenjevalnika računa je pridobiti ključne informacije iz računa, kot so ID računa, skupni zapadli znesek, datum računa, ime stranke itd. Razčlenjevalniki računov lahko pomagajo zagotoviti točnost tako, da se izognejo napakam, do katerih lahko pride zaradi ročnega pridobivanja podatkov.

Te podatke lahko nato uporabimo za različne namene, kot npr AP avtomatizacija, postopek zaključka računovodstva ob koncu mesecain upravljanje računov.

Razčlenjevalci računov so lahko samostojni programi ali integrirani v večje sisteme poslovne programske opreme. Ta orodja ekipam olajšajo ustvarjanje poročil ali izvoz podatkov v druge aplikacije, kot je Excel, in se pogosto uporabljajo skupaj z drugimi aplikacijami za upravljanje poslovanja.

Na trgu je veliko različnih programskih rešitev za razčlenjevanje računov, zato je ključnega pomena, da izberete tisto, ki ustreza vašim posebnim potrebam.

Kako deluje razčlenjevalnik računov?

Da bi razumeli, kako delujejo razčlenjevalniki računov, je pomembno, da imate delovno znanje o razčlenjevalnikih.

Razčlenjevalci se uporabljajo za interpretacijo in obdelavo dokumentov, napisanih v določenem označevalnem jeziku. Dokument razdelijo na manjše dele, imenovane žetoni, in nato analizirajo vsak žeton, da ugotovijo njegov pomen in kako se prilega splošni strukturi dokumenta.

Da bi to naredili, morajo razčlenjevalci dobro razumeti slovnico uporabljenega označevalnega jezika. To jim omogoča, da prepoznajo posamezne žetone in pravilno razumejo razmerja med njimi. Odvisno od razčlenjevalnika je ta postopek lahko ročni ali samodejen. Ročni razčlenjevalniki zahtevajo, da nekdo preleti dokument in identificira vsak žeton, medtem ko samodejni razčlenjevalniki uporabljajo algoritme za samodejno zaznavanje in obdelavo žetonov. Kakor koli že, razčlenjevalniki igrajo bistveno vlogo pri osmišljanju dokumentov, napisanih v označevalnih jezikih.

Pri pridobivanju podatkov lahko razčlenjevanje računa analizira dokument računa in izvleče ustrezne informacije.

Razmislite na primer o primeru, ko ste prejeli veliko računov in želite podatke iz njih shraniti v strukturirani obliki. Razčlenjevanje računa vam omogoča, da naložite vse datoteke in zaženete optično prepoznavanje znakov (OCR), tako da je mogoče podatke prebrati in vse pare ključ-vrednost ekstrahirati v nekaj minutah. Nato lahko uporabite nekaj algoritmov za naknadno obdelavo, da jih shranite v bolj berljive formate, kot sta JSON ali CSV. Lahko tudi graditi procese in poteke dela z uporabo razčlenjevanja računov za avtomatizacijo pridobivanja računov iz evidenc vašega podjetja.

Razčlenjevanje računa s Pythonom

Python je programski jezik za različne naloge pridobivanja podatkov, vključno z razčlenjevanjem računov. Ta razdelek vas bo naučil, kako uporabljati knjižnice Python za pridobivanje podatkov iz računov.

Izdelava splošnega najsodobnejšega razčlenjevalnika računov, ki se lahko izvaja na vseh tipih podatkov, je težka, saj vključuje različne naloge, kot so branje besedila, obravnavanje jezikov, pisav, poravnava dokumentov in ekstrahiranje parov ključ-vrednost. Vendar pa bi lahko s pomočjo odprtokodnih projektov in nekaj iznajdljivosti rešili vsaj nekaj teh težav in začeli.

Uporabili bomo na primer orodje, imenovano tabula, na vzorčnem računu – knjižnico python za ekstrahiranje tabel za razčlenjevanje računa. Če želite zagnati spodnji delček kode, se prepričajte, da sta Python in tabula/tabulate nameščena na lokalni napravi.

vzorec-računa.pdf.

from tabula import read_pdf
from tabulate import tabulate
# PDF file to extract tables from
file = "sample-invoice.pdf"

# extract all the tables in the PDF file
#reads table from pdf file
df = read_pdf(file ,pages="all") #address of pdf file
print(tabulate(df[0]))
print(tabulate(df[1]))

izhod

-  ------------  ----------------
0  Order Number  12345
1  Invoice Date  January 25, 2016
2  Due Date      January 31, 2016
3  Total Due     $93.50
-  ------------  ----------------

-  -  -------------------------------  ------  -----  ------
0  1  Web Design                       $85.00  0.00%  $85.00
      This is a sample description...
-  -  -------------------------------  ------  -----  ------

Tabele bi lahko ekstrahirali iz datoteke PDF z nekaj vrsticami kode. To je zato, ker je bila datoteka PDF dobro oblikovana, poravnana in ustvarjena elektronsko (ni posneta s kamero). V nasprotju s tem, če bi bil dokument zajet s kamero, namesto da bi bil izdelan elektronsko, bi bilo tem algoritmom veliko težje izluščiti podatke – tukaj pride v poštev optično prepoznavanje znakov.

Izkoristimo tesserakt, priljubljen motor OCR za python, za razčlenjevanje računa.

import cv2
import pytesseract
from pytesseract import Output

img = cv2.imread('sample-invoice.jpg')

d = pytesseract.image_to_data(img, output_type=Output.DICT)
print(d.keys())

To bi vam moralo dati naslednje rezultate -

dict_keys(['level', 'page_num', 'block_num', 'par_num', 'line_num', 'word_num', 'left', 'top', 'width', 'height', 'conf', 'text'])

Z uporabo tega slovarja lahko dobimo vsako zaznano besedo, informacije o njenem omejevalnem polju, besedilo v njih in njihove ocene zaupanja.

Polja lahko izrišete s spodnjo kodo -

n_boxes = len(d['text'])
for i in range(n_boxes):
    if float(d['conf'][i]) > 60:
        (x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])
        img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)

cv2.imshow('img', img)
cv2.waitKey(0)

Videli boste naslednje rezultate:

Tako lahko uporabimo in prepoznamo regije računa. Vendar je treba za ekstrakcijo para ključ-vrednost zgraditi algoritme po meri. Več o tem bomo izvedeli v naslednjih razdelkih.

Težave s podedovanimi razčlenjevalniki računov (zajem na podlagi pravil)

Danes se številne organizacije še vedno zanašajo na podedovane sisteme za pridobivanje podatkov o računih.

Ti sistemi, ki temeljijo na pravilih, razčlenijo vsako vrstično postavko na računih in jih nato primerjajo z naborom pravil, da ugotovijo, ali naj se informacije dodajo v njihovo bazo podatkov.

Ta metoda se uporablja že dolgo, vendar ima več pomanjkljivosti. Oglejmo si nekaj pogostih težav, s katerimi se soočajo starejši razčlenjevalniki računov.

  • Nagib strani med skeniranjem: Ena od težav z razčlenjevalniki računov, ki temeljijo na pravilih, je, da imajo lahko težave z »nagibom strani«. To se zgodi, ko polja v računu niso postavljena v ravni črti, zaradi česar razčlenjevalnik težko natančno prepozna in izvleče podatke. To lahko pogosto povzročijo tiskalniki, ki ne tiskajo enakomerno, ali ročni vnos podatkov, ki morda niso pravilno poravnani.
  • Sprememba oblike: Ena najpogostejših težav, s katerimi se sooča podjetje, so računi, ki niso oblikovani v standardni obliki. To lahko povzroči težave pri pridobivanju podatkov iz računa. Uporabite lahko na primer različne pisave, postavitev računa pa se lahko spreminja iz enega meseca v drugega. Težko je razčleniti podatke in ugotoviti, kaj posamezni stolpec predstavlja. Računu bi lahko na primer dodali nekaj novih polj ali pa nekatera obstoječa polja postavili na drugačna mesta. Lahko pa obstaja povsem nova struktura, zaradi katere navaden razčlenjevalnik, ki temelji na pravilih, ne bo mogel pravilno prepoznati računov.
  • Izvleček tabele: Ekstraktorji tabel na podlagi pravil so pogosto najbolj preprost in enostaven način za ekstrahiranje podatkov iz tabele. Vendar pa imajo svoje omejitve pri delu s tabelami, ki ne vsebujejo nobenih glav ali vključujejo ničelne vrednosti v določenih stolpcih, ker bodo ti scenariji povzročili neskončno zanko med obdelavo, kar bo povzročilo bodisi izgubo časa pri nalaganju neskončno dolgih vrstic v pomnilnik (ali pa ne bodo izpisali ničesar). sploh), če obstajajo odvisni izrazi, ki vključujejo tudi te atribute. Poleg tega, ko tabele zajemajo več strani, jih razčlenjevalniki na podlagi pravil obravnavajo kot različne tabele namesto kot eno in tako zavedejo postopek ekstrakcije.

Z Nanoneti zgradite razčlenjevalnik računov na osnovi umetne inteligence

Razčlenjevalniki računov z optičnim prepoznavanjem znakov (OCR) in globokim učenjem lahko izvlečejo podatke iz računov, ki so bili optično prebrani ali pretvorjeni v datoteke PDF. S temi podatki je nato mogoče zapolniti računovodsko programsko opremo, spremljati stroške in ustvarjati poročila.

Algoritmi globokega učenja se lahko naučijo prepoznati določene elemente na računu, kot so ime, naslov in informacije o izdelku stranke. To omogoča natančnejše pridobivanje podatkov in lahko skrajša čas, potreben za ročni vnos podatkov v sistem. Vendar izgradnja takšnih algoritmov zahteva veliko časa in strokovnega znanja, vendar ne skrbite; Nanonets vas varuje!

Nanonets je programska oprema OCR, ki uporablja umetno inteligenco za avtomatizacijo ekstrakcije tabel iz dokumentov PDF, slik in skeniranih datotek. Za razliko od drugih rešitev ne zahteva ločenih pravil in predlog za vsako novo vrsto dokumenta. Namesto tega se zanaša na kognitivno inteligenco za obravnavo polstrukturiranih in nevidnih dokumentov, medtem ko se sčasoma izboljšuje. Izhod lahko tudi prilagodite tako, da izvleče samo tabele ali vnose podatkov, ki vas zanimajo.

Je hiter, natančen, enostaven za uporabo, uporabnikom omogoča izdelavo modelov OCR po meri iz nič in ima nekaj čednih integracij Zapier. Digitalizirajte dokumente, ekstrahirajte tabele ali podatkovna polja in se integrirajte s svojimi vsakodnevnimi aplikacijami prek API-jev v preprostem, intuitivnem vmesniku.

[Vgrajeni vsebina]

Zakaj je Nanonets najboljši razčlenjevalnik PDF?

  • Nanoneti lahko ekstrahirajo podatke na strani, medtem ko razčlenjevalniki PDF ukazne vrstice ekstrahirajo samo predmete, glave in metapodatke, kot so (naslov, #strani, stanje šifriranja itd.)
  • Tehnologija razčlenjevanja PDF Nanonets ne temelji na predlogah. Poleg tega, da ponuja vnaprej pripravljene modele za priljubljene primere uporabe, lahko algoritem za razčlenjevanje PDF Nanonets obravnava tudi nevidne vrste dokumentov!
  • Poleg obdelave izvornih dokumentov PDF Nanonet vgrajene zmožnosti OCR omogočajo tudi obdelavo skeniranih dokumentov in slik!
  • Robustne funkcije avtomatizacije z zmogljivostmi AI in ML.
  • Nanoneti z lahkoto obravnavajo nestrukturirane podatke, pogoste podatkovne omejitve, večstranske dokumente PDF, tabele in večvrstične elemente.
  • Nanonets je orodje brez kode, ki se lahko nenehno uči in ponovno usposablja na podatkih po meri, da zagotovi rezultate, ki ne zahtevajo naknadne obdelave.

Samodejno razčlenjevanje računov z Nanonets – ustvarjanje delovnih tokov obdelave računov brez dotika

Integrirajte svoja obstoječa orodja z Nanonets in avtomatizirajte zbiranje podatkov, izvozno shranjevanje in knjigovodstvo.

Nanoneti lahko pomagajo tudi pri avtomatizaciji delovnih tokov razčlenjevanja računov z:

  • Uvoz in konsolidacija podatkov o računih iz več virov – e-pošte, skeniranih dokumentov, digitalnih datotek/slik, shrambe v oblaku, ERP, API itd.
  • Inteligentno zajemanje in pridobivanje podatkov o računih iz računov, potrdil, računov in drugih finančnih dokumentov.
  • Kategorizacija in kodiranje transakcij na podlagi poslovnih pravil.
  • Nastavitev samodejnih delovnih tokov odobritve za pridobivanje notranjih odobritev in upravljanje izjem.
  • Usklajevanje vseh transakcij.
  • Brezhibna integracija z ERP-ji ali računovodsko programsko opremo, kot so Quickbooks, Sage, Xero, Netsuite itd.

Časovni žig:

Več od AI in strojno učenje