Analizė
Kodėl dauguma dokumentų skaitymo įrankių sulūžta, kai keičiasi formatas — ir kaip to išvengti
Straipsnį parašė Natys Vytautas, UAB NVGroup vadovas.
Tradicinis dokumentų skaitymo (OCR) įrankis veikia pagal šabloną: išmokstamas vieno konkretaus dokumento išdėstymas, ir kol dokumentas atrodo tiksliai taip pat — viskas gerai. Pasikeičia vežėjas, pasikeičia šalis, pasikeičia net tas pats vežėjas atnaujina savo formą — šablonas nustoja veikti, ir kažkas turi jį iš naujo konfigūruoti rankomis.
CMR važtaraščiai, SMGS/CIM geležinkelio dokumentai ir B/L jūros manifestai turi vieną bendrą bruožą: juos išrašo šimtai skirtingų šalių, vežėjų ir sistemų, ir nė viena neprivalo laikytis identiško vizualaus išdėstymo. Būtent čia šabloninis OCR sulūžta dažniausiai.
Kitoks požiūris: skaityti prasmę, ne poziciją
Mūsų sistema neieško "svorio lauko trečioje eilutėje, ketvirtame stulpelyje" — ji skaito dokumentą taip, kaip skaitytų žmogus, atpažindama, kas yra siuntėjas, kas gavėjas, koks svoris, nepriklausomai nuo to, kurioje vietoje puslapio tai parašyta. Tai reiškia:
- Naujas vežėjo formatas neturi sulaužyti sistemos. Nereikia laukti, kol kažkas rankomis sukonfigūruos naują šabloną kiekvienam naujam dokumento variantui.
- Trys moduliai (CMR, geležinkelis, jūra) dalinasi ta pačia architektūrine logika, pritaikyta kiekvieno dokumento tipo specifikai — vienoje vietoje sukurtas patobulinimas naudingas visiems trims.
Kur sistema pati pripažįsta nežinojimą — ir kodėl tai privalumas
Kiekviena ekstrakcija gauna pasitikėjimo balą, apskaičiuotą pagal tai, kiek reikalingų duomenų laukų realiai pavyko užpildyti — ne fiksuotą skaičių, vienodą visiems dokumentams. Kai dokumentas neįprastas, prastos kokybės, ar tiesiog sudėtingesnis nei įprasta — sistema nespėja, o pažymi jį rankinei peržiūrai. Tai gali skambėti kaip apribojimas, bet tai tiksliai priešingai: tai apsauga nuo tylaus, nepastebėto klaidos, kuri kitaip patektų į jūsų ataskaitą kaip "teisinga".
Kalba nėra kliūtis
Kadangi sistema skaito prasmę, ne poziciją, ji vienodai geba dirbti su lotynišku, kirilicos ar rašmenų raštu be atskiro pritaikymo kiekvienai kalbai — tą patį modulį naudoja tiek CMR važtaraštis anglų kalba, tiek SMGS накладная rusų kalba, tiek B/L kiniškais rašmenimis. Tai patikrinome su realistiškais dokumentų pavyzdžiais abiem kalbomis — pagrindiniai identifikatoriai ištraukti tiksliai, sistema pati teisingai įvertino savo pasitikėjimą kiekvienu atveju.
Kas išsaugoma audito tikslais
Kiekvienam ištrauktam duomenų taškui sistema išsaugo ir originalų teksto fragmentą, iš kurio jis buvo ištrauktas — ne tik galutinį rezultatą. Tai reiškia, kad bet kada galite grįžti ir patikrinti, iš kur konkrečiai atsirado konkretus skaičius ar pavadinimas, ne tik pasitikėti "juoda dėže".
B/L specifika — riba, kurios laikomės sąmoningai
Jūros krovinio manifestų atveju sistema ištraukia duomenis tik vidiniam naudojimui — ji nepatvirtina dokumento teisinio galiojimo ar nuosavybės statuso. Tai sąmoninga riba: duomenų ekstrakcija ir teisinis dokumento patvirtinimas yra du skirtingi dalykai, ir aiškus atskyrimas tarp jų apsaugo tiek jus, tiek mus nuo klaidingo pasitikėjimo ten, kur jo nereikėtų.