Document AI Workbench - Estrattore di documenti personalizzato

1. Introduzione

Document AI è una soluzione di comprensione dei documenti che prende dati non strutturati, come documenti, email e così via, e li rende più facili da comprendere, analizzare e utilizzare.

Con Document AI Workbench, puoi ottenere una maggiore accuratezza di elaborazione dei documenti creando modelli completamente personalizzati utilizzando i tuoi dati di addestramento.

In questo lab, creerai un processore di estrazione di documenti personalizzato, importerai un set di dati, etichetterai documenti di esempio e addestrerai il processore.

Il set di dati dei documenti utilizzato in questo lab proviene da un set di dati Fake W-2 (US Tax Form) su Kaggle con una licenza CC0 (pubblico dominio).

Prerequisiti

Questo codelab si basa sui contenuti presentati in altri codelab di Document AI.

Ti consigliamo di completare i seguenti Codelab prima di procedere.

Cosa imparerai a fare

  • Crea un processore di estrattore di documenti personalizzato.
  • Etichetta i dati di addestramento di Document AI utilizzando lo strumento di annotazione.
  • Addestra una nuova versione del modello.
  • Valuta l'accuratezza della nuova versione del modello.

Che cosa ti serve

  • Un progetto Google Cloud
  • Un browser, ad esempio Chrome o Firefox

2. Preparazione

Questo codelab presuppone che tu abbia completato i passaggi di configurazione di Document AI elencati nel codelab introduttivo.

Prima di procedere, completa i seguenti passaggi:

3. Crea un processore

Per prima cosa, devi creare un processore estrattore di documenti personalizzato da utilizzare per questo lab.

  1. Nella console, vai alla pagina Panoramica di Document AI.

DocAIOverviewConsole

  1. Fai clic su Crea processore personalizzato e seleziona Estrattore di documenti personalizzato.

docai-custom-codelab-02

  1. Assegna il nome codelab-custom-extractor (o un altro nome che ricorderai) e seleziona la regione più vicina nell'elenco.

docai-custom-codelab-03

  1. Fai clic su Crea per creare il processore. Dovresti visualizzare la pagina Panoramica del processore.

docai-custom-codelab-04

4. Crea un set di dati

Per addestrare il nostro processore, dovremo creare un set di dati con dati di addestramento e test per aiutare il processore a identificare le entità che vogliamo estrarre.

  1. Nella pagina Panoramica del processore, fai clic su Configura il set di dati.

docai-custom-codelab-04

  1. Ora dovresti trovarti nella pagina Configura set di dati. Se vuoi specificare il tuo bucket per archiviare i documenti di addestramento e le etichette, fai clic su Mostra opzioni avanzate. In caso contrario, fai clic su Continua.

docai-custom-codelab-05

  1. Attendi la creazione del set di dati, poi dovresti essere reindirizzato alla pagina Addestramento.

docai-custom-codelab-07

5. Importare un documento di test

Ora importiamo un PDF W2 di esempio nel nostro set di dati.

  1. Fai clic su Importa documenti.

docai-custom-codelab-08

  1. Abbiamo un PDF di esempio da utilizzare in questo lab. Copia e incolla il seguente link nella casella Percorso di origine. Per il momento, lascia "Suddivisione dati" su "Non assegnato". Lascia vuote tutte le altre caselle. Fai clic su Importa.
cloud-samples-data/documentai/codelabs/custom/extractor/pdfs

docai-custom-codelab-09

  1. Attendi l'importazione del documento. L'operazione dovrebbe richiedere meno di un minuto.
  2. Al termine dell'importazione, dovresti vedere il documento nella pagina Addestramento.

docai-custom-codelab-10

6. Crea etichette

Poiché stiamo creando un nuovo tipo di processore, dovremo creare etichette personalizzate per indicare a Document AI quali campi vogliamo estrarre.

  1. Fai clic su Modifica schema nell'angolo in basso a sinistra.

docai-custom-codelab-11

  1. Ora dovresti trovarti nella console Gestione schemi.

docai-custom-codelab-12

  1. Crea le seguenti etichette utilizzando il pulsante Crea etichetta.

Nome

Tipo di dati

Occorrenza

CONTROL_NUMBER

Numero

Multipla obbligatoria

EMPL_SSN

Testo normale

Multipla obbligatoria

EMPLR_ID_NUMBER

Testo normale

Multipla obbligatoria

EMPLR_NAME_ADDRESS

Indirizzo

Multipla obbligatoria

FEDERAL_INCOME_TAX_WH

Denaro

Multipla obbligatoria

SS_TAX_WH

Denaro

Multipla obbligatoria

SS_WAGES

Denaro

