照会の概要 (Query overview)
IBM Watson® Discovery 検索クエリによる強力なコンテンツ検索機能を提供します。
Discovery が取り込まれ、索引付けされ、エンリッチされた後にそこからデータを取得するには、照会を送信します。
データが Discoveryに追加されると、各ファイルの表現が JSON 形式の文書として索引に保管されます。 コレクションに適用されるエンリッチメントは、データ内の意味のある情報を識別し、それらの文書内の新規フィールドに保管します。 データを検索するには、最も関連性の高い文書を返す照会を送信し、探している情報を抽出します。
照会タイプ
Discovery は、以下のサポートされる照会タイプのいずれかを受け入れます。
- 照会
-
文書内の特定のフィールドに関心のある値を持つ文書を検索します。 このタイプの照会は、 Discovery 照会言語構文を使用して検索条件を定義します。
Parameter name:
query
- 自然言語照会 (NLQ)
-
自然言語で作成された照会に対する回答を検索します。 NLQ 要求はテキスト・ストリング値を受け入れます。
Parameter name:
natural_language_query
サポートされる照会タイプの 1 つを使用して指定する照会とともに、以下のパラメーターのいずれかまたは両方を組み込むことができます。 これらのパラメーターの値は、 Discovery 照会言語 (DQL) 構文を使用して指定することもできます。
filter
aggregation
Discovery 照会言語について詳しくは、 DQL の概要 を参照してください。
製品のユーザー・インターフェースから送信される照会は、自然言語照会です。 サポートされる他のいくつかのパラメーターが指定され、使用中のプロジェクト・タイプに基づいてデフォルト値が指定されます。 詳しくは、 デフォルトの照会設定 を参照してください。
Discovery は、照会要求データをログに記録しません。 ロギングを要求するためにオプトインすることはできません。
適切なクエリー・タイプの選択
以下の表に、各照会タイプでサポートされる機能を要約します。 これを使用すると、サブミットする照会のタイプを判別するのに役立ちます。
目的 | 自然言語照会 (NLQ) | Discovery 照会言語 (DQL) |
---|---|---|
文書からパッセージを返す | ||
返答内の用語を強調表示する (文書ごとのパッセージが有効になっていない場合) | ||
カスタム・ストップワードまたは照会拡張の定義 | ||
特定の文書フィールドまたはエンリッチメントの検索 | ||
検索でブール節などの演算子を使用する | ||
スペル修正を有効にする | ||
特定の質問に対してハードコーディングされた回答を返すためのキュレーションを追加する | ||
関連性トレーニングの使用 | ||
パッセージから簡潔な回答を返すには、回答の検索を有効にします | ||
テーブル検索の使用 |
照会分析
照会を送信すると、照会テキスト・ストリングが分析されます。 照会分析中に、照会内の各キー用語のルート (または見出し語) が識別されます。 元の照会ストリングに出現するすべてのストップワードが削除され、元の照会ストリングに出現するすべての用語に対して定義されている同義語拡張が追加されます。 この拡張バージョンの照会は、 Discoveryにサブミットされます。
自然言語照会としてサブミットされているか、Discovery Query Language 構文を使用してサブミットされているかにかかわらず、すべての照会に対して同じ分析が実行されます。
照会フロー
次の図は、 Discoveryによる検索要求の処理方法の概念図です。

