Addestra e valuta

Document AI ti consente di addestrare nuove versioni del processore utilizzando i tuoi dati di addestramento e di valutare la qualità della versione del processore rispetto ai tuoi dati di test.

Questa funzionalità è utile quando vuoi utilizzare un processore personalizzato. Esiste un processore Document AI per il tuo tipo di documento, ma puoi addestrare una versione personalizzata per soddisfare le tue esigenze.

L'addestramento e la valutazione vengono in genere eseguiti in tandem per eseguire l'iterazione verso una versione del processore utilizzabile e di alta qualità.

Document AI

Document AI ti consente di creare il tuo estrattore personalizzato, che estrae le entità dai documenti di un tipo specifico, ad esempio gli elementi di un menu o il nome e i dati di contatto da un curriculum.

A differenza di altri processori, i processori personalizzati non includono versioni del processore preaddestrate e, pertanto, non possono elaborare alcun documento finché non addestri una versione da zero.

Per iniziare a utilizzare Document AI, consulta Creare un processore personalizzato.

Eseguire l'uptraining di un processore

Puoi personalizzare l'addestramento di nuove versioni del processore per migliorare l'accuratezza dei dati, estrarre campi personalizzati aggiuntivi dai documenti e aggiungere il supporto per nuove lingue.

L'uptraining funziona applicando il transfer learning alle versioni del processore preaddestrate di Google e in genere richiede meno dati rispetto all'addestramento da zero.

Per iniziare, consulta Eseguire l'uptraining di un processore preaddestrato.

Processori supportati

Non tutti i processori specializzati supportano l'uptraining. Questi sono i processori che supportano l'uptraining.

Considerazioni e suggerimenti sui dati

La qualità e la quantità dei dati determinano la qualità dell'addestramento, dell'uptraining e della valutazione.

Ottenere un insieme di documenti rappresentativi e reali e fornire etichette di alta qualità sufficienti è spesso la parte più dispendiosa in termini di tempo e risorse della procedura.

Numero di documenti

Se tutti i documenti hanno un formato simile (ad esempio, un modulo fisso con variazioni molto basse), sono necessari meno documenti per ottenere la precisione. Maggiore è la variazione, più documenti sono necessari.

I seguenti grafici forniscono una stima approssimativa del numero di documenti necessari per un estrattore di documenti personalizzato per ottenere un punteggio di qualità specifico.

Variazione minima Variazione elevata
processor-training-and-evaluation-overview-1 processor-training-and-evaluation-overview-2

Etichettatura dati

Valuta le opzioni per l'etichettatura dei documenti e assicurati di avere risorse sufficienti per annotare i documenti nel set di dati.

Addestramento dei modelli

I processori estrattori personalizzati possono utilizzare diversi tipi di modelli a seconda del caso d'uso specifico e dei dati di addestramento disponibili.

  • Modello personalizzato: modello che utilizza dati di addestramento etichettati.
    • Basato su modelli: documenti con un layout fisso.
    • Basato su modelli: documenti con alcune variazioni di layout.
  • Modello di AI generativa: basato su modelli di base preaddestrati che richiedono un addestramento aggiuntivo minimo.

La seguente tabella illustra i casi d'uso corrispondenti a ogni tipo di modello.

Modello personalizzato AI generativa
Basato su modelli Basato su modelli
Variazione del layout Nessuna Da bassa a media Alta
Quantità di testo in formato libero (ad esempio, paragrafi in un contratto) Bassa Bassa Alta
Quantità di dati di addestramento richiesti Bassa Alta Bassa
Accuratezza con dati di addestramento limitati Maggiore Minore Maggiore

Scopri come ottimizzare un processore con le descrizioni delle proprietà.

Quando utilizzare un altro processore

Ecco alcuni casi in cui potresti prendere in considerazione opzioni diverse da Document AI Document AI Workbench o adattare il flusso di lavoro.

  • Alcuni formati di input basati su testo (.txt, .html, .docx, .md e così via) non sono supportati da Document AI Document AI Workbench. Valuta altre offerte di elaborazione del linguaggio predefinite o personalizzate, ad esempio l' API Cloud Natural Language. Google Cloud
  • Lo schema dell'estrattore di documenti personalizzato supporta fino a 150 etichette di entità. Se la logica di business richiede più di 150 entità nella definizione dello schema, valuta la possibilità di addestrare più processori, ognuno dei quali indirizzato a un sottoinsieme di entità.

Come addestrare un processore

Supponendo che tu abbia già creato un processore che supporta l'addestramento o l'uptraining e etichettato il set di dati, puoi addestrare una nuova versione del processore da zero. In alternativa, puoi eseguire l'uptraining di una nuova versione del processore in base a una esistente.

Addestrare la versione del processore