Multipla obbligatoria

WAGES_TIPS_OTHER_COMP

Denaro

Multipla obbligatoria

  1. Al termine, la console dovrebbe avere l'aspetto seguente. Al termine, fai clic su Salva.

docai-custom-codelab-13

  1. Fai clic sulla Freccia indietro per tornare alla pagina Addestramento. Nota che le etichette che abbiamo creato vengono visualizzate nell'angolo in basso a sinistra.

docai-custom-codelab-14

7. Etichetta il documento di test

Successivamente, identificheremo gli elementi di testo e le etichette per le entità che vogliamo estrarre. Queste etichette verranno utilizzate per addestrare il nostro modello ad analizzare questa struttura specifica del documento e a identificare i tipi corretti.

  1. Fai doppio clic sul documento che abbiamo importato in precedenza per accedere alla console di etichettatura. L'annuncio dovrebbe avere un aspetto simile a questo.

docai-custom-codelab-15

  1. Fai clic sullo strumento "Bounding Box", poi evidenzia il testo "1173038" e assegna l'etichetta CONTROL_NUMBER. Puoi utilizzare il filtro di testo per cercare i nomi delle etichette.

docai-custom-codelab-16

  1. Completa l'altra istanza di CONTROL_NUMBER. Una volta etichettata, dovrebbe avere l'aspetto seguente.

docai-custom-codelab-17

  1. Evidenzia tutte le istanze dei seguenti valori di testo e assegna le etichette appropriate.

Nome etichetta

Testo

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 and Gilbert Inc 972 Gonzalez Dam South Katherine NC 95869-5178

  1. Al termine, il documento con etichetta avrà l'aspetto seguente. Tieni presente che puoi apportare modifiche a queste etichette facendo clic sul riquadro di selezione nel documento o sul nome/valore dell'etichetta nel menu a sinistra. Al termine dell'etichettatura, fai clic su Contrassegna come etichettato, quindi torna alla console di gestione dei set di dati.

docai-custom-codelab-20

8. Assegna il documento al set di addestramento

Ora dovresti essere di nuovo nella console di gestione dei set di dati. Nota che il numero di documenti etichettati e non etichettati e il numero di istanze per etichetta sono cambiati.

docai-custom-codelab-21

  1. Dobbiamo assegnare questo documento al set "Addestramento" o "Test". Fai clic sul documento, poi su Assegna a set e infine su Addestramento.

docai-custom-codelab-22

  1. Nota che i numeri della suddivisione dei dati sono cambiati.

docai-custom-codelab-23

9. Importa dati preetichettati

I processori Document AI personalizzati richiedono un minimo di 10 documenti sia nel set di addestramento che in quello di test, oltre a 10 istanze di ogni etichetta in ciascun set.

Per ottenere prestazioni ottimali, ti consigliamo di avere almeno 50 documenti in ciascun set, con 50 istanze di ogni etichetta. Una maggiore quantità di dati di addestramento corrisponde in genere a una maggiore accuratezza.

L'etichettatura manuale di tutti i documenti richiede molto tempo, quindi abbiamo alcuni documenti pre-etichettati che puoi importare per questo lab.

Puoi importare file di documenti pre-etichettati nel formato Document.json. Questi possono essere i risultati della chiamata a un processore e della verifica dell'accuratezza utilizzando Human in the Loop (HITL).

esclusione

NOTA:quando importi dati pre-etichettati, ti consigliamo vivamente di esaminare manualmente le annotazioni prima di addestrare un modello.

  1. Fai clic su Importa documenti.

docai-custom-codelab-24

  1. Copia e incolla il seguente percorso di Cloud Storage e assegnalo al set Training.
cloud-samples-data/documentai/codelabs/custom/extractor/training
  1. Fai clic su Aggiungi un'altra cartella. Quindi, copia/incolla il seguente percorso di Cloud Storage e assegnalo al set Test.
cloud-samples-data/documentai/codelabs/custom/extractor/test

docai-custom-codelab-25

  1. Fai clic su Importa e attendi l'importazione dei documenti. L'operazione richiederà più tempo rispetto all'ultima volta perché ci sono più documenti da elaborare. L'operazione dovrebbe richiedere circa 6 minuti. Puoi uscire da questa pagina e tornare più tardi.

docai-custom-codelab-26

  1. Al termine, dovresti vedere i documenti nella pagina Addestramento.

docai-custom-codelab-27

10. Addestra il modello

Ora siamo pronti per iniziare l'addestramento dell'estrattore di documenti personalizzato.

  1. Fai clic su Addestra nuova versione.

docai-custom-codelab-28

  1. Assegna alla versione un nome facile da ricordare, ad esempio codelab-custom-1. Per "Metodo di addestramento", seleziona "Addestra da zero".

