Wykorzystanie AI do ekstrakcji danych z 18 tysięcy plików PDF

Jak wyodrębniać dane z plików PDF i parsować konkretne informacje za pomocą AI

Klient powierzył nam realizację projektu ekstrakcji danych na dużą skalę obejmującego 18 tysięcy plików PDF udostępnionych na stronie internetowej. Pliki zawierały informacje ze sprawozdań finansowych firm. Celem było identyfikowanie i parsowanie danych dotyczących obrotów firm.

Kluczowe wyzwania w projekcie

Format źródłowy

Pliki PDF były zeskanowanymi dokumentami. Oznaczało to, że nie zawierały osadzonego tekstu, który można łatwo przeszukiwać lub wyodrębniać. Brak czytelnego tekstu uniemożliwiał bezpośrednie identyfikowanie danych o obrotach w plikach.

Zróżnicowana struktura

Potrzebne dane o obrotach mogły występować w tabelach, jako zwykły tekst lub być ukryte w szczegółowych opisach. Podczas analizy odkryliśmy jednak dwa kluczowe wzorce. Po pierwsze, wymagane informacje zazwyczaj znajdowały się na pierwszych stronach, co ograniczało konieczność przetwarzania całych dokumentów i obniżało koszty operacyjne. Po drugie, obecność słowa kluczowego „turnover” pozwalała nam odfiltrować nieistotne pliki.

Tworzenie promptów dla AI

Początkowo Anthropic miał tendencję do zaokrąglania wartości liczbowych, zwracania liczb jako tekstu lub generowania niespójnych odpowiedzi. Ta nieprzewidywalność utrudniała wiarygodne pozyskiwanie danych o obrotach. Aby temu zaradzić, wdrożyliśmy ustrukturyzowany format wyjściowy, w którym odpowiedzi AI były zgodne z wcześniej zdefiniowanymi polami. Dodaliśmy również osobny subprompt pozwalający precyzyjnie określić zarówno rok, jak i wartość obrotu.

Szybkość przetwarzania

Uruchamianie modelu AI lokalnie wiązało się z poważnymi ograniczeniami czasowymi. Przy tej skali zadania — przetwarzaniu 18 tysięcy plików PDF — realizacja na jednym komputerze, maszynie wirtualnej lub instancji EC2 zajęłaby miesiące. Takie opóźnienie było nieakceptowalne ze względu na terminy projektu i oczekiwania klienta.

Potrzebujesz pomocy przy swoim projekcie?

Skontaktuj się z nami, aby omówić, jak możemy pomóc Ci usunąć wąskie gardła i efektywnie pozyskiwać dane z internetu.

Nasze rozwiązanie: Jak wyodrębnić dane z dokumentu PDF

Jak NannosTech podszedł do parsowania plików PDF
Konwersja plików PDF do tekstu za pomocą Pythona

Do parsowania plików PDF wykorzystaliśmy Python i dwie biblioteki: Pdf2image do konwersji plików PDF na obrazy oraz Pytesseract do ekstrakcji tekstu z obrazów. Zebraliśmy informacje o wszystkich plikach PDF (ścieżki S3 lub woluminy EFS/EBS, słowa kluczowe do wyszukania oraz liczbę stron do przetworzenia). Następnie informacje te zostały przesłane do kolejki AWS SQS.

Następnie skonteneryzowaliśmy całe rozwiązanie za pomocą Docker. Kontener został wdrożony do AWS ECR przez AWS ECS z możliwością skalowania. Usługa rozpoczyna przetwarzanie, gdy w SQS pojawi się określona liczba wiadomości, i skaluje się w dół, gdy kolejka pozostaje pusta przez ustalony czas. Powstałe pliki TXT były zapisywane w wybranej lokalizacji docelowej: S3, EFS lub EBS.

Analizator PDF wykorzystujący AI do ekstrakcji danych | NannosTech

Korzystając z Pythona, wykorzystaliśmy Anthropic do lokalizowania i wyodrębniania z tekstu danych dotyczących obrotów. Na potrzeby tego etapu wdrożyliśmy drugą kolejkę SQS. Wiadomości w tej kolejce zawierały lokalizację plików .txt oraz słowa kluczowe.

Wyodrębnione wartości obrotów wraz z odpowiadającymi im latami zostały zapisane w ustrukturyzowanych plikach CSV.

Technologie wykorzystane w projekcie

Python

Docker

Anthropic

EFS

S3

EBS

SQS

ECR

ECS

Rezultaty: szybkie i ekonomiczne parsowanie plików PDF

Dzięki starannie zaprojektowanemu procesowi NannosTech po konwersji do tekstu przefiltrował początkowy zbiór 18 tysięcy plików do 5 milionów. Spośród nich 1,2 miliona plików zawierało wymagane wartości obrotów.

  • Nawet po uwzględnieniu infrastruktury AWS i Anthropic koszt na 1 000 plików wyniósł zaledwie 0,6–0,7 centa (bez uwzględnienia korzystania z Nannostomus).
  • Choć pobieranie plików PDF zajęło kilka tygodni, właściwe przetwarzanie — konwersja do tekstu i parsowanie — zakończono w zaledwie trzy dni.
Szybka i ekonomiczna ekstrakcja danych z PDF | NannosTech

Skontaktuj się z nami

support@nannostech.com
+48889712077