Od OCR do AI: Analiza porównawcza na przykładzie rzeczywistego projektu
Wyobraź sobie, że masz do przepisania stos dokumentów. Możesz to zrobić na dwa sposoby: zatrudnić stażystę, który będzie mozolnie przepisywał każdą literę i cyfrę, albo doświadczonego eksperta, który nie tylko szybko przeczyta dokumenty, ale też od razu zrozumie ich kontekst i wyłapie potencjalne błędy. Właśnie tak możemy porównać tradycyjny OCR (Optical Character Recognition) ze sztuczną inteligencją w kontekście przetwarzania dokumentów.
Dlaczego postanowiliśmy pożegnać się z OCR?
Tradycyjny system OCR, którego klient używał, przypominał właśnie tego niedoświadczonego stażystę. Mimo szczerych chęci i ciężkiej pracy, borykał się z wieloma problemami.
- Prezycja?... Nie tym razem.
Precyzja jest jednym z najwazniejszych czynników które stanowią o tym czy możemy bez stresu zastosować automatyczne zczytywanie dokumentów w codziennej działalności. Niestety, ta precyzja często pozostawiała wiele do życzenia:
OCR: "NlP: 123-456-78-9O" (pomylił zero z literą O)
Prawidłowo: "NIP: 123-456-78-90"
System OCR notorycznie mylił podobne znaki, generując błędy wymagające ręcznej korekty. Co więcej, błędy te nawet okiem prawdziwego człowieka były trudne do wychwycenia - w szczególności mając na uwadze nie zawsze najwyższej jakości dokumenty wyjściowe
- Zasoby? Proszę bardzo! dużo! Wyobraź sobie, że aby przeczytać jedną stronę dokumentu, przeciętny system OCR potrzebuje mniej więcej tyle mocy obliczeniowej, ile przeciętny komputer zużywa do odtworzenia filmu HD. Brzmi absurdalnie? A jednak to dobre porównanie. Optyczne rozpoznawanie znaków to proces oparty na kalkulacjiach w skład których wchodzi procesowanie obrazu piksel po pikselu, formuły matematyczne kalkulujące wektory oraz wykrywanie wzorców. To w oczywisty sposób generowało koszty - ową moc obliczeniową, w tej czy innej formie, klient musiał po prostu kupić.
- Elastyczność? No raczej nie... Każdy nietypowy format dokumentu, każde przesunięte pole czy przekrzywiony skan powodowały, że pojawiały się problemy. Klasyczne systemy OCR pracują według zdefiniowanych i sztywnych wzorców postępowania. Jeżeli te wzorce w choć niewielkim stopniu zostają naruszone - system nie potrafi improwizować, a tym bardziej logicznie rozumować. W najlepszym wypadku powodowało to oznaczony błąd odczytu - w gorszym zarejestrowanie w bazie błędnego rekordu, którego nie dało się wykryć bez czasochłonnej, ręcznej weryfikacji.
A może by tak AI? Pierwsze eksperymenty
Kiedy zdecydowaliśmy się przetestować rozwiązania oparte o sztuczną inteligencję, byliśmy świadomi rozwijających sioę w sposób gometryczny możliwości AI, jednak trochę jak rodzice wysyłający dziecko do nowej szkoły, mieliśmy tyle samo nadziei jak i obaw.. Przetestowaliśmy trzy wiodące LLM (Large Language Model: GPT4o, Gemini 1.5 PRO oraz Claude 3.5 Sonnet.
Metodologia testów
- Przygotowanie danych testowych
Zestaw testowy zawierał 15 różnych dokumentów w różnych “stanach” - czyste w wysokiej jakości, przekrzywione, z odręcznymi adnotacjami itd. Każdy z tych dokumentów przetworzyliśmy z pomocą każdego testowanego modelu AI. Łącznie wykonaliśmy 45 testów porównawczych, na prawdziwych dokumentach dostarczonych nam przez klienta. Naszym celem było jak najlepsze odniesienie prowadzonych eksperymentów do realnych wymagań biznesowych.
- Co dokładnie sprawdzaliśmy?
some text- Dokładność rozpoznawania tekstu
- Czas przetwarzania
- Wykorzystanie zasobów (tokeny)
- Koszty operacyjne
- Odporność na błędy i zniekształcenia
Proces testowy
Krok 1: Przygotowanie dokumentu
Konwersja z PDF do JPG
Optymalizacja rozmiaru (dpi=75)
Standaryzacja formatu
Krok 2: Przetwarzanie przez różne modele
OpenAI (GPT-4)
Google Gemini
Anthropic Claude
Krok 3: Pomiar wyników
Dokładność rozpoznawania
Czas przetwarzania
Liczba wykorzystanych tokenów
Wyniki testów
Efekty jakie uzyskaliśmy, mówiąc wprost, przebiły nasze oczekiwania. Spodziewaliśmy się potwierdzenia naszej tezy - i tym samym udowodniliśmy tezę jaką postawiliśmy sobie jako zespół. W przypadku każdego stosowanego modelu udało nam się osiągnąć dokładność przekraczającą 85%, znakomite czasy przetwarzania dokumentów a także potwierdziliśmy wpływ najczęściej spotykanych błędów w materiałach wyjściowych, na jakość danych końcowych
Ciekawe obserwacje z testów
Już na pierwszy rzut oka widać było że spośród modeli które sprawdzaliśmy, to Claude Sonnet 3.5 jest zdecydowanym faworytem. Mimo że porównując dane “na czysto” nie w każdej kategorii wiódł prym (był najwolniejszy), jednak po zweryfikowaniu wyników okazalo się, że to właśnie ten LLM najbardziej “umie” w OCR.
Claude Sonnet 3.5 vs konkurencja
Na przykładzie dokumentu z przekrzywionym skanem:
OpenAI: 2 błędy w NIP, problemy z datą
Gemini: Brak rozpoznania zakresu dat
Claude: Bezbłędne rozpoznanie wszystkich pól
Szczegółowa analiza wyników
Dokładność (% poprawnie rozpoznanych pól)
OpenAI: 89.31%
Mocne strony: Daty, kody pocztowe
Słabe strony: Przekrzywione dokumenty
Gemini: 85.88%
Mocne strony: Proste pola tekstowe
Słabe strony: Zakresy dat, NIP
Claude: 95.04%
Mocne strony: Kompleksowe pola, kontekst
Słabe strony: Pojedyncze literówki w adresach
Czasy przetwarzania
OpenAI: 10.56s
0.25s: Konwersja PDF→JPG
9.81s: Analiza AI
0.50s: Post-processing
Gemini: 12.61s
0.25s: Konwersja PDF→JPG
11.86s: Analiza AI
0.50s: Post-processing
Claude: 10.32s
0.25s: Konwersja PDF→JPG
9.57s: Analiza AI
0.50s: Post-processing
Przykład rzeczywistego testu
Dokument testowy: karta1-1.jpg
Zawartość: 38 pól do rozpoznania
Wyniki:
1. OpenAI
- Rozpoznane poprawnie: 36/38 pól
- Czas: 8.6s
- Błędy: literówka w adresie, pomylony NIP
2. Gemini
- Rozpoznane poprawnie: 36/38 pól
- Czas: 10.4s
- Błędy: brak zakresu, błędny NIP
3. Claude
- Rozpoznane poprawnie: 37/38 pól
- Czas: 12.02s
- Błędy: jedna literówka w adresie
Wnioski z eksperymentów
- Najwyższa dokładność
some text- Claude: 95.04%
- Szczególnie dobry w rozumieniu kontekstu
- Najlepiej radzi sobie z trudnymi przypadkami
- Optymalny czas
some text- Średnio 10.3 sekundy na dokument
- Akceptowalne dla zastosowania produkcyjnego
- Możliwość optymalizacji przez przetwarzanie wsadowe
- Koszty
some text- Około 7 groszy na dokument
- Znacząco niższe niż obecne rozwiązanie
- Dodatkowa optymalizacja możliwa przy większych wolumenach
Te eksperymenty przekonały nas, że AI to nie tylko modne hasło, ale realne rozwiązanie, które może znacząco usprawnić naszą pracę. Wyniki były na tyle obiecujące, że zdecydowaliśmy się zaproponowaćpełne wdrożenie rozwiązania opartego o model Claude.
Ciekawostka #1
Czy wiesz, że koszt przetworzenia jednego dokumentu (7 groszy) to mniej niż:
- Koszt wydrukowania jednej strony A4 w dobrej drukarce biurowej (około 20-30 groszy)
- Koszt minuty pracy pracownika biurowego (około 50 groszy - 1 zł)
- Koszt przechowywania fizycznego dokumentu przez miesiąc w segregatorze (około 10-15 groszy)
Co nas najbardziej zaskoczyło?
- Inteligentne rozpoznawanie kontekstu
AI potrafi zrozumieć, że pole oznaczone jako "22a" jest powiązane z polem "22b", nawet jeśli fizycznie znajdują się w różnych częściach dokumentu. To jak różnica między kimś, kto tylko czyta tekst, a kimś, kto go naprawdę rozumie.
- Odporność na błędy
Przykład z przekrzywionego dokumentu:
OCR: "Data: ??.??.????"
AI: "Data: 15.03.2024" (poprawne odczytanie mimo przekrzywienia)
- Koszty operacyjne (1000 dokumentów miesięcznie)
System OCR: koszt licencji + około 40 godzin pracy pracownika na weryfikację
System AI: 70 zł za wszystkie dokumenty + około 2 godziny na weryfikację przypadków brzegowych
Co dalej?
Przejście z OCR na AI to nieoprawdopodobny upgrade. Przypomina przesiadkę ze starego roweru na samochód elektryczny - nie tylko jedziemy szybciej i wygodniej, ale też bardziej ekologicznie (w naszym przypadku - oszczędniej i efektywniej).
Najważniejsze korzyści:
- Wzrost dokładności o ponad 15 punktów procentowych
- Redukcja kosztów operacyjnych o około 70%
- Skrócenie czasu przetwarzania do 10.3 sekundy na dokument
- Marginalne zaangażowanie pracowników w proces weryfikacji
System AI nie tylko czyta dokumenty - on je rozumie. Właśnie to stanowi największą wartość tego rozwiązania. Dzięki umiejętności kontekstowego przyswajania danych wyjściowych - AI potrafi “połączyć kropki” i zadziałać w przypadkach które spowodowałyby wykolejenie się tradycyjnego OCRa.
Techniczna strona rozwiązania - czyli jak to narawdę działa?
Przygotowanie dokumentu - czyli mise en place
W pierwszsej kolejności dokonujemy konwersji PDF (lub docelowo dowolnego innego formatu) na zrstrowaną grafikę w formacie JPG. Pozwala to modelowi łatwiej i szybciej “zobaczyć” pełen zakres dokumentu, i zrozumieć go jako całość a nie poszczególne linijki.
Proces analizy
Teraz następuje najciekawsza część - analiza dokumentu przez AI. To tu widać największą różnicę między tradycyjnym OCR a sztuczną inteligencją:
OCR (stara metoda):
1. Znajdź każdy znak
2. Porównaj z bazą znanych znaków
3. Zapisz wynik
4. Przejdź do następnego znaku
AI (nowa metoda):
1. Zobacz cały dokument
2. Zrozum kontekst i strukturę
3. Wyciągnij potrzebne informacje
4. Sprawdź logiczną spójność
Ciekawostka #2
Nasz prompt (instrukcja dla AI) ma ponad 200 linii kodu. Trochę jak szczegółowy przepis proceduralny, który opisuje nie tylko co zrobić, ale też na co zwrócić uwagę i jak poradzić sobie z nietypowymi sytuacjami.
Praktyczny przykład przetwarzania
Weźmy konkretny przypadek z naszych testów:
- Dokument wejściowy:
Karta podatkowa z częściowo niewyraźnym drukiem,
przekrzywiona o 5 stopni, z odręcznymi adnotacjami
- Wybrane Wyniki przetwarzania:
OCR: "N1P: 123-456-78-9O"
"Kwota: l.234,5O"
"Data: nieczytelne"
AI: "NIP: 123-456-78-90"
"Kwota: 1.234,50"
"Data: 15.03.2024"
+ Dodatkowa informacja: "Dokument zawiera odręczne adnotacje
w prawym górnym rogu, nie wpływające na zawartość merytoryczną"
- Podsumowanie:
Dokument: karta1-1.jpg z naszych testów
Problem: Częściowo zamazany NIP, przekrzywiony skan
OCR próbował:
1. Rozpoznać każdą cyfrę osobno
2. Często mylił 0 z O
3. Gubił się przy przekrzywieniu
AI poradziło sobie:
1. Zobaczyło cały kontekst dokumentu
2. Zrozumiało, że to pole NIP
3. Wykorzystało wiedzę o strukturze NIP
4. Automatycznie skorygowało przekrzywienie
5. Zweryfikowało poprawność sumy kontrolnej
Problem: Częściowo zamazany NIP, przekrzywiony skan
Ciekawostka #3
Przy dużych partiach dokumentów (ponad 100) średni czas przetwarzania spada o około 15% dzięki optymalizacji procesu i równoległemu przetwarzaniu.
Wnioski i przyszłość
Jak pokazuje nasze doświadczenie, przejście z OCR na AI to nie tylko zmiana technologiczna - to kompletna transformacja sposobu myślenia o przetwarzaniu dokumentów. Kluczem do sukcesu jest odpowiednie przygotowanie, elastyczne podejście i skupienie się na realnych potrzebach użytkowników.
Co osiągnęliśmy?
Dokładność: Z poziomu "musimy wszystko sprawdzać" do "sprawdzamy tylko wyjątki"
Szybkość: Z "kilka minut na dokument" do "10 sekund i gotowe"
Koszty: Redukcja o około 70% (wliczając koszty pracy ludzkiej)
Zadowolenie zespołu: Bezcenne - nikt nie lubi monotonnego sprawdzania OCR
Claude Sonnet 3.5 okazał sie najlepszym wyborem spośród testowanych platform - jednak pamiętajmy że ta dziedzina IT - sztuczna inteligencja - rozwija się bardzo dynamicznie, i praktycznie co kilka tygodni na światło dzienne wyprowadzane są kolejne aktualizacje istniejących modeli, oraz nowe, całkiem łamiące istniejące schematy.
To nie wybór konkretnego modelu definiuje na koniec dnia jakość takiego systemu AI-OCR, ale poziom głębokiego zrozumienia metody pracy Dużych Modeli Językowych jaki jest u programistów tworzących kod i prompty wykorzystywane do danego rozwiązania. Jeżeli to zrozumienie jest obecne, w każdej chwili bez zbędnych problemów wszelkie LLMy można odłączać i podłączać. To konstrukcja modularna, jak pojawi się nowy silnik, stary odpinamy i zapinamy nowocześniejszy. Ot tak 🫰💥
Jeśli rozważasz podobną transformację w swojej organizacji, pamiętaj: nie musisz robić wszystkiego od razu. Zacznij od małych kroków, ucz się na błędach i systematycznie rozwijaj system. Zapraszamy do kontaktu z nami za pośrednictwem formularza poniżej - z przyjemnością porozmawiamy o potencjalnych możliwościach wdrożenia podobnych rozwiązań u Ciebie.
<div class="flex-center"><a href="#" class="btn btn-gradient w-button btn-modal-trigger">Zaplanuj darmową konsultację!</a></div>
*Artykuł powstał na podstawie rzeczywistego projektu zrealizowanego w 2024 roku. Wszystkie dane i statystyki pochodzą z faktycznych testów i implementacji.