Teamsで使えるQ&Aチャットボットを60分で組み立てる(QnA Maker)


はじめに

こんにちは 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.必要情報を入力していきます

image.png


4.デプロイの完了を待ちます
デプロイが完了したらQnA Makerの準備は完了です!

image.png

③QnA Makerの設定

1.QnA Makerは専用のポータルがあるのでここで設定やAIのトレーニングを行います
よく使うので下記はブックマークしておくと良いです
https://www.qnamaker.ai/


2.Create a Knowledge baseからナレッジベースを作成していきます

image.png

3.②-3で設定した必要情報を選んで、②で作成済のQnA Makerを選択します

image.png

4.ナレッジベースの初期構築
QnAナレッジベースの名前を設定し、①で事前に作成しておいたエクセルをアップロードします
最後にCreate KBをポチっとしたら完了です

image.png

5.ナレッジベースの完成
この画面でナレッジベースにナレッジを追加したり編集したり削除したりすることが可能です

image.png


6.Testを選択して、AIのテスト及びトレーニングを行います

image.png


7.チャットの画面で質問を投げかけるとAIがナレッジベースを元に回答を返してきます

image.png


8.トレーニングを行う際は以下の説明を参考にしてみてください

image.png


9.ナレッジの編集やトレーニング実施後は必ず状態を保存しましょう

image.png


10.Q&AをPublishします
これを行うことで他サービスとの連携が可能になります

image.png


11.ポチっとしましょう

image.png


12.今回は簡単に連携できるBOTを作成するので[Create BOT]を選択します
Postmanの接続情報を使って、自作のBOTと連携させることも可能ですが今回はBot Serviceを活用してBOTを構築します。

image.png

④BotService(AzurePotal)の準備

1.Bot Serviceを構築するための必要情報を入力します
以下は入力の例です(価格レベルの設定がデフォルトだとS1なので、フリーで使う場合はFを指定する必要があります)

image.png


2.前項で正常にデプロイが完了するとポータル右上部に完了通知がでるのでリソースに移動します

image.png


3.BOTがQnA Makerと連携できていることをテストしてみます
Q&Aエクセルに記入した質問に対する回答が返ってくることが確認できたらOKです

image.png

⑤Teamsに接続して、動作確認

1.Botのチャンネルを選択します

image.png


2.Microsoft Teamsチャンネルを構成を選択します

image.png

3.保存を押します
前はもう1ステップあったんですが、今は保存を選択して、条件を確認して問題がなければAgreeするだけです。
※同じプロバイダー内である必要はあると思いますが・・・      

image.png

      ↓    ↓    ↓    ↓

image.png

4.チャンネル選択にTeamsが追加されていること確認し、Teamsを選択するとチャットボットと会話を始めることができます

image.png


5.最後にTeamsで動作確認したら完了です
キャプチャの初回挨拶は日本語になっていますが、デフォルトだと英語で挨拶するはずです。
※日本語に変えたい場合は、Appendixをご参照ください!

image.png


⑤Appendix BOTの挨拶を日本語にする(簡単なプログラム修正が必要)

1.ビルドからオンラインコードエディタを呼び出します

image.png


2.ウェルカムメッセージを書き換えます

image.png

      ↓    ↓    ↓    ↓

image.png


3.変更を保存してRunします

image.png

      ↓    ↓    ↓    ↓

image.png


4.TeamsかBot Serviceで確認してみます
BOTの挨拶が日本語になっていれば確認完了です

image.png
いいね (この記事が参考になった人の数:23)
(↑参考になった場合はハートマークを押して評価お願いします)
読み込み中...

Teamsで使えるQ&Aチャットボットを60分で組み立てる(QnA Maker) への2件のコメント

  1. mitsumitsu

    こちらを参考にTeams用のBotを作成したのですが、このBotへはurlを知っていたら誰にでもアクセス可能なものなのでしょうか…?
    特定のドメインのteamsアカウントからのみのアクセスに制限することは可能でしょうか。

    1. あべ まき

      返信遅くなり申し訳ありません。

      >こちらを参考にTeams用のBotを作成したのですが、このBotへはurlを知っていたら誰にでもアクセス可能なものなのでしょうか…?
      >特定のドメインのteamsアカウントからのみのアクセスに制限することは可能でしょうか

      簡単なカスタムで以下のようなことが可能です。 利用したシーンに合わせて適切なやり方を選択していただければと思います。
      ・特定の組織からのアクセスに限定
      ・特定のドメインからのアクセスに限定
      ・初回アクセス毎に認証を求める 

現在コメントは受け付けておりません

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルプロセス&テクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください