Leistung auswerten

Document AI generiert Bewertungsmesswerte wie Precision und Recall, damit Sie die Vorhersageleistung Ihrer Prozessoren ermitteln können.

Diese Bewertungsmesswerte werden durch einen Vergleich der vom Prozessor zurückgegebenen Entitäten (Vorhersagen) mit den Annotationen in den Testdokumenten generiert. Wenn Ihr Prozessor kein Test-Dataset hat, müssen Sie zuerst ein Dataset erstellen und die Testdokumente labeln.

Bewertung ausführen

Eine Bewertung wird automatisch ausgeführt, wenn Sie eine Prozessorversion trainieren oder aktualisieren.

Sie können eine Bewertung auch manuell ausführen. Dies ist erforderlich, um aktualisierte Messwerte zu generieren, nachdem Sie das Testset geändert haben, oder wenn Sie eine vortrainierte Prozessorversion bewerten.

Web-UI

  1. Rufen Sie in der Google Cloud Console die Seite Prozessoren auf und wählen Sie Ihren Prozessor aus.

    Zur Seite „Prozessoren“

  2. Wählen Sie auf dem Tab Bewerten und testen die Version des Prozessors aus, die Sie bewerten möchten, und klicken Sie dann auf Neue Bewertung ausführen.

Nach Abschluss des Vorgangs enthält die Seite Bewertungsmesswerte für alle Labels und für jedes einzelne Label.

Python

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

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


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_id = 'YOUR_PROCESSOR_VERSION_ID'
# gcs_input_uri = # Format: gs://bucket/directory/


def evaluate_processor_version_sample(
    project_id: str,
    location: str,
    processor_id: str,
    processor_version_id: str,
    gcs_input_uri: str,
) -> 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 version
    # e.g. `projects/{project_id}/locations/{location}/processors/{processor_id}/processorVersions/{processor_version_id}`
    name = client.processor_version_path(
        project_id, location, processor_id, processor_version_id
    )

    evaluation_documents = documentai.BatchDocumentsInputConfig(
        gcs_prefix=documentai.GcsPrefix(gcs_uri_prefix=gcs_input_uri)
    )

    # NOTE: Alternatively, specify a list of GCS Documents
    #
    # gcs_input_uri = "gs://bucket/directory/file.pdf"
    # input_mime_type = "application/pdf"
    #
    # gcs_document = documentai.GcsDocument(
    #     gcs_uri=gcs_input_uri, mime_type=input_mime_type
    # )
    # gcs_documents = [gcs_document]
    # evaluation_documents = documentai.BatchDocumentsInputConfig(
    #     gcs_documents=documentai.GcsDocuments(documents=gcs_documents)
    # )
    #

    request = documentai.EvaluateProcessorVersionRequest(
        processor_version=name,
        evaluation_documents=evaluation_documents,
    )

    # Make EvaluateProcessorVersion request
    # Continually polls the operation until it is complete.
    # This could take some time for larger files
    operation = client.evaluate_processor_version(request=request)
    # Print operation details