REST Resource: projects.locations.evaluations

Recurso: Evaluación

Una evaluación es una sola ejecución (o corrida) de un proceso de evaluación. Encapsula el estado de la evaluación y los datos resultantes.

Representación JSON
{
  "name": string,
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "qualityMetrics": {
    object (QualityMetrics)
  },
  "state": enum (State),
  "error": {
    object (Status)
  },
  "createTime": string,
  "endTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ]
}
Campos
name

string

Es el identificador. Es el nombre completo del recurso Evaluation, en el formato projects/{project}/locations/{location}/evaluations/{evaluation}.

Este campo debe ser una cadena codificada en UTF-8 con un límite de longitud de 1,024 caracteres.

evaluationSpec

object (EvaluationSpec)

Obligatorio. Es la especificación de la evaluación.

qualityMetrics

object (QualityMetrics)

Solo salida. Son las métricas que produce la evaluación, cuyo promedio se calcula en todos los SampleQuerys del SampleQuerySet.

Solo se propaga cuando el estado de la evaluación es SUCCEEDED.

state

enum (State)

Solo salida. Es el estado de la evaluación.

error

object (Status)

Solo salida. Es el error que se produjo durante la evaluación. Solo se propaga cuando el estado de la evaluación es FAILED.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo en la que se creó el objeto Evaluation.

Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Solo salida. Es la marca de tiempo en la que se completó el Evaluation.

Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Solo salida. Es una muestra de los errores que se encontraron durante el procesamiento de la solicitud.

EvaluationSpec

Describe la especificación de la evaluación.

Representación JSON
{
  "querySetSpec": {
    object (QuerySetSpec)
  },

  // Union field search_spec can be only one of the following:
  "searchRequest": {
    object (SearchRequest)
  }
  // End of list of possible types for union field search_spec.
}
Campos
querySetSpec

object (QuerySetSpec)

Opcional. Es la especificación del conjunto de búsquedas.

Campo de unión search_spec. Es la especificación de búsqueda. search_spec puede ser solo uno de los siguientes:
searchRequest

object (SearchRequest)

Obligatorio. Es la solicitud de búsqueda que se usa para realizar la evaluación.

Solo se admiten los siguientes campos dentro de SearchRequest. Si se proporcionan otros campos, se devolverá un error UNSUPPORTED:

ImageQuery

Especifica la entrada de la búsqueda de imágenes.

Representación JSON
{

  // Union field image can be only one of the following:
  "imageBytes": string
  // End of list of possible types for union field image.
}
Campos

Campo de unión image.

image puede ser una de las siguientes opciones:

imageBytes

string

Son los bytes de la imagen codificados en Base64. Formatos de imagen admitidos: JPEG, PNG y BMP.

FacetSpec

Es una especificación de faceta para realizar una búsqueda por facetas.

Representación JSON
{
  "facetKey": {
    object (FacetKey)
  },
  "limit": integer,
  "excludedFilterKeys": [
    string
  ],
  "enableDynamicPosition": boolean
}
Campos
facetKey

object (FacetKey)

Obligatorio. Es la especificación de la clave de faceta.

limit

integer

Es la cantidad máxima de valores de faceta que se devuelven para esta faceta. Si no se especifica, el valor predeterminado es 20. El valor máximo permitido es 300. Los valores superiores a 300 se convertirán a 300. Para la agregación en la búsqueda de atención médica, cuando [FacetKey.key] es "healthcare_aggregation_key", el límite se anulará internamente a 10,000, independientemente del valor establecido aquí.

Si este campo es negativo, se devuelve un INVALID_ARGUMENT.

excludedFilterKeys[]

string

Es la lista de claves que se excluirán cuando se creen facetas.

De forma predeterminada, FacetKey.key no se excluye del filtro, a menos que aparezca en este campo.

Si se incluye una clave de faceta en este campo, sus valores pueden aparecer como resultados de faceta, incluso cuando se filtran de los resultados de la búsqueda. El uso de este campo no afecta los resultados de la búsqueda que se muestran.

Por ejemplo, supongamos que hay 100 documentos con la faceta de color "Rojo" y 200 documentos con la faceta de color "Azul". Una búsqueda que contenga el filtro "color:ANY("Red")" y que tenga "color" como FacetKey.key de forma predeterminada solo mostrará los documentos "Rojos" en los resultados de la búsqueda y también mostrará "Rojo" con el recuento 100 como la única faceta de color. Si bien también hay documentos azules disponibles, "Azul" no se mostraría como un valor de faceta disponible.

