Document AI Workbench – moduł wyodrębniania dokumentów niestandardowych

1. Wprowadzenie

Document AI to rozwiązanie do rozumienia dokumentów, które wykorzystuje nieuporządkowane dane, takie jak dokumenty czy e-maile, i ułatwia ich analizowanie, analizowanie i wykorzystywanie.

Dzięki Document AI Workbench możesz uzyskać większą dokładność przetwarzania dokumentów przez tworzenie w pełni niestandardowych modeli z użyciem własnych danych treningowych.

W tym module utworzysz procesor niestandardowego wyodrębniania dokumentów, zaimportujesz zbiór danych, oznaczysz etykietami przykładowe dokumenty i wytrenujesz procesor.

Zbiór danych dokumentów użyty w tym module pochodzi ze zbioru danych Fake W-2 (US Tax Form) w Kaggle z licencją CC0: Public Domains.

Wymagania wstępne

To ćwiczenie w Codelabs opiera się na materiałach prezentowanych w innych ćwiczeniach z programowania Document AI.

Przed kontynuowaniem zalecamy ukończenie poniższych ćwiczeń z programowania.

Czego się nauczysz

  • Utwórz niestandardowy procesor wyodrębniania dokumentów.
  • Oznacz dane treningowe Document AI za pomocą narzędzia do dodawania adnotacji.
  • Wytrenuj nową wersję modelu.
  • Oceń dokładność nowej wersji modelu.

Czego potrzebujesz

2. Przygotowanie

W tym ćwiczeniu w programowaniu zakładamy, że masz już za sobą kroki konfiguracji Document AI wymienione w podstawowych ćwiczeniach z programowania.

Zanim przejdziesz dalej, wykonaj te czynności:

3. Utwórz procesor

Najpierw musisz utworzyć niestandardowy procesor wyodrębniania dokumentów do użycia w tym module.

  1. W konsoli przejdź na stronę Omówienie Document AI.

DocAIOverviewConsole

  1. Kliknij Utwórz niestandardowy procesor i wybierz Niestandardowy moduł wyodrębniania dokumentów.

docai-custom-codelab-02

  1. Nadaj mu nazwę codelab-custom-extractor (albo coś innego, co zapamiętasz) i wybierz na liście najbliższy region.

docai-custom-codelab-03

  1. Kliknij Utwórz, aby utworzyć procesor. Powinna wyświetlić się strona przeglądu procesora.

docai-custom-codelab-04

4. Tworzenie zbioru danych

Aby wytrenować procesor, będziemy musieli utworzyć zbiór danych z danymi treningowymi i testowymi, co pomoże mu w identyfikacji encji, które chcemy wyodrębnić.

  1. Na stronie o procesorze kliknij Skonfiguruj swój zbiór danych.

docai-custom-codelab-04

  1. Powinna być teraz widoczna strona Skonfiguruj zbiór danych. Jeśli chcesz określić własny zasobnik do przechowywania dokumentów i etykiet do trenowania, kliknij Pokaż opcje zaawansowane. W przeciwnym razie kliknij Dalej.

docai-custom-codelab-05

  1. Poczekaj na utworzenie zbioru danych. Spowoduje to przekierowanie na stronę Trenowanie.

docai-custom-codelab-07

5. Importuj dokument testowy

Zaimportujmy teraz do naszego zbioru danych przykładowy plik PDF W2.

  1. Kliknij Importuj dokumenty.

docai-custom-codelab-08

  1. Przygotowaliśmy przykładowy plik PDF, którego możesz użyć w tym module. Skopiuj poniższy link i wklej go w polu Ścieżka źródła. Pozostaw „Podział danych”. jako „Unassigned” (Nieprzypisane) na razie. Pozostałe pola pozostaw niezaznaczone. Kliknij Importuj.
cloud-samples-data/documentai/codelabs/custom/extractor/pdfs

