Spis treści
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.
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.