UI web

  1. Nellaconsole, vai alla scheda Addestra del tuo processore. Google Cloud

    Vai alla Galleria dei processori

  2. Fai clic su Modifica schema per aprire la pagina Gestisci etichette. Verifica le etichette del processore.

    Le etichette attivate al momento dell'addestramento determinano le entità estratte dalla nuova versione del processore. Se un'etichetta è inattiva nello schema, la versione del processore non estrae l'etichetta, anche se i documenti sono etichettati.

  3. Nella scheda Addestra, fai clic su Visualizza statistiche etichette e verifica il set di test e il set di addestramento. I documenti con etichetta automatica, senza etichetta o non assegnati vengono esclusi dall'addestramento e dalla valutazione.

  4. Fai clic su Addestra nuova versione.

    Il nome della versione definisce il name campo di processorVersion.

    processor-training-and-evaluation-overview-3

  5. Fai clic su Inizia addestramento e attendi che la nuova versione del processore venga addestrata e valutata.

    Puoi monitorare l'avanzamento dell'addestramento nella scheda Gestisci versioni:

    processor-training-and-evaluation-overview-4

  6. Fai clic sulla scheda Valuta e verifica per vedere il rendimento della nuova versione del processore nel test set. Per saperne di più, consulta Valutare la versione del processore.

Python

Per saperne di più, consulta la documentazione di riferimento dell' API Python di Document AI.

Per eseguire l'autenticazione in Document AI, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.


from typing import Optional

from google.api_core.client_options import ClientOptions
from google.cloud import documentai  # type: ignore

# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu'
# processor_id = 'YOUR_PROCESSOR_ID'
# processor_version_display_name = 'new-processor-version'
# train_data_uri = 'gs://bucket/directory/' # (Optional)
# test_data_uri = 'gs://bucket/directory/' # (Optional)


def train_processor_version_sample(
    project_id: str,
    location: str,
    processor_id: str,
    processor_version_display_name: str,
    train_data_uri: Optional[str] = None,
    test_data_uri: Optional[str] = None,
) -> None:
    # You must set the api_endpoint if you use a location other than 'us', e.g.:
    opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")

    client = documentai.DocumentProcessorServiceClient(client_options=opts)

    # The full resource name of the processor
    # e.g. `projects/{project_id}/locations/{location}/processors/{processor_id}
    parent = client.processor_path(project_id, location, processor_id)

    processor_version = documentai.ProcessorVersion(
        display_name=processor_version_display_name
    )

    # If train/test data is not supplied, the default sets in the Cloud Console will be used
    input_data = documentai.TrainProcessorVersionRequest.InputData(
        training_documents=documentai.BatchDocumentsInputConfig(
            gcs_prefix=documentai.GcsPrefix(gcs_uri_prefix=train_data_uri)
        ),
        test_documents=documentai.BatchDocumentsInputConfig(
            gcs_prefix=documentai.GcsPrefix(gcs_uri_prefix=test_data_uri)
        ),
    )

    request = documentai.TrainProcessorVersionRequest(
        parent=parent, processor_version=processor_version, input_data=input_data
    )

    operation = client.train_processor_version(request=request)
    # Print operation details
    print(operation.operation.name)
    # Wait for operation to complete
    response = documentai.TrainProcessorVersionResponse(operation.result())

    metadata = documentai.TrainProcessorVersionMetadata(operation.metadata)

    print(f"New Processor Version:{response.processor_version}")
    print(f"Training Set Validation: {metadata.training_dataset_validation}")
    print(f"Test Set Validation: {metadata.test_dataset_validation}")

Eseguire il deployment e utilizzare la versione del processore

Puoi eseguire il deployment e gestire le versioni del processore come qualsiasi altra versione del processore. Per saperne di più, consulta Gestire le versioni del processore.

Dopo il deployment, puoi inviare una richiesta di elaborazione al processore personalizzato.

Disabilitare o eliminare un processore

Se non vuoi più utilizzare un processore, puoi disabilitarlo o eliminarlo. Se disabiliti un processore, puoi riattivarlo. Se elimini un processore, non puoi recuperarlo.

  1. Nel riquadro Document AI a sinistra, fai clic su I miei processori.

  2. Fai clic sui puntini verticali a destra del nome del processore. Fai clic su Disabilita processore o Elimina processore.

Per saperne di più, consulta Gestire le versioni del processore.

Eseguire l'upgrade di una versione del processore ottimizzata

Puoi eseguire l'upgrade delle versioni del processore estrattore personalizzato ottimizzate a una versione di base più recente. Verrà creata una versione del processore con una versione di base più recente con configurazioni basate su quella precedente, utilizzando i dati di addestramento originali nel processore.

  1. Nella console Google Google Cloud , vai alla scheda Esegui il deployment e utilizza del tuo processore, e seleziona una casella di controllo per una versione del processore supportata per l'upgrade. Questa sarà la base della configurazione della nuova versione del processore.

    processor-training-and-evaluation-overview-5

  2. Seleziona Esegui l'upgrade abilitato. Inserisci il nome e la versione di base della nuova versione del processore.

    processor-training-and-evaluation-overview-6

  3. Fai clic su Esegui l'upgrade e attendi che la nuova versione del processore venga addestrata.

Crittografia dei dati di addestramento

I dati di addestramento di Document AI vengono salvati in Cloud Storage e, se necessario, possono essere criptati con chiavi di crittografia gestite dal cliente.

Eliminazione dei dati di addestramento

Al termine di un job di addestramento di Document AI, tutti i dati di addestramento salvati in Cloud Storage scadono dopo un periodo di conservazione di due giorni. Le successive attività di eliminazione dei dati rispettano la procedura descritta in Eliminazione dei dati su Google Cloud.

Prezzi

L'addestramento o l'uptraining non comportano costi. Paghi per l'hosting e la previsione. Per saperne di più, consulta i prezzi di Document AI.