docai-custom-codelab-09

  1. Poczekaj na zaimportowanie dokumentu. Powinno to zająć mniej niż minutę.
  2. Po zakończeniu importu dokument powinien pojawić się na stronie Trenowanie.

docai-custom-codelab-10

6. Utwórz etykiety

Ponieważ tworzymy nowy typ procesora, będziemy musieli utworzyć etykiety własne, aby wskazać Document AI, które pola wyodrębnić.

  1. W lewym dolnym rogu kliknij Edytuj schemat.

docai-custom-codelab-11

  1. Powinna być teraz otwarta konsola zarządzania schematami.

docai-custom-codelab-12

  1. Utwórz następujące etykiety za pomocą przycisku Utwórz etykietę.

Nazwa

Typ danych

Wystąpienie

CONTROL_NUMBER

Liczba

Wymagana wiele razy

EMPL_SSN

Zwykły tekst

Wymagana wiele razy

EMPLR_ID_NUMBER

Zwykły tekst

Wymagana wiele razy

EMPLR_NAME_ADDRESS

Adres

Wymagana wiele razy

FEDERAL_INCOME_TAX_WH

Pieniądze

Wymagana wiele razy

SS_TAX_WH

Pieniądze

Wymagana wiele razy

SS_WAGES

Pieniądze

Wymagana wiele razy

WAGES_TIPS_OTHER_COMP

Pieniądze

Wymagana wiele razy

  1. Po zakończeniu konsola powinna wyglądać tak. Po zakończeniu kliknij Zapisz.

docai-custom-codelab-13

  1. Kliknij strzałkę wstecz, aby wrócić na stronę Training. Zwróć uwagę, że utworzone przez nas etykiety są wyświetlane w lewym dolnym rogu.

docai-custom-codelab-14

7. Oznacz dokument testowy

Następnie wskażemy elementy tekstowe i etykiety encji, które chcemy wyodrębnić. Te etykiety zostaną użyte do wytrenowania naszego modelu pod kątem analizowania konkretnej struktury dokumentu i identyfikowania właściwych typów.

  1. Kliknij dwukrotnie dokument zaimportowany wcześniej, aby otworzyć konsolę etykietowania. Powinien on wyglądać mniej więcej tak.

docai-custom-codelab-15

  1. Kliknij opcję „Ramka ograniczająca”. Narzędzie i zaznacz tekst „1173038”. i przypisać etykietę CONTROL_NUMBER. Aby wyszukać nazwy etykiet, możesz użyć filtra tekstowego.

docai-custom-codelab-16

  1. Ukończono w przypadku drugiego wystąpienia CONTROL_NUMBER. Po oznaczeniu powinno ono wyglądać tak.

docai-custom-codelab-17

  1. Zaznacz wszystkie wystąpienia podanych niżej wartości tekstowych i przypisz odpowiednie etykiety.

Nazwa etykiety

Tekst

EMPLR_ID_NUMBER

24-3188810

FEDERAL_INCOME_TAX_WH

19127,2

SS_TAX_WH

5093,71

SS_WAGES

66584.46

WAGES_TIPS_OTHER_COMP

56081,18

EMPL_SSN

714-32-2105

EMPLR_NAME_ADDRESS

Adams, Chase i Gilbert Inc 972 Gonzalez Dam South Katherine, NC 95869-5178

  1. Gotowy dokument powinien wyglądać tak: Aby dostosować te etykiety, kliknij ramkę ograniczającą w dokumencie lub nazwę/wartość etykiety w menu po lewej stronie. Po zakończeniu oznaczania etykietami kliknij Oznacz jako oznaczone etykietą, a potem wróć do konsoli zarządzania zbiorami danych.

docai-custom-codelab-20

8. Przypisz dokument do zestawu treningowego

Jesteś z powrotem w konsoli zarządzania zbiorami danych. Zwróć uwagę, że zmieniła się liczba dokumentów z etykietami i bez etykiet oraz liczba instancji na etykietę.

