13
15

More than 5 years have passed since last update.

Azure Bot Service ではじめるチャットボット開発 : 祝GA!QnA Maker でノンコーディング開発 (1) QnA Maker 編

Last updated at Posted at 2018-06-22

QnA Maker はノンコーディングで FAQ チャットボット (Chatbot, 以下 Bot) のコア部分(FAQ DB +検索サービス)を作成できるサービスです。FAQ のリスト (Q と A のペア) をアップロードすると、DB と検索サービスが自動で作成され、質問を Post すると 検索結果から可能性の高い回答が Response として返される Web API が生成されます。

ブラウザーだけで&1ステップでチャットボットが作成できる Azure Bot Service には QnA Maker をつかうテンプレートが用意されています。Azure Bot Service + QnA Maker を使って、ノンコーディングで FAQ チャットボットを作成する手順を紹介します。

準備

Microsoft アカウント の取得

Azure サブスクリプション申し込みに必要です。

Microsoft アカウント登録手続き

Azure サブスクリプション申し込み

無料試用版で充分です。上記↑で取得した Microsoft アカウントで申し込みを行います。(無料のプランがあるので、従量課金プランでも大丈夫ですが念のため。)

Azure 無料アカウントを今すぐ作成

手順

(1) QnA Maker 編

Azure Portal から QnA Maker アプリの作成

Azure Portal をブラウザーで開きます。
左端ナビゲーションバーの [+]をクリックします。(リソースの新規作成)

検索欄に qna と入力して QnA Maker を検索、クリックして新規作成ペインを表示します。

以下の情報を入力したら、[作成] をクリックして QnA Maker アプリを作成します。
- Name
- 新規に作成する QnA Maker アプリの名前 (自分で識別しやすい名前) を入力
- サブスクリプション
- (デフォルトのまま)
- Management Pricing Tier
- ここでは F0 (無料プラン) を選択
- Resource Group
- ここでは新規で作成していますが、作成済みのリソースグループを選択してもOKです
- Search Pricing Tier
- ここでは F (無料プラン) を選択
- Search Location
- QnA Maker アプリの検索サービスをホストするデータセンターを選択 (日本国内なら「西日本」)
- App Name (※自動入力)
- 入力した Name から自動入力されます。QnA Maker アプリをホストする Web サーバーとしての名前になります。azurewebsites.net の中でユニークになる名前を設定します
- Web Site location
- QnA Maker アプリをホストする Web サーバーのデータセンターを選択 (Search Locationと一緒が良いですね)

「展開が成功しました」というメッセージが表示されたら作成完了です。

[リソースに移動] をクリックすると、作成した QnA Maker アプリの情報が表示されます。

QnA Maker アプリを作成したリソースグループを確認すると、QnA Maker、Web App (App Service と App Service プラン)、Azure Search が作成されていることが分かります。

QnA Maker Web サイトから QnA Maker アプリの設定、展開

QnA Maker Web サイト をブラウザーで開きます。
Create a knowledge base をクリックして、新規 Knowledge Base (KB) を作成します。
サインインを求められたら、QnA Maker アプリを作成したアカウントでサインインします。

Step 2 で作成した QnA Maker アプリを指定します。

Step 3 で KB の名前 (自分で識別しやすい名前) を入力します。

Step 4 で KB のデータソースを指定します。
構造化されているドキュメントや Web サイト、マニュアルなどをそのままアップロードすることができます。もちろん質問と答えがペアになったデータ (タブ区切り(*.tsv)) も利用できます。

Step 5[Create your KB] をクリックすると KB が生成されます。

利用できるファイル形式は *.tsv, *.pdf, *.doc, *.docx, *.xlsx です。
構造化されているドキュメント例については QnA Maker Document > Data Sources を確認してください。
今回は以下の Azure サポート FAQ を利用しました。

しばらくすると生成された KB が表示されます。
修正が必要な箇所はクリックするとセルが修整可能になります。

Add QnA Pair をクリックすると行が追加されて、質問と回答のペアを追加できます。
修正や追加が終わったら、[Save and Train] をクリックして、KB への保存と検索の Index を作成します。

[Text] をクリックするとテスト用のパネルが表示されます。
思ったような結果にならない場合は、KBの修正・追加 → Save and Train を実施します。

テストが終わったら、再度 [Test] をクリックしてテスト用パネルを閉じ、Publishをクリックします。Publish のページで [Publish] をクリックすると、KB が Azure 上に展開されて、Bot から利用可能になります。

展開が完了すると、KB へのアクセス情報が表示されます。
この [Sample HTTP request] の情報が必要になりますので、コピーしてローカルに保存しておきます。

保存しておく Sample HTTP request の情報
POST /knowledgebases/KnowledgeBaseID情報/generateAnswer
Host: https://yourQnAHost.azurewebsites.net/qnamaker
Authorization: EndpointKey AuthKey情報
Content-Type: application/json
{"question":""}

補足: QnA Maker アプリを Web API として利用

[Sample HTTP request] の情報を利用して、QnA Maker アプリのサービス を Web API として利用でき、回答が Response で返されます。


13
15
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
13
15