IBM Cloud Docs
Présentation des requêtes

Présentation des requêtes

IBM Watson® Discovery offre de puissantes capacités de recherche de contenu par requêtes.

Pour extraire des données de Discovery après leur ingestion, leur indexation et leur enrichissement, soumettez une requête.

Lorsque des données sont ajoutées à Discovery, une représentation de chaque fichier est stockée dans l'index sous la forme d'un document au format JSON. Les enrichissements appliqués à vos collections identifient des informations significatives dans les données et les stockent dans de nouvelles zones de ces documents. Pour rechercher vos données, soumettez une requête pour renvoyer les documents les plus pertinents et extraire les informations que vous recherchez.

types de requête

Discovery accepte l'un des types de requête pris en charge suivants:

Requête

Recherche des documents avec des valeurs d'intérêt dans des zones spécifiques de vos documents. Les requêtes de ce type utilisent la syntaxe du langage de requête Discovery pour définir les critères de recherche.

Parameter name: query

Requête en langage naturel (NLQ)

Recherche les réponses aux requêtes écrites en langage naturel. Les demandes NLQ acceptent une valeur de chaîne de texte.

Parameter name: natural_language_query

En plus de la requête que vous spécifiez à l'aide de l'un des types de requête pris en charge, vous pouvez inclure l'un des paramètres suivants ou les deux. Les valeurs de ces paramètres sont également spécifiées à l'aide de la syntaxe Discovery Query Language (DQL):

  • filter
  • aggregation

Pour plus d'informations sur le langage de requête Discovery, voir Présentation de DQL.

Les requêtes soumises à partir de l'interface utilisateur du produit sont des requêtes en langage naturel. Quelques autres paramètres pris en charge sont spécifiés et des valeurs par défaut sont données en fonction du type de projet utilisé. Pour plus d'informations, voir Paramètres de requête par défaut.

Discovery ne consigne pas les données de demande de requête. Vous ne pouvez pas choisir de demander la journalisation.

Choix du type de requête approprié

Le tableau suivant récapitule les fonctions prises en charge pour chaque type de requête. Utilisez-le pour déterminer le type de requête à soumettre.

Comparaison des types de requête
Ce tableau comporte des en-têtes de ligne et de colonne. Les en-têtes de ligne identifient les types de requête. Les en-têtes de colonne identifient les différents objectifs que vous pouvez avoir lorsque vous soumettez une requête. Pour savoir quelle requête utiliser pour soutenir votre objectif, accédez à la ligne qui décrit l'objectif et recherchez la colonne qui identifie le type de requête qui prend en charge votre objectif.
Objectif Requête en langage naturel (NLQ) Langage de requête Discovery (DQL)
Renvoyer des passages à partir de documents Icône de coche Icône de coche
Mettre en évidence les termes dans les réponses (sauf si les passages par document sont activés) Icône de coche Icône de coche
Définir des mots vides personnalisés ou des extensions de requête Icône de coche Icône de coche
Rechercher des zones de document ou des enrichissements spécifiques Icône de coche
Utiliser des opérateurs, tels que des clauses booléennes dans la recherche Icône de coche
Activer la correction orthographique Icône de coche
Ajouter des curations pour renvoyer des réponses codées en dur à certaines questions Icône de coche
Utiliser l'entraînement à la pertinence Icône de coche
Activer la recherche de réponse pour renvoyer une réponse succincte à partir d'un passage Icône de coche
Utiliser l'extraction de table Icône de coche

Analyse de requête

Lorsque vous soumettez une requête, la chaîne de texte de la requête est analysée. Lors de l'analyse de requête, la racine (ou lemme) de chaque terme clé de la requête est identifiée. Tous les mots vides qui apparaissent dans la chaîne de requête d'origine sont supprimés et les extensions synonymes qui sont définies pour les termes qui apparaissent dans la chaîne de requête d'origine sont ajoutées. Cette version améliorée de la requête est celle qui est soumise à Discovery.

La même analyse est effectuée sur toutes les requêtes, qu'elles soient soumises en tant que requêtes en langage naturel ou à l'aide de la syntaxe Discovery Query Language.

Flux de requête

Le diagramme suivant montre une illustration conceptuelle de la façon dont une demande de recherche est traitée par Discovery.

Shows the different ways that query and natural language query requests are handled by Discovery
Flow chart that shows the processes that are used for Natural Language Queries versus Discovery Query Language queries

Les processus suivants sont représentés dans le diagramme de flux :

