お問い合わせチャットボットをQnA Makerで簡単に作る

社内で同じ質問を何度か受けることが多いので、それらをすべてチャットボットに返答させようと取り組みました。

利用するのはMicrosoft Azureにて公開されている『QnA Maker』。
『QnA Maker』にFAQを登録するだけで、簡単にFAQチャットボットの作成が可能となります。

Bot機能はAzure の『Web App Bot』を利用します。

次回位にはデフォルトのUIが品祖なので、自作UIからQnA Makerを利用するようにする記事を書こうかと思います。

 

Azureポータル画面からリソースを作成する

1.Azureポータル画面にログイン後、『リソースの作成』をクリック

 

 

 

 

 

2.QnA Makerを検索し、作成ボタンをクリック

 

 

 

 

 

 

3.サブスクリプションとか費用体系などを入力、選択します。

 

 

 

 

 

 

 

 

 

 

 

 

4.リソースの作成が完了しました。

 

 

 

 

 

QnA Makerにログインする

1.QnA Makerのポータル画面にマイクロソフトアカウントにてログインします。

2.『Create a knowledge base』をクリックします

 

 

 

3.STEP1の「Create a QnA service in Microsoft Azure. 」は先ほどリソースを作成したので、STEP2から行います。
Microsoft Azure Durectory ID、Azure Subscription name、Azure QnA serviceをそれぞれ選択。
Azure QnA serviceは先ほど作成したリソース名が表示されているはずです。

 

 

 

 

 

 

 

 

 

4.STEP3にて適当な名前を入力します。リソース名と同じ『website-faq』としました。
STEP4ではFAQとして参照するURLとかFAQが記載されているファイルをここで指定できますが、今回はそのままSTEP5に行き、『Create your KB』をクリック。

5.FAQを蓄積させる箱が出来ました

 

 

 

 

6.SETTINGSから実際のFAQを入れます。
簡単だと思うのはFAQを書いたファイルをインポートでしょうか?
tsvファイル形式になってますので、何もない状態でエクスポートしてファイルの中身を見るとQuestion、Answer、Source、Metadataと項目別になってますので、それらを入力していく感じです。

 

AzureのWeb App Botを作成する

FAQの作成が終わりますと、今度はFAQの呼び出しを行うbotを作成します。

1.Azureポータルの『リソースの作成』にて『Web App Bot』を検索し、作成します。

2.それぞれ情報を入れたら、ボットテンプレートを指定します。『Question And Answer』を選択してください。きちんと「選択」ボタンを押さないとダメです。

 

 

 

 

 

 

 

 

 

 

 

3.アプリIDの作成を行います。
こちらでは自動作成を選択せずに、App Registration PortalでアプリIDを作成してください。
App Registration Portalで「アプリID」「パスワード」が作成されますので、その情報をコピペしてください。

 

 

 

 

 

 

 

 

 

 

 

 

 

4.情報をすべて揃えたら、「作成」ボタンをクリック。リソースが作成されます。

 

 

 

 

作成したBotにQnA Makerの認証情報を登録する

1.QnA Makerの『Sample HTTP Request』に認証情報を確認します。

 

 

 

 

 

2.QnA Makerの認証情報をWebアプリボットのアプリケーション設定に記述し、保存します。

QnAAuthKey:Authorization: EndpointKey以降の文字列
QnAEndpointHostName:Hostに書かれたURL
QnAKnowledgebaseId:/knowledgebases/以降の文字列

 

 

 

3.『Webチャットでテスト』にて動作確認ができます。
質問に対して何らかの返答がくれば成功です。

4.Webチャット以外でもSlackなどに連携することができます。これらも試してみるともっと手軽になります。

 

 

 

 

end