docai-custom-codelab-29

  1. (Facoltativo) Puoi anche selezionare Visualizza statistiche etichette per visualizzare le metriche relative alle etichette nel set di dati.

docai-custom-codelab-30

  1. Fai clic su Inizia addestramento per avviare la procedura di addestramento. Dovresti essere reindirizzato alla pagina di gestione dei set di dati. Puoi visualizzare lo stato di addestramento sul lato destro. Il completamento dell'addestramento richiede alcune ore. Puoi uscire da questa pagina e tornare più tardi.

docai-custom-codelab-31

  1. Se fai clic sul nome della versione, si aprirà la pagina Gestisci versioni, che mostra l'ID versione e lo stato attuale del job di addestramento.

docai-custom-codelab-32

11. Testare la nuova versione del modello

Una volta completato il job di addestramento (ci è voluta circa un'ora nei miei test), puoi testare la nuova versione del modello e iniziare a utilizzarla per le previsioni.

  1. Vai alla pagina Gestisci versioni. Qui puoi vedere lo stato attuale e l'F1 Score.

docai-custom-codelab-33

  1. Prima di poterla utilizzare, dovremo eseguire il deployment di questa versione del modello. Fai clic sui puntini verticali a destra e seleziona Esegui il deployment della versione.

docai-custom-codelab-34

  1. Seleziona Esegui il deployment dalla finestra popup e attendi il deployment della versione. Il completamento dell'operazione richiede alcuni minuti. Una volta eseguito il deployment, puoi anche impostare questa versione come versione predefinita.

docai-custom-codelab-35

  1. Al termine del deployment, vai alla scheda Valuta. In questa pagina puoi visualizzare le metriche di valutazione, tra cui il punteggio F1, la precisione e l'identificazione per l'intero documento, nonché le singole etichette. Per saperne di più su queste metriche, consulta la documentazione di AutoML.

docai-custom-codelab-36

  1. Scarica il file PDF collegato di seguito. Si tratta di un modulo W2 di esempio non incluso nel set di addestramento o di test.

  1. Fai clic su Carica documento di test e seleziona il file PDF.
  2. Le entità estratte dovrebbero essere simili a queste.

docai-custom-codelab-37

12. Facoltativo: etichettatura automatica dei documenti appena importati

Dopo aver implementato una versione addestrata del processore, puoi utilizzare l'etichettatura automatica per risparmiare tempo durante l'importazione di nuovi documenti.

  1. Nella pagina Addestra, fai clic su Importa documenti.
  2. Copia e incolla il seguente percorso di . Questa directory contiene 5 PDF W2 senza etichetta. Nell'elenco a discesa Suddivisione dati, seleziona Addestramento.
    cloud-samples-data/documentai/Custom/W2/AutoLabel
    
  3. Nella sezione Etichettatura automatica, seleziona la casella di controllo Importa con etichettatura automatica.
  4. Seleziona una versione di processore esistente per etichettare i documenti.
  • Ad esempio: 2af620b2fd4d1fcf
  1. Fai clic su Importa e attendi l'importazione dei documenti. Puoi uscire da questa pagina e tornare più tardi.
  • Al termine, i documenti verranno visualizzati nella pagina Addestra nella sezione Con etichetta automatica.
  1. Non puoi utilizzare i documenti con etichetta automatica per l'addestramento o i test senza contrassegnarli come etichettati. Vai alla sezione Con etichetta automatica per visualizzare i documenti con etichetta automatica.
  2. Seleziona il primo documento per accedere alla console di etichettatura.
  3. Verifica le etichette, i riquadri di delimitazione e i valori per assicurarti che siano corretti. Etichetta eventuali valori omessi.
  4. Al termine, seleziona Contrassegna come etichettato.
  5. Ripeti la verifica delle etichette per ogni documento con etichetta automatica, quindi torna alla pagina Addestra per utilizzare i dati per l'addestramento.

13. Conclusione

Congratulazioni, hai utilizzato Document AI per addestrare un processore estrattore di documenti personalizzato. Ora puoi utilizzare questo processore per analizzare i documenti in questo formato proprio come faresti con qualsiasi processore specializzato.

Per scoprire come gestire la risposta di elaborazione, consulta il codelab sui processori specializzati.

Pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial:

  • In Cloud Console, vai alla pagina Gestisci risorse.
  • Nell'elenco dei progetti, seleziona il tuo progetto e poi fai clic su Elimina.
  • Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.

Risorse

Licenza

Questo lavoro è concesso in licenza ai sensi di una licenza Creative Commons Attribution 2.0 Generic.