4/9 LINE Community オンラインセミナー「Azure×LINEでチャットボットとアプリ開発!~ローコード/ノーコードでサクッと作ろう!」に登壇、QnA Maker についてお話しした QnA Maker の使い方をまとめます。一緒にご紹介した Cognitive Services のご紹介はこちら。
- Language Understanding (LUIS)
- NLP(自然言語処理): センテンスのクラス分類、エンティティの抽出
- Qiita: Cognitive Services LUIS でノンコーディング自然言語分析始めよう
- Custom Vision
- 画像分析: クラス分類、オブジェクト検出
- Slideshare: 今から始める Cognitive Services – Custom Vision 編
Cognitive Services QnA Maker とは?
QnA Maker は質問&回答のリストをFAQ回答エンジンとしてノンコーディングで作成、利用できるサービスです。Microsoft Azure 上で提供されているサービスで、無償で利用を始められます。
QnA Maker の利用ステップ
QnA Maker は 次の 3 ステップで(もちろんノンコーディングで) FAQ 回答エンジンを作成できます。
Step1: 質問&回答リストを用意する
この質問と回答のリストは、Excel ファイル (*.xlsx) やタブ区切り (*.tsv)、またはWord や PDF ドキュメント (*.docx, *.PDF) が利用できます。また、Web に公開されている FAQ を URL 指定して読み込むこともできます。(これらのソースを複数かつ複合で利用することも可能。) 質問と回答のペア (1:1) を用意しますが、質問:回答 = n:1 (例: Q1 と Q2 の答えが両方とも A1 ) という形式も利用することもできます。
Step2: QnAMaker の Knowledge Base (KB) にアップロードして学習させる
アップロードしたリストを KB に学習させると FAQ 回答エンジンが自動生成されます。ドキュメントが内部で段落分けされている場合は、その階層をも自動で読み取って KB を作成します。また、リストをアップロードせず、画面から質問と回答を打ち込んで作成することも可能です。
作成された KB はその場で動作を確認できます。
Step3: Azure Bot Service または Web API から利用
KB を公開 (Publish) すると、FAQ 回答エンジンとしての機能を QnA Maker 外部のサービスから利用できるようになります。Azure Bot Service に組み込んでチャットボットとして利用できるほか、Web API として自由に利用できます。
QnA Maker の便利な使い方 ~ マルチターン (Multi-turn)
QnA Maker にはマルチターンと呼ばれる、ユーザーに入力の選択肢を提示し、選択肢によって回答を指定する機能があります。ドキュメントの段落から大項目>小項目に絞り込む(ドリルダウン) 機能はこのマルチターンによるものです (自動生成)。 このマルチターンは自動生成以外にもご自分で設定することも可能です。
このマルチターン機能を利用することで、枝分かれフローを QnA Maker だけで実装することができます。