BM25
Utilise Best Match 25 (un algorithme d'extraction d'informations probabiliste) pour calculer un score de pertinence pour chaque document renvoyé par la recherche. Le diagramme montre que BM25 est appliqué aux résultats de document des demandes de requête, mais il n'est pas limité aux demandes de requête. Il est également utilisé avec d'autres techniques dans le cadre du processus de classeur de formation à la pertinence qui est appliqué aux résultats de requête en langage naturel.
Organisations
Si la requête en langage naturel correspond à une requête de curation prédéfinie, certains documents et éventuellement un fragment codé en dur sont renvoyés. Il n'existe aucun paramètre de requête permettant d'activer une curation. Pour que les curations soient utilisées, vous devez les définir à l'aide d'un programme (Créer une méthode de curation). La sortie de toutes les curations est fusionnée avec la sortie du classeur d'apprentissage de pertinence ou des résultats du RRQ.
Entraînement à la pertinence
Modèle que vous pouvez éventuellement définir et appliquer à un projet pour évaluer la pertinence des documents. Il n'existe aucun paramètre de requête permettant d'activer l'entraînement à la pertinence. Pour utiliser la formation à la pertinence, vous devez entraîner le projet à l'aide d'un programme (Créer une méthode de requête de formation) ou à l'aide de l'interface utilisateur du produit.
processus de soumission express
Algorithme de prévision des performances de requête qui, compte tenu d'une requête et d'une liste des principaux résultats, génère un score qui détermine la pertinence d'un document. Utilisé uniquement si aucun classeur d'entraînement de pertinence n'est disponible.
filter
Le paramètre filter peut être transmis avec les demandes query et natural_language_query pour supprimer des documents qui ne répondent pas à certains critères de l'ensemble de résultats. Le filtre est affiché comme la dernière étape de la phase d'extraction de document. Cependant, il est utilisé à des moments différents dans le flux. Son emplacement dans le diagramme est choisi pour souligner le fait que les documents qui ne correspondent pas à la définition de filtre sont exclus de l'ensemble de résultats. L'exclusion s'applique même aux documents qui peuvent être spécifiés dans une organisation.
Récupération de passage
Renvoie des passages de documents lorsque le paramètre passages.enabled=true est inclus avec une demande de requête en langage naturel.
Recherche de réponse
Lorsque le paramètre passages.find_answers=true est inclus avec une demande de requête en langage naturel, il renvoie des réponses succinctes à partir de passages ainsi que les passages extraits de documents. Si la recherche de réponse est activée, la cote de confiance finale pour chaque résultat de recherche est une combinaison des cotes de confiance de la recherche de réponse, de la récupération de passage et de la recherche RRQ ou Reranked, quelle que soit la méthode utilisée.
table retrieval
Renvoie des informations à partir de tables dans des documents lorsque le paramètre table_results.enabled=true est inclus avec une demande de requête en langage naturel.

Limites de requête

Une requête est une opération qui soumet une demande POST au noeud final /query de l'API. Ces opérations incluent les requêtes qui sont soumises à l'aide de l'API. Elle n'inclut pas les requêtes soumises à partir de la barre de recherche sur la page Improve and customize de l'interface utilisateur du produit.

Une requête est comptée uniquement si la demande aboutit, ce qui signifie qu'elle renvoie une réponse (avec le code de message 200).

Le nombre de requêtes de recherche que vous pouvez soumettre par mois par instance de service dépend de votre type de plan Discovery.

Nombre de requêtes par mois
Planifier Requêtes par mois et par instance de service
Cloud Pak for Data Illimité
Premium Illimité
Entreprise Illimité
Plus (inclut la version d'essai) 500 000

Pour les plans Enterprise uniquement, vos demandes de libellés de facture générées à partir des recherches de requête et des appels d'API d'analyse en tant que "Requêtes". Pour plus d'informations sur les appels d'API d'analyse, voir Limites d'API d'analyse.

Le nombre de requêtes pouvant être traitées par seconde par instance de service dépend de votre type de plan Discovery.

Nombre de requêtes simultanées
Planifier Requêtes simultanées par instance de service
Cloud Pak for Data Illimité
Premium 50
Entreprise 5
Plus (inclut la version d'essai) 5

Pour plus d'informations sur la tarification, voir Plans de tarificationDiscovery.

Estimation de l'utilisation des requêtes

Le mode d'estimation du nombre de requêtes que votre application utilisera par mois dépend de votre cas d'utilisation.

  • Pour les cas d'utilisation qui mettent davantage l'accent sur l'enrichissement et l'analyse des données ou pour lesquels la sortie du traitement des documents n'est pas très recherchée, vous pouvez estimer les nombres de requêtes en fonction du nombre total de documents.
  • Pour les cas d'utilisation où de nombreux utilisateurs interagissent avec l'application qui utilise Discovery, vous pouvez estimer en calculant le nombre de recherches par utilisateur multiplié par le nombre d'utilisateurs attendus. Par exemple, 50% des questions soumises par les utilisateurs à un assistant virtuel sont susceptibles d'être résolues par Discovery. Avec 100 000 utilisateurs par mois et une moyenne de 3 questions par utilisateur, vous pouvez vous attendre à 15 000 requêtes par mois. (10 000 utilisateurs / mois * 3 requêtes / utilisateur * 50% à Discovery = 15 000)

Requête avec la sécurité de niveau document activée

IBM Cloud Pak for Data IBM Software Hub

Ces informations s'appliquent uniquement aux déploiements installés.

Si vous activez la sécurité de niveau document pour une collection, seuls les documents auxquels l'utilisateur en cours est autorisé à accéder sont renvoyés dans les résultats de la recherche. Pour plus d'informations, voir Configuration de la sécurité de niveau document.

Pour renvoyer des résultats de recherche respectant les restrictions de sécurité, l'utilisateur en cours doit répondre aux exigences suivantes:

  • Accédez à votre instance Discovery.
  • Avoir accès à la source de données.

Si l'utilisateur en cours ne répond pas à ces exigences, aucun résultat de recherche n'est renvoyé.

Le nom d'utilisateur associé à votre instance d' Discovery s est utilisé pour générer un jeton d'autorisation. Le jeton est utilisé pour authentifier les requêtes Discovery.

Pour générer chaque jeton d'accès, exécutez la commande suivante :

curl -u "{username}:{password}" \
"https://{hostname}:{port}/v1/preauth/validateAuth"

Remplacez {username} et {password} par les données d'identification Discovery de l'utilisateur.

Utilisez le jeton bearer associé à l'utilisateur lorsque vous exécutez la requête.

curl -H "Authorization: Bearer {token}" \
'https://{hostname}/{instance_name}/v2/projects/{project_id}/collections/{Collection_ID}/query\?version\=2019-11-29'