この記事は Microsoft Azure Cognitive Services Advent Calendar 2020 に参加しています。
QnA Maker のバージョン 2 (予定?)、QnA Maker マネージド の 新機能 の一つが “ショートアンサー” です。
ナレッジベースにある回答そのものではなく、自動生成された回答の要約、短縮版を応答してくれる機能です。
チャットボットは UI の物理的サイズから、長い回答は見づらくて適切ではないことがあります。
まず短い回答を返して、必要に応じて(例えばユーザーが要求したら)詳細な解答を返すやり方もありそうです。
ショートアンサーはそんな時に役に立ちそうな機能です。
チームブログでは機能について触れていますし、QnA Maker ポータルのテストペインでも動作は確認できます。
ただ公式ドキュメントなどには記載がないようです・・・ということで調べてみました。
プレビューだしドキュメントに書いていない内容なので、今後変更される可能性ありです。
■ ショートアンサーの確認方法
QnA Maker ポータル のテストペインを使うとショートアンサーを確認することができます。
ただしマネージドを有効にしたナレッジベースで、かつショートアンサーに対応した言語でのみ利用可能です。
残念ながら、現時点では日本語は未対応。今後に期待しましょう。
テストペインで [Display short answer] をチェックします。
これでショートアンサーが返ってきます。
(日本語だとこのチェックはグレーアウトして選択できません)
■ REST 呼び出し
QnA Maker ポータルで機能の確認ができました。
他のクライアントからも呼び出してみます。
公式ドキュメントを見る限り、多分どこにも記述がないので調べてみました。
QnA Maker マネージドはプレビューなので、今後変更されるかもしれません。
まず呼び出しの詳細について。
これは現状の V1 と同様、[Settings] – [Deployment details] の通りです。
V1 との違いは表示通り URL に “v5.0-preview.1” と入っているくらいですね。
ショートアンサーを応答させるには要求の本体が少しだけ違うので、それはあとで。
■ ショートアンサーを受け取るためのリクエスト本体
QnA Maker マネージドからショートアンサーを受け取るには、要求本体にパラメーターを一つ追加するようです。
要求本体に “answerSpanRequest” を追加します。
値には “enable”: true を指定します。
こんな感じ。
{
"question":"<ここに質問>",
"answerSpanRequest":
{
"enable": true
}
}
これでショートアンサーが返ってきます。
“answerSpanRequest” の値として、”topAnswerWithSpan” もあるようなのですが、今のところ英語だとしても無視されて、最初の回答のみショートアンサーが返ってきます。
今後は 2 以上の指定が有効になるということかな。
{
"question":"<ここに質問>",
"answerSpanRequest":
{
"enable": true,
"topAnswerWithSpan": 1
}
}
今のところ日本語未対応ですが、非常に楽しみな機能です。
プレビューなので今後変更される可能性がありますが、しばらくはこれでショートアンサーが得られそうです。