HRP20130700A2 - Sustav za adaptivnu detekciju i ekstrakciju struktura iz strojno generiranih dokumenata - Google Patents

Sustav za adaptivnu detekciju i ekstrakciju struktura iz strojno generiranih dokumenata Download PDF

Info

Publication number
HRP20130700A2
HRP20130700A2 HRP20130700AA HRP20130700A HRP20130700A2 HR P20130700 A2 HRP20130700 A2 HR P20130700A2 HR P20130700A A HRP20130700A A HR P20130700AA HR P20130700 A HRP20130700 A HR P20130700A HR P20130700 A2 HRP20130700 A2 HR P20130700A2
Authority
HR
Croatia
Prior art keywords
subsystem
document
candidates
candidate
structures
Prior art date
Application number
HRP20130700AA
Other languages
English (en)
Inventor
Jurica Cerovec
Damir Sabol
Original Assignee
Photopay Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Photopay Ltd. filed Critical Photopay Ltd.
Priority to HRP20130700AA priority Critical patent/HRP20130700B1/hr
Publication of HRP20130700A2 publication Critical patent/HRP20130700A2/hr
Publication of HRP20130700B1 publication Critical patent/HRP20130700B1/hr

Links

Landscapes

  • Machine Translation (AREA)

Abstract

Izum sustav za adaptivnu detekciju i ekstrakciju struktura iz strojno generiranih dokumenata omogućuje automatsku obradu strojno generiranih dokumenata s ciljem detektiranja, označavanja i ekstrakcije unaprijed zadanih struktura sadržanih unutar dokumenta. Sustav se sastoji od podsustava za prihvat strojno generiranog dokumenta (220), podsustava za detekciju i ekstrakciju kandidata (230) za strukture, podsustava za evaluaciju kandidata (240), aplikacijskog programskog sučelja (250) (API) i podsustava za adaptiranje pravila (280). Podsustav za prihvat strojno generiranog dokumenta omogućuje pripremu različitih oblika ulaznih dokumenata u oblik pogodan za daljnju obradu.

Description