docai-custom-codelab-21

  1. Musimy przypisać ten dokument do grupy lub „Test” ustawiony. Wybierz Dokument, kliknij Assign to Set (Przypisz do zestawu), a następnie wybierz Training (Szkolenie).

docai-custom-codelab-22

  1. Zwróć uwagę, że zmieniły się wartości podziału danych.

docai-custom-codelab-23

9. Importuj dane z etykietami

Niestandardowe procesory Document AI wymagają co najmniej po 10 dokumentów w zbiorach treningowych i testowych oraz po 10 wystąpień każdej etykiety w każdym zbiorze.

Aby uzyskać najlepszą wydajność, zalecamy dodanie co najmniej 50 dokumentów w każdym zestawie po 50 instancji każdej etykiety. Więcej danych treningowych zwykle oznacza większą dokładność.

Ręczne oznaczenie wszystkich dokumentów etykietami może zająć dużo czasu, dlatego mamy kilka dokumentów z etykietami, które możesz zaimportować do tego modułu.

Możesz importować pliki dokumentów oznaczone wstępnie etykietami w formacie Document.json. Mogą one wynikać z wywołania procesora i weryfikacji dokładności za pomocą narzędzia Human in the Loop (HITL).

minus

UWAGA: podczas importowania danych oznaczonych wstępnie etykietami zdecydowanie zalecamy ręczne sprawdzenie adnotacji przed wytrenowaniem modelu.

  1. Kliknij Importuj dokumenty.

docai-custom-codelab-24

  1. Skopiuj i wklej poniższą ścieżkę Cloud Storage i przypisz ją do zbioru Training.
cloud-samples-data/documentai/codelabs/custom/extractor/training
  1. Kliknij Dodaj kolejny folder. Następnie skopiuj/wklej poniższą ścieżkę Cloud Storage i przypisz ją do zbioru Test.
cloud-samples-data/documentai/codelabs/custom/extractor/test

docai-custom-codelab-25

  1. Kliknij Importuj i poczekaj na zaimportowanie dokumentów. To potrwa dłużej niż ostatnim razem, ponieważ do przetworzenia jest więcej dokumentów. Zajmie to około 6 minut. Możesz opuścić tę stronę i wrócić na nią później.

docai-custom-codelab-26

  1. Po zakończeniu tworzenia dokumentów na stronie Training powinny pojawić się dokumenty.

docai-custom-codelab-27

10. Wytrenuj model

Możemy teraz rozpocząć trenowanie naszego modułu wyodrębniania dokumentów niestandardowych.

  1. Kliknij Wytrenuj nową wersję.

docai-custom-codelab-28

  1. Nadaj wersji nazwę, którą zapamiętasz, np. codelab-custom-1. Jako „Metoda trenowania” wybierz „Trenuj od zera”.

docai-custom-codelab-29

  1. (Opcjonalnie) Możesz też wybrać Wyświetl statystyki etykiet, aby zobaczyć wskaźniki dotyczące etykiet w zbiorze danych.

docai-custom-codelab-30

  1. Kliknij Start Training (Rozpocznij szkolenie), aby rozpocząć proces trenowania. Powinno nastąpić przekierowanie na stronę zarządzania zbiorem danych. Stan trenowania możesz sprawdzić po prawej stronie. Szkolenie zajmie kilka godzin. Możesz opuścić tę stronę i wrócić na nią później.

docai-custom-codelab-31

  1. Jeśli klikniesz nazwę wersji, otworzy się strona Zarządzanie wersjami, na której znajdziesz identyfikator wersji i bieżący stan zadania treningowego.

docai-custom-codelab-32

11. Testowanie nowej wersji modelu

Po zakończeniu zadania trenowania (testy trwają około godziny) możesz przetestować nową wersję modelu i zacząć jej używać do prognozowania.

  1. Otwórz stronę Zarządzanie wersjami. Tutaj możesz sprawdzić bieżący stan i wynik F1.

docai-custom-codelab-33

  1. Aby móc używać tej wersji modelu, musimy ją wdrożyć. Kliknij pionowe kropki po prawej stronie i wybierz Wdróż wersję.

