Panoramica delle query

IBM Watson® Discovery offre potenti funzionalità di ricerca dei contenuti attraverso query di ricerca.

Per richiamare i dati da Discovery dopo che sono stati inseriti, indicizzati e arricchiti, invia una query.

Quando i dati vengono aggiunti a Discovery, una rappresentazione di ciascun file viene memorizzata nell'indice come un documento in formato JSON. Gli arricchimenti applicati alle tue raccolte identificano le informazioni significative nei dati e le archiviano in nuovi campi in questi documenti. Per ricercare i tuoi dati, invia una query per restituire i documenti più pertinenti ed estrarre le informazioni che stai cercando.

Tipi di query

Discovery accetta uno dei seguenti tipi di query supportati:

Query

Trova i documenti con valori di interesse in campi specifici nei documenti. Le query di questo tipo utilizzano la sintassi del linguaggio di query Discovery per definire i criteri di ricerca.

Parameter name: query

NLQ (Natural Language Query)

Trova le risposte alle query scritte in linguaggio naturale. Le richieste NLQ accettano un valore stringa di testo.

Parameter name: natural_language_query

Insieme alla query specificata utilizzando uno dei tipi di query supportati, è possibile includere uno o entrambi i seguenti parametri. I valori per questi parametri vengono specificati anche utilizzando la sintassi DQL (Query Language) Discovery:

  • filter
  • aggregation

Per ulteriori informazioni sul linguaggio di query Discovery, vedi Panoramica di DQL.

Le query inoltrate dall'interfaccia utente del prodotto sono query in linguaggio naturale. Vengono specificati alcuni altri parametri supportati e vengono forniti valori predefiniti in base al tipo di progetto in uso. Per ulteriori informazioni, consultare Impostazioni query predefinite.

Discovery non registra i dati della richiesta di query. Non è possibile scegliere di richiedere la registrazione.

Scelta del tipo di query corretto

La seguente tabella riepiloga le funzionalità supportate per ciascun tipo di query. Utilizzarlo per determinare il tipo di query da inoltrare.

Confronto tipi di query
Questa tabella ha intestazioni di righe e colonne. Le intestazioni di riga identificano i tipi di query. Le intestazioni di colonna identificano diversi obiettivi che si potrebbero avere quando si inoltra una query. Per comprendere quale query utilizzare per supportare l'obiettivo, andare alla riga che descrive l'obiettivo e trovare la colonna che identifica il tipo di query che supporta l'obiettivo.
Obiettivo NLQ (Natural Language Query) Discovery DQL (Query Language)
Restituisci passaggi dai documenti Icona segno di spunta Icona segno di spunta
Evidenzia termini nelle risposte (a meno che non siano abilitati i passaggi per documento) Icona segno di spunta Icona segno di spunta
Definisci parole di arresto o espansioni di query personalizzate Icona segno di spunta Icona segno di spunta
Ricerca campi o arricchimenti di documenti specifici Icona segno di spunta
Utilizzare gli operatori, come ad esempio le clausole booleane nella ricerca Icona segno di spunta
Abilita correzione ortografica Icona segno di spunta
Aggiungi curations per restituire risposte hardcoded a determinate domande Icona segno di spunta
Utilizza formazione pertinenza Icona segno di spunta
Abilita la ricerca della risposta per restituire una risposta succinta da un passaggio Icona segno di spunta
Utilizza richiamo tabella Icona segno di spunta

Analisi query

Quando si inoltra una query, viene analizzata la stringa di testo della query. Durante l'analisi della query, viene identificata la root (o lemma) di ciascun termine chiave nella query. Le parole di arresto che si trovano nella stringa di query originale vengono rimosse e vengono aggiunte le espansioni dei sinonimi definite per i termini che si trovano nella stringa di query originale. Questa versione avanzata della query è ciò che viene inoltrato a Discovery.

La stessa analisi viene eseguita su tutte le query, sia che vengano inoltrate come query in linguaggio naturale o utilizzando la sintassi Discovery Query Language.

Flusso di query

Il seguente diagramma mostra un'illustrazione concettuale di come viene gestita una richiesta di ricerca da 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

I seguenti processi vengono mostrate nel diagramma di flusso:

BM25
Utilizza la corrispondenza migliore 25 (un algoritmo di richiamo delle informazioni probabilistiche) per calcolare un punteggio di pertinenza per ogni documento restituito dalla ricerca. Il diagramma mostra che BM25 viene applicato ai risultati dei documenti dalle richieste di query, ma non è limitato alle richieste di query. Viene anche utilizzato insieme ad altre tecniche come parte del processo del ranker di addestramento della rilevanza applicato ai risultati della query in linguaggio naturale.
Cure dei contenuti
Se la query in linguaggio naturale corrisponde a una query curation predefinita, vengono restituiti alcuni documenti e, probabilmente, un frammento codificato. Non esiste alcun parametro di query per abilitare una cura. Per utilizzare le curazioni, è necessario definirle in modo programmatico (Crea metodo di curazione). L'output di tutte le curazioni viene unito con l'output del ranker di addestramento Relevancy o dei risultati QPP.
Formazione della pertinenza
Un modello che è possibile definire e applicare facoltativamente a un progetto per calcolare il punteggio dei documenti per la pertinenza. Non esiste un parametro di query per abilitare l'addestramento della pertinenza. Per utilizzare la formazione della rilevanza, devi eseguire correttamente il training del progetto in modo programmatico (Create training query method) o utilizzando l'interfaccia utente del prodotto.
QPP
Un algoritmo Previsione prestazioni query che, data una query e un elenco di risultati principali, produce un punteggio che determina quanto sia rilevante un documento. Utilizzato solo se non è disponibile alcun ranker di addestramento Relevancy.
filtro
Il parametro filter può essere passato insieme alle richieste query e natural_language_query per rimuovere i documenti che non soddisfano determinati criteri dalla serie di risultati. Il filtro viene visualizzato come ultimo passo nella fase di richiamo del documento. Tuttavia, viene utilizzato in momenti differenti nel flusso. Il suo posizionamento nel diagramma viene scelto per sottolineare il fatto che tutti i documenti che non corrispondono alla definizione del filtro vengono esclusi dalla serie di risultati. L'esclusione si applica anche ai documenti che potrebbero essere specificati in una curation.
Recupero del passaggio
Restituisce i passaggi dai documenti quando il parametro passages.enabled=true è incluso con una richiesta di query in linguaggio naturale.
Ricerca risposta
Quando il parametro passages.find_answers=true è incluso con una richiesta di query in linguaggio naturale, restituisce risposte succinte dai passaggi insieme ai passaggi estratti dai documenti. Se la ricerca della risposta è abilitata, il punteggio di confidenza finale per ogni risultato della ricerca è una combinazione dei punteggi di confidenza della ricerca della risposta, del richiamo del passaggio e della ricerca QPP o Reranked, qualunque sia il metodo utilizzato.
table retrieval
Restituisce informazioni dalle tabelle nei documenti quando il parametro table_results.enabled=true è incluso con una richiesta di interrogazione in linguaggio naturale.

Limiti query

Una query è una qualsiasi operazione che inoltra una richiesta POST all'endpoint /query dell'API. Tali operazioni comprendono le query inoltrate utilizzando l'API. Non include le query inoltrate dalla barra di ricerca nella pagina Migliora e personalizza dell'interfaccia utente del prodotto.

Una query viene conteggiata solo se la richiesta ha esito positivo, il che significa che restituisce una risposta (con codice messaggio 200).

Il numero di query di ricerca che puoi inoltrare al mese per istanza del servizio dipende dal tipo di piano Discovery.

Numero di interrogazioni al mese
Pianifica Query al mese per istanza del servizio
Cloud Pak for Data Illimitato
Premium Illimitato
Enterprise Illimitato
Plus (include la versione di prova) 500,000

Solo per i piani Enterprise, la tua fatturazione etichetta le richieste generate sia dalle ricerche di query che dalle chiamate API di analisi come "Query". Per ulteriori informazioni sulle chiamate API Analyze, consulta Analyze API limits.

Il numero di query che possono essere elaborate al secondo per istanza del servizio dipende dal tipo di piano Discovery.

Numero di query simultanee
Pianifica Query simultanee per istanza del servizio
Cloud Pak for Data Illimitato
Premium 50
Enterprise 5
Plus (include la versione di prova) 5

Per informazioni sui prezzi, vedi Piani dei prezzi diDiscovery.

Stima dell'utilizzo della query

Come stimare il numero di query che la tua applicazione utilizzerà al mese dipende dal tuo caso d'uso.

  • Per i casi d'uso che si concentrano maggiormente sull'arricchimento e sull'analisi dei dati o in cui l'output dell'elaborazione del documento non viene ricercato in modo intensivo, è possibile stimare i numeri di query in base al numero totale di documenti.
  • Per i casi di utilizzo in cui molti utenti interagiscono con l'applicazione che utilizza Discovery, puoi stimare calcolando il numero di ricerche per utente moltiplicato per il numero di utenti previsti. Ad esempio, il 50% delle domande inoltrate dagli utenti a un assistente virtuale probabilmente riceveranno risposta da Discovery. Con 100.000 utenti al mese e una media di 3 domande per utente, puoi aspettarti 15.000 query al mese. (10.000 utenti/mese * 3 query/utente * 50% to Discovery = 15.000)

Query con sicurezza a livello di documento abilitata

IBM Cloud Pak for Data IBM Software Hub

Queste informazioni si applicano solo alle distribuzioni installate.

Se si abilita la sicurezza a livello di documento per una raccolta, solo i documenti a cui l'utente corrente può accedere vengono restituiti nei risultati della ricerca. Per ulteriori informazioni, consultare Configurazione della sicurezza a livello di documento.

Per restituire i risultati della ricerca che rispettano le restrizioni di protezione, l'utente corrente deve soddisfare questi requisiti:

  • Accedi alla tua istanza Discovery.
  • Avere accesso all'origine dati.

Se l'utente corrente non soddisfa questi requisiti, non viene restituito alcun risultato della ricerca.

Il nome utente associato alla tua istanza di Discovery viene utilizzato per generare un token di autorizzazione. Il token viene utilizzato per autenticare le query Discovery.

Per generare ciascun token di accesso, esegui questo comando:

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

Sostituisci {username} e {password} con le credenziali Discovery dell'utente.

Utilizza il token di connessione associato all'utente quando esegui la query.

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