Trainieren und bewerten

Mit Document AI können Sie neue Prozessorversionen mit Ihren eigenen Trainingsdaten trainieren und die Qualität Ihrer Prozessorversion anhand Ihrer eigenen Testdaten bewerten.

Das ist nützlich, wenn Sie einen benutzerdefinierten Prozessor verwenden möchten. Für Ihren Dokumenttyp gibt es einen Document AI-Prozessor. Sie können jedoch eine benutzerdefinierte Version davon trainieren, um sie an Ihre Anforderungen anzupassen.

Training und Bewertung werden in der Regel gemeinsam durchgeführt, um eine qualitativ hochwertige, verwendbare Prozessorversion zu entwickeln.

Document AI

Mit Document AI können Sie einen eigenen benutzerdefinierten Extractor erstellen, mit dem Entitäten aus Dokumenten eines bestimmten Typs extrahiert werden, z. B. die Elemente in einem Menü oder der Name und die Kontaktdaten aus einem Lebenslauf.

Im Gegensatz zu anderen Prozessoren sind für benutzerdefinierte Prozessoren keine vorab trainierten Prozessorversionen verfügbar. Daher können erst dann Dokumente verarbeitet werden, wenn Sie eine Version von Grund auf trainieren.

Weitere Informationen zu den ersten Schritten mit Document AI finden Sie unter Benutzerdefinierten Prozessor erstellen.

Prozessor weiter trainieren

Sie können neue Prozessorversionen aufwerten, um die Genauigkeit Ihrer Daten zu verbessern, zusätzliche benutzerdefinierte Felder aus Ihren Dokumenten extrahieren und die Unterstützung für neue Sprachen hinzufügen.

Beim Up-Training wird Transfer Learning auf vorab trainierte Prozessorversionen von Google angewendet. Es erfordert in der Regel weniger Daten als ein Training von Grund auf.

Weitere Informationen finden Sie unter Vortrainierten Prozessor weiter trainieren.

Unterstützte Prozessoren

Nicht alle speziellen Prozessoren unterstützen das Training von Up. Dies sind die Prozessoren, die die Funktion unterstützen.

Datenaspekte und Empfehlungen

Die Qualität und die Menge Ihrer Daten bestimmen die Qualität des Trainings, der Weiterbildung und der Bewertung.

Das Erstellen einer Reihe repräsentativer, realer Dokumente und das Bereitstellen ausreichender hochwertiger Labels ist oft der zeitaufwendigste und ressourcenintensivste Teil des Prozesses.

Anzahl der Dokumente

Wenn Ihre Dokumente alle ein ähnliches Format haben (z. B. ein festes Formular mit sehr geringen Abweichungen), sind weniger Dokumente erforderlich, um eine hohe Genauigkeit zu erreichen. Je größer die Abweichung, desto mehr Dokumente sind erforderlich.

Die folgenden Diagramme geben eine ungefähre Schätzung der Anzahl der Dokumente an, die für einen benutzerdefinierten Dokumenten-Extractor erforderlich sind, um einen bestimmten Qualitätswert zu erreichen.

Geringe Abweichungen Hohe Abweichungen
processor-training-and-evaluation-overview-1 processor-training-and-evaluation-overview-2

Daten-Labeling

Überlegen Sie, welche Optionen für das Labeln von Dokumenten Sie haben, und prüfen Sie, ob Sie genügend Ressourcen haben, um die Dokumente in Ihrem Datensatz zu annotieren.

Modelle trainieren

Für benutzerdefinierte Extractor-Prozessoren können je nach Anwendungsfall und verfügbaren Trainingsdaten verschiedene Modelltypen verwendet werden.

  • Benutzerdefiniertes Modell: Modell, das mit gekennzeichneten Trainingsdaten verwendet wird.
    • Vorlagenbasiert: Dokumente mit einem festen Layout.
    • Modellbasiert: Dokumente mit einigen Layoutabweichungen.
  • Generatives KI-Modell: Basiert auf vortrainierten Foundation Models, die nur minimal zusätzliches Training erfordern.

In der folgenden Tabelle sehen Sie, welche Anwendungsfälle den einzelnen Modelltypen entsprechen.

Benutzerdefiniertes Modell Generative AI
Vorlagenbasiert Modellbasiert
Layoutvariante Keine Niedrig bis mittel Hoch
Menge an Text im freien Format (z. B. Absätze in einem Vertrag) Niedrig Niedrig Hoch
Erforderliche Menge an Trainingsdaten Niedrig Hoch Niedrig
Genauigkeit bei begrenzten Trainingsdaten Höher Niedrigere Höher

Weitere Informationen zum Optimieren eines Prozessors mithilfe von Property-Beschreibungen

Wann Sie einen anderen Prozessor verwenden sollten

