Muunna PDF-tiedot tietokantamerkintöiksi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Muunna PDF-tiedot tietokantamerkintöiksi

Useat organisaatiot ja yritykset luottavat PDF-dokumentteihin jakaakseen tärkeitä asiakirjoja, kuten laskuja, palkkalaskelmia, taloustietoja, työmääräyksiä, kuitteja ja paljon muuta. PDF-tiedostot eivät kuitenkaan ole paras muoto historiatietojen tallentamiseen, koska niitä ei voi helposti viedä ja järjestää työnkulkuihin. Ihmiset käyttävät tiedonpoiminta-algoritmeja PDF-tiedostojen ja skannattujen asiakirjojen digitalisoimiseen strukturoituihin muotoihin, kuten JSON, CSV, taulukko tai Excel, jotka voidaan helposti muuntaa muihin organisaation työnkulkuihin.

Joissakin tapauksissa PDF-tiedostot sisältävät tärkeitä tietoja, joita voidaan käsitellä eri ERP-, CMS- ja muissa tietokantapohjaisissa järjestelmissä. Valitettavasti PDF-dokumenteissa ei ole helppoa PDF-tietokantatoimintoa, ja komentosarjojen kirjoittaminen tai työnkulun rakentaminen tämän tehtävän ympärille on hieman monimutkaista. Tässä OCR- ja Deep Learning (DL) -algoritmit tulevat kuvaan poimimaan tietoja näistä PDF-muodoista ja viemään ne tietokantaan. Tässä blogiviestissä tarkastelemme erilaisia ​​tapoja, joilla voit saavuttaa sen käyttämällä DL-tekniikoita sekä joitain suosittuja sovellusliittymiä markkinoilla.

Mikä on PDF-tietokantamuunnos?

PDF-tietokantamuunnos on tehtävä datan viemiseksi PDF-tiedostoista tietokantaan, kuten Postgres, Mongo, MySQL jne.

Oletetaan, että rakentaisimme verkkosovelluksen tai ERP-järjestelmän, joka säilyttää ja ylläpitää laskutietoja eri lähteistä. Historiallisten laskujen lisääminen manuaalisesti tietokantaan on ylämäkeen tehtävä ja erittäin virhealtista. Toisaalta yksinkertaisen tekstintunnistusohjelman käyttäminen ei välttämättä poimi taulukoita laskuista tarkasti.

Tässä on hyödyllinen edistynyt tekoälypohjainen PDF-muunnos tietokantaksi!

Voidaanko tämä tekoälypohjainen PDF-tietokantamuunnosprosessi automatisoida? - Joo.

Alla olevissa osioissa käytämme tietokonenäköä ja syväoppimista tunnistaaksemme taulukkoalueet skannatuista asiakirjoista. Nämä taulukot tallennetaan edelleen tiettyyn tietomuotoon, kuten CSV tai excel, ja ne työnnetään suoraan tietokantoihin.

Ennen kuin käsittelemme näitä, meidän on ymmärrettävä joitakin käyttötapauksia, joissa PDF-tietokantaan tunnistaminen voi olla hyödyllistä.

Erilaisia ​​käyttötapauksia PDF:stä tietokantoihin