Si "color" aparece en "excludedFilterKeys", la búsqueda devuelve los valores de la faceta "Rojo" con el recuento 100 y "Azul" con el recuento 200, ya que la clave "color" ahora se excluye del filtro. Dado que este campo no afecta los resultados de la búsqueda, estos se filtran correctamente para mostrar solo los documentos "rojos".

Se permite un máximo de 100 valores. De lo contrario, se muestra un error INVALID_ARGUMENT.

enableDynamicPosition

boolean

Habilita la posición dinámica para esta faceta. Si se establece como verdadero, la posición de esta faceta entre todas las facetas de la respuesta se determina automáticamente. Si las facetas dinámicas están habilitadas, se ordenan juntas. Si se establece como falso, la posición de esta faceta en la respuesta es la misma que en la solicitud, y se clasifica antes que las facetas con posición dinámica habilitada y todas las facetas dinámicas.

Por ejemplo, es posible que siempre desees que se muestre la faceta de clasificación en la respuesta, pero no es necesario que siempre se muestre en la parte superior. En ese caso, puedes establecer enableDynamicPosition como verdadero para que la posición de la faceta de clasificación en la respuesta se determine automáticamente.

Otro ejemplo, suponiendo que tienes los siguientes facets en la solicitud:

  • "rating", enableDynamicPosition = true

  • "price", enableDynamicPosition = false

  • "brands", enableDynamicPosition = false

También tienes habilitadas las facetas dinámicas, que generan una faceta gender. Luego, el orden final de las facetas en la respuesta puede ser ("precio", "marcas", "calificación", "género") o ("precio", "marcas", "género", "calificación"), según cómo la API ordene las facetas "género" y "calificación". Sin embargo, observa que "price" y "brands" siempre se clasifican en la primera y segunda posición porque su enableDynamicPosition es falso.

FacetKey

Especifica cómo se calcula una faceta.

Representación JSON
{
  "key": string,
  "intervals": [
    {
      object (Interval)
    }
  ],
  "restrictedValues": [
    string
  ],
  "prefixes": [
    string
  ],
  "contains": [
    string
  ],
  "caseInsensitive": boolean,
  "orderBy": string
}
Campos
key

string

Obligatorio. Son las claves de facetas textuales y numéricas admitidas en el objeto Document, para las que se calculan los valores de facetas. La clave de faceta distingue mayúsculas de minúsculas.

intervals[]

object (Interval)

Solo se establece si los valores se deben agrupar en intervalos. Se debe configurar para las facetas con valores numéricos. No se debe establecer para la faceta con valores de texto. La cantidad máxima de intervalos es 30.

restrictedValues[]

string

Solo se obtiene la faceta para los valores restringidos determinados. Solo se admite en campos de texto. Por ejemplo, supongamos que "categoría" tiene tres valores: "Acción > 2022", "Acción > 2021" y "Ciencia ficción > 2022". Si se establece "restrictedValues" en "Action > 2022", la faceta "category" solo contiene "Action > 2022". Solo se admite en campos de texto. El máximo es 10.

prefixes[]

string

Solo se obtienen los valores de faceta que comienzan con el prefijo de cadena determinado. Por ejemplo, supongamos que "categoría" tiene tres valores: "Acción > 2022", "Acción > 2021" y "Ciencia ficción > 2022". Si se establece "prefixes" en "Action", la faceta "category" solo contiene "Action > 2022" y "Action > 2021". Solo se admite en campos de texto. El máximo es 10.

contains[]

string

Solo se obtienen los valores de faceta que contienen las cadenas proporcionadas. Por ejemplo, supongamos que "categoría" tiene tres valores: "Acción > 2022", "Acción > 2021" y "Ciencia ficción > 2022". Si se establece "contiene" en "2022", la faceta "categoría" solo contendrá "Acción > 2022" y "Ciencia ficción > 2022". Solo se admite en campos de texto. El máximo es 10.

caseInsensitive

boolean

Es verdadero si las claves de faceta no distinguen mayúsculas de minúsculas cuando se obtienen valores de facetas con prefijos o contiene; de lo contrario, es falso.

orderBy

string

Es el orden en que se muestran los documentos.

Los valores permitidos son los siguientes:

Si no se establece, los valores textuales se ordenan en orden natural, y los intervalos numéricos se ordenan según el orden que indica FacetSpec.FacetKey.intervals.

Intervalo

