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.
- Optyczne rozpoznawanie znaków (OCR) w Document AI (Python)
- Analiza formularzy przy użyciu Document AI (Python)
- Specjalne procesory z Document AI (Python)
- Zarządzanie procesorami Document AI w Pythonie
- Document AI: człowiek na zmianę
- Document AI: trenowanie nowej wersji
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.
- W konsoli przejdź na stronę Omówienie Document AI.
- Kliknij Utwórz niestandardowy procesor i wybierz Niestandardowy moduł wyodrębniania dokumentów.
- Nadaj mu nazwę
codelab-custom-extractor
(albo coś innego, co zapamiętasz) i wybierz na liście najbliższy region.
- Kliknij Utwórz, aby utworzyć procesor. Powinna wyświetlić się strona przeglądu procesora.
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ć.
- Na stronie o procesorze kliknij Skonfiguruj swój zbiór danych.
- 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.
- Poczekaj na utworzenie zbioru danych. Spowoduje to przekierowanie na stronę Trenowanie.
5. Importuj dokument testowy
Zaimportujmy teraz do naszego zbioru danych przykładowy plik PDF W2.
- Kliknij Importuj dokumenty.
- 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
- Poczekaj na zaimportowanie dokumentu. Powinno to zająć mniej niż minutę.
- Po zakończeniu importu dokument powinien pojawić się na stronie Trenowanie.
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ć.
- W lewym dolnym rogu kliknij Edytuj schemat.
- Powinna być teraz otwarta konsola zarządzania schematami.
- Utwórz następujące etykiety za pomocą przycisku Utwórz etykietę.
Nazwa | Typ danych | Wystąpienie |
| Liczba | Wymagana wiele razy |
| Zwykły tekst | Wymagana wiele razy |
| Zwykły tekst | Wymagana wiele razy |
| Adres | Wymagana wiele razy |
| Pieniądze | Wymagana wiele razy |
| Pieniądze | Wymagana wiele razy |
| Pieniądze | Wymagana wiele razy |
| Pieniądze | Wymagana wiele razy |
- Po zakończeniu konsola powinna wyglądać tak. Po zakończeniu kliknij Zapisz.
- Kliknij strzałkę wstecz, aby wrócić na stronę Training. Zwróć uwagę, że utworzone przez nas etykiety są wyświetlane w lewym dolnym rogu.
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.
- Kliknij dwukrotnie dokument zaimportowany wcześniej, aby otworzyć konsolę etykietowania. Powinien on wyglądać mniej więcej tak.
- 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.
- Ukończono w przypadku drugiego wystąpienia
CONTROL_NUMBER
. Po oznaczeniu powinno ono wyglądać tak.
- Zaznacz wszystkie wystąpienia podanych niżej wartości tekstowych i przypisz odpowiednie etykiety.
Nazwa etykiety | Tekst |
| 24-3188810 |
| 19127,2 |
| 5093,71 |
| 66584.46 |
| 56081,18 |
| 714-32-2105 |
| Adams, Chase i Gilbert Inc 972 Gonzalez Dam South Katherine, NC 95869-5178 |
- 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.
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ę.
- Musimy przypisać ten dokument do grupy lub „Test” ustawiony. Wybierz Dokument, kliknij Assign to Set (Przypisz do zestawu), a następnie wybierz Training (Szkolenie).
- Zwróć uwagę, że zmieniły się wartości podziału danych.
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.
- Kliknij Importuj dokumenty.
- Skopiuj i wklej poniższą ścieżkę Cloud Storage i przypisz ją do zbioru Training.
cloud-samples-data/documentai/codelabs/custom/extractor/training
- 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
- 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.
- Po zakończeniu tworzenia dokumentów na stronie Training powinny pojawić się dokumenty.
10. Wytrenuj model
Możemy teraz rozpocząć trenowanie naszego modułu wyodrębniania dokumentów niestandardowych.
- Kliknij Wytrenuj nową wersję.
- Nadaj wersji nazwę, którą zapamiętasz, np.
codelab-custom-1
. Jako „Metoda trenowania” wybierz „Trenuj od zera”.
- (Opcjonalnie) Możesz też wybrać Wyświetl statystyki etykiet, aby zobaczyć wskaźniki dotyczące etykiet w zbiorze danych.
- 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.
- Jeśli klikniesz nazwę wersji, otworzy się strona Zarządzanie wersjami, na której znajdziesz identyfikator wersji i bieżący stan zadania treningowego.
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.
- Otwórz stronę Zarządzanie wersjami. Tutaj możesz sprawdzić bieżący stan i wynik F1.
- Aby móc używać tej wersji modelu, musimy ją wdrożyć. Kliknij pionowe kropki po prawej stronie i wybierz Wdróż wersję.
- 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ą.
- 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.
- 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.
- Kliknij Prześlij dokument testowy i wybierz plik PDF.
- Wyodrębnione encje powinny wyglądać mniej więcej tak.
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.
- Na stronie Trenuj kliknij Importuj dokumenty.
- 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
- W sekcji Automatyczne dodawanie etykiet zaznacz pole wyboru Importuj z automatycznym dodawaniem etykiet.
- Wybierz istniejącą wersję procesora, aby oznaczyć dokumenty etykietami.
- Na przykład:
2af620b2fd4d1fcf
- 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.
- 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.
- Wybierz pierwszy dokument, aby przejść do konsoli do dodawania etykiet.
- Sprawdź, czy etykiety, ramki ograniczające i wartości są prawidłowe. Dodaj etykiety do wszystkich pominiętych wartości.
- Po zakończeniu wybierz opcję Oznacz jako etykietę.
- 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
- Dokumentacja Document AI Workbench
- Przyszłość dokumentów – playlista w YouTube
- Dokumentacja Document AI
- Biblioteka klienta Document AI w Pythonie
- Przykłady Document AI
Licencja
To zadanie jest licencjonowane na podstawie ogólnej licencji Creative Commons Attribution 2.0.