IBM Watson® Discovery 検索統合のセットアップ
さらに IBM Cloud Pak for DataIBM Software Hub
検索統合では、Discovery サービスを使用して作成したデータ・コレクションから情報が検索されます。
Discovery は、非構造化データをクロール、変換、および正規化するサービスです。 この製品では、データ分析やコグニティブな直感を適用してデータをエンリッチすることで、後でそのデータから意味のある情報を簡単に検出して取り出すことができるようにします。 Discoveryについて詳しくは、 製品資料を参照してください。
検索統合には Discovery v2が必要です。 詳しくは、 Discoveryを参照してください。
通常、Discovery に追加してアシスタントからアクセスするデータ・コレクションのタイプには、会社が所有する情報が含まれます。 この専有情報には、FAQ、販売資料、技術マニュアル、対象分野の専門家によって書かれた資料が含まれる場合があります。 専有情報のこの高密度のコレクションをマイニングして、顧客の質問に対する回答をすぐに見つけます。
検索統合の概要を説明する4分間のビデオをご覧ください
開始前に
開始前に、以下のことを行ってください。
- IBM Cloud で Discovery v2 インスタンスをセットアップするか、 IBM Cloud Pak for Dataにインストールします。
- 少なくとも IBM Cloudのプラス・プラン Discovery サービス・インスタンスが必要です。 xml-ph-0000@deepl.internalカタログの該当ページに移動し、 DiscoveryIBM Cloud カタログのページに移動し、プラスプランのサービスインスタンスを作成します。
- パブリック・エンドポイントを使用します。 プライベート・エンドポイントは現在、 watsonx Assistant またはクラシック・エクスペリエンスではサポートされていません。
検索統合または検索スキルの作成
検索統合を作成するには:
-
検索の追加場所となるアシスタントで**「統合」**をクリックします。
有料プランをご利用のユーザーは、検索を追加することができます。
-
**「拡張機能」セクションで「検索」を見つけ、「追加」をクリックし、さらに「確認」**をクリックします。
クラシック・エクスペリエンスを使用している場合は、検索スキルを追加します。
-
スキルを追加するアシスタントから、「検索スキルの追加」をクリックします。
-
以下のいずれかのアクションを実行してください。
-
新しい検索スキルを作成するには、「スキルの作成」タブのままにします。
-
検索スキルを既に作成している場合は、「既存のスキルの追加」タブが表示され、クリックして既存のスキルを追加できます。
-
-
新規スキルの詳細を指定します。
- 名前 (Name): 長さ 64 文字以下の名前です。 名前が必要です。
- 説明 (Description): 長さ 128 文字以下のオプションの説明です。
既存の Discovery インスタンスへの接続
-
情報を抽出する Discovery サービス・インスタンスを選択します。
Discovery サービスのインスタンスの一部に認証情報が設定されていないという警告が表示された場合、 IBM Cloud ダッシュボードから開設したことのないインスタンスに少なくとも1つはアクセスできることを意味します。 サービス・インスタンスにアクセスして資格情報を作成する必要があります。また、watsonx Assistant がユーザーに代わって Discovery サービス・インスタンスへの接続を確立するには、資格情報が存在している必要があります。 Discovery サービス・インスタンスがリストに表示されていない場合は、IBM Cloud® ダッシュボードからそのインスタンスを直接開いて、資格情報が生成されるようにしてください。
-
以下のいずれかを実行して、使用するデータ・コレクションを指定します。
-
既存のプロジェクトを選択してください。
使用するプロジェクトを決定する前に、Discovery を開きます。 アイコンをクリックして、プロジェクトの構成を確認できます。
検索の構成に進みます。
-
プロジェクトがない場合、またはリストされているプロジェクトを使用しない場合は、**「新規プロジェクトの作成 (Create a new project)」**をクリックして、プロジェクトを追加します。 「プロジェクトの作成」のステップに従います。
Discovery のサービスプランに基づく上限に達している場合 、「新しいプロジェクトを作成」 は表示されません。 プランの制限の詳細については、 Discovery の料金プラン を参照してください。
-
プロジェクトの作成
-
「データはどこにありますか?」ページで、データ・ソースを選択し、「次へ」をクリックします。 選択項目の例としては、Salesforce、SharePoint、Box、IBM Cloud Object Storage、Web クロール、およびデータのアップロードがあります。
-
「データのコレクションを作成しましょう 」ページで、データへの接続方法およびコレクションの構成方法に関する情報を入力します。 入力が必要な情報は、データソースによって異なります。 例えば、Salesforce、Sharepoint、Box などのサービスの認証資格情報を入力する必要があります。 ウェブクローリングの場合、既存の情報でウェブサイトを指定します。
-
「完了 (Finish)」 をクリックします。 Discovery が文書の作成を開始するまで数分かかります。 プロジェクト内の「コレクションの管理」ページを使用して、進行状況を確認できます。
-
コレクションが完全に取り込まれるまで待ってから、watsonx Assistant に戻るをクリックします。
検索の構成
-
watsonx Assistant の検索統合ページで、使用する Discovery のインスタンスとプロジェクトが選択されていることを確認し 、「次へ」 をクリックします。
-
「結果コンテンツの構成」セクションで、顧客に表示される検索結果で使用される Discovery フィールドと例を確認します。 デフォルトを受け入れることも、必要に応じてカスタマイズすることもできます。
データの抽出元としてどのコレクション・フィールドが適切かは、コレクションのデータ・ソース、およびデータ・ソースをエンリッチする方法によって異なります。 データ・コレクション・タイプを選択した後、コレクション・フィールドの値には、コレクションのデータ・ソース・タイプに基づいて有用な情報が含まれている可能性が最も高いと考えられるソース・フィールドが事前に取り込まれます。 しかし、あなたはデータについて誰よりもよく知っています。 ソース・フィールドを、ニーズに最も合う情報を含むフィールドに変更することができます。
抽出する情報が含まれているフィールドの名前など、コレクション内の文書の構造について詳しく知るには、Discoveryでコレクションを開き、「ID フィールド」タブと「管理フィールド」タブを使用します。
各検索結果は、以下のセクションから構成されます。
-
タイトル: 検索結果のタイトル。 検索結果タイトルとして、コレクション・フィールドの title、name、または同様のタイプを使用します。
タイトルに何かを選択する必要があります。そうしないと、Facebook および Slack の統合に検索結果の応答が表示されません。
-
本文: 検索結果の説明。 検索結果の本文として、コレクション・フィールドの abstract、summary、または highlight を使用します。
本文に何かを選択する必要があります。そうしないと、Facebook および Slack の統合に検索結果の応答が表示されません。
-
URL: このフィールドには、検索結果の末尾に含める任意のフッター・コンテンツを取り込むことができます。
例えば、データソース内の元のデータオブジェクトへのハイパーテキストリンクを含めたい場合があるかもしれません。 多くのオンライン・データ・ソースでは、直接アクセスをサポートするために、保管されているオブジェクトの自己参照の公開 URL を指定しています。 URL を追加する場合は、有効でアクセス可能なものでなければなりません。 そうでない場合、Slackの統合では URL が応答に含まれず、Facebookの統合では応答が返されません。
URL フィールドが空の場合、Facebook および Slack の統合は検索結果の応答を正常に表示できます。
少なくとも 1 つの検索結果に対してフィールドを使用する必要があります。
ドロップダウン・フィールドで使用可能なオプションがない場合、Discovery でコレクションの作成が完了するまでさらに時間が必要です。 コレクションが作成されていない場合、コレクションにドキュメントが含まれていないか、またはまず対処する必要のある取り込みエラーが発生している可能性があります。
フィールド・マッピングを追加すると、検索結果のプレビュー、およびデータ・コレクションの対応するフィールドからの情報が表示されます。 このプレビューには、ユーザーに返される検索結果の応答に含まれるものが表示されます。
検索の構成に関するヘルプについては、トラブルシューティングを参照してください。
-
-
「メッセージ」タブ、「結果が見つかりません」タブ、および「接続の問題」タブを使用して、検索の成功度に基づいてユーザーと共有するさまざまなメッセージをカスタマイズします。
検索結果メッセージ タブ シナリオ メッセージの例 メッセージ 検索結果が返された I found this information that might be helpful:
結果が見つかりません 検索結果が見つからない I searched my knowledge base for information that might address your query, but did not find anything useful to share.
接続の問題 何らかの理由により検索を実行できない I might have information that could help address your query, but am unable to search my knowledge base at the moment.
-
「回答を強調する」を有効にするかどうかを選択します。
このオプションは、Discovery インスタンスが v2 Discovery API を使用する場合にのみ使用できます。
この機能を有効にすると、お客様の質問に対する正確な回答として Discovery によって決定された文が、検索結果としてお客様に表示されるテキスト・ブロック内で強調表示されます。
-
「結果数量の調整」セクションで、返される結果の数を指定します。
上位 3 つの結果は自動的に返されます。 応答に表示する結果の数を減らすか、または増やす (最大 10 個) ことを選択できます。
デフォルトでは、顧客は表示する結果を増やす選択ができます。 顧客にこの選択をさせないようにする場合は、**「顧客に最大 10 個の結果を表示させるためのリンクを組み込む (Include link for customers to view up to 10 results)」**チェック・ボックスをクリアします。
-
「結果選択度の設定」セクションで、返される回答をより選択的にするかどうかを決定します。 結果の選択性を高めることにより、検索で返される結果の数は少なくなりますが、より正確な結果が返されます。 ほとんどの場合、検索の精度は、デフォルト設定 (オフ) で十分です。
-
「カスタム結果フィルター」 を使用して、検索統合内のカスタム・テキスト・ストリングのフィルターを追加します。 「カスタム結果フィルター」 フィールドは、トピック、製品、またはテキスト・ストリングに関連する検索結果を定義するのに役立ちます。 例えば、 「Custom results filter」 フィールドを「sing」
enriched_text.entities.text:"Boston, MA"
で定義すると、アシスタント内のすべての照会の検索応答がフィルタリングされ、enriched_text.entities.text
ファイル内の"Boston, MA"
に関連するようになります。 -
「プレビュー」をクリックします。 テスト・メッセージを入力して、構成の選択が検索に適用された場合に返される結果を確認します。 必要に応じて調整してください。
-
「作成」 をクリックします。
検索統合構成の編集
後で検索結果カードの構成を変更する場合は、検索統合を再度開き、編集を行います。 加えた変更は、保存する必要はなく、自動的に適用されます。 検索結果に問題がなければ、**「保存」**をクリックして検索統合の構成を終了します。
別の Discovery サービスインスタンスまたはプロジェクトに接続したい場合は、検索統合を開き 、「ディスカバリー設定の編集」 をクリックします。 同じインスタンスから新しいプロジェクトを選択するか、新しいインスタンスとプロジェクトを選択することができます。
Discovery 検索を使用するようにアシスタントを構成します
Discovery 検索統合を構成した後、顧客の応答がアクションに一致しない場合に Discovery 検索を使用するようにアシスタントを構成する必要があります。 検索を使用するための 「一致なし」 の更新について詳しくは、「 一致するアクションがない場合に検索を使用する」を参照してください。
トラブルシューティング
一般的なタスクの参考として、この情報を確認してください。
-
Web クロール・データ・コレクションの作成: Web クロール・データ・ソースを作成する際に知っておくべきこと:
- データ・コレクションで使用できる文書の数を増やすには、「URL グループの追加 (Add a URL group)」をクリックします。そこで、クロールするものの、最初のシード URL からリンクされていないページの URL をリストできます。
- データ・コレクションで使用できる文書の数を減らすには、ベース URL のサブドメインを指定します。 あるいは、ウェブクロール設定で、オリジナルページからのホップ数を制限します。 サブドメインを指定して、クロールから明示的に除外することもできます。
- 数分経ち、ページを最新表示しても文書が表示されない場合は、取り込むコンテンツを URL のページ・ソースから利用できるようにしてください。 Web ページ・コンテンツの中には、動的に生成されるためにクロールできないものがあります。
-
アップロードした文書の検索結果の構成: アップロードした文書のコレクションを使用していて、正しい検索結果が得られないか、結果があまり簡潔にならない場合、データ・コレクションを作成するときに Smart Document Understanding の使用を検討してください。
テキスト・フォーマットに基づいて文書にアノテーションを付けることができます。 例えば、28 ポイントの太字フォントのテキストは文書のタイトルであることを Discovery に教えることができます。 コレクションを取り込むときにこの情報をコレクションに適用すると、後で*「タイトル」*フィールドを検索結果のタイトル・セクションのソースとして使用できます。
Smart Document Understanding を使用して、大きな文書を、検索しやすいセグメントに分割することもできます。 詳しくは、 Discovery の資料の「 Smart Document Understanding 」トピックを参照してください。
-
応答テキストは大括弧で囲まれています: 例えば、プレビューからテストするときに、応答テキストが大括弧と引用符 (
["My response text"]
) で囲まれていることに気付いた場合は、構成で使用しているソース・フィールドを変更する必要があります。 この予期しない形式は、ソース文書で値が配列として保管されていることを示しています。 テキストを抽出するフィールドの値は、配列データ・タイプではなく文字列データ・タイプでなければなりません。 チャット統合は、データが配列として保管されているフィールドから抽出された応答を示す場合に、配列値を文字列に直接変換します。そのため、配列の構文が含まれた応答が生成されます。例えば、次のように、唯一の配列要素として単一のテキスト値を含む配列が、ソース文書のフィールドにあるとします。
"title": ["a single array element"]
この配列値を watsonx Assistant は以下の文字列値に変換します。
"title": "[\"a single array element\"]"
この結果、チャットでは以下の形式の文字列が返されます。つまり、両端の大括弧と引用符も表示されます。
["a single array element"]
このような状況が発生した場合は、別のコレクション・フィールドから検索結果を抽出することを検討してください。
Discovery 文書の
highlight
フィールドには、値が配列形式で保管されます。
次のステップ
初めて検索統合を追加すると、それが**「ドラフト環境 (Draft environment)」**ページにタイルとして表示されます。 タイルをクリックすると、検索設定の確認や編集が可能です。
準備ができたら、このステップを繰り返して、検索統合を ライブ環境 または他の環境 ( 複数の環境 を使用している場合) に追加できます。
検索統合のテスト
検索を構成した後で、「プレビュー」ページを使用して、Discovery から返される検索結果を確認するためのテスト照会を送信できます。
顧客が質問をした際に、アクションによって回答されるか、検索がトリガーされるか、という体験全体をテストするには、アシスタントのプレビュー機能を使用します。
クラシック・エクスペリエンスで検索スキルをテストする
クラシック・エクスペリエンスで検索スキルを使用している場合は、検索スキルの「プレビュー」ペインを使用して、 Discovery から返される検索結果を確認するためのテスト照会を送信できます。
ダイアログによって回答される質問、または検索をトリガーされる質問をお客様が行う際のエクスペリエンス全体をテストするには、アシスタントの「プレビュー」ボタンを使用します。
ダイアログの「試行する (Try it out)」ペインから完全なエンドツーエンドのユーザー・エクスペリエンスをテストすることはできません。 検索スキルは個別に構成され、アシスタントに接続されます。 ダイアログ・スキルは検索の詳細を認識できないため、「試行する (Try it out)」ペインに検索結果を表示できません。
検索スキルをテストするために、少なくとも 1 つの統合チャネルを構成します。 チャネルで、検索をトリガーする照会を入力します。 ダイアログから任意のタイプの検索を開始する場合、ダイアログをテストして、検索が期待どおりにトリガーされることを確認します。 検索応答タイプを使用していない場合は、既存のダイアログ・ノードでユーザー入力に対処できない場合にのみ検索がトリガーされることをテストします。 検索がトリガーされた場合は常に、意味のある結果が返されることを確認します。
検索スキルへの要求の追加送信
ダイアログ・スキルの応答頻度を減らし、代わりに検索スキルへの照会送信数を増やす場合は、ダイアログでそのように構成することができます。
このアプローチを機能させるには、アシスタントにダイアログ・スキルと検索スキルの両方を追加する必要があります。
この手順に従って、信頼レベルのしきい値をデフォルト設定の 0.2 から 0.5 に再設定して、ダイアログが応答する頻度を低くします。 信頼レベルのしきい値を 0.5 に変更した場合、ダイアログがユーザーの意図を理解して対処できるというアシスタントの確信が 50% を超えない限り、アシスタントはダイアログからの回答で応答しないようになります。
-
ダイアログ・スキルの*「ダイアログ」*ページで、ダイアログ・ツリーの最後のノードに
anything_else
条件があることを確認します。このノードが処理されるたびに、検索スキルがトリガーされます。
-
ダイアログにフォルダーを追加します。 重視しない最初のダイアログ・ノードの前にフォルダーを配置します。 以下の条件をフォルダーに追加します。
intents[0].confidence > 0.5
この条件は、フォルダー内のすべてのノードに適用されます。 この条件は、アシスタントがユーザーの意図を認識していることを少なくとも 50% 確信している場合にのみフォルダー内のノードを処理するようにアシスタントに指示します。
-
アシスタントに頻繁に処理させたくないダイアログ・ノードをフォルダーに移動します。
ダイアログを変更した後、アシスタントをテストして、希望する頻度で検索スキルがトリガーされるようにします。
別のアプローチは、無視するトピックに関してダイアログに指示することです。 これを行うには、ダイアログ・スキルの「試行する (Try it out)」ペインで、テスト発話としてアシスタントがすぐに検索スキルに送信する発話を追加できます。 次に、「試行する (Try it out)」ペインで**「無関係とマークを付ける (Mark as irrelevant)」**オプションを選択することで、この発話またはこれに似た発話に応答しないようにダイアログに指示できます。 詳しくは、 無視するトピックについてアシスタントに学習させるを参照してください。
検索スキルの無効化
検索スキルのトリガーを無効にすることができます。
統合のセットアップ中に一時的に無効にすることもできます。 または、ダイアログ内で識別できる特定のユーザー照会の検索のみをトリガーし、検索スキルの応答タイプを使用して回答することもできます。
検索スキルがトリガーされないようにするには、以下のステップを実行します。
- **「アシスタント (Assistants)」ページで、アシスタントのメニューをクリックしてから、「設定」**を選択します。
- 「検索スキル」ページを開き、スイッチを「無効」に設定します。