Guía de puntuación

La API de Cloud Inference muestra un conjunto de distribuciones en respuesta a consultas. Cada entrada en una distribución es un evento con una puntuación. El núcleo de la puntuación de inferencia es la probabilidad condicional: la probabilidad de un evento que ocurre dentro de tu conjunto de datos, dado que la consulta también ocurre. La expresión se puede resumir como la expresión:

\[ \frac{P(evento \mid query)}{P(evento)^{exp}} \]

Exponente de probabilidad secundaria

El \( exp \) en esta expresión es el bgprobExp, un parámetro clave que permite controlar cómo se incorpora la probabilidad de fondo en la puntuación. La probabilidad en segundo plano es simplemente la probabilidad de que se produzca un evento para un grupo aleatorio en el conjunto de datos (independientemente de la consulta que ocurra).

Cuando el parámetro en segundo plano es 0, se muestra la probabilidad condicional sin procesar \( P(evento \mid query) \). Cuando el parámetro es 1, se muestra una proporción pura, \( \frac{P(event \mid query)}{P(event)} \), denominada puntuación de efectividad. La puntuación de efectividad describe cuánto es más o menos probable que el evento exista en comparación con el modelo de referencia.

El valor predeterminado de bgprobExp, 0.7, es una combinación entre estos dos extremos. Así, se ajustan las puntuaciones para mostrar eventos inusuales en el contexto de tu conjunto de datos, pero aun un poco de puntuación a la popularidad de eventos.

Ejemplo de GDelt

Usar el ejemplo gdelt_2018_04_data de la guía de inicio rápido ayudará a ilustrar cómo bgprobExp puede revelar diferentes aspectos de un conjunto de datos. Prueba una solicitud con esta consulta compuesta que establece bgprobExp como 0.0. Esta consulta selecciona grupos de artículos en los que las imágenes de noticias etiquetadas muestran rostros alegres y el texto se origina en el Reino Unido.

{
  "name": "gdelt_2018_04_data",
  "queries": [{
    "query": {
      "type": "TYPE_AND",
      "children": [{
        "type": "TYPE_TERM",
        "term": {
          "name": "ImageFaceToneHas",
          "value": "Joy"
        }
      },{
        "type": "TYPE_TERM",
        "term": {
          "name": "PageTextGeo",
          "value": "United Kingdom"
        }
      }]
    },
    "distribution_configs": {
      "data_name": "ImageWebEntity",
      "bgprobExp": 0.0,
      "max_result_entries": 5
    }
  }]
}

Dado que bgprobExp se establece en cero, el conjunto de resultados puntuados será una probabilidad condicional pura, pero sin tener en cuenta la popularidad en segundo plano de los términos mostrados. Esto brinda una vista precisa, pero genérica de los artículos que coinciden con tu consulta.

La entrada superior en los resultados que se muestra es una etiqueta bastante genérica, con un recuento de grupo muy alto:

            {
              "value": "ImageWebEntity=Socialite",
              "score": 0.13140087,
              "matchedGroupCount": "7899",
              "totalGroupCount": "123396"
            },

Esta distribución tiene un matchedGroupCount de 59079, lo que da como resultado una puntuación del evento de ~0.13.

Vuelve a ejecutar la consulta, pero configura bgprobExp como el valor predeterminado de 0.7. Los resultados ahora consideran la probabilidad en segundo plano de los eventos mostrados: \( \frac{P(event \mid query)}{P(event)^{0.7) }}). Los eventos inusuales tendrán puntuaciones relativamente más altas.

Ahora, la entrada principal es un evento poco frecuente con una mayor relevancia para la consulta (cara alegre y el Reino Unido). La puntuación ahora se asemeja a una proporción de “incremento” más de cerca una probabilidad condicional pura.

            {
              "value": "ImageWebEntity=Catherine_Duchess_of_Cambridge",
              "score": 5.0441356,
              "matchedGroupCount": "1133",
              "totalGroupCount": "2478"
            },

Probabilidad de términos poco comunes

La API de inferencia puede mostrar probabilidades condicionales \( P(event \mid query) \) que sean menores que lo esperado para los conteos de grupos sin procesar en tus datos. La API de inferencia está diseñada para evitar mostrar eventos muy raros y potencialmente ruidosos. En lugar de la estimación de probabilidad directa, se muestra el límite inferior de un intervalo de confianza del 90%. En el caso de eventos raros, puede ser considerablemente menor que la estimación solo según el recuento de grupos.

Parámetros de intervalos de tiempo

De forma predeterminada, la API de inferencia considerará \( P(event \mid query) \) en términos de grupos completos: si un grupo coincide con la consulta, se considera que el conjunto completo de eventos del grupo coincide con se produce con la consulta. Configurar los parámetros de intervalo de tiempo max_before_timespan y max_after_timespan pueden restringir los eventos que se agregan a un conjunto más específico.

En un grupo, cada evento que coincida con la consulta se considera un "hit". Si se especifican los parámetros de intervalo de tiempo, la agregación solo ocurrirá dentro de los límites de tiempo especificados en los parámetros. Esto permite, por ejemplo, la agregación solo después de un evento, antes o solo dentro de un límite de tiempo limitado en cualquier dirección.