Tietokannat ovat parhaita tapoja tallentaa tietoa sekä pilveen että paikalliseen tallennustilaan. Niiden avulla voimme suorittaa erilaisia ​​operaatioita ja manipulaatioita yksinkertaisilla kyselyillä. Tässä on joitain käyttötapauksia, jotka voidaan optimoida huomattavasti automatisoidulla PDF-tietokannan muunnostyönkululla:

  1. Laskujen hallinta verkossa: Yritykset ja organisaatiot käsittelevät useita laskuja päivittäin; ja heidän on vaikea käsitellä jokaista laskua manuaalisesti. Joskus he myös nostavat ja vastaanottavat laskuja ei-digitaalisessa muodossa, mikä tekee niiden jäljittämisestä vaikeampaa. Siksi he luottavat verkkopohjaisiin sovelluksiin, jotka voivat tallentaa kaikki laskunsa yhteen paikkaan. PDF-tietokantamuunnin voisi automatisoida tiedon poimimisen laskuista verkkosovellukseen. Näiden tehtävien automatisoimiseksi tehokkaasti voisimme suorittaa cron-töitä ja integroida ne kolmansien osapuolten palveluihin, kuten n8n ja Zapier – kun uusi lasku skannataan ja ladataan, se voi suorittaa algoritmin ja työntää sen automaattisesti taulukoihin.
  2. ECom-varastonhoitajatt: Suuri osa verkkokaupan varastonhallinnasta tapahtuu edelleen tuotteiden manuaalisen syöttämisen kautta PDF-tiedostoista ja skannatuista kopioista. Heidän on kuitenkin ladattava kaikki tietonsa laskutuksen hallintaohjelmistoon seuratakseen kaikkia tuotteitaan ja myyntiään. Näin ollen taulukon tietokannan muunnosalgoritmin käyttäminen voi auttaa automatisoimaan niiden manuaalisen syöttämisen ja säästämään resursseja. Tämä prosessi sisältää tyypillisesti varastoluettelon skannauksen skannatuista asiakirjoista ja viemisen tiettyihin tietokantataulukoihin erilaisten liiketoimintasääntöjen ja -ehtojen perusteella.
  3. Tiedonpoisto kyselyistä: Palautteen ja muun arvokkaan tiedon keräämiseksi teemme yleensä kyselyn. Ne tarjoavat kriittisen tietolähteen ja oivalluksia lähes kaikille tietotalouden parissa työskenteleville yrityksistä ja tiedotusvälineistä viranomaisiin ja tutkijoihin. Kun nämä kerätään verkossa, on helppo poimia taulukon tietojen tila käyttäjän vastauksen perusteella ja ladata ne tietokantaan. Useimmissa tapauksissa kyselyvastaukset ovat kuitenkin paperilla. Tällaisissa tapauksissa on erittäin vaikeaa kerätä tietoja manuaalisesti ja tallentaa ne digitaaliseen muotoon. Siksi taulukosta tietokanta-algoritmeihin luottaminen voi säästää aikaa ja myös vähentää lisäkustannuksia.

Kuinka poimia tietoa PDF-tiedostoista relaatio- ja ei-relaatiotietokantoihin?

PDF-tiedosto nähdään kahtena eri tyyppisenä, sähköisesti luotuna ja ei-elektronisesti luotuna.

  1. Sähköiset PDF-tiedostot: Tässä skannatussa PDF-asiakirjassa voi olla piilotettua tekstiä kuvan takana. näitä kutsutaan myös sähköisesti luoduiksi PDF-tiedostoiksi.
  2. Ei-elektroniset PDF-tiedostot: Tässä tyypissä näemme enemmän kuvina koodattua sisältöä. Tämä pätee, kun olet skannattu PDF-tiedostoksi.

Voisimme luottaa yksinkertaisiin ohjelmointikieliin ja kehyksiin, kuten Python ja Java, ensimmäisessä tyypissä (elektronisesti luotu). Ei-elektronisesti luotujen PDF-tiedostojen osalta meidän on käytettävä Computer Vision -tekniikoita tekstintunnistusta ja syväoppimista varten. Nämä algoritmit eivät kuitenkaan välttämättä ole samat kaikille taulukon poimintaalgoritmeille, ja niitä on vaihdettava tietotyypistä riippuen paremman tarkkuuden saavuttamiseksi. NLP:tä (Natural Language Processing) käytetään myös taulukoiden sisältämien tietojen ymmärtämiseen ja niiden purkamiseen joissakin tapauksissa.

Toisaalta on olemassa kahdenlaisia ​​tietokantoja (relaatio- ja ei-relaatio); jokaisella näistä tietokannoista on erilaisia ​​sääntöjä niiden arkkitehtuurin perusteella. Relaatiotietokanta on jäsennelty, mikä tarkoittaa, että tiedot on järjestetty taulukoihin. Muutamia esimerkkejä ovat MySQL, Postgres jne.

Sitä vastoin ei-relaatiotietokanta on dokumenttisuuntautunut, mikä tarkoittaa, että kaikki tiedot tallennetaan enemmän kuin pesuluettelojärjestyksessä. Kaikki tietosi on lueteltu yhdessä rakentajadokumentissa – esimerkiksi MongoDB.

PDF tietokantaan, kun asiakirjat luodaan sähköisesti

Kuten mainittiin, sähköisesti luotujen PDF-tiedostojen osalta taulukoiden purkaminen on yksinkertaista. Ajatuksena on purkaa taulukot ja sitten käyttää yksinkertaisia ​​skriptejä niiden muuntamiseen tai lisäämiseen taulukoiksi. Taulukon poimimiseen PDF-tiedostoista on pääasiassa kaksi tekniikkaa.

