Praktyczne zastosowanie technologii iOCR w przedsiębiorstwie
Przetwarzanie bodźców wizualnych należy do grupy najbardziej skomplikowanych i jednocześnie najmniej poznanych procesów w ludzkim mózgu. Wiadomo, że ludzie pamiętają ok. 80% z tego co widzą, a jedynie 20% z tego co czytają. Człowiek potrafi przetwarzać całe obrazy, które oko widzi przez zaledwie 13 milisekund[i] i jest w stanie zapamiętać 2000 zdjęć z dokładnością co najmniej 90% przez okres kilku dni, nawet przy bardzo krótkim czasie prezentacji obrazów podczas nauki[ii]. Potrafimy nawet zobaczyć przedmioty nieistniejące[iii]. Do takiej sprawności i wydajności w przetwarzaniu obrazów algorytmom jeszcze bardzo, bardzo daleko. Na szczęście, z biznesowego punktu widzenia, ważniejszy jest tekst, czyli podstawowy nośnik informacji, który jest łatwiejszy do wyekstrahowania z dowolnego obrazu. Zajmuje się tym technologia iOCR (Intelligent Optical Character Recogintion), czyli inteligentne rozpoznawanie znaków.
Czym jest oprogramowanie iOCR i do czego służy?
iOCR wywodzi się z opracowanej na początku lat 90. XX w. technologii OCR (Optical Character Recognition), czyli zestawu technik i programów do rozpoznawania znaków i całych tekstów w rastrowym pliku graficznym. Zadaniem OCR było zwykle rozpoznanie w zeskanowanym dokumencie[iv] poszczególnych liter tekstu, najczęściej wydrukowanych specjalnym krojem pisma. Po dopasowaniu do tablicy znaków ASCII następowało utworzenie pliku tekstowego, który lepiej lub gorzej oddawał pierwotną zawartość. Główną trudność sprawiało oczywiście odczytanie pisma odręcznego, a cześć programów OCR miała nawet kłopoty z rozpoznaniem ligatur, czy znaków wydrukowanych innym fontem.
Technologia inteligentnego rozpoznawania znaków iOCR poszła dużo dalej – udaje się tak przetwarzać obrazy, aby pliki tekstowe były przygotowane do ich maszynowego przetwarzania przez boty automatyzujące procesy biznesowe RPA (Robotics Process Automation). Konwersja znaków jest oparta na inteligentnym rozpoznawaniu wzorców. Właśnie połączenie iOCR z głębokim uczeniem maszynowym MI (Machine Learning) i algorytmami sztucznej inteligencji AI (Artificial Intelligence) dla wielu organizacji otworzyło zupełnie nowe perspektywy w zakresie automatyzacji przetwarzania dokumentów papierowych.
Programy iORC doskonale radzą sobie z dokumentami:
- o stałej strukturze – np. z formularzami podatkowymi, ubezpieczeniowymi, czy arkuszami egzaminacyjnymi lub dokumentami;
- quasi-strukturalnymi takimi, jak faktury, zlecenia zakupu, potwierdzenia wpłaty i zlecenia wysyłki;
- niestrukturalnymi, czyli umowami, kontraktami, artykułami, listami i innymi dokumentami pełnotekstowymi.
Oczywiście rozpoznawany dokument może być także wielostronicową kombinacją tych trzech typów ze zwykłym tekstem i załącznikami graficznymi.
Znaczenie technologii iOCR potwierdzają wyniki badań rynkowych[v], które wskazują, że jeszcze w 2019 roku 49% firm przechowywało swoje dane biznesowe w formie papierowej, a 97% badanej populacji w ten czy inny sposób było zaangażowanych w digitalizację swoich papierowych dokumentów. Wniosek z tego jest prosty – wykorzystanie najnowszych zdobyczy iCOR jest warunkiem koniecznym do przeprowadzenia transformacji cyfrowej w organizacji.
Jak działa oprogramowanie iOCR?
Proces rozpoznania zawartości bitmapy i przekształcenia jej w tekst można podzielić na sześć etapów:
- Skanowanie papierowego dokumentu. Powstała w ten sposób mapa bitowa jest elektronicznym odwzorowaniem oryginału. Oczywiście dostępne oprogramowanie narzędziowe może sterować kontrastem, rozdzielczością, barwami, może odwracać kolory, ale i tak obraz jest zrozumiały wyłącznie dla człowieka.
- Wstępne przetwarzanie. Na tym etapie obraz jest czyszczony z szumów, usuwa się zbędne obszary poza tekstem, optymalizuje się kolor i kontrast tak, aby uzyskać optymalną mapę bitową do dalszego przetwarzania. Jest to szczególnie istotne w procesach przetwarzania pisma odręcznego. Po wstępnym przetwarzaniu uzyskuje się prawie czysty obraz wszystkich znaków, co poprawia wyniki rozpoznawania tekstu.
- Segmentacja. Algorytm grupuje przetwarzane fragmenty obrazu w znaki lub klasy znaków oraz poszukuje wzorców pasujących do zdefiniowanych klas.
- Ekstrakcja znaków. W tym kluczowym kroku następuje poszukiwanie i rozpoznanie cech charakterystycznych poszczególnych liter. W efekcie wyodrębnione wcześniej znaki stają się de facto literami.
- Trening sieci neuronowej. Opcjonalnie, po wyodrębnieniu wszystkich cech poszczególnych liter, można pobrać znaki do sieci neuronowej, aby nauczyć ją rozpoznawania liter. Treningowy zestaw danych i metod zastosowanych w celu uzyskania najlepszych wyników będą zależeć od problemu, który wymaga rozwiązania opartego na iOCR.
- Przetwarzanie końcowe. Tu odbywa się cyzelowanie i poprawianie efektów działania algorytmów na poprzednich etapach. Trudno oczekiwać stuprocentowej skuteczność w rozpoznawaniu tekstu, bo zależy to w pewnym stopniu od kontekstu, dlatego na końcu i tak oko człowieka dokonuje ostatecznych poprawek.
Jak widać, kluczem do inteligentnego, efektywnego i wydajnego przetwarzania obrazów na tekst są głównie wielowarstwowe sztuczne sieci neuronowe umożliwiające głębokie uczenie maszynowe DML (Deep Machine Learning). W praktyce najczęściej wykorzystuje się rekurencyjne sieci neuronowe (RNN – Recurrent Neural Networks)[vi], długą pamięć krótkotrwałą (LSTM – Long Short-Term Memory)[vii] oraz splotowe sieci neuronowe (CNN – Convolutional Neural Networks)[viii].
Przydatne są także biblioteki i narzędzia klasy open source takie, jak OpenCV (Open Computer Vision Library)[ix], czyli Vision API wspierane przez Google. To ostatnie rozwiązanie oferuje wstępnie wytrenowane modele do wyodrębniania tekstu z obrazów różnego typu i jakości.
Jakie są możliwe praktyczne zastosowania technologii iOCR?
iOCR doskonale sprawdzi się w każdej sytuacji, gdzie informacje zostały utrwalone w formie wydruku, a organizacja potrzebuje tych danych w formie elektronicznej. Spektrum zastosowań jest zatem praktycznie nieograniczone. Pierwszy przykład z brzegu to kontrola dostępu – po zeskanowaniu dokumentu tożsamości, algorytmy iOCR zapisują dane w odpowiedniej bazie danych, a kolejne aplikacje mogą sprawdzić np. uprawnienia do wejścia. Zbędne się staje wypełnianie jakichkolwiek papierowych formularzy. Podobnie rzecz ma się np. w wypożyczalniach aut. Kolejne miejsca, gdzie z pewnością technologia iOCR zagości na stałe, to działy finansów, gdzie przetwarza się np. faktury zakupowe, firmy badawcze, które będą mogły automatyzować przetwarzanie ankiet, czy sektor edukacji, który wykorzysta iOCR do sprawdzania arkuszy egzaminacyjnych. Cała branża bankowa i ubezpieczeniowa, gdzie się przetwarza naprawdę dużo papierowych dokumentów, dzięki iOCR, może zautomatyzować np. przepływ wniosków kredytowych, dokumentację powypadkową i wnioski o wypłatę odszkodowania.
Można także wyobrazić sobie działanie iOCR w kancelarii komorniczej, gdzie przetwarza się tysiące podobnych wniosków, wezwań i pism sądowych, jak również w działach handlowych do przetwarzania wizytówek na pełnoprawne rekordy w bazie danych systemu CRM.
Co zyskuje przedsiębiorstwo wdrażając technologię iOCR?
Dzięki iOCR każde przedsiębiorstwo zyskuje dwa bezcenne zasoby: pieniądze i czas. Jeśli w firmie przetwarzającej 50 tys. faktur zakupowych miesięcznie[x], program iOCR jest w stanie odczytać tysiące różnych szablonów faktur, nie tylko polskich, ale również zagranicznych, to czas wprowadzania faktur jest bardzo krótki, a dodatkowo jeśli program jest pewny odczytu danych to automatycznie generuje się plik z fakturą. W ten sposób powstaje ok. 20% dokumentów, a reszta trafia do człowieka, gdzie iOCR uzupełnił już 80-85% pól. Każda ingerencja pracownika człowieka trafia do algorytmów uczenia maszynowego, a to z czasem poprawia skuteczność rozpoznawania i odczytywania danych. Jakie to ma konsekwencje? Brak stresów i przemęczenia pracowników, szczególnie pod koniec miesiąca, gdy spływa największa część faktur kosztowych. To prowadzi do mniejszej liczby błędów, przyśpieszenia procesu akceptacji i płatności faktury. Potrzeba także mniej osób do wprowadzania danych, a koszty osobowe bardzo często stanowią lwią cześć kosztów operacyjnych.
Trzeba się liczyć z tym, że to właśnie człowiek jest głównym źródłem błędów związanych z odczytywaniem danych i wprowadzaniem ich do systemów biznesowych. Zatem posiadanie cyfrowej i rozpoznawalnej wersji dokumentów pozwala na optymalizację wielu procesów biznesowych, przyśpieszenie ich działania i poprawę niezawodności.
Dlaczego warto wdrożyć technologię iOCR w przedsiębiorstwie?
Wiele przyziemnych i powtarzalnych procesów w organizacji może zostać zautomatyzowanych i zrobotyzowanych dzięki inteligentnemu rozpoznawaniu znaków – to iOCR przygotowuje takie wersje dokumentów, że mogą być ona materiałem wejściowym dla botów programowych. Dzięki temu firma może dużo efektywniej digitalizować, klasyfikować, przechowywać i rozpowszechniać dokumenty praktycznie każdego typu. Dzieje się tak, bo iOCR łączy w sobie najwyższej jakości funkcje przetwarzania języka naturalnego, uczenia maszynowego i zaawansowanego rozpoznawania znaku w celu obsługi wszystkich typów dokumentów biznesowych. Implementacja technologii iOCR jest warunkiem koniecznym do robotyzacji procesów biznesowych i wyeliminowania dokumentów papierowych z obiegu pracy. Szybkość przetwarzania dokumentów pośrednio poprawia ogólną wydajność pracy i redukuje koszty. W sytuacji, gdy mówi się o dziesiątkach tysięcy papierowych dokumentów miesięcznie, oszczędności finansowe związane z ograniczeniem zatrudnienia wysuwają się na pierwszy plan.
Technologię iOCR warto wdrożyć także dlatego, że poddaje się ona łatwej integracji z innymi systemami biznesowymi klasy ERP lub CRM. Dzięki interfejsom API, EDI, czy bazom danych, prawidłowo zaprogramowane boty mogą zautomatyzować wiele innych skomplikowanych i zaawansowanych procesów biznesowych, wprowadzając chociażby informacje z plików xml do aplikacji webowych lub rekordów baz danych.
Tak, czy inaczej, iOCR jest technologią kluczową dla realizacji strategii cyfryzacji procesów biznesowych.
[i] https://pubmed.ncbi.nlm.nih.gov/24374558/
[ii] Cheryl L. Grady, Anthony R. McIntosh, M. Natasha Rajah and Fergus I. M. Craik, Neural correlates of the episodic encoding of pictures and words, PNAS 1998 March, 95 (5) 2703-2708.
[iii] http://www.matematyka.wroc.pl/book/figury-niemo%C5%BCliwe
[iv] https://pl.wikipedia.org/wiki/Optyczne_rozpoznawanie_znak%C3%B3w
[v] https://info.aiim.org/capture-leaders-and-their-projects-2019?utm_campaign=20190424.webinar&utm_source=20190424w-Parascript1&utm_medium=20190424w-Parascript1
[vi] https://bulldogjob.pl/readme/3-typy-rekurencyjnych-sieci-neuronowych
[vii] https://datascience.eu/pl/uczenie-maszynowe/zrozumienie-sieci-lstm/
[viii] http://www.cs.put.poznan.pl/alawrynowicz/SI_ML_CNN_2020_lawrynowicz.pdf
[ix] https://github.com/opencv/opencv
[x] https://impel.pl/blog/technologia-ocr-idealne-rozwiazanie-dla-faktur-kosztowych/
Porozmawiajmy!
a my pomożemy Ci wdrożyć najnowsze rozwiązania!