フロー図には、以下のプロセスが示されています
- BM25
- ベスト・マッチ 25 (確率的情報取得アルゴリズム) を使用して、検索によって返される各文書の関連性スコアを計算します。 この図は、 BM25 が照会要求からの文書結果に適用されることを示していますが、照会要求に限定されるわけではありません。 また、自然言語照会結果に適用される関連性トレーニング・ランカー・プロセスの一部として、他の技法とともに使用されます。
- キュレーション
- 自然言語照会が事前定義されたキュレーション照会と一致する場合、特定の文書と、場合によってはハードコーディングされたスニペットが返されます。 キュレーションを有効にする照会パラメーターはありません。 キュレーションを使用するには、プログラムで定義する必要があります (Create curation method)。 キュレーションの出力は、関連性トレーニング・ランカーの出力または QPP の結果とマージされます。
- 関連性トレーニング
- 関連性について文書をスコアリングするために、オプションで定義してプロジェクトに適用することができるモデル。 関連性トレーニングを有効にするための照会パラメーターがありません。 関連性トレーニングを使用するには、プログラムで (トレーニング照会メソッドの作成)、または製品のユーザー・インターフェースを使用して、プロジェクトを正常にトレーニングする必要があります。
- QPP (Q)
- 照会パフォーマンス予測アルゴリズム。照会と上位結果のリストを指定すると、文書の関連性を判別するスコアが生成されます。 使用可能な関連性トレーニング・ランカーがない場合にのみ使用されます。
- フィルター
filter
パラメーターをquery
およびnatural_language_query
要求と一緒に渡して、特定の基準を満たさない文書を結果セットから削除することができます。 フィルターは、文書検索フェーズの最後のステップとして表示されます。 ただし、フロー内のさまざまな時点で使用されます。 フィルター定義に一致しない文書が結果セットから除外されることを強調するために、ダイアグラム内での配置が選択されます。 除外は、キュレーションで指定される可能性のある文書にも適用されます。- パッセージ検索
- 自然言語照会要求に
passages.enabled=true
パラメーターが含まれている場合に、文書からパッセージを返します。 - 回答の検出
passages.find_answers=true
パラメーターが自然言語照会要求に含まれている場合、文書から抽出されたパッセージとともにパッセージから簡潔応答を返します。 回答の検出が有効になっている場合、各検索結果の最終的な信頼性スコアは、回答の検出、パッセージの取得、および QPP または Reranked 検索のいずれかの方法による信頼性スコアの組み合わせになります。- 表の検索
table_results.enabled=true
パラメーターが自然言語照会要求に含まれている場合に、文書内の表から情報を返します。
照会の制限
照会とは、 POST
要求を API の /query
エンドポイントに送信する操作のことです。 このような操作には、API を使用してサブミットされた照会が含まれます。 これには、製品ユーザー・インターフェースの 「改善とカスタマイズ (Improve and customize)」 ページの検索バーから送信された照会は含まれません。
照会は、要求が成功した場合にのみカウントされます。つまり、応答 (メッセージ・コード 200) が返されます。
サービス・インスタンスごとに 1 カ月ごとに送信できる検索照会の数は、 Discovery プラン・タイプによって異なります。
プラン | サービス・インスタンスごとの 1 カ月当たりの照会数 |
---|---|
Cloud Pak for Data | Unlimited |
プレミアム | Unlimited |
エンタープライズ | Unlimited |
プラス (試用版を含む) | 500.000 |
エンタープライズ・プランの場合のみ、請求書には、照会検索と分析 API 呼び出しの両方から生成された要求が「照会」としてラベル付けされます。 API 呼び出しの分析について詳しくは、 API 制限の分析 を参照してください。
サービス・インスタンスごとに 1 秒当たりに処理できる照会の数は、 Discovery プランのタイプによって異なります。
プラン | サービス・インスタンスごとの同時照会数 |
---|---|
Cloud Pak for Data | Unlimited |
プレミアム | 50 |
エンタープライズ | 5 |
プラス (試用版を含む) | 5 |
価格設定については、 Discovery の価格設定プラン を参照してください。
照会使用量の見積もり
アプリケーションが 1 カ月当たりに使用する照会の数を見積もる方法は、ユース・ケースによって異なります。
- データの強化と分析に重点を置いたユース・ケースや、文書処理からの出力があまり検索されないユース・ケースの場合は、文書の総数に基づいて照会数を見積もることができます。
- 多くのユーザーが Discoveryを使用するアプリケーションと対話するユース・ケースでは、ユーザーごとの検索数に予期されるユーザー数を乗算して推定できます。 例えば、ユーザーが仮想アシスタントに送信した質問の 50% は、 Discoveryによって回答される可能性があります。 1 カ月あたり 100,000 人のユーザーと、ユーザーあたり平均 3 つの質問を使用すると、1 カ月あたり 15,000 件の照会を予測できます。 (10,000 ユーザー/月 * 3 照会/ユーザー * 50% から Discovery = 15,000)
文書レベルのセキュリティーを有効にした照会
IBM Cloud Pak for Data IBM Software Hub
この情報は、インストール済みデプロイメントにのみ適用されます。
コレクションに対して文書レベルのセキュリティーを有効にすると、現在のユーザーがアクセス権限を持つ文書のみが検索結果で返されます。 詳しくは、 文書レベルのセキュリティーの構成 を参照してください。
セキュリティー制限に従う検索結果を返すには、現行ユーザーが以下の要件を満たしている必要があります。
- Discovery インスタンスにアクセスできます。
- データ・ソースへのアクセス権限を持っている。
現行ユーザーがこれらの要件を満たしていない場合、検索結果は返されません。
Discovery インスタンスに関連付けられているユーザー名は、認証トークンの生成に使用されます。 このトークンは、 Discovery 照会の認証に使用されます。
各アクセス・トークンを生成するには、次のコマンドを実行します。
curl -u "{username}:{password}" \
"https://{hostname}:{port}/v1/preauth/validateAuth"
{username}
および {password}
をユーザーの Discovery 資格情報に置き換えます。
照会の実行時にユーザーに関連付けられたベアラー・トークンを使用します。
curl -H "Authorization: Bearer {token}" \
'https://{hostname}/{instance_name}/v2/projects/{project_id}/collections/{Collection_ID}/query\?version\=2019-11-29'