Tekniikka #1 -virta: Algoritmi jäsentää taulukoita solujen välisiin välilyönteihin perustuen simuloidakseen taulukkorakennetta – tunnistaen, missä tekstiä ei ole. Se perustuu PDFMinerin toimintoon, jossa sivun merkit ryhmitellään sanoiksi ja lauseiksi marginaaleja käyttämällä. Tässä tekniikassa rivit tunnistetaan ensin tekemällä karkeita arvauksia jonkin tekstin y-akselin sijainnin (eli korkeuden) perusteella. Kaikki samalla rivillä oleva teksti katsotaan saman rivin osaksi. Seuraavaksi lukija ryhmitellään ja kootaan eri ryhmiksi tunnistamaan taulukon sarakkeet. Lopuksi taulukko asetetaan yhteen aiemmissa vaiheissa havaittujen rivien ja sarakkeiden perusteella.

Tekniikka #2 Hila: Toisin kuin virta, Lattice on deterministisempi. Se tarkoittaa, että se ei perustu arvauksiin; se jäsentää ensin taulukot, joissa on määritellyt rivit solujen väliin. Seuraavaksi se voi automaattisesti jäsentää useita sivulla olevia taulukoita. Tämä tekniikka toimii pohjimmiltaan tarkastelemalla polygonien muotoa ja tunnistamalla tekstin taulukon solujen sisällä. Tämä olisi helppoa, jos PDF-tiedostossa on ominaisuus, joka voi tunnistaa polygonit. Jos se olisi, sillä olisi todennäköisesti menetelmä lukea, mitä sen sisällä on. Se ei kuitenkaan tee. Siksi tietokonenäköä käytetään laajasti näiden muotojen tunnistamiseen ja taulukon sisällön poimimiseen.

Poimitut taulukot tallennetaan ensisijaisesti tietokehysmuotoon. Se on yksi natiivitietotyypeistä, joita yksi suosituimmista Python-kirjastopandoista tarjoaa. Taulukkotietojen tallentamisessa tietokehykseen on useita etuja. Niitä voidaan helposti käsitellä, muokata ja viedä eri muotoihin, kuten JSON, CSV tai taulukoihin. Ennen kuin siirrämme nämä tietokehykset taulukoihin, meidän tulee kuitenkin ensin muodostaa yhteys DB-Client-tietokantaan ja sitten siirtää taulukko. Pythonin kaltaisia ​​kieliä käyttämällä voimme löytää useita kirjastoja, jotka voivat muodostaa yhteyden näihin tietolähteisiin ja viedä tietoja.

PDF tietokantaan, kun asiakirjat on luotu ei-elektronisesti

Yllä käsitellyt tekniikat eivät ehkä toimi ei-elektronisesti luotujen PDF-tiedostojen kanssa, koska tässä olevat tiedot skannataan manuaalisesti eri lähteestä. Tästä syystä käytämme OCR- ja Deep Learning -tekniikoita tietojen poimimiseen skannatuista asiakirjoista ja viemiseen tietokantoihin.

Lyhyesti sanottuna Optical Character Recognition, OCR on erikoistyökalu, joka muuntaa tulostetut kirjaimet skannatuista asiakirjoista muokattavaksi tekstiksi. PDF-taulukoiden tunnistamiseksi asiakirjoista meidän on ensin tunnistettava taulukon sijainti ja sitten käytettävä OCR:ää tietojen poimimiseksi taulukon soluista. Seuraavat vaiheet, kuinka se saavutetaan:

  1. Ensin havaitsemme viivasegmentit käyttämällä vaaka- ja pystysuuntaisia ​​ääriviivoja.
  2. Viivojen leikkauspisteet viivojen välillä havaitaan katsomalla kaikkien viivojen pikselien intensiteettiä. Jos viivapikselin intensiteetti on suurempi kuin muulla pikselillä, se on osa kahta viivaa ja siten leikkauspiste.
  3. Taulukon reunat määritetään katsomalla leikattujen viivojen pikselien intensiteettiä. Tässä otetaan kaikki viivan pikselit, ja useimmat ulkoiset viivat edustavat taulukon rajoja.
  4. Kuva-analyysi käännetään PDF-koordinaateiksi, joissa solut määritetään. Teksti määrätään soluun sen x- ja y-koordinaattien perusteella.
  5. OCR:ää sovelletaan koordinaatteihin tekstin poimimiseksi
  6. Poimittu teksti viedään tietokehykseen taulukon sijainnin perusteella.

