19
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

即作成&即使用開始! QnA Maker と Azure Bot Service で作る FAQ 対応チャットボット作成手順

Posted at

※本記事の情報は、2019年5月29日時点のものです。

はじめに

Microsoftが提供している、Cognitive Service QnA MakerとAzure Bot Serviceを使うことで、FAQ対応チャットボットを即座に作成し、即座に使い始めることが出来ます。本記事では、FAQ対応チャットボットを無料で作成する手順をまとめます。

事前準備

MicrosoftアカウントとAzureサブスクリプション

※Azureを使える環境にある方は、こちらを読み飛ばしてください。
Azureのサービスを使用するためには、Microsoftアカウント(もしくはGitHubアカウント)とAzureサブスクリプションが必要になります。お持ちではない方は、以下から作成・登録をお願いします。

・Microsoftアカウント
Microsoftアカウントの作成

・Azureサブスクリプション
Azureサブスクリプションの登録

1. チャットボットの頭脳を構築 with QnA Maker

1.1 AzureポータルでQnA Makerを作成

Azureポータルをお開き下さい。Azureポータルへのサインインは、こちらから画面上部の「ポータル」をご選択ください。

image.png

「リソースの作成」をクリックし、「QnA Maker」を検索後、「作成」を選択してください。

image.png

QnA Makerを作成するための設定を行います。必須項目を入力し終わりましたら、最後に「作成」ボタンをクリックしてください。

image.png

※「検索価格レベル」はAzure SearchのSKUを指しています。Azure Searchの無料プランは、一つのサブスクリプションに一つだけしか作成できませんので、ご注意ください。

1.2 価格プランの変更

作成されたリソースから、「App Serviceプラン」を選択してください。

image.png

「スケールアップ」タブをクリックしてください。
image.png

「開発/テスト」から「F1」を選択し、最後に「適用」をクリックしてください。

image.png

1.3 ナレッジベースの作成

QnA Makerでは質問と回答の対応表のことをナレッジベースと呼びます。ここで作成するナレッジベースがボットの頭脳として働きます。

QnA Makerポータルにアクセスし、Azureポータルにログインしたアカウントと同じアカウントでサインインしてください。

サインイン完了後、「Create a knowledge base」をクリックしてください。
image.png

STEP1は完了しているので、STEP2へと進みます。STEP2では、先ほど作成したQnA Makerサービスを選択します。STEP3では、ナレッジベースの名前を任意で決めてください。

image.png

STEP4では、ナレッジベースの元となるリソースをアップロードします。今回この記事では、サンプルとして以下のようにFAQがまとめられた.xlsxファイルをアップロードしたいと思います。

image.png

image.png

最後にSTEP5です。「Create your KB」ボタンをクリックすると、FAQボットの頭脳部の構築が始まります。

image.png

1.4 ナレッジベースのテスト

作成が完了しましたら、画面右上の「Test」ボタンをクリックして、テストを行ってみましょう。

image.png

ボットの形式で、テストを行えることをご確認ください。
image.png

1.5 発行

ボットの頭脳部分を構築することができたので、最後にチャットボットから呼び出せるよう、発行を行います。画面上部の「Publish」ボタンをクリックしてください。

image.png

遷移した画面で再度「Publish」ボタンをクリックし、発行作業は完了です。
image.png

2. チャットボットを構築 with Azure Bot Service

発行が完了すると、以下のような画面になります。ここで、「Create Bot」ボタンをクリックしてください。

image.png

ボタンをクリックすると、Azureポータルがブラウザの別タブで表示されます。ここで、チャットボットを動作させる環境の設定を行います。必須項目を入力し終わりましたら、最後に「作成」ボタンをクリックしてください。

image.png

作成完了後、Botリソースを選択してください。
image.png

画面左部「Web チャットでテスト」タブを選択すると、ブラウザ上でボットのテストを行うことが出来ます。
これで、頭脳を持ったチャットボットが作成できました。
image.png

3. チャンネルに接続 with Azure Bot Service Channels

作成したチャットボットをチャンネルに接続します。本記事では、例としてMicrosoft Teamsに接続をしてみたいと思います。画面左部「チャンネルタブ」をクリックすると、Azure Bot Serviceが提供している豊富なチャンネルが表示されます。この中から、「Teamsのアイコン」をご選択ください。

image.png

「保存」をクリックし、「チェックマーク」を付け、最後に「Agree」をクリックするだけでTeamsへの接続設定は完了です。
image.png

再びチャンネルタブに戻り、「ボットの埋め込みコードを取得」をクリックしてください。
image.png

ここで、htmlのソースコードが表示されます。例えば、これを社内向けのポータルサイトに貼り付けて一斉に配布するのも良いですし、URL部分だけをコピーして何らかの形で共有することも可能です。
image.png

実際に使用してみます。取得したURLを別タブからアクセスをし、Teamsのデスクトップアプリで動かすことが出来ました。

image.png

Tips集

追加情報を以下にまとめます。

1. QnA Makerでサポートされている形式

本記事では、.xlsxファイルをアップロードしましたが、QnA Makerではその他にも以下の形式をサポートしています。

image.png

実は、以下のようなFAQサイトのURLからも、質問と回答を抽出してナレッジベースを作成してくれます。

image.png

また、製品マニュアルなどが書かれた.pdfファイルからもナレッジベースの作成が可能です(日本語も対応しています)。

image.png

以下、参考ドキュメントです。
QnA Makerでサポートされている形式
QnA Makerで製品マニュアルを読み込む

2. Teams以外のチャンネルの接続方法

Azure Bot ServiceではTeamsの他にも、LINEやSlack、Webなど豊富なチャンネルを用意しています。それぞれの接続方法に関しては、以下のドキュメントをご参照下さい。

Azure Bot Serviceのチャンネル

3. チャットログを取得する

Azureで提供しているサービスの一つApplication Insightsを使えば、ユーザーがどのような質問をして、どのような回答をボットが返したのかを取得することが出来ます。Azure Bot Service作成時にApplication Insightsの作成を有効にすると、使用できるようになります。

分析という機能を使うことで、例えば、以下のように表形式でチャットログをみたり、
image.png

チャート形式で、使用されているクライアントの比率を分析したりすることもできます。
image.png

Application Insightsで上記のような分析を行う際には、クエリを書く必要がありますが、サンプルをGitHubにまとめてありますので、よろしければご参照ください。

Application Insights クエリ

4. サンプルコード集

開発者の皆さんに便利にお使い頂けるサンプルコードが、GitHubに公開されておりますので、よろしければ以下ご参照ください。

サンプルコード集

19
16
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
19
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?