Descripción general de las consultas
IBM Watson® Discovery ofrece potentes capacidades de búsqueda de contenidos a través de consultas de búsqueda.
Para recuperar datos de Discovery después de que se hayan ingerido, indexado y enriquecido, envíe una consulta.
A medida que se añaden datos a Discovery, se almacena una representación de cada archivo en el índice como un documento con formato JSON. Los enriquecimientos que se aplican a las colecciones identifican información significativa en los datos y la almacenan en campos nuevos en estos documentos. Para buscar sus datos, envíe una consulta para devolver los documentos más relevantes y extraer la información que está buscando.
tipos de consulta
Discovery acepta uno de los siguientes tipos de consulta soportados:
- Consulta
-
Busca documentos con valores de interés en campos específicos en sus documentos. Las consultas de este tipo utilizan la sintaxis del lenguaje de consulta Discovery para definir los criterios de búsqueda.
Parameter name:
query
- Consulta de lenguaje natural (NLQ)
-
Busca respuestas a consultas escritas en lenguaje natural. Las solicitudes NLQ aceptan un valor de serie de texto.
Parameter name:
natural_language_query
Junto con la consulta que especifique utilizando uno de los tipos de consulta soportados, puede incluir uno o los dos parámetros siguientes. Los valores de estos parámetros también se especifican utilizando la sintaxis de Discovery Query Language (DQL):
filter
aggregation
Para obtener más información sobre Discovery Query Language, consulte Visión general de DQL.
Las consultas que se envían desde la interfaz de usuario del producto son consultas de lenguaje natural. Se especifican otros parámetros soportados y se proporcionan valores predeterminados basados en el tipo de proyecto en uso. Para obtener más información, consulte Valores de consulta predeterminados.
Discovery no registra datos de solicitud de consulta. No puede optar por solicitar el registro.
Elección del tipo de consulta correcto
En la tabla siguiente se resumen las prestaciones soportadas para cada tipo de consulta. Utilícelo para ayudarle a determinar qué tipo de consulta enviar.
Objetivo | Consulta de lenguaje natural (NLQ) | Discovery lenguaje de consulta (DQL) |
---|---|---|
Devolver pasajes de documentos | ||
Resaltar términos en respuestas (a menos que se habiliten pasajes por documento) | ||
Definir palabras vacías personalizadas o expansiones de consulta | ||
Buscar campos o enriquecimientos de documentos específicos | ||
Utilizar operadores como, por ejemplo, cláusulas booleanas en la búsqueda | ||
Habilitar corrección ortográfica | ||
Añadir curaciones para devolver respuestas codificadas a determinadas preguntas | ||
Utilizar entrenamiento de relevancia | ||
Habilitar resultado de respuesta para devolver una respuesta sucinta de un pasaje | ||
Utilizar recuperación de tabla |
Análisis de consulta
Cuando envía una consulta, se analiza la serie de texto de la consulta. Durante el análisis de consulta, se identifica la raíz (o lema) de cada término clave de la consulta. Las palabras vacías que aparecen en la serie de consulta original se eliminan y se añaden las expansiones de sinónimos definidas para los términos que aparecen en la serie de consulta original. Esta versión mejorada de la consulta es lo que se envía a Discovery.
El mismo análisis se realiza en todas las consultas, tanto si se envían como consultas de lenguaje natural o utilizando la sintaxis de Discovery Query Language.
Flujo de consulta
El diagrama siguiente muestra una ilustración conceptual de cómo Discoverymaneja una solicitud de búsqueda.