Näin voimme poimia taulukoita CV:n avulla. Tässä on kuitenkin muutamia haittoja. Nämä algoritmit eivät toimi suurissa taulukoissa ja taulukoissa, joissa on eri mallityylejä. Tässä syvä oppiminen tulee esiin; he käyttävät erityistä hermoverkkokehystä oppiakseen datasta ja tunnistaakseen samanlaisia ​​​​malleja oppimisen perusteella. Viimeisen vuosikymmenen aikana ne ovat saavuttaneet huippuluokan suorituskyvyn, erityisesti tehtävissä, kuten tiedon poiminnassa. Katsotaanpa nyt, kuinka syvät neuroverkot voivat oppia tiedoista ja poimia taulukoita mistä tahansa dokumentista.

Syvien hermoverkkojen koulutus sisältää tietyn työnkulun; näitä työnkulkuja muutetaan usein käsittelemämme datatyypin ja mallin suorituskyvyn perusteella. Työnkulun ensimmäinen vaihe sisältää tietojen keräämisen ja käsittelyn mallimme perusteella. Jos poimimme taulukot PDF-dokumenteista, tietojoukon tulisi mieluiten sisältää jäsentämättömiä asiakirjoja. Nämä asiakirjat muunnetaan kuviksi, ladataan tensoreina ja valmistetaan tietojen latausluokiksi harjoittelua varten. Seuraavaksi määrittelemme yleensä kaikki koulutukseen vaadittavat hyperparametrit. Näitä ovat yleensä erän koon asettaminen, häviötoiminto ja mallin optimointi. Lopuksi neuroverkkoarkkitehtuuri määritellään tai rakennetaan ennalta määritellyn mallin päälle. Tämä malli opetetaan tietojen päälle ja hienosäädetään suorituskykymittareiden perusteella.

Seuraavassa on kuvakaappaus eri vaiheista, jotka liittyvät syvän oppimismallin koulutukseen:

Tyypillinen ML-työnkulku (lähde)

Tietojen purkaminen pdf-tiedostosta ja vieminen SQL-tietokantaan Pythonilla

Tähän mennessä olemme oppineet, mitä pdf-tiedostojen muuntaminen tietokannaksi on, ja olemme keskustelleet joistakin käyttötapauksista, joissa siitä voi olla apua. Tässä osiossa käsitellään käytännössä tätä ongelmaa Computer Visionin avulla ja tunnistetaan skannatuista pdf-tiedostoista olevat taulukot ja viedään ne tietokantoihin. Jatka eteenpäin asentamalla Python ja OpenCV paikalliselle koneellesi. Vaihtoehtoisesti voit käyttää verkossa olevaa Google Collab -muistikirjaa.

Vaihe 1: Asenna Tabula ja Pandas

Tässä esimerkissä käytämme Tabulaa ja Pandasta taulukoiden poimimiseen ja työntämiseen tietokantoihin. Asennamme ne pipin kautta ja tuomme ne ohjelmaamme.

import tabula
import pandas as pd

Vaihe 2: Taulukoiden lukeminen Dataframeen

Nyt aiomme käyttää read_pdf toiminto taulukosta lukeaksesi taulukoita PDF-tiedostoista; Huomaa, että tämä kirjasto toimii vain sähköisesti luotujen PDF-dokumenttien kanssa. Seuraavassa on koodinpätkä:

table = tabula.read_pdf("sample.pdf",pages='all',multiple_tables=False)

df = pd.concat(table)

Täällä, kuten näemme, ensinnäkin käytämme PDF-tiedoston sisällön lukemiseen, asetamme parametrin multiple_tables arvoksi False, koska esimerkissä käytetyssä asiakirjassa on vain yksi taulukko.

Nyt lataamme tämän luettelon tietokehykseen pandoilla, ja voit tarkistaa taulukon tyypin käyttämällä type-menetelmää; tämä palauttaa alkuperäisen pandan tietokehyksen.

Vaihe 3: Siirrä tietokehys Postresiin

