Analiza
Dlaczego większość narzędzi do odczytu dokumentów psuje się przy zmianie formatu -- i jak tego uniknąć
Artykuł napisał Natys Vytautas, dyrektor generalny UAB NVGroup.
Tradycyjne narzędzie do odczytu dokumentów (OCR) działa w oparciu o szablon: uczy się jednego konkretnego układu dokumentu i dopóki dokument wygląda dokładnie tak samo, wszystko działa dobrze. Zmienia się przewoźnik, zmienia się kraj, albo ten sam przewoźnik aktualizuje swój formularz -- szablon przestaje działać i ktoś musi go ręcznie skonfigurować od nowa.
Listy przewozowe CMR, dokumenty kolejowe SMGS/CIM oraz manifesty morskie B/L mają jedną wspólną cechę: wystawia je setki różnych krajów, przewoźników i systemów, z których żaden nie musi stosować identycznego układu wizualnego. Właśnie tam szablonowe OCR psuje się najczęściej.
Inne podejście: odczytywanie znaczenia, nie pozycji
Nasz system nie szuka "pola wagi w trzecim wierszu, czwartej kolumnie" -- odczytuje dokument tak, jak zrobiłby to człowiek, rozpoznając, kto jest nadawcą, kto odbiorcą, jaka jest waga, niezależnie od tego, w którym miejscu strony to zapisano. Oznacza to:
- Nowy format przewoźnika nie powinien psuć systemu. Nie trzeba czekać, aż ktoś ręcznie skonfiguruje nowy szablon dla każdego nowego wariantu dokumentu.
- Wszystkie trzy moduły (CMR, kolej, morze) współdzielą tę samą architekturę bazową, dostosowaną do specyfiki każdego typu dokumentu -- ulepszenie wprowadzone w jednym miejscu przynosi korzyść wszystkim trzem.
Architektura systemu opiera się na czytaniu semantycznym, a nie na sztywnych szablonach -- oznacza to, że radzi sobie równie dobrze z pismem łacińskim, cyrylicą czy pismem obrazkowym, bez osobnego dostosowania do każdego języka. Przetestowaliśmy to na realistycznych przykładach dokumentów SMGS (jęz. rosyjski) i B/L (jęz. chiński) -- kluczowe identyfikatory (numer listu przewozowego, numer B/L) zostały w obu przypadkach wyodrębnione dokładnie.
Gdzie system sam przyznaje, że czegoś nie wie -- i dlaczego to zaleta
Każda ekstrakcja otrzymuje wskaźnik pewności. Gdy dokument jest nietypowy, słabej jakości lub po prostu bardziej złożony niż zwykle -- system nie zgaduje, lecz oznacza go do ręcznej weryfikacji. Może to brzmieć jak ograniczenie, ale jest dokładnie odwrotnie: to ochrona przed cichym, niezauważonym błędem, który inaczej trafiłby do raportu jako "poprawny".
Język nie jest barierą
Ponieważ system odczytuje znaczenie, a nie pozycję, radzi sobie równie dobrze z pismem łacińskim, cyrylicą czy pismem obrazkowym, bez osobnej konfiguracji dla każdego języka -- ten sam moduł przetwarza zarówno angielski list przewozowy CMR, jak i rosyjską накладную SMGS, jak i chiński B/L. Sprawdziliśmy to na realistycznych przykładach dokumentów w obu pismach -- kluczowe identyfikatory zostały wyodrębnione dokładnie, a system poprawnie ocenił własną pewność w każdym przypadku.
Co jest zachowywane do celów audytu
Dla każdego wyodrębnionego punktu danych system zachowuje również oryginalny fragment tekstu, z którego pochodzi -- nie tylko końcowy wynik. Oznacza to, że w każdej chwili można wrócić i sprawdzić, skąd dokładnie pochodzi konkretna liczba lub nazwa, zamiast po prostu ufać "czarnej skrzynce".
Specyfika B/L -- granica, której świadomie przestrzegamy
W przypadku manifestów morskich system wyodrębnia dane wyłącznie do użytku wewnętrznego -- nie potwierdza ważności prawnej dokumentu ani statusu własności. To świadoma granica: wyodrębnianie danych i prawne potwierdzenie dokumentu to dwie różne sprawy, a wyraźne rozdzielenie ich chroni zarówno was, jak i nas przed nieuzasadnionym zaufaniem tam, gdzie nie powinno ono mieć miejsca.