LoginSignup
1
0

More than 1 year has passed since last update.

Watson Discovery への接続を自由にカスタマイズする Part 2

Last updated at Posted at 2022-12-25
2022-12-25-10-12-46

今回は、前回の続きの記事です。
前回の記事で、画面上に Answer Finding の結果とその確信度を表示してみました。
今回は、パッセージの表示を追加してみます。さらに、カスタム・レスポンスを使って見栄えの調整も行います。

カスタマイズ手順

2 つのステップで実施します。

  • カスタム拡張機能の呼び出し定義にパッセージ関連を追加
  • カスタム・レスポンスを定義した index.html を作成

それでは順番に見ていきます。

カスタム拡張機能の呼び出し定義にパッセージ関連を追加

検索結果を保存するセッション変数と Watson Discovery を呼び出すアクションを作成します。

セッション変数の追加

パッセージ関連のセッション変数を追加します。

セッション変数の作成方法は、注文のキャンセル処理を追加する 〜セッション変数の使い方〜 をご参照ください。

今回追加するセッション変数は 赤字 です。

Name Type Description
query_text Any 検索文字列
search_result Any 検索結果の保存
title Any wikipediaのタイトル
answer Any Answer Findingで見つかった回答
answer_confidence Number 回答の確信度
link Any wikipediaのリンク
snippet Any パッセージ本体
passage_start_offset Any パッセージの開始位置
answer_start_offset Number 回答の開始位置
answer_end_offset Number 回答の終了位置

ステップの修正

Discoveryにつないでアクションのステップ を修正します。

ステップ 2 のAnd then パート
2022-12-25-9-48-50

(passage.characters の値)
2022-12-25-9-56-20

ステップ 3 のVariable values パート
2022-12-25-10-02-15

今回追加する変数は 赤字 です。

セット先変数
search_result ${search_result}.get(0)
answer ${search_result}.document_passages.get(0).answers.get(0).answer_text
link ${search_result}.url
title ${search_result}.title
answer_confidence ${search_result}.document_passages.get(0).answers.get(0).confidence
snippet ${search_result}.document_passages.get(0).passage_text
answer_start_offset ${search_result}.document_passages.get(0).answers.get(0).start_offset
answer_end_offset ${search_result}.document_passages.get(0).answers.get(0).end_offset
passage_start_offset ${search_result}.document_passages.get(0).start_offset
ステップ 3 のAssistant says パート

JSON view を使用して編集します。

2022-12-25-10-09-43
Assistant says
{
  "generic": [
    {
      "user_defined": {
        "link": "${link}",
        "title": "${title}",
        "answer": "${answer}",
        "snippet": "${snippet}",
        "answer_confidence": "${answer_confidence}",
        "answer_end_offset": "${answer_end_offset}",
        "user_defined_type": "search_card",
        "answer_start_offset": "${answer_start_offset}",
        "passage_start_offset": "${passage_start_offset}"
      },
      "response_type": "user_defined"
    }
  ]
}

カスタム・レスポンスを定義した index.html を作成

ポイントだけ、ご説明します。
全てのコードは、Github wd_extensions にて公開しております。

カスタム・レスポンス・カード WACTextholderTile の定義をスタイル・セクションに記述しています。
2022-12-25-10-28-29

searchCardHandler 関数にて、表示項目を定義しています。
2022-12-25-10-33-42

回答の確信度が 0.4 以上に絞り込む処理とパッセージ内での回答の強調表示を行う関数を定義しています。
2022-12-25-10-36-51

標準機能のサーチでは、確信度が低い回答も表示されていましたが、reformat() 関数を修正することで調整できますね。

試してみる

前回もやった同じ質問をしてみます。

質問 『ピザの日はいつ』
質問 『宅配ピザを始めたお店は』
質問 『ピザの誕生秘話』

Anser Finding の結果Answer Finding の確信度パッセージをカスタム・レスポンスで作成したカード内に表示できるようになりました。
2022-12-25-10-21-15

いかがでしたでしょうか

Watson Discovery への接続パラメータの変更や検索結果を自由にレイアウトできるようになりました。
標準機能のサーチだけで機能が不足する場合は、今回の記事を参考に、色々とカスタマイズしてみてください。

本日が、Qitta Advent Calendar 2022 最終日です。無事終えることができました。
また、私の記事を参照してくれた皆さん、本当にありがとうございます。

参考情報

Qiita Advent Calendar 2022

公式サイト: Watson Discovery API - Query パラメータ

Github: Watson Discovery Extension OpenAPI 文書

関連記事

扱いたかった記事

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0