Ennen kuin siirrämme taulukkomme tietokantoihin, meidän tulee ensin muodostaa yhteys siihen ohjelmastamme, ja voimme tehdä tämän käyttämällä sqlalchemy asiakas pythonissa. Samoin erilaiset ohjelmointikielet tarjoavat tällaisia ​​tietokantaohjelmia vuorovaikutukseen tietokantojen kanssa suoraan ohjelmistamme.

Tässä ohjelmassa käytämme create_engine menetelmä, jonka avulla voimme muodostaa yhteyden tietokantaan; muista vaihtaa tietokannan valtuustiedot annetussa merkkijonossa, jotta tämä toimii. Seuraavaksi käytämme write_frame toiminto vie puretun taulukon yhdistettyyn tietokantaan.

engine = create_engine('postgresql+psycopg2://username:password@host:port/database')

sql.write_frame(df, 'table_name', con, flavor='postgresql')

Ja juuri näin, pystyimme viemään taulukoita PDF-tiedostoista tietokantaan, tämä näyttää melko suoraviivaiselta ja helpolta, koska olemme käyttäneet yksinkertaista käsiteltyä sähköisesti luotua PDF-tiedostoa. Taulukoiden poimimiseen ei-elektronisesti luoduista taulukoista seuraavat suosittuja syväoppimistekniikoita, joita voidaan käyttää:

  1. Koodilla varustetut paperit – GFTE: Graph-based Financial Table Extraction
  2. Papers with Code – PubTables-1M: Kohti universaalia tietojoukkoa ja mittareita taulukoiden poimintamallien koulutukseen ja arviointiin
  3. TableNet: Syvän oppimisen malli taulukon päästä päähän havaitsemiseen ja taulukkotietojen poistoon skannatut asiakirjakuvat

Kirjoita Nanonets: Advanced OCR PDF-taulukon muuntamiseen tietokantaksi

Tässä osiossa tarkastellaan, kuinka Nanonets voi auttaa meitä suorittamaan taulukoita tietokantaan muokattavammin ja helpommin.

Nanonets™ on pilvipohjainen OCR, joka voi auttaa automatisoimaan manuaalisen tietojen syöttämisen tekoälyn avulla. Meillä on kojelauta, jossa voimme rakentaa/kouluttaa OCR-mallejamme tiedoillamme ja siirtää ne JSON/CSV-muodossa tai missä tahansa halutussa muodossa. Tässä on joitain etuja Nanonetsin käyttämisestä PDF-dokumenttien skannerina.

Yksi Nanonetsin kohokohdista on palvelun tuoma yksinkertaisuus. Voit valita nämä palvelut ilman ohjelmointitaustaa ja helposti poimia PDF-tietoja huipputeknologialla. Seuraavassa on lyhyt kuvaus siitä, kuinka helppoa PDF-tiedoston muuntaminen tietokannaksi on.

Vaihe 1: Mene osoitteeseen nanonets.com ja rekisteröidy/kirjaudu sisään.

Muunna PDF-tiedot tietokantamerkintöiksi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Vaihe 2: Rekisteröinnin jälkeen siirry "Valitse aloitus" -alueelle, jossa voit käyttää valmiita poimintalaitteita tai luoda sellaisen itse käyttämällä tietojoukkoasi. Täällä käytämme Invoice-laskujen valmiiksi rakennettua laskunpoimijaa.

Muunna PDF-tiedot tietokantamerkintöiksi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Vaihe 3: Lataa kuvien PDF-tiedosto, jotta voit poimia tietoja ja valita automaattisen purkuvaihtoehdon.

Muunna PDF-tiedot tietokantamerkintöiksi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Vaihe 4: Luo uusi integraatio MySQL-integraatio poimittujen tietojen viemiseksi tietokantaan. Vaihtoehtoisesti voit valita useita vaihtoehtoja valitsemiesi tietokantojen perusteella.

Muunna PDF-tiedot tietokantamerkintöiksi PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Muodosta datayhteys ja napsauta Lisää integrointi. Tämän avulla tiedot puretaan ja ladataan automaattisesti tietokantaan aina, kun tiedostoja ladataan. Jos et löydä tarvittavia integraatioita, voit aina käyttää Nanonets APIa ja kirjoittaa yksinkertaisia ​​komentosarjoja automatisoinnin suorittamiseksi.

Aikaleima:

Lisää aiheesta Tekoäly ja koneoppiminen