Es un intervalo de punto flotante.

Representación JSON
{

  // Union field min can be only one of the following:
  "minimum": number,
  "exclusiveMinimum": number
  // End of list of possible types for union field min.

  // Union field max can be only one of the following:
  "maximum": number,
  "exclusiveMaximum": number
  // End of list of possible types for union field max.
}
Campos

Campo de unión min. Es el límite inferior del intervalo. Si no se establece ninguno de los campos de valor mínimo, el límite inferior es infinito negativo.

Este campo no debe ser mayor que el valor máximo. De lo contrario, se mostrará un error INVALID_ARGUMENT. min puede ser solo uno de los siguientes:

minimum

number

Es el límite inferior inclusivo.

exclusiveMinimum

number

Límite inferior exclusivo.

Campo de unión max. Es el límite superior del intervalo. Si no se establece ninguno de los campos de máximo, el límite superior es infinito positivo.

Este campo no debe ser inferior al valor mín. De lo contrario, se muestra un error INVALID_ARGUMENT. max puede ser solo uno de los siguientes:

maximum

number

Es el límite superior inclusivo.

exclusiveMaximum

number

Límite superior exclusivo.

QueryExpansionSpec

Es la especificación para determinar en qué condiciones se debe realizar la búsqueda expandida.

Representación JSON
{
  "condition": enum (Condition),
  "pinUnexpandedResults": boolean
}
Campos
condition

enum (Condition)

Es la condición en la que se debe realizar la búsqueda expandida. Margen aproximado predeterminado: Condition.DISABLED

pinUnexpandedResults

boolean

Indica si se deben fijar los resultados sin expandir. Si este campo se establece como verdadero, los productos que no son parte de la búsqueda expandida siempre aparecerán en la parte superior de los resultados de la búsqueda, seguidos de los resultados expandidos.

Condición

Es una enumeración que describe bajo qué condición debe ocurrir la búsqueda expandida.

Enums
CONDITION_UNSPECIFIED No se especificó la condición de búsqueda expandida. En este caso, el comportamiento del servidor se establece de forma predeterminada en Condition.DISABLED.
DISABLED Se inhabilitó la búsqueda expandida. Solo se usa la búsqueda exacta, incluso si SearchResponse.total_size es cero.
AUTO Búsqueda expandida automática que crea la API de Search.

SpellCorrectionSpec

Es la especificación para la corrección ortográfica de la búsqueda.

Representación JSON
{
  "mode": enum (Mode)
}
Campos
mode

enum (Mode)

Es el modo en el que la corrección ortográfica reemplaza la búsqueda original. La configuración predeterminada es Mode.AUTO.

Modo

Es una enumeración que describe en qué modo se debe realizar la corrección ortográfica.

Enums
MODE_UNSPECIFIED No se especificó el modo de corrección ortográfica. En este caso, el comportamiento del servidor se establece de forma predeterminada en Mode.AUTO.
SUGGESTION_ONLY La API de Search intenta encontrar una sugerencia ortográfica. Si se encuentra una sugerencia, se coloca en SearchResponse.corrected_query. La sugerencia de ortografía no se usará como consulta de búsqueda.
AUTO Corrección ortográfica automática integrada en la API de Search. La búsqueda se basará en la consulta corregida, si se encuentra.

EmbeddingSpec

Es la especificación que usa un vector de incorporación de búsqueda personalizado para realizar la recuperación semántica de documentos.

Representación JSON
{
  "embeddingVectors": [
    {
      object (EmbeddingVector)
    }
  ]
}
Campos
embeddingVectors[]

object (EmbeddingVector)

Es el vector de incorporación que se usa para la recuperación. Límite de 1.

EmbeddingVector

Es el vector de embedding.

Representación JSON
{
  "fieldPath": string,
  "vector": [
    number
  ]
}
Campos
fieldPath

string

Es la ruta del campo de embedding en el esquema.

vector[]

number

Es el vector de embedding de la búsqueda.

RankingExpressionBackend

Es el backend que se usará para la evaluación de la expresión de clasificación.

Enums
RANKING_EXPRESSION_BACKEND_UNSPECIFIED Es la opción predeterminada para los valores no especificados o desconocidos.
BYOE

Obsoleto: Usa RANK_BY_EMBEDDING en su lugar. Clasificación según el modelo de incorporación personalizado, la forma predeterminada de evaluar la expresión de clasificación. Es una opción de enumeración heredada. En su lugar, se debe usar RANK_BY_EMBEDDING.