Los siguientes procesos se muestran en el diagrama de flujo:
- BM25
- Utiliza Best Match 25 (un algoritmo de recuperación de información probabilística) para calcular una puntuación de relevancia para cada documento devuelto por la búsqueda. El diagrama muestra que BM25 se aplica a los resultados de documento de las solicitudes de consulta, pero no se limita a las solicitudes de consulta. También se utiliza junto con otras técnicas como parte del proceso de categorizador de entrenamiento de relevancia que se aplica a los resultados de consulta de lenguaje natural.
- Preselecciones
- Si la consulta de lenguaje natural coincide con una consulta de ordenación predefinida, se devuelven determinados documentos y posiblemente un fragmento de código codificado. No hay ningún parámetro de consulta para habilitar una ordenación. Para que se utilicen las curaciones, debe definirlas mediante programación (Crear método de ordenación). La salida de todas las curaciones se fusiona con la salida de los resultados del categorizador de entrenamiento de Relevancy o QPP.
- Entrenamiento de relevancia
- Un modelo que puede definir y aplicar opcionalmente a un proyecto para puntuar documentos para su relevancia. No hay ningún parámetro de consulta para habilitar el entrenamiento de relevancia. Para que se utilice el entrenamiento de relevancia, debe entrenar correctamente el proyecto mediante programación (Crear método de consulta de entrenamiento) o utilizando la interfaz de usuario del producto.
- PQP
- Un algoritmo de predicción de rendimiento de consulta que, dada una consulta y una lista de resultados principales, produce una puntuación que determina la relevancia de un documento. Sólo se utiliza si no hay ningún categorizador de entrenamiento de Relevancy disponible.
- filtro
- El parámetro
filter
se puede pasar junto con las solicitudesquery
ynatural_language_query
para eliminar documentos que no cumplen determinados criterios del conjunto de resultados. El filtro se muestra como el último paso dentro de la fase de recuperación de documentos. Sin embargo, se utiliza en diferentes momentos del flujo. Su ubicación en el diagrama se elige para enfatizar el hecho de que los documentos que no coinciden con la definición de filtro se excluyen del conjunto de resultados. La exclusión se aplica incluso a los documentos que se pueden especificar en una ordenación. - Recuperación de pasajes
- Devuelve pasajes de documentos cuando el parámetro
passages.enabled=true
se incluye con una solicitud de consulta de lenguaje natural. - Resultado de la respuesta
- Cuando el parámetro
passages.find_answers=true
se incluye con una solicitud de consulta de lenguaje natural, devuelve respuestas sucintas de pasajes junto con los pasajes que se extraen de los documentos. Si el resultado de respuesta está habilitado, la puntuación de confianza final para cada resultado de búsqueda es una combinación de las puntuaciones de confianza del resultado de respuesta, la recuperación de pasaje y la búsqueda QPP o Reranked, cualquiera que sea el método que se utilice. - Recuperación de tablas
- Devuelve información de tablas en documentos cuando el parámetro
table_results.enabled=true
se incluye con una solicitud de consulta de lenguaje natural.
Límites de consulta
Una consulta es cualquier operación que envía una solicitud POST
al punto final /query
de la API. Estas operaciones incluyen consultas que se envían utilizando la API. No incluye las consultas que se envían desde la
barra de búsqueda en la página Mejorar y personalizar de la interfaz de usuario del producto.
Una consulta sólo se cuenta si la solicitud es satisfactoria, lo que significa que devuelve una respuesta (con el código de mensaje 200).
El número de consultas de búsqueda que puede enviar al mes por instancia de servicio depende del tipo de plan Discovery.
Planifique | Consultas al mes por instancia de servicio |
---|---|
Cloud Pak for Data | Ilimitado |
Premium | Ilimitado |
Empresa | Ilimitado |
Plus (incluye prueba) | 500.000 |
Sólo para planes de empresa, las solicitudes de etiquetas de factura que se generan a partir de búsquedas de consulta y analizan llamadas de API como "Consultas". Para obtener más información sobre las llamadas de API de análisis, consulte Límites de API de análisis.
El número de consultas que se pueden procesar por segundo por instancia de servicio depende del tipo de plan Discovery.
Planifique | Consultas simultáneas por instancia de servicio |
---|---|
Cloud Pak for Data | Ilimitado |
Premium | 50 |
Empresa | 5 |
Plus (incluye prueba) | 5 |
Para obtener información sobre los precios, consulte Planes de precios deDiscovery.
Estimación del uso de consultas
Cómo estimar el número de consultas que su aplicación utilizará al mes depende de su caso de uso.
- Para los casos de uso que se centran más en el enriquecimiento y el análisis de datos o donde la salida del proceso del documento no está muy buscada, puede estimar los números de consulta basándose en el número total de documentos.
- Para los casos de uso en los que muchos usuarios interactúan con la aplicación que utiliza Discovery, puede calcular el número de búsquedas por usuario por el número de usuarios esperados. Por ejemplo, es probable que Discoveryresponda al 50% de las preguntas enviadas por los usuarios a un asistente virtual. Con 100.000 usuarios al mes y un promedio de 3 preguntas por usuario, se pueden esperar 15.000 consultas al mes. (10.000 usuarios/mes * 3 consultas/usuario * 50% a Discovery = 15.000)
Consulta con seguridad de nivel de documento habilitada
IBM Cloud Pak for Data IBM Software Hub
Esta información sólo se aplica a los despliegues instalados.
Si habilita la seguridad a nivel de documento para una colección, en los resultados de la búsqueda sólo se devuelven los documentos a los que el usuario actual tiene permiso de acceso. Para obtener más información, consulte Configuración de la seguridad a nivel de documento.
Para devolver resultados de búsqueda que se ajusten a las restricciones de seguridad, el usuario actual debe cumplir estos requisitos:
- Tenga acceso a la instancia de Discovery.
- Tener acceso al origen de datos.
Si el usuario actual no cumple estos requisitos, no se devuelven resultados de búsqueda.
El nombre de usuario asociado a su instancia de Discovery se utiliza para generar un token de autorización. La señal se utiliza para autenticar Discovery consultas.
Para generar cada señal de acceso, ejecute el mandato siguiente:
curl -u "{username}:{password}" \
"https://{hostname}:{port}/v1/preauth/validateAuth"
Sustituya {username}
y {password}
por las credenciales de Discovery del usuario.
Utilice la señal portadora asociada con el usuario al ejecutar la consulta.
curl -H "Authorization: Bearer {token}" \
'https://{hostname}/{instance_name}/v2/projects/{project_id}/collections/{Collection_ID}/query\?version\=2019-11-29'