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 in base ai tuoi dati di test.

Questa opzione è utile se vuoi utilizzare un elaboratore personalizzato. Esiste un processore Document AI per il tuo tipo di documento, ma puoi eseguire l'upgrade di 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 entità da documenti di un determinato tipo, 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 sono dotati di versioni preaddestrate e, pertanto, non possono elaborare alcun documento finché non ne addestri una da zero.

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

Eseguire l'upgrade di un processore

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

L'addestramento Up 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 Ottimizzare l'addestramento di un processore preaddestrato.

Processori supportati

Non tutti i processori specializzati supportano l'addestramento di Up. Questi sono i processori che supportano l'addestramento.

Considerazioni e consigli sui dati

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

Ottenere un insieme di documenti reali rappresentativi e fornire un numero sufficiente di etichette di alta qualità è spesso la parte più dispendiosa in termini di tempo e risorse del processo.

Numero di documenti

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

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

Variazione bassa 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 disporre di risorse sufficienti per annotare i documenti nel tuo set di dati.

Addestramento dei modelli

I processori degli 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 modello: documenti con un layout fisso.
    • Basato su modello: documenti con alcune variazioni di layout.
  • Modello di IA generativa: basato su modelli di base preaddestrati che richiedono un'ulteriore addestramento minimo.

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

Modello personalizzato Generative AI
In base a un modello In base a modelli
Variazione del layout Nessuno Da basso a medio Alta
Quantità di testo in formato libero (ad es. paragrafi di un contratto) Bassa Bassa Alta
Quantità di dati di addestramento richiesti Bassa Alta Bassa
Accuratezza con dati di addestramento limitati Superiore Meno Superiore

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

Quando utilizzare un altro elaboratore

Di seguito sono riportati alcuni casi in cui potresti prendere in considerazione opzioni diverse da Document AI Workbench o adattare il tuo flusso di lavoro.

  • Alcuni formati di input basati su testo (.txt, .html, .docx, .md e così via) non sono supportati da Document AI Workbench. Valuta altre offerte di elaborazione del linguaggio predefinite o personalizzate in Google Cloud, come l'API Cloud Natural Language.
  • Lo schema dell'estrattore di documenti personalizzato supporta fino a 150 etichette delle entità. Se la logica di business richiede più di 150 entità nella definizione dello schema, valuta la possibilità di addestrare più processori, ciascuno con un target di 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 tuo 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.

Addestramento della versione del processore

UI web

  1. Nella console Google Cloud, vai alla scheda Addestramento del tuo processore.

    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à che vengono estratte dalla nuova versione del processore. Se un'etichetta non è attiva nello schema, la versione del processore non la estrae, anche se i documenti sono etichettati.

  3. Nella scheda Addestramento, fai clic su Visualizza statistiche sulle etichette e verifica il set di test e 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.

    Nome versione definisce il campo name di processorVersion.

    processor-training-and-evaluation-overview-3

  5. Fai clic su Avvia 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 sul set di test. Per ulteriori informazioni, consulta Valutare la versione del processore.

Python

Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Document AI Python.

Per autenticarti a Document AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, 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}")

Esegui il deployment e utilizza 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 Gestione delle versioni del processore.

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

Disattivare o eliminare un processore

Se non vuoi più utilizzare un elaboratore, puoi disattivarlo o eliminarlo. Se disattivi un processore, puoi riattivarlo. Se elimini un elaboratore, non potrai recuperarlo.

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

  2. Fai clic sui puntini verticali a destra del nome dell'elaboratore. Fai clic su Disattiva elaboratore o Elimina elaboratore.

Per saperne di più, consulta Gestione delle versioni del processore.

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 attività di eliminazione dei dati successive rispettano la procedura descritta in Eliminazione dei dati su Google Cloud.

Prezzi

L'addestramento o l'aggiornamento non hanno costi. Paghi per l'hosting e la previsione. Per ulteriori informazioni, consulta Prezzi di Document AI.