docai-custom-codelab-34

  1. Czekając na wdrożenie wersji, w wyskakującym okienku wybierz Deploy (Wdróż). Ich wykonanie może potrwać kilka minut. Po wdrożeniu możesz też ustawić tę wersję jako wersję domyślną.

docai-custom-codelab-35

  1. Po zakończeniu wdrażania otwórz kartę Ocena. Na tej stronie możesz wyświetlić wskaźniki oceny, w tym wynik F1, precyzję i czułość dla całego dokumentu oraz dla poszczególnych etykiet. Więcej informacji o tych wskaźnikach znajdziesz w dokumentacji AutoML.

docai-custom-codelab-36

  1. Pobierz plik PDF, do którego link znajdziesz poniżej. To jest przykładowy W2, który nie został uwzględniony w zbiorze treningowym ani testowym.

  1. Kliknij Prześlij dokument testowy i wybierz plik PDF.
  2. Wyodrębnione encje powinny wyglądać mniej więcej tak.

docai-custom-codelab-37

12. Opcjonalnie: automatyczne dodawanie etykiet do nowo importowanych dokumentów

Po wdrożeniu wytrenowanej wersji procesora możesz skorzystać z automatycznego dodawania etykiet, aby zaoszczędzić czas przy oznaczaniu etykietami podczas importowania nowych dokumentów.

  1. Na stronie Trenuj kliknij Importuj dokumenty.
  2. Skopiuj i wklej tę ścieżkę . Katalog ten zawiera 5 formularzy PDF W-2 bez etykiet. Z listy Podział danych wybierz Trenowanie.
    cloud-samples-data/documentai/Custom/W2/AutoLabel
    
  3. W sekcji Automatyczne dodawanie etykiet zaznacz pole wyboru Importuj z automatycznym dodawaniem etykiet.
  4. Wybierz istniejącą wersję procesora, aby oznaczyć dokumenty etykietami.
  • Na przykład: 2af620b2fd4d1fcf
  1. Kliknij Importuj i poczekaj na zaimportowanie dokumentów. Możesz opuścić tę stronę i wrócić na nią później.
  • Gdy proces się zakończy, dokumenty pojawią się na stronie Trenowanie w sekcji Automatycznie oznaczone etykietami.
  1. Dokumentów automatycznie oznaczonych etykietami nie można używać do trenowania lub testowania, jeśli nie są oznaczone jako dokumenty z etykietami. Przejdź do sekcji Automatycznie oznaczone etykietami, aby wyświetlić dokumenty oznaczone automatycznie etykietami.
  2. Wybierz pierwszy dokument, aby przejść do konsoli do dodawania etykiet.
  3. Sprawdź, czy etykiety, ramki ograniczające i wartości są prawidłowe. Dodaj etykiety do wszystkich pominiętych wartości.
  4. Po zakończeniu wybierz opcję Oznacz jako etykietę.
  5. Powtórz weryfikację etykiet dla każdego dokumentu automatycznie oznaczonego etykietami, a następnie wróć na stronę Trenowanie, aby wykorzystać dane do trenowania.

13. Podsumowanie

Gratulujemy. Udało Ci się użyć Document AI do wytrenowania niestandardowego modułu wyodrębniania dokumentów. Możesz teraz używać tego procesora do analizowania dokumentów w tym formacie tak samo jak w przypadku dowolnego procesora specjalistycznego.

Aby dowiedzieć się, jak postępować z odpowiedzią na przetwarzanie danych, zapoznaj się z ćwiczeniami z programowania dla specjalnych procesorów.

Czyszczenie

Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym samouczku:

  • W konsoli Cloud otwórz stronę Zarządzanie zasobami.
  • Na liście projektów wybierz swój projekt i kliknij Usuń.
  • W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.

Materiały

Licencja

To zadanie jest licencjonowane na podstawie ogólnej licencji Creative Commons Attribution 2.0.