Amazon Comprehend to usługa przetwarzania języka naturalnego (NLP), która udostępnia wstępnie przeszkolone i niestandardowe interfejsy API umożliwiające wyciąganie wniosków z danych tekstowych. Klienci Amazon Comprehend mogą trenować niestandardowe modele rozpoznawania nazwanych jednostek (NER), aby wyodrębnić interesujące ich jednostki, takie jak lokalizacja, imię i nazwisko osoby i data, które są unikalne dla ich firmy.
Aby wytrenować model niestandardowy, należy najpierw przygotować dane szkoleniowe, ręcznie dodając adnotacje do encji w dokumentach. Można to zrobić za pomocą Narzędzie do adnotacji w dokumentach półstrukturalnych, który tworzy Amazon SageMaker Ground Prawda zadanie z niestandardowym szablonem, umożliwiającym adnotatorom rysowanie ramek ograniczających wokół elementów bezpośrednio w dokumentach PDF. Jednak w przypadku firm posiadających istniejące dane tabelaryczne w systemach ERP, takich jak SAP, ręczne dodawanie adnotacji może być powtarzalne i czasochłonne.
Aby zmniejszyć wysiłek związany z przygotowaniem danych szkoleniowych, zbudowaliśmy narzędzie do wstępnego etykietowania za pomocą Funkcje kroków AWS który automatycznie dodaje adnotacje do dokumentów przy użyciu istniejących danych elementów tabelarycznych. To znacznie zmniejsza ilość pracy ręcznej potrzebnej do wytrenowania dokładnych modeli rozpoznawania encji niestandardowych w Amazon Comprehend.
W tym poście przeprowadzimy Cię przez etapy konfigurowania narzędzia do wstępnego etykietowania i pokażemy przykłady automatycznego dodawania adnotacji do dokumentów z publicznego źródła zestaw danych przykładowych wyciągów bankowych w formacie PDF. Pełny kod dostępny jest na stronie GitHub repo.
Omówienie rozwiązania
W tej sekcji omawiamy dane wejściowe i wyjściowe narzędzia do wstępnego etykietowania oraz przedstawiamy przegląd architektury rozwiązania.
Wejścia i wyjścia
Jako dane wejściowe narzędzie do wstępnego etykietowania pobiera dokumenty PDF zawierające tekst, który ma zostać opatrzony adnotacjami. W wersji demonstracyjnej używamy symulowanych wyciągów bankowych, jak w poniższym przykładzie.
Narzędzie pobiera również plik manifestu, który odwzorowuje dokumenty PDF na podmioty, które chcemy z tych dokumentów wyodrębnić. Jednostki składają się z dwóch rzeczy: expected_text
wyodrębnić z dokumentu (np. AnyCompany Bank
) i odpowiadające entity_type
(na przykład, bank_name
). W dalszej części tego posta pokażemy, jak skonstruować ten plik manifestu z dokumentu CSV, jak w poniższym przykładzie.
Narzędzie do wstępnego etykietowania wykorzystuje plik manifestu do automatycznego dodawania adnotacji do dokumentów odpowiadających im jednostek. Następnie możemy użyć tych adnotacji bezpośrednio do uczenia modelu Amazon Comprehend.
Alternatywnie możesz utworzyć zadanie etykietowania w programie SageMaker Ground Truth w celu sprawdzenia i edycji przez człowieka, jak pokazano na poniższym zrzucie ekranu.
Po zakończeniu przeglądu możesz użyć danych z adnotacjami do wyszkolenia modelu rozpoznawania encji niestandardowych Amazon Comprehend.
Architektura
Narzędzie do wstępnego etykietowania składa się z wielu AWS Lambda funkcje koordynowane przez maszynę stanu Step Functions. Ma dwie wersje, które wykorzystują różne techniki generowania adnotacji wstępnych.
Pierwsza technika to rozmyte dopasowanie. Wymaga to pliku wstępnego manifestu z oczekiwanymi jednostkami. Narzędzie wykorzystuje algorytm dopasowywania rozmytego do generowania adnotacji wstępnych poprzez porównywanie podobieństwa tekstów.
Dopasowanie rozmyte wyszukuje w dokumencie ciągi znaków podobne (ale niekoniecznie identyczne) do oczekiwanych jednostek wymienionych w pliku przed manifestem. Najpierw oblicza wyniki podobieństwa tekstu między oczekiwanym tekstem a słowami w dokumencie, a następnie dopasowuje wszystkie pary powyżej progu. Dlatego nawet jeśli nie ma dokładnych dopasowań, dopasowanie rozmyte może znaleźć warianty, takie jak skróty i błędy ortograficzne. Dzięki temu narzędzie może wstępnie etykietować dokumenty bez konieczności dosłownego pojawiania się jednostek. Na przykład, jeśli 'AnyCompany Bank'
jest wymieniony jako oczekiwany element, funkcja Fuzzy Matching wyświetli adnotację o jego wystąpieniu 'Any Companys Bank'
. Zapewnia to większą elastyczność niż ścisłe dopasowywanie ciągów i umożliwia narzędziu do wstępnego etykietowania automatyczne oznaczanie większej liczby jednostek.
Poniższy diagram ilustruje architekturę tej maszyny stanu funkcji kroku.
Druga technika wymaga a wstępnie wyszkolony model rozpoznawania jednostek Amazon Comrehend. Narzędzie generuje wstępne adnotacje w oparciu o model Amazon Comprehend, zgodnie z przepływem pracy pokazanym na poniższym diagramie.
Poniższy diagram ilustruje pełną architekturę.
W poniższych sekcjach omówimy kroki wdrożenia rozwiązania.
Wdróż narzędzie do wstępnego etykietowania
Sklonuj repozytorium na komputer lokalny:
To repozytorium zostało zbudowane na bazie narzędzia do adnotacji dokumentów półstrukturalnych Comprehend i rozszerza jego funkcjonalność, umożliwiając rozpoczęcie zadania etykietowania SageMaker Ground Truth z wstępnymi adnotacjami już wyświetlonymi w interfejsie użytkownika SageMaker Ground Truth.
Narzędzie do wstępnego etykietowania obejmuje zarówno zasoby narzędzia do adnotacji w dokumencie Comrehend Semi-Structured Documents, jak i niektóre zasoby specyficzne dla narzędzia do wstępnego etykietowania. Możesz wdrożyć rozwiązanie za pomocą AWS Serverless Model aplikacji (AWS SAM), platforma typu open source, której można używać do definiowania kodu infrastruktury aplikacji bezserwerowych.
Jeśli wcześniej wdrożyłeś narzędzie do adnotacji w dokumencie Comrehend Semi-Structured Documents, zapoznaj się z sekcją Często zadawane pytania w Pre_labeling_tool/README.md
aby uzyskać instrukcje dotyczące wdrażania wyłącznie zasobów specyficznych dla narzędzia do wstępnego etykietowania.
Jeśli nie wdrażałeś wcześniej tego narzędzia i zaczynasz od nowa, wykonaj poniższe czynności, aby wdrożyć całe rozwiązanie.
Zmień bieżący katalog na folder narzędzia adnotacji:
Kompiluj i wdrażaj rozwiązanie:
Utwórz plik przed manifestem
Zanim będziesz mógł skorzystać z narzędzia do wstępnego etykietowania, musisz przygotować swoje dane. Głównymi danymi wejściowymi są dokumenty PDF i plik przed manifestem. Plik manifestu wstępnego zawiera lokalizację każdego dokumentu PDF w sekcji 'pdf'
oraz lokalizację pliku JSON z oczekiwanymi elementami do oznaczenia 'expected_entities'
.
Notatnik generuj_plik_premanifestu.ipynb pokazuje, jak utworzyć ten plik. W wersji demonstracyjnej plik przed manifestem zawiera następujący kod:
Każdy plik JSON wymieniony w pliku przed manifestem (w pliku expected_entities
) zawiera listę słowników, po jednym dla każdego oczekiwanego obiektu. Słowniki posiadają następujące klucze:
- „oczekiwane_teksty” – Lista możliwych ciągów tekstowych pasujących do encji.
- 'typ encji' – Odpowiedni typ jednostki.
- „lista_ignore” (opcjonalnie) – Lista słów, które należy zignorować w dopasowaniu. Tych parametrów należy używać, aby zapobiec dopasowywaniu rozmytemu konkretnych kombinacji słów, o których wiesz, że są błędne. Może to być przydatne, jeśli chcesz zignorować niektóre numery lub adresy e-mail podczas przeglądania nazwisk.
Na przykład, expected_entities
pokazanego wcześniej pliku PDF wygląda następująco:
Uruchom narzędzie do wstępnego etykietowania
Mając plik manifestu wstępnego utworzony w poprzednim kroku, rozpocznij uruchamianie narzędzia do wstępnego etykietowania. Więcej szczegółów znajdziesz w notatniku start_step_functions.ipynb.
Aby uruchomić narzędzie do wstępnego etykietowania, podaj plik event
z następującymi kluczami:
- Premanifest – Mapuje każdy dokument PDF na swój plik
expected_entities
plik. To powinno zawierać Usługa Amazon Simple Storage (Amazon S3) łyżka (podbucket
) i klucz (podkey
) pliku. - Prefiks – Służy do tworzenia
execution_id
, który określa folder S3 do przechowywania danych wyjściowych i nazwę zadania etykietowania SageMaker Ground Truth. - typy_encji – Wyświetlane w interfejsie użytkownika, aby adnotatorzy mogli je oznaczyć. Powinny one obejmować wszystkie typy jednostek w oczekiwanych plikach jednostek.
- nazwa_zespołu roboczego (opcjonalnie) – Służy do tworzenia zadania etykietowania Ground Truth w programie SageMaker. Odpowiada to prywatnej sile roboczej do wykorzystania. Jeśli nie zostanie podany, zamiast zadania etykietowania Ground Truth w programie SageMaker zostanie utworzony jedynie plik manifestu. Możesz użyć pliku manifestu, aby później utworzyć zadanie etykietowania w programie SageMaker Ground Truth. Należy pamiętać, że w chwili pisania tego tekstu nie można zapewnić personelu zewnętrznego podczas tworzenia zadania etykietowania z notatnika. Możesz jednak sklonować utworzone zadanie i przypisać je zewnętrznemu pracownikowi w konsoli SageMaker Ground Truth.
- pojęcie_parametrów (opcjonalnie) – Parametry do bezpośredniego uczenia modelu rozpoznawania encji niestandardowych Amazon Comprehend. W przypadku pominięcia ten krok zostanie pominięty.
Aby uruchomić maszynę stanów, uruchom następujący kod Pythona:
Spowoduje to rozpoczęcie działania maszyny stanu. Możesz monitorować postęp maszyny stanu w konsoli Step Functions. Poniższy diagram ilustruje przepływ pracy automatu stanów.
Gdy automat stanów będzie gotowy, wykonaj następujące czynności:
- Sprawdź następujące dane wyjściowe zapisane w pliku
prelabeling/
folder plikucomprehend-semi-structured-docs
Łyżka S3:- Indywidualne pliki adnotacji dla każdej strony dokumentów (po jednej na stronę w dokumencie) w formacie
temp_individual_manifests/
- Manifest dotyczący zadania etykietowania Ground Truth w SageMaker w
consolidated_manifest/consolidated_manifest.manifest
- Manifest, którego można użyć do uczenia niestandardowego modelu Amazon Comrehend
consolidated_manifest/consolidated_manifest_comprehend.manifest
- Indywidualne pliki adnotacji dla każdej strony dokumentów (po jednej na stronę w dokumencie) w formacie
- W konsoli SageMaker otwórz zadanie etykietowania SageMaker Ground Truth, które zostało utworzone w celu przejrzenia adnotacji
- Sprawdź i przetestuj niestandardowy model Amazon Comprehend, który został przeszkolony
Jak wspomniano wcześniej, narzędzie może tworzyć zadania etykietowania SageMaker Ground Truth wyłącznie dla prywatnych pracowników. Aby zlecić prace związane z etykietowaniem przez ludzi, możesz sklonować zadanie etykietowania w konsoli SageMaker Ground Truth i przyłączyć dowolnego pracownika do nowego zadania.
Sprzątać
Aby uniknąć dodatkowych opłat, usuń utworzone zasoby i wdrożony stos za pomocą następującego polecenia:
Wnioski
Narzędzie do wstępnego etykietowania zapewnia firmom skuteczny sposób wykorzystania istniejących danych tabelarycznych w celu przyspieszenia procesu uczenia niestandardowych modeli rozpoznawania jednostek w Amazon Comprehend. Dzięki automatycznemu wstępnemu dodawaniu adnotacji do dokumentów PDF znacznie zmniejsza się wysiłek ręczny wymagany w procesie etykietowania.
Narzędzie ma dwie wersje: dopasowywanie rozmyte i opartą na Amazon Comrehend, co zapewnia elastyczność w zakresie generowania początkowych adnotacji. Po wstępnym oznakowaniu dokumentów możesz szybko je przejrzeć w zadaniu etykietowania Ground Truth w SageMaker lub nawet pominąć przeglądanie i bezpośrednio wytrenować niestandardowy model Amazon Comprehend.
Narzędzie do wstępnego etykietowania umożliwia szybkie odblokowanie wartości historycznych danych podmiotu i wykorzystanie ich do tworzenia niestandardowych modeli dostosowanych do konkretnej domeny. Przyspieszając zazwyczaj najbardziej pracochłonną część procesu, sprawia, że rozpoznawanie niestandardowych jednostek za pomocą Amazon Comrehend jest bardziej dostępne niż kiedykolwiek.
Aby uzyskać więcej informacji na temat etykietowania dokumentów PDF przy użyciu zadania etykietowania SageMaker Ground Truth, zobacz Niestandardowe adnotacje do dokumentów do wyodrębniania nazwanych jednostek w dokumentach za pomocą Amazon Comprehend i Użyj Amazon SageMaker Ground Truth do etykietowania danych.
O autorach
Oskara Schnaacka jest naukowcem stosowanym w Centrum Innowacji Generative AI. Jego pasją jest zgłębianie wiedzy leżącej u podstaw uczenia maszynowego, aby uczynić je dostępnym dla klientów. Poza pracą Oskar lubi jeździć na rowerze i śledzić trendy w teorii informacji.
Romaina Besomesa jest architektem głębokiego uczenia się w Centrum Innowacji Generative AI. Pasjonuje się budowaniem innowacyjnych architektur rozwiązujących problemy biznesowe klientów za pomocą uczenia maszynowego.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/automate-pdf-pre-labeling-for-amazon-comprehend/
- :ma
- :Jest
- :nie
- $W GÓRĘ
- 100
- 11
- 150
- 152
- 19
- 400
- 500
- 600
- 7
- 804
- 9
- a
- O nas
- powyżej
- przyśpieszyć
- dostępny
- dokładny
- Dodatkowy
- adres
- Adresy
- Po
- AI
- algorytm
- Wszystkie kategorie
- Pozwalać
- pozwala
- już
- również
- Amazonka
- Amazon Comprehend
- Amazon Sage Maker
- Amazon SageMaker Ground Prawda
- Amazon Web Services
- an
- i
- każdy
- Pszczoła
- zjawić się
- Zastosowanie
- stosowany
- architektura
- SĄ
- na około
- AS
- At
- dołączać
- zautomatyzować
- automatycznie
- dostępny
- uniknąć
- AWS
- Bank
- BE
- być
- zanim
- za
- pomiędzy
- obie
- Skrzynki
- Budowanie
- wybudowany
- biznes
- ale
- by
- oblicza
- CAN
- Centrum
- Opłaty
- kod
- COM
- kombinacje
- Firmy
- porównanie
- kompletny
- zrozumieć
- składa się
- Konsola
- skonstruować
- zawierać
- zawiera
- Odpowiedni
- odpowiada
- Stwórz
- stworzony
- tworzy
- Tworzenie
- Aktualny
- zwyczaj
- Klientów
- dane
- Data
- zmniejsza
- głęboko
- głęboka nauka
- określić
- próbny
- rozwijać
- wdrażane
- czerpać
- detale
- różne
- bezpośrednio
- dyskutować
- wystawiany
- nurkowanie
- do
- dokument
- dokumenty
- łania
- domena
- zrobić
- rysować
- każdy
- wysiłek
- Umożliwia
- umożliwiając
- podmioty
- jednostka
- ERP
- Parzyste
- EVER
- przykład
- przykłady
- Przede wszystkim system został opracowany
- spodziewany
- rozciąga się
- zewnętrzny
- wyciąg
- FAQ
- filet
- Akta
- Znajdź
- i terminów, a
- Elastyczność
- następujący
- W razie zamówieenia projektu
- format
- Framework
- świeży
- od
- pełny
- funkcjonalności
- Funkcje
- Generować
- generuje
- generatywny
- generatywna sztuczna inteligencja
- Dający
- Ziemia
- Have
- he
- historyczny
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- człowiek
- identiques
- if
- ignorować
- ilustruje
- wdrożenia
- in
- zawierać
- obejmuje
- Informacja
- Infrastruktura
- początkowy
- Innowacja
- Innowacyjny
- wkład
- Wejścia
- spostrzeżenia
- zamiast
- instrukcje
- odsetki
- najnowszych
- IT
- JEGO
- Jane
- Praca
- Oferty pracy
- jpg
- json
- konserwacja
- Klawisz
- Klawisze
- Wiedzieć
- Etykieta
- etykietowanie
- później
- nauka
- lubić
- Lista
- Katalogowany
- miejscowy
- lokalizacja
- poszukuje
- WYGLĄD
- maszyna
- uczenie maszynowe
- Główny
- robić
- WYKONUJE
- podręcznik
- prace ręczne
- ręcznie
- Mapy
- Mecz
- zapałki
- dopasowywanie
- wzmiankowany
- model
- modele
- monitor
- jeszcze
- większość
- wielokrotność
- Nazwa
- O imieniu
- Nazwy
- koniecznie
- Potrzebować
- potrzebne
- Nowości
- nlp
- Nie
- noty
- notatnik
- z naszej
- of
- on
- ONE
- tylko
- koncepcja
- open source
- or
- orkiestrowany
- wydajność
- Wyjścia
- zewnętrzne
- zlecać na zewnątrz
- przegląd
- strona
- par
- parametry
- część
- namiętny
- dla
- osoba
- plato
- Analiza danych Platona
- PlatoDane
- możliwy
- Post
- mocny
- Przygotować
- przygotowanie
- zapobiec
- poprzedni
- poprzednio
- prywatny
- problemy
- wygląda tak
- przetwarzanie
- Postęp
- zapewniać
- pod warunkiem,
- zapewnia
- publiczny
- Python
- szybko
- uznanie
- zmniejszyć
- zmniejsza
- odnosić się
- powtarzalne
- składnica
- wymagany
- Wymaga
- Zasoby
- przeglądu
- run
- bieganie
- sagemaker
- Sam
- SAP
- zapisywane
- nauka
- Naukowiec
- druga
- Sekcja
- działy
- widzieć
- Bezserwerowe
- usługa
- Usługi
- ustawienie
- powinien
- pokazać
- pokazane
- Targi
- znacznie
- podobny
- Prosty
- rozwiązanie
- kilka
- Źródło
- specyficzny
- stos
- początek
- Startowy
- Stan
- oświadczenia
- Ewolucja krok po kroku
- Cel
- przechowywanie
- Ścisły
- sznur
- taki
- systemy
- dostosowane
- trwa
- technika
- Techniki
- szablon
- test
- XNUMX
- tekstowy
- niż
- że
- Połączenia
- Państwo
- ich
- Im
- następnie
- teoria
- Tam.
- w związku z tym
- Te
- rzeczy
- to
- próg
- Przez
- czasochłonne
- do
- narzędzie
- Top
- Pociąg
- Trening
- Trendy
- Prawda
- drugiej
- rodzaj
- typy
- zazwyczaj
- ui
- dla
- wyjątkowy
- odblokować
- posługiwać się
- używany
- zastosowania
- za pomocą
- wartość
- Wersje
- spacer
- chcieć
- była
- Droga..
- we
- sieć
- usługi internetowe
- DOBRZE
- Co
- Co to jest
- jeśli chodzi o komunikację i motywację
- który
- cały
- Wikipedia
- będzie
- w
- bez
- słowa
- Praca
- workflow
- Siła robocza
- pisanie
- Źle
- You
- Twój
- zefirnet
- Zamek błyskawiczny