CLEARBOX

Obsoleto: Usa RANK_BY_FORMULA en su lugar. Es el ranking según una fórmula personalizada. Es una opción de enumeración heredada. En su lugar, se debe usar RANK_BY_FORMULA.

RANK_BY_EMBEDDING Clasificación según el modelo de incorporación personalizado, la forma predeterminada de evaluar la expresión de clasificación.
RANK_BY_FORMULA Es el ranking según una fórmula personalizada.

NaturalLanguageQueryUnderstandingSpec

Es una especificación para habilitar las capacidades de comprensión del lenguaje natural para las solicitudes de búsqueda.

Representación JSON
{
  "filterExtractionCondition": enum (FilterExtractionCondition),
  "geoSearchQueryDetectionFieldNames": [
    string
  ],
  "extractedFilterBehavior": enum (ExtractedFilterBehavior),
  "allowedFieldNames": [
    string
  ]
}
Campos
filterExtractionCondition

enum (FilterExtractionCondition)

Condición en la que se debe realizar la extracción del filtro. El comportamiento del servidor se establece de forma predeterminada en DISABLED.

geoSearchQueryDetectionFieldNames[]

string

Son los nombres de los campos que se usan para el filtrado basado en la ubicación, en el que se detectan filtros de ubicación geográfica en las búsquedas en lenguaje natural. Solo es válido cuando FilterExtractionCondition se establece en ENABLED.

Si se configura este campo, se anulan los nombres de los campos establecidos en ServingConfig.geo_search_query_detection_field_names.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

Opcional. Controla el comportamiento de cómo se aplican los filtros extraídos a la búsqueda. El comportamiento predeterminado depende de la solicitud. Para la búsqueda estructurada de un solo almacén de datos, el valor predeterminado es HARD_FILTER. En el caso de la búsqueda en varios almacenes de datos, el comportamiento predeterminado es SOFT_BOOST. Los filtros basados en la ubicación siempre se aplican como filtros estrictos, y el parámetro de configuración SOFT_BOOST no los afectará. Este campo solo se usa si [SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition][] se establece en FilterExtractionCondition.ENABLED.

allowedFieldNames[]

string

Opcional. Lista de entidades permitidas de los campos que se pueden usar para la extracción de filtros de lenguaje natural. De forma predeterminada, si no se especifica, todos los campos indexables son aptos para la extracción de filtros de lenguaje natural (pero no se garantiza que se usen). Si se especifica algún campo en allowedFieldNames, solo los campos que estén marcados como indexables en el esquema y especificados en la lista de entidades permitidas serán aptos para la extracción de filtros en lenguaje natural. Nota: Aún no se admite la búsqueda en varios almacenes de datos, por lo que se ignorará este parámetro.

FilterExtractionCondition

Es una enumeración que describe en qué condición se debe realizar la extracción del filtro.

Enums
CONDITION_UNSPECIFIED El comportamiento del servidor se establece de forma predeterminada en DISABLED.
DISABLED Inhabilita la extracción de filtros de NL.
ENABLED Habilita la extracción de filtros de lenguaje natural.

ExtractedFilterBehavior

Es una enumeración que describe cómo se aplican los filtros extraídos a la búsqueda.

Enums
EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED usará el comportamiento predeterminado para los filtros extraídos. En el caso de la búsqueda en un solo almacén de datos, la configuración predeterminada es aplicar filtros estrictos. En el caso de la búsqueda en varios almacenes de datos, la configuración predeterminada es aplicar los aumentos como aumentos leves.
HARD_FILTER Aplica todos los filtros extraídos como filtros estrictos en los resultados. Los resultados que no pasen los filtros extraídos no se devolverán en el conjunto de resultados.
SOFT_BOOST Aplica todos los filtros extraídos como refuerzos leves. Los resultados que pasen los filtros se impulsarán a clasificaciones más altas en el conjunto de resultados.

SearchAsYouTypeSpec

Es la especificación de la búsqueda mientras escribes en las solicitudes de búsqueda.

Representación JSON
{
  "condition": enum (Condition)
}
Campos
condition

enum (Condition)

Condición en la que se debe realizar la búsqueda a medida que escribes. Margen aproximado predeterminado: Condition.DISABLED

Condición

Es una enumeración que describe en qué condición debe ocurrir la búsqueda mientras escribes.

