Amazon Textract

Zawartość

Amazon Textract

Amazon Textract

Rozwój sztucznej inteligencji wprowadza wiele nowych możliwości, które mogą ułatwić wykonywanie pewnych specyficznych zadań. Jednym z tych zadań jest ekstrakcja danych z dokumentów tekstowych, dotychczas wymagająca ingerencji człowieka. Na rynku jest wiele narzędzi konkurujących o miano najlepszego w dziedzinie ekstrakcji danych. Jednym z takich narzędzi jest Textract. Narzędzie firmy Amazon oferuje szereg możliwości, które sprawią że praca z dokumentami stanie się o wiele łatwiejsza. Zaciekawieni 🧐? Mamy nadzieję że tak, poniważ w tym artykule opiszemy szczegóły działania Textracta!

Funkcjonalności Textracta

Amazon Textract oferuje kilka funkcjonalności służących do prowadzenia analizy dokumentu w określony przez dewelopera sposób. Obecnie oferowane są następujące funkcjonalności:

FunkcjonalnośćOpis
Raw textzwraca tekst zawarty w dokumencie
Tableszwraca zawartość tabeli z dokumentu
Formszwraca pola typu klucz-wartość z dokumentu
Queriesodpowiada na pytania użytkownika na podstawie treści dokumentu

Sposób działania

Textract oferuje dwa tryby: synchroniczny i asynchroniczny. Kiedy korzystamy z narzędzia w sposób asynchroniczny, pozwala ono na jednoczesną analizę wielu dokumentów, co przekłada się na znaczne przyspieszenie procesu ekstrakcji.

Jak działa asynchroniczny Textract

  1. Aplikacja Backend wysyła żądanie do Textract wskazując które pliki chcemy przeanalizować (do działania asynchronicznego wymaganiem jest, aby pliki znajdowały się na Amazon S3 bucket) oraz jakich funkcjonalności Textract chemy użyć na danym dokumencie.
  2. Amazon Textract rozpoczyna analizę

    1. Do Aplikacji Backend wysyłany jest identyfikator zadania (potrzebny do późniejszego odebrania wyników)
    2. Textract pobiera pliki z bucketa S3.
    3. Dokonywana jest analiza dokumentu na podstawie żądania wysłanego przez Aplikację backend.
    4. Wyniki są zapisywane w wewnętrznym magazynie Textract lub podanym w żądaniu buckecie (OutputConfig).
  3. Amazon Textract wysyła informację o skończonym zadaniu do Amazon SNS.
  4. Kolejka Amazon SQS konsumuje notyfikację Amazon SNS.
  5. Aplikacja Backend wysyła zapytanie do kolejki o konkretne zadanie i sprawdza jego status.
  6. Kiedy status osiągnie sukces, aplikacja backend wysyła żądanie do Textract aby otrzymać rezultaty analizy konkretnego pliku.

Analiza przykładowego dokumentu

Przenalizujmy przykładowy dokument (synchronicznie), który jest zmyśloną ofertą pizzerii (wygenerowany przez ChatGPT).

Queries

Na pierwszy ogień weźmiemy queries, zapytaliśmy Textract o to gdzie znajduje się pizzeria oraz jakie składniki ma pizza pepperoni znajdująca się w dokmencie. Poniżej znajdują się wyniki:

Tables

Teraz spójrzmy na tabele wykryte w dokumencie. Jak widać Textract poradził sobie z wyłuskaniem danych z tej tabeli.

Forms

Textract przenalizował dokument w poszukiwaniu pól typu klucz-wartość, jak widać na załączonym zrzucie ekranu możemy w ten sposób wydobyć rodzaje oferowanej pizzy oraz ich wielkości.

Signatures

Textract poradził sobie z wykryciem zmyślonego podpisu właściciela całego przedsięwzięcia.

Raw Text

Dzięki narzędziu firmy Amazon możemy również uzyskać czysty tekst z dokumentu. Taki tekst może być pomocny kiedy chcemy dokonać dodatkowego upewnienia się, że pozostałem features wykryły prawidlowe wartości. Możemy to zrobić przykładowo sprawdzająć położenie szukanego tekstu i porównując je z odległością do wykrytego elementu z odpowiedzią.

Zastosowania

Oto kilka przykładowych zastosowań Amazon Textract:

  1. Odczyt danych ze starych dokumentów zarchiwizowanych w sposób tradycyjny.
  2. Wyszukiwanie pewnych określonych danych w plikach tekstowych, aby potem zaprezentować lub przechować je w inny sposób.
  3. Weryfikacja danych na dokumencie z elektronicznym odpowiednikiem (np. dokumenty urzędowe).
  4. Tworzenie bota, który będzie odpowiadał na zadane pytania na podstawie dokumentu.
  5. Odczyt danych z dokumentów w formie elektronicznej i papierowej w celu sporządzenia statystyki.

Podsumowanie

Jeśli temat was zaciekawił zapraszamy do zapoznania się z oficjalną dokumentacją narzędzia, dostępna jest ona pod tym adresem: https://docs.aws.amazon.com/textract/latest/dg/what-is.html. Narzędzie jest oferowane w formie SDK i jest dostępne w wielu popularnych językach programowania. To wszystko na dziś, ludzkość znalazła odpowiedź na przedwieczne potrzeby faraona, który musiał zatrudnić całą ekipę skrybów, aby przepisać ważne informacje z dokumentów 😄.