Przetwarzanie i obsługa dokumentów jest codziennym wyzwaniem, z którym borykają się zarówno małe jak i duże przedsiębiorstwa. Faktury, paragony, formularze zamówień, dokumenty nadchodzące w dużej ilości, z różnych źródeł, w różnej jakości i formatach.
Żaden nie może zostać pominięty, wszystkie są równie ważne i muszą być wprowadzone oraz przetworzone w ramach systemów i procesów obowiązujących w firmie.
Jeśli to zagadnienie nie jest Ci obce, Drogi Czytelniku, to prawdopodobnie jesteś członkiem zespołu, który niestrudzenie dba o przepływ i przetwarzanie dokumentów zgodnie z procedurami. Możesz też być powiązany z RPA i szukasz nowoczesnych rozwiązań, aby pomóc swoim współpracownikom zautomatyzować te odpowiedzialne zadanie.
Zapraszam do lektury, gdzie postaram się przybliżyć zagadnienie inteligentnego przetwarzania dokumentów.
Inteligentne przetwarzanie dokumentów – czym jest?
Inteligentne przetwarzanie dokumentów ma na celu optymalizację żmudnego procesu obsługi dokumentów poprzez zaangażowanie modeli uczenia maszynowego. Gotowych rozwiązań na rynku już jest dużo, a z całą pewnością będzie ich jeszcze więcej. Wartymi wspomnienia są na przykład ABBYY Flexi Capture oraz AWS Document Understanding Solution (DUS).
Podczas gdy wspomniane narzędzia są w stanie pobierać informacje z dokumentów, to niestety, potrzebne są nam jeszcze odpowiednie narzędzia, aby te informacje wykorzystać. Choćby dlatego, że nie wszystkie aplikacje posiadają API.
Należy pamiętać o tym, że zwrócone informacje mogą zawierać błędy. Niestety, AI wciąż popełnia dużo błędów w tym aspekcie.
Problem ten rozwiązać próbuje również UiPath, który już od kilku lat stara się dostarczyć kompleksowe rozwiązania do automatyzacji procesów, wykraczające poza same roboty RPA. Jednym z takich rozwiązań jest Document Understanding, którego rozwój obserwuję z zainteresowaniem od 2020 roku i jestem przekonany, że jest to rozwiązanie zasługujące na uwagę.
UiPath i Document Understanding – Elementy rozwiązania
Document Understanding jest frameworkiem UiPath służącym do procesowania dokumentów i sam w sobie nie jest w żadnym stopniu inteligentny. Co najwyżej udostępnia metody (nazwałbym je klasycznymi) przetwarzania ustrukturyzowanych i powtarzalnych dokumentów z wykorzystaniem wyrażeń regularnych.
Aby odkryć jego pełen potencjał, należy wyposażyć się w AI Center oraz Action Center.
- AI Center jest sercem całego przedsięwzięcia. Udostępnia modele uczenia maszynowego, przechowuje dane wykorzystywane do trenowania i ewaluacji modeli, umożliwia definiowanie i planowanie uczenia.
- Action Center jest interfejsem użytkownika. To tutaj, gdy istnieje podejrzenie, że dane zostały niepoprawnie rozpoznane, wchodzi w grę ludzka zdolność do podejmowania decyzji. Użytkownik może poprawić dane albo zgłosić wyjątek wobec przetwarzanego dokumentu.
Obie usługi są dostępne jako osobne produkty UiPath i mogą być wykorzystywane zarówno w instalacji po stronie klienta, jak i usłudze chmurowej.
Proces przetwarzania dokumentów
Wyposażeni w te elementy i wiedzę o ich przeznaczeniu, możemy przyjrzeć się samemu procesowi przetwarzania dokumentu:
Z powyższego diagramu wyłaniają się dwa kluczowe elementy z perspektywy dostosowywania narzędzia do naszych potrzeb: etapy klasyfikacji i ekstrakcji.
- Klasyfikatory służą do identyfikowania i klasyfikowania przetwarzanych dokumentów. Czy dany dokument jest fakturą, czy zamówieniem, a może jest to nieznany dokument? Jest to etap, który determinuje użycie odpowiedniego ekstraktora.
- Ekstraktory pobierają informacje z dokumentów. Dla faktury mogą to być: numer, data wystawienia, data płatności, stawka podatku, poszczególne pozycje oraz ich suma. Wydobyte dane mogą być delegowane do robotów odpowiedzialnych za obsługę danego dokumentu.
Etap klasyfikacji i ekstrakcji opiera się na poziomie pewności wyrażonym w procentach. Jeśli poziom pewności wobec przetworzonego dokumentu nie spełnia określonych wymagań, taki dokument zostaje oddelegowany do ludzkiej weryfikacji. Użytkownik, wykorzystując stację walidacyjną dostępną w Action Center, potwierdza lub poprawia dane wydobyte przez robota. Zweryfikowane dane są dostępne w dalszej części procesu, zaś dane pochodzące z procesu ludzkiej walidacji mogą zostać użyte w AI Center do trenowania modelu w celu poprawienia sprawności modelu.
Po kilku sesjach trenowania modelu da się zauważyć poprawę działania modelu, ale należy pamiętać, że sam proces uczenia modelu może wymagać wielu przykładowych dokumentów. Zdarza się, że upłynie dużo czasu zanim osiągniemy satysfakcjonujący efekt. Liczby te zapewne mogą iść w dziesiątki lub setki, jeśli nie tysiące.
AI Center – centrum obsługi modeli uczenia maszynowego
Jak już wspomniałem, AI Center jest sercem całego przedsięwzięcia. Udostępnia modele uczenia maszynowego, przechowuje dane wykorzystywane do trenowania i ewaluacji modeli, umożliwia definiowanie i planowanie uczenia.
To wszystko brzmi tak wspaniale, że chciałoby się powiedzieć, że UiPath znalazł rozwiązanie wszystkich problemów związanych z przetwarzaniem dokumentów. Niestety, jest pewien haczyk. Otóż: o tym, czy dany dokument możemy poddawać ekstrakcji danych, decyduje dostępność modelu uczenia maszynowego.
UiPath przygotował kilka domyślnie dostępnych modeli dla najpopularniejszych dokumentów:
- faktura
- paragon
- zamówienie
Jeśli jednak nasz dokument nie wpisuje się w ramy gotowych modeli, istnieje możliwość tworzenia własnych specjalistycznych modeli. Wymaga to jednak zaangażowania osoby zaznajomionej z Data Science, uczeniu maszynowym, oraz Pythonem.
Warto wspomnieć, że AI Center, oprócz modeli dostępnych domyślnie, zawiera również modele open-source do analizy obrazu, języka, czy też emocji w tekście pisanym. Tak więc, AI Center rozszerza możliwości użycia robotów poza procesowaniem dokumentów do choćby klasyfikatora email czy recenzji produktów.
To ja, Twój robot… Ufasz mi, prawda?
Jedną z niewątpliwych zalet robotów RPA, tuż obok tego, że mogą pracować dzień i noc, jest to, że szansa na popełnienie ludzkich błędów, typu literówka czy odstępstwo od procesu, jest znikoma. Niestety, sytuacja ma się inaczej, jeśli chodzi o inteligentne przetwarzanie dokumentów.
Modele działają na podstawie danych dostarczanych przez silniki OCR, zaś wyniki przetwarzania OCR są bezpośrednio uzależnione od jakości samego dokumentu, dlatego przy tworzeniu robota należy bezwzględnie brać pod uwagę poziom pewności silnika OCR.
Błędy silnika OCR
Idealnym zobrazowaniem tej sytuacji jest poniższy przykład:
Powyższy obraz przedstawia stację walidacyjną UiPath, wykorzystywaną do potwierdzania lub poprawiania danych wyodrębnionych z dokumentu. Jak można zauważyć, pomimo tego, że pole „Invoice Number” zostało rozpoznane poprawnie, poziom pewności co do numeru faktury jest bardzo wysoki i akceptowalny (99%), to wartość jest błędna.
Jest to bezpośrednia wina silnika OCR. Może być to spowodowane przez małą czcionkę oraz przeciętną jakość dokumentu (obraz jpg 750×1000). Niestety, obecnie stacja walidacji UiPath nie wyświetla poziomów pewności odnośnie rezultatów przetwarzania OCR. Dane te są dostępne po stronie kodu robota i na ich podstawie można delegować dokument do walidacji przez człowieka.
Oto dane dostępne po stronie robota:
Jako ciekawostkę należy wskazać poprawnie rozpoznane pole DateDue o niskim poziomie OCR confidence. OCR Confidence dla wartości tabelarycznych przyjmuje -1, a wartość poszczególnych wierszy jest dostępna w osobnym zestawie danych.
Naturalnym wnioskiem jest to, że pominięcie sprawdzenia pewności silnika OCR może prowadzić do wprowadzania niepoprawnych danych do systemu, co stanowi poważny problem. Wystarczy wyobrazić sobie sytuację, w której robot księguje do zapłaty fakturę opiewającą na 180 tys. PLN, zamiast na 100 tys. PLN.
Kilka słów podsumowania
Czy to zupełnie dyskwalifikuje narzędzie? Moim zdaniem – nie. Z całą pewnością należy sprawdzać współczynniki pewności silnika OCR i modelu. W razie jakichkolwiek odchyleń od przyjętych poziomów pewności bezwzględnie delegować taki dokument do ludzkiej walidacji, nawet jeśli wszystko okaże się być poprawnie rozpoznane.
Przy procesowaniu dokumentów związanych bezpośrednio z finansami sugerowałbym ustalenie progów kwot, które podlegają bezwzględnie ludzkiej walidacji. Dodatkowym zabezpieczeniem może być używanie drugiego silnika OCR i porównywanie wyników.
Narzędzia do inteligentnego procesowania dokumentów towarzyszą nam już od dłuższego czasu i z całą pewnością stanowią wsparcie dla codziennej pracy tysięcy pracowników biurowych w ich nieustannej walce z przetwarzaniem setek dokumentów dziennie. Wciąż otwartym zagadnieniem jest zaufanie jakim możemy obdarzyć te narzędzia.
Kto wie – być może w niedalekiej przyszłości poziom ich zaawansowania zniweluje problem zaufania.
***
Jeśli temat sztucznej inteligencji jest Ci bliski, zachęcamy do lektury artykułów dotyczących: AI w testowaniu, w silnikach wyszukiwania i we wsparciu biznesu.
Zostaw komentarz