Enums
CONDITION_UNSPECIFIED El comportamiento del servidor se establece de forma predeterminada en Condition.DISABLED.
DISABLED Inhabilita la función de búsqueda mientras escribes.
ENABLED Habilita la función de búsqueda mientras escribes.
AUTO Cambio automático entre los modos de búsqueda estándar y de búsqueda mientras escribes, ideal para implementaciones de una sola API (p.ej., eliminación de rebotes).

DisplaySpec

Especifica las funciones para mostrar, como el resaltado de coincidencias.

Representación JSON
{
  "matchHighlightingCondition": enum (MatchHighlightingCondition)
}
Campos
matchHighlightingCondition

enum (MatchHighlightingCondition)

Condición en la que se debe destacar la coincidencia.

MatchHighlightingCondition

Es una enumeración que describe en qué condición se debe destacar la coincidencia.

Enums
MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED El comportamiento del servidor es el mismo que el de MATCH_HIGHLIGHTING_DISABLED.
MATCH_HIGHLIGHTING_DISABLED Inhabilita el resaltado de coincidencias en todos los documentos.
MATCH_HIGHLIGHTING_ENABLED Habilita el resaltado de coincidencias en todos los documentos.

SessionSpec

Es la especificación de la sesión.

Actualmente, la función de búsqueda de turnos múltiples se encuentra en la etapa de disponibilidad general privada. Usa la versión v1alpha o v1beta antes de que lancemos esta función para la DG pública, o bien solicita que se agregue a la lista de entidades permitidas a través del equipo de Atención al cliente de Google.

Representación JSON
{
  "queryId": string,
  "searchResultPersistenceCount": integer
}
Campos
queryId

string

Si se configura, el resultado de la búsqueda se almacena en el "turno" especificado por este ID de búsqueda.

Ejemplo: Supongamos que la sesión se ve de la siguiente manera: session { name: ".../sessions/xxx" turns { query { text: "What is foo?" queryId: ".../questions/yyy" } answer: "Foo is ..." } turns { query { text: "How about bar then?" queryId: ".../questions/zzz" } } }

El usuario puede llamar a la API de /search con una solicitud como esta:

session: ".../sessions/xxx" sessionSpec { queryId: ".../questions/zzz" }

Luego, la API almacena el resultado de la búsqueda asociado con el último turno. El resultado de la búsqueda almacenado se puede usar en una llamada posterior a la API de /answer (con el ID de sesión y el ID de consulta especificados). También es posible llamar a /search y /answer en paralelo con el mismo ID de sesión y de búsqueda.

searchResultPersistenceCount

integer

Es la cantidad de resultados de la búsqueda principales que se conservarán. Los resultados de la búsqueda persistentes se pueden usar para la llamada posterior a la API de /answer.

Este campo es similar al campo summaryResultCount en SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count.

Como máximo, 10 resultados para el modo de documentos o 50 para el modo de fragmentos.

RelevanceThreshold

Es el umbral de relevancia de los resultados de la búsqueda. Cuanto más alto sea el umbral de relevancia, más resultados pertinentes se mostrarán y menos resultados se devolverán.

Enums
RELEVANCE_THRESHOLD_UNSPECIFIED Valor predeterminado. En este caso, el comportamiento del servidor se establece de forma predeterminada en el umbral definido por Google.
LOWEST Es el umbral de relevancia más bajo.
LOW Umbral de relevancia bajo.
MEDIUM Umbral de relevancia medio.
HIGH Umbral de relevancia alto.

RelevanceScoreSpec

Es la especificación para devolver la puntuación de relevancia del documento.

Representación JSON
{
  "returnRelevanceScore": boolean
}
Campos
returnRelevanceScore

boolean

Opcional. Indica si se debe devolver la puntuación de relevancia para los resultados de la búsqueda. Cuanto más alta sea la puntuación, más pertinente será el documento para la búsqueda.

SearchAddonSpec

SearchAddonSpec se usa para inhabilitar los complementos de la búsqueda según el nuevo modelo de cambio de precios. De forma predeterminada, si no se especifica SearchAddonSpec, consideramos que el cliente desea habilitarlos siempre que sea aplicable.

Representación JSON
{
  "disableSemanticAddOn": boolean,
  "disableKpiPersonalizationAddOn": boolean,
  "disableGenerativeAnswerAddOn": boolean
}
Campos
disableSemanticAddOn

boolean

Opcional. Si es verdadero, se inhabilita el complemento semántico. El complemento semántico incluye embeddings y jetstream.

