See ajaveeb on lähtepunktiks kõigile, kes soovivad PDF-failidest ja piltidest tabeleid ekstraktida. Alustame pythoni koodi õpetusega, mis juhatab teid läbi OCR-i juurutamise PDF-failidele ja piltidele, et tuvastada ja ekstraktida tabeleid struktureeritud vormingus (loend, json-objekt, pandade andmeraam). Seejärel heidame pilgu ilma koodita platvormile automaatseks tabeliekstraktimiseks ja seejärel tutvume mõne tabeli ekstraheerimise tööriistaga, mis on veebis tasuta saadaval.
Sissejuhatus
PDF-dokumentide koguarv maailmas on hinnanguliselt ületanud 3 triljonit. Nende dokumentide vastuvõtmist võib seostada nende loomupärase olemusega, et nad on platvormidest sõltumatud, seega on neil järjepidev ja usaldusväärne renderdamiskogemus erinevates keskkondades.
Iga päev tuleb ette palju juhtumeid, kus on vaja lugeda ja PDF-failidest teksti ja tabeliteavet välja võtta. Inimesed ja organisatsioonid, kes seda traditsiooniliselt käsitsi tegid, on hakanud otsima tehnoloogilisi alternatiive, mis võivad asendada tehisintellekti kasutavat käsitsitööd.
OCR tähistab optilist märgituvastust ja kasutab AI-d, et teisendada prinditud või käsitsi kirjutatud teksti kujutis masinloetavaks tekstiks. Tänapäeval on mitmesuguseid avatud ja suletud lähtekoodiga OCR-mootoreid. Tuleb märkida, et sageli ei ole töö lõpule viidud pärast seda, kui OCR on dokumendi lugenud ja andnud tekstivoost koosneva väljundi ning selle peale ehitatakse tehnoloogiakihid, et kasutada nüüd masinloetavat teksti ja eraldada asjakohased atribuudid. struktureeritud vorming.
Tabeli väljavõtmiseks kasutame allolevat arvet. Eesmärk on lugeda arve PDF-is iga toote kogust, kirjeldust, ühikuhinda, summat tabeli kujul.
Alusta meid.
Eeldused
Faili töötlemiseks ja tabeli ekstraktimiseks vajalik OCR käsitleb API-kutse Nanonets API-le.
API-kõne tegemiseks ja pdf-ist eraldatud tabelite saamiseks vajame Taotlusi raamatukogu. Järeltöötluskoodi jaoks, mis muudab API vastuse andmeraamide loendiks, vajame pandas ja tuim raamatukogu. Saate need oma pythoni keskkonda installida pipi abil.
pip install requests pandas numpy
Esimese ennustuse saamiseks käivitage allolev koodilõik. Enda autentimiseks peate lisama oma API_KEY ja MODEL_ID.
Saate oma tasuta API_KEY ja MODEL_ID hankida, kui registreerute https://app.nanonets.com/#/signup?redirect=tools.
Kui olete valmis, käivitage koodilõigu all.
import requests url = 'https://app.nanonets.com/api/v2/OCR/Model/REPLACE_MODEL_ID/LabelFile/?async=false' data = {'file': open('invoice.png', 'rb')} response = requests.post(url, auth=requests.auth.HTTPBasicAuth('REPLACE_API_KEY', ''), files=data)
Saame alloleva väljundi.
. result
objekt sisaldab lehepõhiste tulemusobjektide massiivi. Iga objekt sisaldab prediction
objekt, mille kõik tuvastatud tabelid on massiivi elemendid. Seejärel kutsutakse igal tuvastatud tabelil massiiv cells
, mis on tuvastatud tabeli kõigi lahtrite massiiv. Rida, veerg ja tuvastatud algtekst on olemas kujul row
, col
, ocr_text
iga lahtri objekti atribuut cells
.
Teostame nüüd järeltöötlust, et muuta json-vastus panda andmeraamideks. Pärast ülaltoodud API vastuse saamist saate käivitada alloleva koodilõigu, et saada tuvastatud tabeleid sisaldavate andmeraamide loend.
import pandas as pd
import numpy as np alldfs = []
for item in response.json()["result"]: tables = [] dfs = [] for pred in item['prediction']: if pred['type'] == 'table': labels = ['none'] * 100 maxcol = 0 for cell in pred['cells']: if labels[cell['col'] - 1] == 'none': labels[cell['col'] - 1] = cell['label'] if cell['col'] > maxcol: maxcol = cell['col'] labels = labels[:maxcol] df = pd.DataFrame(index=np.arange(100), columns=np.arange(100)) for cell in pred['cells']: df[cell['col']][cell['row']] = cell['text'] df=df.dropna(axis=0,how='all') df=df.dropna(axis=1,how='all') df.columns = labels tables.append(df) alldfs.append(tables)
Pärast selle käivitamist alldfs
objekt on loend, kus iga loendi objekt sisaldab ennustusi dokumendi iga lehekülje kohta. Lisaks on iga selline objekt ise andmeraamide loend, mis sisaldab kõiki sellel lehel olevaid tabeleid.
Näeme, et kaks arve pdf-i tabelit on tuvastatud ja salvestatud andmeraamidena esimesel lehel alldfs[0]
ja kahele lauale pääseb juurde aadressil alldfs[0][0]
ja alldfs[0][1]
.
Seega oleme oma esimesele PDF-failile OCR-i läbi viinud ja sealt tabeleid ekstraheerinud. Uurisime jsoni vastust ja teostasime järeltöötluse pandade ja numpy abil, et saada soovitud vormingus andmed. Saate rakendada ka oma järeltöötlust, et töödelda ja kasutada json-vastuse andmeid vastavalt oma kasutusjuhtumile.
Pakume ka koodivaba platvormi koos Nanoents API-ga, millele on lisatud reaüksuste tugi, populaarsetest ERP-dest/tarkvaradest/andmebaasidest automaatne import ja eksport, kinnitus- ja valideerimisreeglite seadistamise raamistik ja palju muud.
Üks meie tehisintellekti ekspert võib võtta vastu 15-minutilise kõne, et arutada teie kasutusjuhtumit, pakkuda teile isikupärastatud demo ja leida teile parim plaan.
Tehke rohkem – eraldage reaüksused ja lamedad väljad
Saate laiendada Nanonets OCR-i funktsionaalsust, et tuvastada lamedad väljad ja reaüksused koos tabelitega pdf-failidest ja piltidest. Sa saad treenige oma kohandatud mudelit 15 minutiga mis tahes reaüksuse või lamevälja tuvastamiseks pildil või pdf-failis. Nanonets pakub ka eelehitatud mudeleid, millele on lisatud reaüksuste tugi populaarsetele dokumenditüüpidele, nagu arved, kviitungid, juhiload, ID-kaardid, CV-d jne.
Seega võimaldab kohandatud mudeli loomine või mõne meie eelehitatud mudeli kasutamine tuvastada ja eraldada reaüksused, lamedad väljad ja tabelid ühe API-kõnega.
Võtame ülaltoodud arve näite. Nüüd on eesmärk tuvastada arve pdf-failist Nanonetsi OCR-i abil kindlad väljad, nagu müüja nimi, müüja aadress, telefoninumber, e-posti aadress, kogusumma koos tabelitega.
Võite minna https://app.nanonets.com ja kloonige eelkoolitatud arve dokumenditüübi mudel.
Kui olete lõpetanud, navigeerige suunas Integreerima jaotist vasakpoolsel navigeerimispaanil, mis annab kasutusvalmis koodilõike reaüksuste, lamedate väljade ja tabelite eraldamiseks Nanonetsi API abil.
Käitades ülaltoodud koodilõigu meie arvefailis, saame tuvastada API-kutses reaüksused koos tabelitega.
Meie veebiplatvormi saate kasutada ka automatiseeritud töövoo seadistamiseks ning reaüksuste ja tabelite väljavõtmiseks PDF-failidest ja piltidest, väliste integratsioonide konfigureerimiseks populaarsete ERP-/tarkvara-/andmebaasidega ning kinnitamis- ja valideerimisreeglite seadistamiseks.
Üks meie tehisintellekti ekspert võib võtta vastu 15-minutilise kõne, et arutada teie kasutusjuhtumit, pakkuda teile isikupärastatud demo ja leida teile parim plaan.
Pakume tabelite ekstraheerimist nii meie veebiplatvormil kui ka Nanonets API kaudu. Kui teie Nanonetsi konto on loodud ja töötab, saate oma dokumentidest tabelite eraldamiseks kasutada API asemel platvormi.
Siin saate oma töövoo konfigureerida. Pakume valmis integratsioone mitme populaarse ERP / tarkvara / andmebaasiga.
- automatiseeritud import ja eksport ERP / tarkvara / andmebaasi
- seadistage automaatsed kinnitamise ja kinnitamise reeglid
- konfigureerige järeltöötlus pärast ekstraheerimist
Üks meie tehisintellekti ekspert võib võtta vastu 15-minutilise kõne, et arutada teie kasutusjuhtumit, pakkuda teile isikupärastatud demo ja leida teile parim plaan.
On hunnik tasuta veebipõhiseid OCR-tööriistu, mida saab kasutada OCR-i teostamiseks ja tabelite võrgus eraldamiseks. See on lihtsalt sisendfailide üleslaadimise küsimus, oodake, kuni tööriist töötleb ja annab väljundi, ning seejärel laadige väljund vajalikus vormingus alla.
Siin on meie pakutavate tasuta veebipõhise OCR-tööriistade loend –
Kas teil on ettevõtte optilise tekstituvastuse / intelligentse dokumenditöötluse kasutusjuhtum? Proovige Nanonetsi
Pakume OCR- ja IDP-lahendusi, mis on kohandatud erinevateks kasutusjuhtudeks – võlgnevuste automatiseerimine, arvete automatiseerimine, debitoorsete arvete automatiseerimine, kviitungi / ID-kaardi / DL / passi OCR, raamatupidamistarkvara integratsioonid, BPO automatiseerimine, tabeli väljavõte, PDF-i väljavõte ja palju muud. Tutvuge meie toodete ja lahendustega lehe paremas ülanurgas olevate rippmenüüde abil.
Oletame näiteks, et teil on iga päev palju arveid. Nanonetsiga saate need pildid üles laadida ja õpetada oma mudelile, mida otsida. Näiteks: arvetel saate koostada mudeli tootenimede ja hindade eraldamiseks. Kui märkused on tehtud ja mudel on loodud, on selle integreerimine sama lihtne kui kahe koodirea kopeerimine.
Siin on mõned põhjused, miks peaksite kaaluma Nanonetsi kasutamist –
- Nanonetsi abil on lihtne teksti eraldada, asjakohased andmed vajalikele väljadele struktureerida ja pildilt eraldatud ebaolulised andmed ära visata.
- Töötab hästi mitme keelega
- Toimib looduses tekstiga hästi
- Treenige oma andmeid, et need teie kasutusjuhul töötaksid
- Nanonets OCR API võimaldab teil oma mudeleid hõlpsalt uute andmetega ümber koolitada, et saaksite oma toiminguid kõikjal kiiremini automatiseerida.
- Ettevõttesisest arendajate meeskonda pole vaja
visiit Nanonetid ettevõtete OCR- ja IDP-lahenduste jaoks.
Registreeri tasuta prooviperioodi alustamiseks.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. Juurdepääs siia.
- Allikas: https://nanonets.com/blog/extract-tables-from-pdf-in-python/
- :on
- $ UP
- 1
- 100
- 7
- a
- üle
- pääses
- Vastavalt
- konto
- raamatupidamine
- Kontod
- võlgnevused
- võlgnevuste automatiseerimine
- üle
- lisatud
- aadress
- Vastuvõtmine
- pärast
- AI
- Materjal: BPA ja flataatide vaba plastik
- võimaldab
- alternatiive
- summa
- ja
- keegi
- kuskil
- API
- kehtima
- heakskiit
- OLEME
- Array
- AS
- At
- atribuudid
- Auth
- autentida
- automatiseerima
- Automatiseeritud
- Automaatika
- saadaval
- BE
- on
- alla
- BEST
- Blogi
- ehitama
- ehitatud
- Kobar
- by
- helistama
- kutsutud
- CAN
- Saab
- kaart
- Kaardid
- juhul
- juhtudel
- Rakke
- iseloom
- tegelase äratundmine
- Vali
- kood
- Veerg
- Veerud
- COM
- täitma
- Arvestama
- järjepidev
- Koosneb
- sisaldab
- muutma
- kopeerimine
- loomine
- Läbikriipsutatud
- tava
- andmed
- andmebaasid
- päev
- kirjeldus
- soovitud
- tuvastatud
- Arendajad
- DID
- arutama
- dokument
- dokumendid
- sõidu
- iga
- jõupingutusi
- elemendid
- töötab
- Mootorid
- ettevõte
- keskkond
- keskkondades
- ERP
- Hinnanguliselt
- jms
- Iga
- iga päev
- igapäevane
- näide
- olemasolevate
- kogemus
- ekspertide
- uurima
- ekspordi
- laiendama
- väline
- väljavõte
- kiiremini
- vähe
- väli
- Valdkonnad
- fail
- Faile
- leidma
- esimene
- flat
- eest
- formaat
- Raamistik
- tasuta
- tasuta prooviversioon
- Alates
- funktsionaalsus
- Pealegi
- loodud
- saama
- saamine
- Andma
- antud
- annab
- Go
- eesmärk
- Olema
- võttes
- siin
- HTTPS
- ID
- pilt
- pildid
- rakendamisel
- import
- impordi
- in
- sõltumatud
- info
- omane
- sisend
- paigaldama
- selle asemel
- Integreerimine
- integratsioon
- Intelligentne
- Arukas dokumenditöötlus
- Sissejuhatus
- IT
- kirjed
- ise
- töö
- Json
- silt
- Labels
- suur
- kihid
- Raamatukogu
- Litsentsid
- nagu
- joon
- liinid
- nimekiri
- Vaata
- otsin
- masin
- tegema
- TEEB
- käsiraamat
- käsitsi
- palju
- küsimus
- mudel
- mudelid
- rohkem
- mitmekordne
- nimi
- nimed
- loodus
- Navigate
- NAVIGATSIOON
- Vajadus
- Uus
- märkida
- number
- tuim
- objekt
- esemeid
- OCR
- of
- pakkuma
- Pakkumised
- on
- ONE
- Internetis
- veebipõhised ocr-tööriistad
- avatud lähtekoodiga
- Operations
- optiline märkide tuvastamine
- organisatsiooniline
- originaal
- enda
- lehekülg
- pandas
- pane
- pass
- Inimesed
- täitma
- esitades
- Isikliku
- telefon
- kava
- inimesele
- Platvormid
- Platon
- Platoni andmete intelligentsus
- PlatoData
- Punkt
- populaarne
- post
- ennustus
- Ennustused
- eeldused
- esitada
- hind
- Hinnad
- protsess
- töötlemine
- Toode
- Toodet
- anda
- Python
- kogus
- Lugenud
- valmis
- põhjustel
- laekumised
- tunnustamine
- asjakohane
- usaldusväärne
- rendering
- asendama
- Taotlusi
- nõutav
- vastus
- kaasa
- ROW
- eeskirjade
- jooks
- jooksmine
- teenib
- komplekt
- kehtestamine
- mitu
- peaks
- allkirjastamine
- lihtsalt
- ühekordne
- So
- tarkvara
- Lahendused
- mõned
- seisab
- algus
- alustatud
- Käivitus
- ladustatud
- oja
- struktuur
- struktureeritud
- selline
- toetama
- tabel
- laua väljatõmbamine
- Võtma
- võtab
- meeskond
- tehnoloogiline
- Tehnoloogia
- et
- .
- maailm
- oma
- Neile
- Need
- Läbi
- korda
- et
- täna
- tööriist
- töövahendid
- ülemine
- Summa
- suunas
- traditsiooniliselt
- Muutma
- kohtuprotsess
- triljon
- juhendaja
- liigid
- üksus
- Üleslaadimine
- URL
- us
- kasutama
- kasutage juhtumit
- kinnitamine
- eri
- ootamine
- Hästi
- M
- mis
- will
- WISE
- koos
- Töö
- maailm
- sa
- Sinu
- ise
- youtube
- sephyrnet