In den folgenden Fällen sollten Sie neben Document AI Workbench auch andere Optionen in Betracht ziehen oder Ihren Workflow anpassen.

  • Bestimmte textbasierte Eingabeformate (z. B. TXT, HTML, DOCX und MD) werden von Document AI Workbench nicht unterstützt. Es gibt auch andere vorgefertigte oder benutzerdefinierte Angebote für die Sprachverarbeitung in Google Cloud, z. B. die Cloud Natural Language API.
  • Das Schema für den benutzerdefinierten Dokumenten-Extractor unterstützt bis zu 150 Entitätslabels. Wenn Ihre Geschäftslogik mehr als 150 Entitäten in der Schemadefinition erfordert, sollten Sie mehrere Modelle trainieren, die jeweils auf eine Teilmenge der Entitäten ausgerichtet sind.

Prozessor trainieren

Angenommen, Sie haben bereits einen Prozessor erstellt, der das Training oder die Aktualisierung unterstützt, und Ihr Dataset mit Labels versehen, können Sie eine neue Prozessorversion von Grund auf trainieren. Sie können auch eine neue Prozessorversion auf Basis einer vorhandenen weiter trainieren.

Prozessorversion trainieren

Web-UI

  1. Rufen Sie in der Google Cloud Console den Tab Trainieren Ihres Prozessors auf.

    Zur Prozessorgalerie

  2. Klicken Sie auf Schema bearbeiten, um die Seite Labels verwalten zu öffnen. Prüfen Sie die Labels des Prozessors.

    Die Labels, die zum Zeitpunkt des Trainings aktiviert sind, bestimmen die Entitäten, die von der neuen Prozessorversion extrahiert werden. Wenn ein Label im Schema inaktiv ist, wird es von der Prozessorversion nicht extrahiert, auch wenn die Dokumente gekennzeichnet sind.

  3. Klicken Sie auf dem Tab Trainieren auf Labelstatistiken ansehen und überprüfen Sie den Test- und Trainingssatz. Dokumente, die automatisch mit Labels versehen, ohne Labels oder nicht zugewiesen sind, werden vom Training und der Bewertung ausgeschlossen.

  4. Klicken Sie auf Neue Version trainieren.

    Der Versionsname definiert das Feld name der processorVersion.

    processor-training-and-evaluation-overview-3

  5. Klicken Sie auf Training starten und warten Sie, bis die neue Prozessorversion trainiert und bewertet wurde.

    Sie können den Fortschritt des Trainings auf dem Tab Versionen verwalten verfolgen:

    processor-training-and-evaluation-overview-4

  6. Klicken Sie auf den Tab Bewerten und Testen, um zu sehen, wie gut Ihre neue Prozessorversion im Testsatz abgeschnitten hat. Weitere Informationen finden Sie unter Prozessorversion auswerten.

Python

Weitere Informationen finden Sie in der Referenzdokumentation zur Document AI Python API.

Richten Sie zur Authentifizierung bei Document AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


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}")

Prozessorversion bereitstellen und verwenden

Sie können Ihre Prozessorversionen wie jede andere Prozessorversion bereitstellen und verwalten. Weitere Informationen finden Sie unter Prozessorversionen verwalten.

Nach der Bereitstellung können Sie eine Verarbeitungsanfrage an Ihren benutzerdefinierten Prozessor senden.

Prozessor deaktivieren oder löschen

Wenn Sie einen Prozessor nicht mehr verwenden möchten, können Sie ihn deaktivieren oder löschen. Wenn Sie einen Prozessor deaktivieren, können Sie ihn wieder aktivieren. Wenn Sie einen Prozessor löschen, können Sie ihn nicht wiederherstellen.

  1. Klicken Sie links im Bereich Document AI auf Meine Prozessoren.

  2. Klicken Sie rechts neben dem Namen des Prozessors auf das Dreipunkt-Menü. Klicken Sie auf Prozessor deaktivieren oder Prozessor löschen.

Weitere Informationen finden Sie unter Prozessorversionen verwalten.

Verschlüsselung von Trainingsdaten

Daten für Document AI-Schulung werden in Cloud Storage gespeichert und können bei Bedarf mit vom Kunden verwalteten Verschlüsselungsschlüsseln verschlüsselt werden.

Löschen von Trainingsdaten

Nach Abschluss eines Document AI-Trainingsjobs laufen alle in Cloud Storage gespeicherten Trainingsdaten nach einer Aufbewahrungsdauer von zwei Tagen ab. Bei nachfolgenden Datenlöschungen wird der in Datenlöschung in Google Cloud beschriebene Prozess eingehalten.

Preise

Für Schulungen oder Weiterbildungen fallen keine Kosten an. Sie zahlen für Hosting und Prognose. Weitere Informationen finden Sie unter Preise für Document AI.