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.
Objectif | Requête en langage naturel (NLQ) | Langage de requête Discovery (DQL) |
---|---|---|
Renvoyer des passages à partir de documents | ||
Mettre en évidence les termes dans les réponses (sauf si les passages par document sont activés) | ||
Définir des mots vides personnalisés ou des extensions de requête | ||
Rechercher des zones de document ou des enrichissements spécifiques | ||
Utiliser des opérateurs, tels que des clauses booléennes dans la recherche | ||
Activer la correction orthographique | ||
Ajouter des curations pour renvoyer des réponses codées en dur à certaines questions | ||
Utiliser l'entraînement à la pertinence | ||
Activer la recherche de réponse pour renvoyer une réponse succincte à partir d'un passage | ||
Utiliser l'extraction de table |
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.

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 demandesquery
etnatural_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.
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.
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'