この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
はじめに
こんにちは PPT(ぱーそるぷろせす&てくのろじー)でコグニティブサービスを活用したシステムをつくっている アベです。
チャットボット関連の記事を何章かに分けて、書いていこうかと思います。
今回は簡単なQ&A回答ができる、チャットボットをTeams上で動作するのを確認するところまでをゴールとします。
次回以降でLINEに対応させたり
乗換案内等の機能を追加して、LUISと連携させてユーザーの発言を解釈して、Q&A回答したり乗換案内したりするカスタマイズをしてみたいと思います。
今回のゴールのイメージ
QnA Maker
Microsoft社が提供しているコグニティブサービスの1つ
https://azure.microsoft.com/ja-jp/services/cognitive-services/qna-maker/
特徴をざっくり説明すると以下のような感じです
1) Q&A形式の問い合わせチャットボットを簡単に構築することができる
2) Q&Aの母体となる情報の投入がとても簡単、投入方法は大きく以下の3パターン
①既に存在するWebサイト上のQ&Aを自動で解析して、取り込んでくれる
②エクセル等のファイルをQ&A形式の情報を入れておいてこれをアップロードする
(今回はこの方式でやります)
③QnA Makerのトレーニング画面から直接投入
(今回は少しだけここにも触れます)
3) 2でも少し触れましたが、QnA Makerのトレーニング画面でAIのトレーニングが簡単に行える
60分で構築してみる
①Q&Aデータを準備する
1.空のExcel Bookを準備します
2.簡単なQ&Aを入力していきます
ヘッダ行にQuestionとAnswerを用意
※どんなヘッダでも読み込み可能ですが、一部ヘッダの記載内容により読み込まない場合もあるので、確実に読み込めるヘッダを用意しておくことが望ましいです
完成したら保存して、Q&Aデータの準備はこれで完了です!
②QnA Makerの準備(Azure Portal)
1.Azure Potalからリソースを作成します
2.検索窓で『QnA Maker』と入力します
3.必要情報を入力していきます
4.デプロイの完了を待ちます
デプロイが完了したらQnA Makerの準備は完了です!
③QnA Makerの設定
1.QnA Makerは専用のポータルがあるのでここで設定やAIのトレーニングを行います
よく使うので下記はブックマークしておくと良いです
https://www.qnamaker.ai/
2.Create a Knowledge baseからナレッジベースを作成していきます
3.②-3で設定した必要情報を選んで、②で作成済のQnA Makerを選択します
4.ナレッジベースの初期構築
QnAナレッジベースの名前を設定し、①で事前に作成しておいたエクセルをアップロードします
最後にCreate KBをポチっとしたら完了です
5.ナレッジベースの完成
この画面でナレッジベースにナレッジを追加したり編集したり削除したりすることが可能です
6.Testを選択して、AIのテスト及びトレーニングを行います
7.チャットの画面で質問を投げかけるとAIがナレッジベースを元に回答を返してきます
8.トレーニングを行う際は以下の説明を参考にしてみてください
9.ナレッジの編集やトレーニング実施後は必ず状態を保存しましょう
10.Q&AをPublishします
これを行うことで他サービスとの連携が可能になります
11.ポチっとしましょう
12.今回は簡単に連携できるBOTを作成するので[Create BOT]を選択します
Postmanの接続情報を使って、自作のBOTと連携させることも可能ですが今回はBot Serviceを活用してBOTを構築します。
④BotService(AzurePotal)の準備
1.Bot Serviceを構築するための必要情報を入力します
以下は入力の例です(価格レベルの設定がデフォルトだとS1なので、フリーで使う場合はFを指定する必要があります)
2.前項で正常にデプロイが完了するとポータル右上部に完了通知がでるのでリソースに移動します
3.BOTがQnA Makerと連携できていることをテストしてみます
Q&Aエクセルに記入した質問に対する回答が返ってくることが確認できたらOKです
⑤Teamsに接続して、動作確認
1.Botのチャンネルを選択します
2.Microsoft Teamsチャンネルを構成を選択します
3.保存を押します
前はもう1ステップあったんですが、今は保存を選択して、条件を確認して問題がなければAgreeするだけです。
※同じプロバイダー内である必要はあると思いますが・・・
↓ ↓ ↓ ↓
4.チャンネル選択にTeamsが追加されていること確認し、Teamsを選択するとチャットボットと会話を始めることができます
5.最後にTeamsで動作確認したら完了です
キャプチャの初回挨拶は日本語になっていますが、デフォルトだと英語で挨拶するはずです。
※日本語に変えたい場合は、Appendixをご参照ください!
⑤Appendix BOTの挨拶を日本語にする(簡単なプログラム修正が必要)
1.ビルドからオンラインコードエディタを呼び出します
2.ウェルカムメッセージを書き換えます
↓ ↓ ↓ ↓
3.変更を保存してRunします
↓ ↓ ↓ ↓
4.TeamsかBot Serviceで確認してみます
BOTの挨拶が日本語になっていれば確認完了です
mitsumitsu
こちらを参考にTeams用のBotを作成したのですが、このBotへはurlを知っていたら誰にでもアクセス可能なものなのでしょうか…?
特定のドメインのteamsアカウントからのみのアクセスに制限することは可能でしょうか。
あべ まき 投稿者
返信遅くなり申し訳ありません。
>こちらを参考にTeams用のBotを作成したのですが、このBotへはurlを知っていたら誰にでもアクセス可能なものなのでしょうか…?
>特定のドメインのteamsアカウントからのみのアクセスに制限することは可能でしょうか
簡単なカスタムで以下のようなことが可能です。 利用したシーンに合わせて適切なやり方を選択していただければと思います。
・特定の組織からのアクセスに限定
・特定のドメインからのアクセスに限定
・初回アクセス毎に認証を求める