Abfrageübersicht
IBM Watson® Discovery bietet leistungsstarke Funktionen zur Suche nach Inhalten über Suchanfragen.
Übergeben Sie eine Abfrage, um Daten aus Discovery abzurufen, nachdem sie aufgenommen, indexiert und aufbereitet wurden.
Wenn Daten zu Discoveryhinzugefügt werden, wird eine Darstellung jeder Datei im Index als JSON-formatiertes Dokument gespeichert. Aufbereitungen, die auf Ihre Sammlungen angewendet werden, identifizieren aussagekräftige Informationen in den Daten und speichern sie in neuen Feldern in diesen Dokumenten. Zum Durchsuchen Ihrer Daten übergeben Sie eine Abfrage, um die relevantesten Dokumente zurückzugeben und die gesuchten Informationen zu extrahieren.
Abfragetypen
Discovery akzeptiert einen der folgenden unterstützten Abfragetypen:
- Abfrage
-
Sucht Dokumente mit relevanten Werten in bestimmten Feldern in Ihren Dokumenten. Abfragen dieses Typs verwenden die Discovery-Abfragesprache zum Definieren der Suchkriterien.
Parameter name:
query - Abfrage in natürlicher Sprache (NLQ)
-
Sucht Antworten auf Abfragen, die in natürlicher Sprache geschrieben sind NLQ-Anforderungen akzeptieren einen Textzeichenfolgewert.
Parameter name:
natural_language_query
Neben der Abfrage, die Sie mithilfe eines der unterstützten Abfragetypen angeben, können Sie einen oder beide der folgenden Parameter angeben. Die Werte für diese Parameter werden auch mithilfe der Discovery Query Language (DQL)-Syntax angegeben:
filteraggregation
Weitere Informationen zur Abfragesprache Discovery finden Sie unter DQL-Übersicht.
Abfragen, die über die Produktbenutzerschnittstelle übergeben werden, sind Abfragen in natürlicher Sprache. Einige andere unterstützte Parameter werden angegeben und erhalten Standardwerte, die auf dem verwendeten Projekttyp basieren. Weitere Informationen finden Sie unter Standardabfrageeinstellungen.
Discovery protokolliert keine Abfrageanforderungsdaten. Sie können sich nicht anmelden, um die Protokollierung anzufordern.
Richtigen Abfragetyp auswählen
In der folgenden Tabelle sind die Funktionen zusammengefasst, die für jeden Abfragetyp unterstützt werden. Verwenden Sie sie, um zu bestimmen, welcher Typ von Abfrage übergeben werden soll.
| Ziel | Abfrage in natürlicher Sprache (NLQ) | Discovery-Abfragesprache (DQL) |
|---|---|---|
| Passagen aus Dokumenten zurückgeben | ||
| Begriffe in Antworten hervorheben (sofern Passagen pro Dokument nicht aktiviert sind) | ||
| Angepasste Stoppwörter oder Abfrageerweiterungen definieren | ||
| Bestimmte Dokumentfelder oder Aufbereitungen durchsuchen | ||
| Operatoren wie boolesche Klauseln in der Suche verwenden | ||
| Rechtschreibkorrektur aktivieren | ||
| Fügen Sie Kurationen hinzu, um fest codierte Antworten auf bestimmte Fragen zurückzugeben | ||
| Relevanztraining verwenden | ||
| Aktivieren Sie die Antwortsuche, um eine verkürzte Antwort von einer Passage zurückzugeben | ||
| Tabellenabruf verwenden |
Abfrageanalyse
Wenn Sie eine Abfrage übergeben, wird die Abfragetextzeichenfolge analysiert. Während der Abfrageanalyse wird das Stammelement (oder Lemma) jedes Schlüsselbegriffs in der Abfrage identifiziert. Alle Stoppwörter, die in der ursprünglichen Abfragezeichenfolge vorkommen, werden entfernt und Synonymerweiterungen, die für alle in der ursprünglichen Abfragezeichenfolge enthaltenen Begriffe definiert sind, werden hinzugefügt. Diese erweiterte Version der Abfrage wird an Discoveryübergeben.
Dieselbe Analyse wird für alle Abfragen durchgeführt, unabhängig davon, ob sie als Abfragen in natürlicher Sprache oder unter Verwendung der Syntax von Discovery Query Language übergeben werden.
Abfrageablauf
Das folgende Diagramm zeigt eine konzeptionelle Veranschaulichung der Handhabung einer Suchanforderung durch Discovery.
Die folgenden Prozesse sind im Flussdiagramm dargestellt:
- BM25
- Verwendet die beste Übereinstimmung 25 (einen probabilistischen Informationsabrufalgorithmus), um eine Relevanzbewertung für jedes von der Suche zurückgegebene Dokument zu berechnen. Das Diagramm zeigt, dass BM25 auf Dokumentergebnisse aus den Abfrageanforderungen angewendet wird, aber nicht auf Abfrageanforderungen beschränkt ist. Sie wird auch zusammen mit anderen Verfahren als Teil des Rankerprozesses für Relevanztraining verwendet, der auf Abfrageergebnisse in natürlicher Sprache angewendet wird.
- Kuratierungen
- Wenn die Abfrage in natürlicher Sprache einer vordefinierten Kurationsabfrage entspricht, werden bestimmte Dokumente und möglicherweise ein fest codiertes Snippet zurückgegeben. Es gibt keinen Abfrageparameter zum Aktivieren einer Kuration. Damit Kurationen verwendet werden können, müssen Sie sie programmgesteuert definieren (Erstellungsmethode). Die Ausgabe aller Kurationen wird mit der Ausgabe des Relevanztrainingsrankers oder der QPP-Ergebnisse zusammengeführt.
- Relevanztraining
- Ein Modell, das Sie optional definieren und auf ein Projekt anwenden können, um Dokumente auf Relevanz zu bewerten. Es gibt keinen Abfrageparameter zum Aktivieren des Relevanztrainings. Damit das Relevanztraining verwendet werden kann, muss das Projekt entweder über das Programm (Create training query method) oder über die Produktbenutzerschnittstelle erfolgreich trainiert werden.
- QPP
- Ein Algorithmus zur Vorhersage der Abfrageleistung, der anhand einer Abfrage und einer Liste der häufigsten Ergebnisse eine Bewertung erzeugt, die bestimmt, wie relevant ein Dokument ist. Wird nur verwendet, wenn kein Ranker für Relevanztraining verfügbar ist.
- Filter
- Der Parameter
filterkann zusammen mitquery-undnatural_language_query-Anforderungen übergeben werden, um Dokumente aus der Ergebnismenge zu entfernen, die bestimmte Kriterien nicht erfüllen. Der Filter wird als letzter Schritt innerhalb der Dokumentabrufphase angezeigt. Sie wird jedoch zu unterschiedlichen Zeiten im Ablauf verwendet. Die Platzierung im Diagramm wird ausgewählt, um hervorzuheben, dass alle Dokumente, die nicht mit der Filterdefinition übereinstimmen, aus der Ergebnismenge ausgeschlossen werden. Der Ausschluss gilt auch für Dokumente, die in einer Kuration angegeben werden können. - Passagenabfrage
- Gibt Passagen aus Dokumenten zurück, wenn der Parameter
passages.enabled=truein einer Abfrageanforderung in natürlicher Sprache enthalten ist. - Antwortsuche
- Wenn der Parameter
passages.find_answers=truein einer Abfrageanforderung in natürlicher Sprache enthalten ist, gibt verkürzte Antworten von Passagen zusammen mit den Passagen zurück, die aus Dokumenten extrahiert wurden. Wenn das Antwortergebnis aktiviert ist, ist der endgültige Verlässlichkeitsscore für jedes Suchergebnis eine Kombination aus den Verlässlichkeitsscores aus dem Antwortergebnis, dem Passagen-Abruf und der QPP-oder Reranked-Suche, je nachdem, welche Methode verwendet wird. - Tabellenabruf
- Gibt Informationen aus Tabellen in Dokumenten zurück, wenn der Parameter
table_results.enabled=truein einer Abfrageanforderung in natürlicher Sprache enthalten ist.
Abfragegrenzwerte
Eine Abfrage ist eine Operation, die eine POST-Anforderung an den Endpunkt /query der API übergibt. Solche Operationen umfassen Abfragen, die über die API übergeben werden. Es enthält keine Abfragen, die über die Suchleiste
auf der Seite Verbessern und anpassen der Produktbenutzerschnittstelle übergeben werden.
Eine Abfrage wird nur gezählt, wenn die Anforderung erfolgreich ist, d. h., sie gibt eine Antwort (mit Nachrichtencode 200) zurück.
Die Anzahl der Suchabfragen, die Sie pro Monat pro Serviceinstanz übergeben können, hängt vom Plantyp Discovery ab.
| Planen | Abfragen pro Monat pro Serviceinstanz |
|---|---|
| Cloud Pak for Data | Uneingeschränkt |
| Premium | Uneingeschränkt |
| Enterprise | Uneingeschränkt |
| Plus (einschließlich Testversion) | 500.000 |
Nur für Enterprise-Pläne: Ihre Rechnung beschriftet Anforderungen, die aus Abfragesuchen generiert werden, und analysiert API-Aufrufe als "Abfragen". Weitere Informationen zu Analyze API-Aufrufen finden Sie unter Analyze API limits.
Die Anzahl der Abfragen, die pro Sekunde pro Serviceinstanz verarbeitet werden können, hängt vom Plantyp Discovery ab.
| Planen | Gleichzeitige Abfragen pro Serviceinstanz |
|---|---|
| Cloud Pak for Data | Uneingeschränkt |
| Premium | 50 |
| Enterprise | 5 |
| Plus (einschließlich Testversion) | 5 |
Informationen zur Preisstruktur finden Sie unter Discovery-Preisstrukturpläne.
Abfragenutzung schätzen
Wie Sie die Anzahl der Abfragen schätzen, die Ihre Anwendung pro Monat verwenden wird, hängt von Ihrem Anwendungsfall ab.
- Bei Anwendungsfällen, die sich mehr auf die Datenaufbereitung und -analyse konzentrieren oder bei denen die Ausgabe der Dokumentverarbeitung nicht stark durchsucht wird, können Sie die Anzahl der Abfragen auf der Basis der Gesamtzahl der Dokumente schätzen.
- Für Anwendungsfälle, bei denen viele Benutzer mit der Anwendung interagieren, die Discoveryverwendet, können Sie die Anzahl der Suchen pro Benutzer mal die Anzahl der erwarteten Benutzer berechnen. Beispiel: 50% der von Benutzern an einen virtuellen Assistenten übergebenen Fragen werden wahrscheinlich von Discoverybeantwortet. Mit 100.000 Benutzern pro Monat und durchschnittlich 3 Fragen pro Benutzer können Sie 15.000 Abfragen pro Monat erwarten. (10.000 Benutzer/Monat * 3 Abfragen/Benutzer * 50% für Discovery = 15.000)
Abfragen mit aktivierter Sicherheit auf Dokumentebene
IBM Cloud Pak for Data IBM Software Hub
Diese Informationen gelten nur für installierte Implementierungen.
Wenn Sie die Sicherheit auf Dokumentebene für eine Objektgruppe aktivieren, werden in den Suchergebnissen nur Dokumente zurückgegeben, auf die der aktuelle Benutzer Zugriff hat. Weitere Informationen finden Sie unter Sicherheit auf Dokumentebene konfigurieren.
Um Suchergebnisse zurückzugeben, die den Sicherheitseinschränkungen entsprechen, muss der aktuelle Benutzer die folgenden Anforderungen erfüllen:
- Sie haben Zugriff auf Ihre Discovery-Instanz.
- Sie haben Zugriff auf die Datenquelle.
Wenn der aktuelle Benutzer diese Anforderungen nicht erfüllt, werden keine Suchergebnisse zurückgegeben.
Der Benutzername, der mit Ihrer Discovery-Instanz verknüpft ist, wird zur Generierung eines Autorisierungstokens verwendet. Das Token wird für die Authentifizierung von Discovery-Abfragen verwendet.
Führen Sie den folgenden Befehl aus, um jedes Zugriffstoken zu generieren:
curl -u "{username}:{password}" \
"https://{hostname}:{port}/v1/preauth/validateAuth"
Ersetzen Sie {username} und {password} durch die Berechtigungsnachweise des Benutzers Discovery.
Verwenden Sie das Trägertoken, das dem Benutzer zugeordnet ist, wenn Sie die Abfrage ausführen.
curl -H "Authorization: Bearer {token}" \
'https://{hostname}/{instance_name}/v2/projects/{project_id}/collections/{Collection_ID}/query\?version\=2019-11-29'