123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- // Copyright 2022 Google LLC
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package google.cloud.documentai.v1beta3;
- import "google/api/resource.proto";
- import "google/protobuf/timestamp.proto";
- option csharp_namespace = "Google.Cloud.DocumentAI.V1Beta3";
- option go_package = "google.golang.org/genproto/googleapis/cloud/documentai/v1beta3;documentai";
- option java_multiple_files = true;
- option java_outer_classname = "DocumentAiEvaluation";
- option java_package = "com.google.cloud.documentai.v1beta3";
- option php_namespace = "Google\\Cloud\\DocumentAI\\V1beta3";
- option ruby_package = "Google::Cloud::DocumentAI::V1beta3";
- // An evaluation of a ProcessorVersion's performance.
- message Evaluation {
- option (google.api.resource) = {
- type: "documentai.googleapis.com/Evaluation"
- pattern: "projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}"
- };
- // Evaluation counters for the documents that were used.
- message Counters {
- // How many documents were sent for evaluation.
- int32 input_documents_count = 1;
- // How many documents were not included in the evaluation as they didn't
- // pass validation.
- int32 invalid_documents_count = 2;
- // How many documents were not included in the evaluation as Document AI
- // failed to process them.
- int32 failed_documents_count = 3;
- // How many documents were used in the evaluation.
- int32 evaluated_documents_count = 4;
- }
- // Evaluation metrics, either in aggregate or about a specific entity.
- message Metrics {
- // The calculated precision.
- float precision = 1;
- // The calculated recall.
- float recall = 2;
- // The calculated f1 score.
- float f1_score = 3;
- // The amount of occurrences in predicted documents.
- int32 predicted_occurrences_count = 4;
- // The amount of occurrences in ground truth documents.
- int32 ground_truth_occurrences_count = 5;
- // The amount of documents with a predicted occurrence.
- int32 predicted_document_count = 10;
- // The amount of documents with a ground truth occurrence.
- int32 ground_truth_document_count = 11;
- // The amount of true positives.
- int32 true_positives_count = 6;
- // The amount of false positives.
- int32 false_positives_count = 7;
- // The amount of false negatives.
- int32 false_negatives_count = 8;
- // The amount of documents that had an occurrence of this label.
- int32 total_documents_count = 9;
- }
- // Evaluations metrics, at a specific confidence level.
- message ConfidenceLevelMetrics {
- // The confidence level.
- float confidence_level = 1;
- // The metrics at the specific confidence level.
- Metrics metrics = 2;
- }
- // Metrics across multiple confidence levels.
- message MultiConfidenceMetrics {
- // A type that determines how metrics should be interpreted.
- enum MetricsType {
- // The metrics type is unspecified. By default, metrics without a
- // particular specification are for leaf entity types (i.e., top-level
- // entity types without child types, or child types which are not
- // parent types themselves).
- METRICS_TYPE_UNSPECIFIED = 0;
- // Indicates whether metrics for this particular label type represent an
- // aggregate of metrics for other types instead of being based on actual
- // TP/FP/FN values for the label type. Metrics for parent (i.e., non-leaf)
- // entity types are an aggregate of metrics for their children.
- AGGREGATE = 1;
- }
- // Metrics across confidence levels with fuzzy matching enabled.
- repeated ConfidenceLevelMetrics confidence_level_metrics = 1;
- // Metrics across confidence levels with only exact matching.
- repeated ConfidenceLevelMetrics confidence_level_metrics_exact = 4;
- // The calculated area under the precision recall curve (AUPRC), computed by
- // integrating over all confidence thresholds.
- float auprc = 2;
- // The Estimated Calibration Error (ECE) of the confidence of the predicted
- // entities.
- float estimated_calibration_error = 3;
- // The AUPRC for metrics with fuzzy matching disabled, i.e., exact matching
- // only.
- float auprc_exact = 5;
- // The ECE for the predicted entities with fuzzy matching disabled, i.e.,
- // exact matching only.
- float estimated_calibration_error_exact = 6;
- // The metrics type for the label.
- MetricsType metrics_type = 7;
- }
- // The resource name of the evaluation.
- // Format:
- // `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processor_version}/evaluations/{evaluation}`
- string name = 1;
- // The time that the evaluation was created.
- google.protobuf.Timestamp create_time = 2;
- // Counters for the documents used in the evaluation.
- Counters document_counters = 5;
- // Metrics for all the entities in aggregate.
- MultiConfidenceMetrics all_entities_metrics = 3;
- // Metrics across confidence levels, for different entities.
- map<string, MultiConfidenceMetrics> entity_metrics = 4;
- // The KMS key name used for encryption.
- string kms_key_name = 6;
- // The KMS key version with which data is encrypted.
- string kms_key_version_name = 7;
- }
|