Područje tehnike na koje se izum odnosi
Po međunarodnoj klasifikaciji, grupa patenata je G06F 17/00 - oprema , metode i sustavi za digitalnu obradu podataka i G06K 9/00 - metode ili sustavi podržani računalom za čitanje ili prepoznavanje otisnutih ili digitaliziranih znakova.
Tehnički problem
Racionalizacija troškova generiranja i distribucije velikog broja dokumenata (primjerice računa ili predračuna) postala je bitan aspekt poslovanja svih kompanija današnjice. Većina kompanija je za tu svrhu razvila informacijske sustave koji automatiziraju generiranje i distribuciju takvih dokumenata. Velike uštede danas se mogu postići distribucijom preko Interneta korištenjem e-maila, internet bankarstva ili drugih usluga, te standardnih formata dokumenata poput PDF, html, doc, xls i sličnih. Takvi se dokumenti šalju krajnjim korisnicima s različitom namjenom, neke od kojih mogu biti plaćanje, knjiženje ili arhiviranje. U osnovi je najčešće riječ o unosu podataka iz dokumenta u novi informacijski sustav. Sam unos podataka zahtijeva određeni trošak vremena, a pri unosu su moguće i greške. Od korisnika se očekuje i određeno znanje iz domene koju pokriva dokument, jer osim što dokumenti imaju različite namjene, često su dokumenti različitih kompanija za istu namjenu vrlo različiti po strukturi. Navedene su činjenice razlog zbog kojega je cijena obrade dokumenata za korisnika još uvijek vrlo visoka.
Zbog toga postoji potreba za sustavom koji bi automatizirao obradu strojno generiranih dokumenata. Velik izazov za razvoj takvog sustava predstavljaju činjenice da dokumenti mogu biti vrlo različiti, da su strukturirani na način prilagođen ljudskom razumijevanju umjesto strojnom, te da je njihov format podložan izmjenama uslijed promjena regulativa, sustava koji ih generiraju i sl. Sustav zadužen za automatsku obradu mora imati točnost višestruko veću nego što je točnost ljudske obrade, mora biti brz, prilagodljiv izmjenama u dokumentima, te mora omogućavati jednostavnu integraciju u aplikacije koje korisnik upotrebljava za primanje dokumenata.
Strojno generirani dokument u osnovi se sastoji od većeg broja dijelova koje nazivamo strukture. Primjerice, strukture koje se nalaze na računu tipično su iznos za plaćanje, broj računa na koji je potrebno obaviti plaćanje, referencu prema kojoj se prepoznaje status plaćanja, rok plaćanja, opis plaćanja i si. Korisnici nad strukturama obavljaju akcije. Na primjer, kad su poznate strukture na računu, korisnik nad tim strukturama može obaviti plaćanje, arhiviranje, knjiženje i si. Zbog toga su strukture ključan element dokumenata koje sustav za automatsku obradu mora moći detektirati i ekstrahirati.
Stanje tehnike
Konvencionalni sustavi za automatsku detekciju i ekstrakciju struktura u dokumentima oslanjaju se na tehnike pretraživanja teksta pomoću kontekstno ovisnih gramatika i parsera i oslanjaju se na analizu rasporeda elemenata unutar dokumenata.
Američki patent [US8225205] bavi se metodom pretraživanja struktura unutar elektroničkih dokumenata uz visoku preciznost, no taj patent opisuje metodu ekstrakcije koja se bazira na određivanju osnovne linije nekog dijela teksta unutar dokumenta te poravnavanju dijelova teksta.
Patent [WO2007129288] opisuje metodu za identificiranje dijelova elektroničkog dokumenta koja se bazira na usporedbi dokumenta s jednim ili više predložaka. Patent [WO2012104583] bavi se ekstrakcijom struktura iz dokumenata pretraživanjem dijelova dokumenta na temelju znakova, fontova, boje i drugih karakteristika, korištenjem algoritma pretraživanja s vraćanjem (eng. backtracking) te jedne bazne (eng. anchor) točke. Također, određuje se vjerojatnost da kandidat pripada skupu pravila za određenu strukturu.
Od tih se rješenja ovaj izum razlikuje po načinu ekstrakcije kandidata za strukture koji je opisan u nastavku, po načinu na koji se obavlja evaluacija kandidata da bi se dobila procjena vjerojatnosti da je kandidat tražena struktura, po načinu na koji se pronađeni podaci prezentiraju korisniku te po činjenici da iskorištava povratnu informaciju od korisnika da bi modificirao pravila za ekstrakciju i evaluaciju s ciljem maksimiziranja točnosti cijelog postupka.
Kratki sadržaj biti izuma
Primarni problem koji se rješava ovim izumom je automatska obradu strojno generiranih dokumenata s ciljem preciznog detektiranja, označavanja i ekstrakcije unaprijed zadanih struktura sadržanih unutar dokumenta. Sustav predmetnog izuma sadrži:
- podsustav za prihvat strojno generiranog dokumenta,
- podsustav za detekciju i ekstrakciju kandidata za strukture,
- podsustav za evaluaciju kandidata,
- aplikacijsko programsko sučelje (API),
- podsustav za adaptiranje pravila,
gdje podsustav za prihvat strojno generiranog dokumenta omogućuje pripremu različitih oblika ulaznih dokumenata u prijelazni oblik dokumenta koji je pogodan za daljnju obradu, podsustav za detekciju i ekstrakciju kandidata pretražuje tako pripremljeni dokument te korištenjem skupa pravila, koje optimira podsustav za adaptiranje pravila, identificira moguće kandidate za svaku traženu strukturu, gdje se identificiranim kandidatima u podsustavu za evaluiranje kandidata na temelju evaluacijskih pravila dodjeljuje nivo pouzdanosti, odnosno procjena vjerojatnosti da je kandidat tražena struktura, gdje sustav putem aplikacijskog programskog sučelja šalje kandidate i njihove nivoe pouzdanosti aplikaciji koja unutar korisničkog sučelja prikazuje kandidate korisniku koji potom odabire točnu vrijednost.
Pod pojmom „struktura" u predmetnom izumu se misli na unaprijed određeni očekivani niz znakova, postojanje i vrijednost kojeg je potrebno utvrditi u dokumentu koji je predmet obrade. Primjer jedne strukture je podatak s računa ili uplatnice koji sadržava informaciju o visini plaćanja - to treba biti decimalni broj s točno dvije znamenke. Dodatno, primjer struktura za koje se obavlja adaptivna detekcija i ekstrakcija je izložen na slici 6. U predmetnom računu - strojno generiranom dokumentu strukture su : iznos plaćanja (eng. amount), datum dospijeća (eng. due date) i broj računa plaćanja (eng. account number).
Podsustav za adaptiranje pravila koristi konačni rezultat koji predstavlja kandidata utvrđenog kao traženu strukturu s ciljem optimiranja pravila za ekstrakciju i evaluiranje kandidata kako bi se postiglo podizanje točnosti sustava.
Ovaj izum nadvladava nedostatke i ograničenja postojećih rješenja za detekciju i ekstrakciju struktura unutar strojno generiranih dokumenata uvođenjem podsustava koja transformira ulazni dokument u oblik pogodan za obradu. Sustav zatim pretražuje i identificira kandidate za unaprijed zadane strukture, dodjeljuje nivo pouzdanosti svakom kandidatu, omogućuje prikaz dobivenih kandidata korisniku i po dobivenoj povratnoj informaciji od korisnika mijenja skupove pravila s ciljem podizanja točnosti rada cijelog sustava. Sustav može raditi na strojno generiranim dokumentima u različitim formatima (PDF, html, doc, xls). Prednost ovog izuma je što su pravila za ekstrakciju kandidata i za evaluiranje kandidata zadana kao zasebni programi što znači da se za pojedine strukture mogu zadati vrlo kompleksna pravila. Daljnja prednost izuma je što se spomenuta pravila automatski prilagođavaju u podsustavu za adaptiranje pravila na način da se optimira točnost rada cijelog sustava, a prilagođavanje se tipično obavlja metodama strojnog učenja.
Izum se koristi unutar standardnog računalnog sustava koji sadrži barem centralnu procesnu jedinicu (CPU), memoriju za pohranu podataka i ulazno-izlaznu (I/O) jedinicu.
Podsustav za prihvat strojno generiranog dokumenta služi kao ulazni dio u sustav. Dokumenti u proizvoljnom formatu (npr. pdf, doc, txt, xls, csv, jpg, png), koji sadrže tekst i/ili slike obrađuju se unutar podsustava. Podsustav kao izlaz generira dokument u prijelaznom (eng. intermediate) formatu u kojem su pohranjene barem informacije o vrijednostima i pozicijama znakova u ulaznom dokumentu. Ako je u mogućnosti, podsustav pohranjuje vrijednosti o veličini znakova, fontu, boji, atributima znaka (podebljan znak, nakošen). Podsustav je neovisan o jeziku ulaznog dokumenta i o načinu kodiranja znakova (eng. encodingu) u dokumentu. Ako ulazni dokument sadrži slike, prijelazni oblik ima kopije i točne pozicije tih slika, te ako se na njima nalazi tekst, podsustav obavlja postupak OCR-a u kojem pamti vrijednosti i pozicije znakova na slici. Gdje je moguće, podsustav u prijelaznom dokumentu naznačuje strukturu, odnosno određuje koji podaci sačinjavaju riječi, rečenice, paragrafe, stupce, stranice, tablice i sl. Ovaj dio izuma rješava problem različitih formata, jezika i načina kodiranja ulaznim dokumenata.
Izgrađeni prijelazni oblik dokumenta ulaz je u podsustav za ekstrakciju kandidata za strukture. Podsustav koristi pravila prema kojima se prepoznaju traženi kandidati. Za svaku strukturu (npr. iznos sa plaćanje, broj računa, ime primatelja) podsustav definira novi skup pravila. Pravila su zadana u obliku programa kojem se kao ulaz predaju potencijalni kandidat za strukturu i ulazni dokument u prijelaznom obliku, a kao izlaz vrati istinu (eng. true) ili laž (eng. false). Tipično, podsustav rastavlja ulazni dokument na osnovne tekstualne jedinke (riječi, fraze, rečenice, linije, i si.) evaluira jedinku programima koji zadaju pravila za strukturu. U slučaju da su pravila zadovoljena (program je završio s izlazom istina), podsusav dodaje osnovnu jedinku u listu kandidata za strukturu. Pravila od kojih se sastoji program tipično su regularni izrazi (npr. iznos za plaćanje je broj s dvije decimalne znamenke), načini provjere kontrolnih znamenki (npr. format broja računa IBAN ima dvije kontrolne znamenke koje se provjeravaju prema algoritmu MOD-97-10 7064:2003), načini provjere međusobnih odnosa između struktura (npr. adresa primatelja plaćanja često se nalazi pored imena primatelja plaćanja), statistička pravila, pravila koja koriste metode strojnog učenja, pravila temeljena na prirodnoj obradi teksta i druga. Ovaj dio izuma rješava problem ispravnog detektiranja struktura u ulaznom dokumentu. Nadalje, lista kandidata za svaku strukturu šalje se na podsustav za evaluaciju kandidata.
Podsustav koristi pravila prema kojima se za svaki kandidat određuje nivo pouzdanosti, realan broj iz unaprijed zadanog raspona (tipično 0 i 100), koji procjenjuje vjerojatnost da je kandidat stvarno tražena struktura. Pravila su zadana u obliku programa kojem se kao ulaz predaju potencijalni kandidat za strukturu i ulazni dokument u prijelaznom obliku, a kao izlaz se dobije nivo pouzdanosti. Tipično, podustav na temelju vrijednosti kandidata i njegove pozicije unutar dokumenta izračuna značajke (eng. features) koje se koriste u algoritmu strojnog učenja koji vraća konačnu pouzdanost. Preporučeno je za tu svrhu koristiti stablo odlučivanja, ali mogu se koristiti i drugi algoritmi poput slučajnih šuma (eng. random forests), gradijentnih stabala (eng. gradient boosted trees), neuronskih mreža, regresije i drugih. Primjerice, ako se koristi algoritam stabla odlučivanja, algoritam će uspoređivati vrijednosti značajki s onima dobivenim u procesu učenja stabla, te ovisno o rezultatima usporedbe izračunati konačni nivo pouzdanosti. Ovaj dio izuma rješava problem određivanja pouzdanosti detektiranih i ekstrahiranih struktura iz dokumenta.
Ovakav sustav za detekciju i ekstrakciju struktura tipično se koristi unutar klijentske aplikacije koja se izvršava istovremeno (eng. concurrentlv). Primjerice, sustav se može izvršavati unutar mobilnog ili internetskog bankarstva, unutar aplikacije za arhiviranje dokumenata ili sličnih. Aplikacijsko programsko sučelje (API) sustava omogućava interprocesnu komunikaciju. API definira način na koji se mogu dohvatiti podaci o strukturama koje se pretražuju unutar dokumenta, podaci o svim kandidatima za pojedinu strukturu, kao i o nivou pouzdanosti za svaki kandidat. API može podatke prenositi žično ili bežično u bilo kojem pogodnom formatu za prijenos podataka. Tipično se podaci prenose u nekom obliku koji je lako strojno obradiv, poput xml, json, parovi ključ-vrijednost i sl. APl-jem se rezultati ekstrakcije i evaluacije šalju i prezentiraju korisniku unutar korisničkog sučelja klijentske aplikacije.
Korisničko sučelje detektirane, ekstrahirane i evaluirane strukture prikazuje na sljedeći način. Kandidati za svaku strukturu (npr. referenca plaćanja) sortiraju se po nivou pouzdanosti. Za svaku strukturu korisniku se prikazuje samo kandidat s najvećim nivoom pouzdanosti, odnosno najvjerojatnija vrijednost te strukture. Korisnik unutar sučelja ima mogućnost pregledati i revidirati sve vrijednosti struktura. Revidiranje se obavlja na način da korisnik odabere strukturu koji želi primijeniti, prilikom čega mu se u sučelju prikazuju i ostali kandidati za tu strukturu, sortirani prema nivou pouzdanosti. Korisnik potom odabire željenu vrijednost. Ako konačni rezultat koji predstavlja kandidata utvrđenog kao traženu strukturu nije sadržan u popisu kandidata, korisnik ima mogućnost upisati novu vrijednost. Nakon što je provjerio vrijednosti struktura prikazane unutar korisničkog sučelja i, u slučaju da je bilo pogrešno ekstrahiranih vrijednosti struktura, revidirao vrijednosti koje su bile pogrešne, korisnik ima mogućnost odabrati akciju koju želi obaviti nad podacima. Akcija može biti plaćanje, arhiviranje, slanje u knjigovodstvo ili bilo koja druga. Ovakvo korisničko sučelje rješava problem jednostavnog prezentiranja pronađenih podataka korisniku, njihovu laku izmjenu u slučaju greške, te jednostavnog obavljanja akcija nad podacima.
Odabirom akcije korisnik potvrđuje točnost podataka prikazanih u korisničkom sučelju. Točni se podaci povratnom vezom preko podsustava za adaptiranje pravila vraćaju u sustav i služe za adaptiranje pravila i maksimiziranje točnosti rada sustava. Podsustav za adaptiranje pravila koristi poseban program za adaptiranje svakog pravila. Programi za adaptiranje kao ulaz dobivaju skup ulaznih dokumenata, skup točnih podataka za svaki dokument i skup pravila koji se želi adaptirati. Program kao izlaz vraća novi skup pravila. Programi tipično koriste metode strojnog učenja kako bi napravili optimizaciju i odredili novi skup pravila. Primjerice, ako pravila za evaluiranje kandidata za strukture koristi algoritam stabla odlučivanja, tada program za adaptiranje pravila pokreće postupak učenja stabla odlučivanja na ulaznim dokumentima pri čemu su poznati točni podaci za te dokumente. Tako naučeno stablo odlučivanja od tog se trenutka koristi za evaluiranje. Podsustav za adaptiranje pravila rješava problem adaptacije cijelog sustava novim oblicima dokumenata te maksimiziranja točnosti detekcije i ekstrakcije struktura u strojno generiranim dokumentima.
Opis slika
Slika 1. je blokovski dijagram računalnog sustava s program i aplikacijom pohranjenim u radnu memoriju (RAM)
Slika 2. je blokovski dijagram programa
Slika 3. je dijagram toka preferirane metode koja se koristi za pripremu dokumenata u podsustavu za prihvat strojno generiranih dokumenata
Slika 4. je dijagram toka preferirane metode koja se koristi u podsustavu za ekstrakciju kandidata za strukture
Slika 5. je dijagram toka preferirane metode koja se koristi u podsustavu za evaluaciju kandidata za strukture
Slika 6. ilustrira strojno generirani dokument sa strukturama
Slika 7. ilustrira detektirane i ekstrahirane strukture na dokumentu sa slike 6.
Slika 8. ilustrira korisničko sučelje u kojem su prikazane strukture dokumenta sa slike 6.
Slika 9. je dijagram toka metode koja se koristi u podsustavu za adaptiranje pravila
Detaljan opis preferirane izvedbe
Slika 1. prikazuje blokovski dijagram računalnog sustava 100 koji uključuje centralnu procesnu jedinicu (CPU) 110. Računalni sustav može biti na ARM, x86 ili x64 arhitekturi i omogućuje izvršavanje nativnog programskog koda.
Ulazno izlazna jedinica 120 poput ekrana osjetljivog na dodir povezana je s CPU-om preko signalne linije 130. Preko nje je još povezano komunikacijsko sučelje 140 koje omogućuje prijenos podataka preko Interneta, tvrdi disk za dugoročnu pohranu podataka 150 i radna memorija (RAM) 160. U radnoj memoriji 160 tipično se nalazi operacijski sustav 162 poput iOS, Android, Linux ili Windows i omogućuje izvršavanje aplikacija. Računalnu obradu u tim aplikacijama obavlja CPU 110.
Program 166 pohranjen u radnoj memoriji sustava 160 omogućuje centralnoj procesnoj jedinici 110 da u ulaznom strojno generiranom dokumentu detektira i ekstrahira strukture, te ih proslijedi do klijentske aplikacije 164, koja može biti aplikacija za plaćanje računa, arhiviranje dokumenata ili slična. Program i aplikacija mogu dio svojih podataka čuvati na tvrdom disku 150, a dio u posebnom dijelu radne memorije 160 označen kao ostali podaci 168.
Na slici 2. prikazana je shematska struktura programa 166 zajedno u interakciji s dokumentom 210 i klijentskom aplikacijom 164. Program 166 sastoji se od podsustava za prihvat strojno generiranog dokumenata 220, podustava za detekciju i ekstrakciju kandidata za strukture 230, podsustava za evaluaciju kandidata za strukture 240, aplikacijskog programskog sučelja 250, podsustava za adaptiranje pravila 280, pravila za evaluaciju 285 i pravila za ekstrakciju 290. Klijentska aplikacija 164 tipično sadrži korisničko sučelje 260 i skup akcija 270 koje se mogu obaviti nad strukturama iz obrađenog dokumenta.
Podsustav za prihvat strojno generiranog dokumenta 220 dohvaća dokument 210 koji sadrži prepoznatljive strukture. Dokument se može dohvatiti iz radne memorije 160, tvrdog diska 150 ili preko komunikacijskog sučelja 140. Podsustav analizira ulazni dokument metodom sa slike 3. te kao izlaz generira dokument u prijelaznom obliku. U tom obliku su za sve tekstualne dijelove ulaznog dokumenta pohranjeni barem podaci o njihovoj vrijednosti i poziciji unutar dokumenta, grafika i pozicija za svaki slikovni element u dokumentu, te tekst dobiven OCR postupkom ako slikovni element sadrži tekstualne elemente.
Podsustav za detekciju i ekstrakciju kandidata za strukture 230 prima ulazni dokument u prijelaznom obliku, analizira ga i ekstrahira kandidate za strukture unutar dokumenta. Podsustav 230 za svaku strukturu obavlja rastavljanje ulaznog dokumenta na osnovne tekstualne jedinke (npr. riječi) te za svaku jedinku provjerava pripadnost strukturi na način da na njoj evaluira skup pravila za ekstrakciju 290. Ako su pravila zadovoljena, od osnovne tekstualne jedinke stvara kandidata za strukturu. Metoda je detaljnije objašnjena slikom 4.
Svi kandidati akumuliraju se u listu kandidata koja je ulaz u podsustav za evaluaciju kandidata za strukture 240. Podsustav 240 za svaku jedinku računa nivo pouzdanosti da pripada odgovarajućoj strukturi na način da na njoj evaluira skup pravila za evaluaciju 285. Izlaz evaluacije je realan broj iz unaprijed zadanog raspona, gdje minimum označava najmanju pouzdanost da je kandidat tražena struktura, a maksimum najveću. Metoda je detaljnije objašnjena slikom 5. Iz klijentskih aplikacija 164 se preko aplikacijskog programskog sučelja 250 (APl-ja) sustava mogu dohvatiti svi kandidati i njihovi nivoi pouzdanosti za sve detektirane strukture. Nije definiran medij preko kojeg API prenosi podatke (API može podatke prenositi žično ili bežično), niti oblik u kojem se podaci prenose. Tipično se podaci prenose u nekom obliku koji je lako strojno obradiv, poput xml, json, parovi ključ-vrijednost i sl.
Informacije o kandidatima za strukture korisniku se prikazuju u korisničkom sučelju 260 unutar klijentske aplikacije 164. Tipično se prikazuju samo kandidati s najvećim nivoom pouzdanosti, ali korisnik ima mogućnost pregledavanja i ostalih kandidata, te odabira ispravne vrijednosti. Primjerice, sustav može pronaći nekoliko kandidata za iznos plaćanja računa, od kojih je možda kandidat s drugim najvećim nivoom pouzdanosti stvaran iznos koji korisnik želi platiti. U tom slučaju korisnik može odabrati drugi kandidat kao ispravnu vrijednost. Nad odabranim kandidatima korisnik ima mogućnost obavljanja konačnih akcija 270, koje mogu biti plaćanje računa, arhiviranje i sl.
Odabirom akcije 270 korisnik potvrđuje ispravnost odabranih kandidata te se takvi kandidati prosljeđuju na podsustav za za adaptiranje pravila u podsustavima za detekciju i ekstrakciju te evaluaciju 280. Podsustav za adaptiranje pravila služi optimiranju pravila za evaluaciju 285 i za ekstrakciju 290 s ciljem dobivanja što točnijih rezultata u budućim obradama dokumenata. Način rada podsustava je detaljnije opisan na slici 9.
Slika 3. je dijagram toka preferirane metode 300 koja se koristi za pripremu dokumenata u podsustavu za prihvat strojno generiranih dokumenata 220. Dokument 210 se može dohvatiti iz radne memorije 160, tvrdog diska 150 ili preko komunikacijskog sučelja 140, a može biti u bilo kojem formatu, tipično pdf, xls, txt i si. Priprema dokumenta započinje primanjem dokumenta 305 i stvaranjem novog dokumenta u prijelaznom obliku 310 u koji će se spremati podaci iz ulaznog dokumenta. Ulazni dokument prvo se rastavlja na tekstualne dijelove, najčešće slova. Dok god u dokumentu postoje tekstualni dijelovi što se provjerava logičkom petljom 315 , za svaki se taj tekstualni dio radi sljedeća analiza: u prijelazni dokument zapiše se vrijednost i pozicija tekstualnog dijela 320, a nakon toga i vizualne karakteristike tekstualnog dijela 325 (font, boja teksta, podebljanost teksta, nakošenost), te se potom ide na novi tekstualni element 330. Osim tekstualnih dijelova, ulazni dokument može sadržavati slike što se provjerava logičkom petljom 335.
U podsustavu 220 dokument se rastavlja na slikovne elemente, od kojih se za svaki radi analiza: u prijelazni dokument zapiše se vrijednost i pozicija slikovnog elementa 340, ako na slikovnom elementu postoji tekst, on se korištenjem OCR tehnike pročita 345, te se vrijednost i pozicija teksta zapisu u prijelazni dokument 350. U prijelazni dokument zapisuju se i vizualne karakteristike teksta 355, jednako kao i za tekstualne dijelove 325, te se potom ide na novi slikovni element 360. Podsustav 220 omogućuje da se nad dokumentom rade i drugačije vrste analize 365, da bi se potom vratio prijelazni dokument 370. Slika 4. je dijagram toka preferirane metode 400 koja se koristi u podsustavu za ekstrakciju kandidata za strukture 230. Ulaz u podsustav je dokument u prijelaznom obliku 410, te pravila za ekstrakciju konkretne strukture 420. Podsustav na početku stvori praznu listu kandidata za strukture 430 u koju će se spremati konačni kandidati. Nakon toga podsustav ulazni dokument rastavlja na osnovne tekstualne jedinke (npr. slova, riječi, rečenice, ...) 440 i nad svakom jedinkom evaluira pravila za ekstrakciju kroz logičku petlju 450. Pravila su zadana u obliku programa kojem se kao ulaz predaju potencijalni kandidati za strukturu, a kao izlaz vrati istinu (eng. true) ili laž (eng. false) 460. Ukoliko više nema osnovnih jedinki u ulaznom dokumentu, vraća se lista kandidata za strukturu 490. Zaseban program se koristi za svaki tip strukture. Primjerice, za ekstrakciju iznosa plaćanja program prima kandidat za iznos i vraća istinu samo ako je kandidat decimalni broj s točno dvije znamenke. Sve jedinke koje zadovoljavaju pravila za željenu strukturu stavljaju se u listu kandidata za strukturu 470, koja je i konačni rezultat obrade. Nakon što se utvrdi da jedinka ne zadovoljava pravila za željenu strukturu 460 odnosno da ista zadovoljava ta pravila i da je potom dodana u listu kandidata za strukturu 470, obavlja se pomak na slijedeću osnovnu jedinku 480.
Slika 5. je dijagram toka preferirane metode koja se koristi u podsustavu za evaluaciju kandidata za strukture 500. Ulaz u metodu je lista kandidata 510 dobivena podsustavom 230 i ulazni dokument u prijelaznom obliku 520. Podsustav 240
dohvaća i pravila za evaluaciju kandidata 530. Pravila su zadana u obliku programa koji kao ulaz primaju potencijalni kandidat za strukturu i ulazni dokument u prijelaznom obliku, a kao izlaz vraćaju nivo pouzdanosti 540. Potom se vraća lista kandidata s izračunatim nivoima pouzdanosti 550. Tipično se za određivanje nivoa pouzdanosti radi metodama strojnog učenja, primjerice stablima odlučivanja, neuronskim mrežama, slučajnim šumama i si, na temelju značajki poput veličine fonta kandidata, blizine nekih ključnih riječi, poziciji unutar dokumenta i si. Podsustav 240 svakom kandidatu dodijeli tako izračunati nivo pouzdanosti. Slika 6. ilustrira primjer strojno generiranog dokumenta 210 sa strukturama koje se mogu detektirati i ekstrahirati. Dokument prikazuje račun (eng. invoice) čije su strukture iznos plaćanja (eng. amount), datum dospijeća (eng. due date) i broj računa plaćanja (eng. account number). Prilikom pokretanja programa 166, sadržaj dokumenta dolazi na podsustav za prihvat strojno generiranog dokumenta 220 gdje se dokument prevede u prijelazni oblik. Podsustav za detekciju i ekstrakciju kandidata 230 dobiva tako obrađeni dokument. Za svaki tip strukture analiza se obavlja zasebno. U analizi dokumenta podsustav rastavlja ulazni dokument na osnovne tekstualne jedinke. Za svaku jedinku evaluiraju se pravila za ekstrakciju 290 koja daju odgovor je li jedinka kandidat za strukturu. Za prikazani dokument, kandidati za strukture dani su na slici 7.
Za prikazani dokument prvo se traže kandidati za iznos plaćanja. Svaka od osnovnih jedinki evaluira se nad skupom pravila koji definiraju može li jedinka biti iznos plaćanja. Primjerice, pravilo može biti da jedinka mora biti decimalni broj s točno dvije znamenke. U ovom primjeru, kandidati za iznos su jedinke su "113,21", "22,64" i "135,85" koji se pojavljuje dva puta. Nakon iznosa traži se broj računa, gdje je pravilo da je jedinka u zapisana u formatu koji zadovoljava MOD-97-10 7064:2003 algoritam za provjeru kontrolnih znamenki. Nakon datuma traži se datum dospijeća plaćanja gdje jedinka mora biti ispravno zapisani datum. Na slici 7. detektirani i ekstrahirani kandidati prikazani su crnom bojom. Nakon detekcije i ekstrakcije za svaki se kandidat u podsustavu za evaluaciju kandidata 240 računa njegov nivo pouzdanosti.
Za ovaj primjer zanimljivo je računanje nivoa pouzdanosti kandidata za iznos plaćanja. Postoje četiri kandidata: "113,21", "22,64" i "135,85" koji se pojavljuje dva puta. Nivo pouzdanosti određuje se algoritmima strojnog učenja, a ulaz u algoritam su značajke poput veličine fonta kandidata, podebljanost fonta kandidata, udaljenost do ključnih riječi "amount" i "brutto". Sustav koristi sve značajke koje inače koristi čovjek kad u dokumentu pronalazi točnu vrijednost iznosa plaćanja. U primjeru sa slike 7. Kandidat "135,85" imat će najviši nivo pouzdanosti jer je zapisan najvećim fontom, podebljano, nalazi se izravno ispod ključne riječi "brutto" i izravno desno od ključne riječi "amount".
Slika 8. ilustrira korisničko sučelje klijentske aplikacije u kojem su prikazani kandidati za strukture iz dokumenta sa slike 6. koje je pronašao sustav 166. Za svaku od struktura tipično se prikazuje samo kandidat koji ima najveći nivo pouzdanosti. Korisnik ima mogućnost provjere točnosti tih podataka i ispravka ukoliko se dogodila greška u ekstrakciji. U korisničkom sučelju korisnik može odabrati neku od akcija koje želi obaviti nad dokumentom. U primjeru na slici 8. ta je akcija plaćanje, no sustav 166 nije ograničen na unaprijed zadane akcije, nego one prvenstveno ovise o klijentskoj aplikaciji 164.
Odabirom akcije korisnik potvrđuje ispravnost pronađenih kandidata za strukture. Po odabiru akcije, klijentska aplikacija 164 putem aplikacijskog programskog sučelja 250 šalje odabrane kandidate u podsustav za adaptiranje pravila 280. U tom se podsustavu korisničke vrijednosti koriste za optimiranje točnosti rada cjelokupnog sustava. Dijagram toka programa koji se obavlja u podsustavu za adaptiranje pravila dan je slikom 9.
Slika 9. je dijagram toka metode koja se koristi u podsustavu za adaptiranje pravila 900. Podsustav na ulazu primi strukture koje je korisnik potvrdio u korisničkom sučelju 910 i ulazni dokument u prijelaznom obliku 920. Ti se podaci zatim pohrane u neki oblik trajne (perzistentne) memorije 930 poput baze podataka. U sljedećem koraku podsustav dohvaća povijest svih ekstrakcija struktura iz iste trajne memorije 940 i na temelju njih radi optimizaciju pravila za evaluaciju 285 i ekstrakciju 290 s ciljem dobivanja maksimalne točnosti na povijesti 950, odnosno povijest svih ekstrakcija služi za provjeru uspješnosti rada sustava. Po završetku se vraćaju optimalna pravila 960. Optimiranje se obavlja nekim od standardnih postupaka matematičke optimizacije, (npr. gradijentnim spustom) ili metodama strojnog učenja. Podsustav za adaptaciju pravila 280 rezultira time da se sustav automatski prilagođava novim dokumentima koji dolaze na obradu.
Pozivne oznake
100 - blokovski dijagram računalnog sustava
110 - centralnu procesna jedinica (CPU)
120 - ulazno izlazna jedinica
130 - signalna linija
140 - komunikacijsko sučelje
150 - tvrdi disk za dugoročnu pohranu podataka
160 - radna memorija (RAM)
162 - operacijski sustav
164 - klijentska aplikacija
166 - program pohranjen u radnoj memoriji sustava
168 - ostali podaci u radnoj memoriji
210 - strojno generirani dokument
220 - podsustav za prihvat strojno generiranog dokumenata
230 - podsustav za detekciju i ekstrakciju kandidata za strukture
240 - podsustav za evaluaciju kandidata za strukture
250 - aplikacijsko programsko sučelje
260 - korisničko sučelje
270 - skup akcija koje se mogu obaviti nad strukturama iz obrađenog dokumenta
280 - podsustav za adaptiranje pravila
285 - pravila za evaluaciju
290 - pravila za ekstrakciju
300 - dijagram toka preferirane metode koja se koristi za pripremu dokumenata u
podsustavu za prihvat strojno generiranih dokumenata
305 - primanje dokumenta
310 - stvaranje novog dokumenta u prijelaznom obliku
315 - logička petlja za provjeru tekstualnih dijelova u ulaznom dokumentu
310 u koji će se spremati podaci iz ulaznog dokumenta.
320 - zapisivanje vrijednosti i pozicije tekstualnog dijela u prijelazni dokument
325 - zapisivanje vizualne karakteristike tekstualnog dijela (font, boja teksta, podebljanost teksta, nakošenost,...) u prijelazni dokument
330 - prijelaz na novi tekstualni dokument
335 - logička petlja za provjeru slikovnih dijelova u ulaznom dokumentu
340 - zapisivanje vrijednosti i pozicija slikovnog dijela u prelazni dokument
345 - čitanje teksta slikovnog dijela korištenjem OCRa
350 - zapisivanje vrijednosti i pozicije teksta slikovnog dijela u prijelazni dokument
355 - zapisivanje vizualne karakteristike tekstualnog slikovnog dijela (font, boja teksta, nakošenost,...) u prijelazni dokument
360 - prijelaz na novi slikovni element
365 - izvršavanje drugih potrebnih analiza ulaznog dokumenta
370 - vrati prijelazni dokument
400 - dijagram toka preferirane metode koja se koristi u podsustavu za ekstrakciju kandidata za strukture
410 - dohvat ulaznog elementa u prijelaznom obliku
420 - dohvat pravila za ekstrakciju željene strukture
430 - stvaranje prazne liste kandidata za strukture
440 - rastavljanje ulaznog dokumenta na osnovne tekstualne jedinke (npr. slova, riječi, rečenice, linije, tablice ...)
450 - logička petlja za provjeru postojanja osnovnih jedinki u ulaznom dokumentu
460 - algoritam za provjeru da li trenutna osnovna jedinka zadovoljava pravila za željenu strukturu
470 - dodavanje osnovne jedinke u listu kandidata za strukturu
480 - pomicanje na slijedeću osnovnu jedinku
490 - vrati listu kandidata za strukturu
500 - dijagram toka preferirane metode koja se koristi u podsustavu za evaluaciju kandidata za strukture
510 - dohvat liste kandidata za strukturu
520 - dohvat ulaznog dokumenta u prijelaznom obliku za potrebe evaluacije kandidata za strukture
530 - dohvat pravila za evaluaciju kandidata za željenu strukturu
540 - izračun nivoa pouzdanosti na temelju karakteristika kandidata, ulaznog dokumenta i skupa pravila
550 - vrati listu kandidata s izračunatim nivoima pouzdanosti
900 - dijagram toka metode koja se koristi u podsustavu za adaptiranje pravila
910 - dohvat strukture koje je korisnik potvrdio u korisničkom sučelju 920 - dohvat
ulaznog dokumenta u prijelaznom obliku u podsustavu za adaptiranje pravila
930 - pohranjivanje strukture i dokumenta u trajnoj memoriji
940 - dohvat povijesti svih potvrđenih struktura i ulaznih dokumenata iz trajne memorije
950 - provođenje optimizacije pravila za dobivanje maksimalne točnosti
960 - vrati optimalna pravila