disableKpiPersonalizationAddOn

boolean

Opcional. Si es verdadero, inhabilita la clasificación y la personalización de eventos para optimizar los KPI y personalizar los resultados.

disableGenerativeAnswerAddOn

boolean

Opcional. Si es verdadero, el complemento de respuestas generativas está inhabilitado. El complemento de respuestas generativas incluye lenguaje natural para filtros y respuestas simples.

QuerySetSpec

Describe la especificación del conjunto de búsquedas.

Representación JSON
{
  "sampleQuerySet": string
}
Campos
sampleQuerySet

string

Opcional. Es el nombre completo del recurso SampleQuerySet que se usa para la evaluación, con el formato projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}.

QualityMetrics

Describe las métricas que produce la evaluación.

Representación JSON
{
  "docRecall": {
    object (TopkMetrics)
  },
  "docPrecision": {
    object (TopkMetrics)
  },
  "docNdcg": {
    object (TopkMetrics)
  },
  "pageRecall": {
    object (TopkMetrics)
  },
  "pageNdcg": {
    object (TopkMetrics)
  }
}
Campos
docRecall

object (TopkMetrics)

Recuperación por documento, en varios niveles de corte de los primeros k resultados.

La recuperación es la fracción de documentos pertinentes recuperados de todos los documentos pertinentes.

Ejemplo (5 primeros): * Para un solo SampleQuery, si se recuperan 3 de los 5 documentos pertinentes en los 5 primeros, recall@5 = 3/5 = 0.6

docPrecision

object (TopkMetrics)

Es la precisión por documento, en varios niveles de corte de los k principales.

La precisión es la fracción de documentos recuperados que son pertinentes.

Ejemplo (top-5): * Para un solo SampleQuery, si 4 de los 5 documentos recuperados en el top-5 son relevantes, precision@5 = 4/5 = 0.8

docNdcg

object (TopkMetrics)

Es la ganancia acumulada normalizada y con descuento (NDCG) por documento, en varios niveles de corte de los primeros k resultados.

El NDCG mide la calidad de la clasificación y otorga mayor relevancia a los resultados principales.

Ejemplo (los 3 primeros): Supongamos que SampleQuery tiene tres documentos recuperados (D1, D2 y D3) y juicios de relevancia binarios (1 para relevante y 0 para no relevante):

Recuperados: [D3 (0), D1 (1), D2 (1)] Ideales: [D1 (1), D2 (1), D3 (0)]

Calcula el NDCG@3 para cada SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * DCG@3 ideal: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693

pageRecall

object (TopkMetrics)

Recuperación por página, en varios niveles de corte de los primeros k resultados.

La recuperación es la fracción de páginas relevantes recuperadas de todas las páginas relevantes.

Ejemplo (5 primeros): * Para un solo SampleQuery, si se recuperan 3 de las 5 páginas relevantes en los 5 primeros resultados, recuperación@5 = 3/5 = 0.6

pageNdcg

object (TopkMetrics)

Ganancia acumulada normalizada y con descuento (NDCG) por página, en varios niveles de corte de los primeros k resultados.

El NDCG mide la calidad de la clasificación y otorga mayor relevancia a los resultados principales.

Ejemplo (3 principales): Supongamos que SampleQuery tiene tres páginas recuperadas (P1, P2 y P3) y juicios de relevancia binarios (1 para relevante y 0 para no relevante):

Recuperado: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)]

Calcula NDCG@3 para SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1.13 * DCG@3 ideal: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1.63 * NDCG@3: 1.13/1.63 = 0.693

TopkMetrics

Almacena los valores de la métrica en niveles específicos de los mejores K.

Representación JSON
{
  "top1": number,
  "top3": number,
  "top5": number,
  "top10": number
}
Campos
top1

number

Es el valor del primer resultado.

top3

number

Es el valor de los 3 primeros.

top5

number

Es el valor de los 5 principales.

top10

number

Es el valor de los 10 primeros.

Estado

Describe el estado de una evaluación.

Enums
STATE_UNSPECIFIED La evaluación no está especificada.
PENDING El servicio se está preparando para ejecutar la evaluación.
RUNNING La evaluación está en curso.
SUCCEEDED La evaluación se completó correctamente.
FAILED Se produjo un error en la evaluación.

Métodos

create

Crea un Evaluation.

get

Obtienes una Evaluation.

list

Obtiene una lista de Evaluations.

listResults

Obtiene una lista de resultados para un Evaluation determinado.