Claims (12)

1. Sustav za adaptivnu detekciju i ekstrakciju struktura iz strojno generiranih dokumenata, naznačen time, da sadrži podsustav za prihvat strojno generiranog dokumenta (220), podsustav za detekciju i ekstrakciju kandidata za strukture (230), podsustav za evaluaciju kandidata (240), aplikacijsko programsko sučelje (API) (250), i podsustav za adaptiranje pravila (280), pri čemu podsustav za prihvat strojno generiranog dokumenta (220) omogućuje pripremu različitih oblika ulaznih dokumenata u prijelazni oblik dokumenta koji je pogodan za daljnju obradu, podsustav za detekciju i ekstrakciju kandidata (230) pretražuje tako pripremljeni dokument te korištenjem skupa pravila, koje optimira podsustav za adaptiranje pravila (280), identificira moguće kandidate za svaku traženu strukturu, gdje se identificiranim kandidatima u podsustavu za evaluiranje kandidata (240) na temelju evaluacijskih pravila (285) dodjeljuje nivo pouzdanosti, odnosno procjena vjerojatnosti da je kandidat tražena struktura, gdje sustav putem aplikacijskog programskog sučelja (250) šalje kandidate i njihove nivoe pouzdanosti klijentskoj aplikaciji (164) koja unutar korisničkog sučelja (260) prikazuje kandidate korisniku koji potom odabire točnu vrijednost.
2. Sustav prema zahtjevu 1, naznačen time, da je podsustav za prihvat strojno generiranog dokumenta (220) ulazni dokument pretvara u prijelazni oblik na način da za sve tekstualne dijelove ulaznog dokumenta pohrani barem podatke o njihovoj vrijednosti i poziciji unutar dokumenta, pri čemu moguće sadržava, ali ne i nužno pametni telefon, prijenosno računalo s ugrađenom kamerom ili drugu vrstu uređaja koji može papirnati dokument konvertirati u digitalni zapis.
3. Sustav prema zahtjevu 1, naznačen time, da je podsustav za prihvat strojno generiranih dokumenata (220) ulazni dokument pretvara u prijelazni oblik na način da za sve grafičke dijelove ulaznog dokumenta pohrani podatak po njihovoj vrijednosti i poziciji unutar dokumenta, obavi postupak optičkog prepoznavanja znakova (engl. OCR), te za sve pronađene tekstualne dijelove grafičkog dijela pohrani barem podatke o njihovoj vrijednosti i poziciji unutar dokumenta.
4. Sustav prema zahtjevu 1, naznačen time, da podsustav za detekciju i ekstrakciju kandidata za strukture (230) za potrebe pretraživanja i identifikacije kandidata obavlja rastavljanje prijelaznog oblika dokumenta na osnovne tekstualne jedinke pri čemu osnovne tekstualne jedinke mogu biti znakovi ili skupovi znakova unutar prijelaznog oblika dokumenta.
5. Sustav prema zahtjevu 4, naznačen time, da podsustav za detekciju i ekstrakciju kandidata (230) za strukture na osnovu pravila zadanih u obliku programa prema kojima se za osnovnu tekstualnu jedinku i za ulazni dokument određuje je li osnovna tekstualna jedinka kandidat za strukturu pri čemu se navedena pravila mogu mijenjati tijekom rada sustava.
6. Sustav prema zahtjevu 1, naznačen time, da podsustav za evaluaciju kandidata za strukture (240) evaluaciju obavlja na način da za svaki kandidat generira realni broj iz unaprijed zadanog intervala koji definira nivo pouzdanosti o tome da je kandidat odgovarajuća struktura.
7. Sustav prema zahtjevu 6, naznačen time, da podsustav za evaluaciju kandidata za strukture (240) nivo pouzdanosti generira na temelju pravila zadanih u obliku programa koji kao ulaz dobivaju kandidat i ulazni dokument pri čemu se navedena pravila mogu mijenjati tijekom rada sustava.
8. Sustav prema zahtjevu 1, naznačen time, da se iz klijentskih aplikacija preko aplikacijskog programskog sučelja (250) sustava mogu dohvatiti svi kandidati i njihovi nivoi pouzdanosti za sve detektirane strukture.
9. Sustav prema zahtjevu 1, naznačen time, da aplikacijsko programsko sučelje (250) sustava omogućava klijentskoj aplikaciji (164) pokretanje postupka adaptiranja pravila, a koji postupak se pokreće nakon što je korisnik u korisničkom sučelju aplikacije (260) odabrao točne kandidate za strukture u dokumentu i pokrenuo obavljanje akcije.
10. Sustav prema zahtjevu 1, naznačen time, da podsustav za adaptiranje pravila (280) nadalje pohranjuje potvrđeni odabir kandidata zajedno s ulaznim dokumentom na način da ti podaci budu sačuvani i nakon završetka rada sustava.
11. Sustav prema zahtjevu 10, naznačen time, da podsustav za adaptiranje pravila (280) može nadalje adaptirati pravila korištena u podsustavu za detekciju i ekstrakciju kandidata (230) te pravila u podsustavu za evaluaciju kandidata (240).
12. Sustav prema zahtjevu 10, naznačen time, da podsustav za adaptiranje pravila (280) koristi matematički optimizacijski postupak kojim se maksimizira točnost ekstrakcije i evaluacije kandidata za strukture nad svim pohranjenim ulaznim dokumentima i njihovim potvrđenim izborima kandidata.
HRP20130700AA 2013-07-23 2013-07-23 Sustav za adaptivnu detekciju i ekstrakciju struktura iz strojno generiranih dokumenata HRP20130700B1 (hr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
HRP20130700AA HRP20130700B1 (hr) 2013-07-23 2013-07-23 Sustav za adaptivnu detekciju i ekstrakciju struktura iz strojno generiranih dokumenata

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
HRP20130700AA HRP20130700B1 (hr) 2013-07-23 2013-07-23 Sustav za adaptivnu detekciju i ekstrakciju struktura iz strojno generiranih dokumenata

Publications (2)

Publication Number Publication Date
HRP20130700A2 true HRP20130700A2 (hr) 2015-01-30
HRP20130700B1 HRP20130700B1 (hr) 2016-03-11

Family

ID=52389171

Family Applications (1)

Application Number Title Priority Date Filing Date
HRP20130700AA HRP20130700B1 (hr) 2013-07-23 2013-07-23 Sustav za adaptivnu detekciju i ekstrakciju struktura iz strojno generiranih dokumenata

Country Status (1)

Country Link
HR (1) HRP20130700B1 (hr)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0823864B2 (ja) * 1986-03-29 1996-03-06 株式会社東芝 見出し判定方法
DE10345526A1 (de) * 2003-09-30 2005-05-25 Océ Document Technologies GmbH Verfahren und System zum Erfassen von Daten aus maschinell lesbaren Dokumenten
IES20060361A2 (en) * 2006-05-05 2007-10-31 Big River Ltd Electronic document conversion
WO2007149216A2 (en) * 2006-06-21 2007-12-27 Information Extraction Systems An apparatus, system and method for developing tools to process natural language text
JP5247311B2 (ja) * 2008-08-29 2013-07-24 キヤノン株式会社 電子文書処理装置および電子文書処理方法
GB2487600A (en) * 2011-01-31 2012-08-01 Keywordlogic Ltd System for extracting data from an electronic document
US8625886B2 (en) * 2011-02-08 2014-01-07 Palo Alto Research Center Incorporated Finding repeated structure for data extraction from document images

Also Published As

Publication number Publication date
HRP20130700B1 (hr) 2016-03-11

Similar Documents

Publication Publication Date Title
US9552516B2 (en) Document information extraction using geometric models
US11232300B2 (en) System and method for automatic detection and verification of optical character recognition data
EP2102762B1 (en) Digital image archiving and retrieval using a mobile device system
US20190294912A1 (en) Image processing device, image processing method, and image processing program
EP2671190B1 (en) System for data extraction and processing
EP3652917B1 (en) System and method for integrating message content into a target data processing device
CA3048356A1 (en) Unstructured data parsing for structured information
US20190139147A1 (en) Accuracy and speed of automatically processing records in an automated environment
US11763588B2 (en) Computing system for extraction of textual elements from a document
US20220292861A1 (en) Docket Analysis Methods and Systems
US20210182677A1 (en) Identifying Portions of Electronic Communication Documents Using Machine Vision
CN114724166A (zh) 一种标题抽取模型的生成方法、装置及电子设备
CN114092948A (zh) 一种票据识别方法、装置、设备以及存储介质
CN112464927B (zh) 一种信息提取方法、装置及系统
HRP20130700A2 (hr) Sustav za adaptivnu detekciju i ekstrakciju struktura iz strojno generiranih dokumenata
CA3156204A1 (en) Domain based text extraction
US11516166B1 (en) Header recognition techniques for an email threading tool
US11869260B1 (en) Extracting structured data from an image
US11763589B1 (en) Detection of blanks in documents
US20240020473A1 (en) Domain Based Text Extraction
Humbel et al. The application of HTR to early-modern museum collections: a case study of Sir Hans Sloane's Miscellanies catalogue
CN116245085A (zh) 保函开立方法、装置、设备及存储介质
JP2024094101A (ja) 類似度判定方法および類似度判定プログラム
WO2024052648A1 (en) Classifying documents using geometric information
CN115858778A (zh) 合同审核方法、装置、设备、存储介质及产品

Legal Events

Date Code Title Description
A1OB Publication of a patent application
AIPI Request for the grant of a patent on the basis of a substantive examination of a patent application
PNAN Change of the applicant name, address/residence

Owner name: MICROBLINK D.O.O., HR

B1PR Patent granted
ODRP Renewal fee for the maintenance of a patent

Payment date: 20170711

Year of fee payment: 5

PBON Lapse due to non-payment of renewal fee

Effective date: 20180723