QnA Maker & Azure Bot Serviceで作るチャットボットサービス vol.2

Microsoft社のクラウドサービス Azure で提供されているQnA MakerとAzure Bot Serviceを利用してチャットボットを作成する手順を全3回でシェアします。QnA MakerとAzure Bot Serviceを組み合わせるとプログラミングなどを使わずにチャットボットを作成することができます。

チャットボット作成の流れ

チャットボットを実際に利用してもらえるようにするためには、3つのステップがあります。

チャットボット公開までの3ステップ
  1. QnA Makerをデプロイする。
  2. QnA Makerにナレッジを登録する。
  3. チャットボットを公開する。

第1回をご覧になっていない方は下記リンクからご確認ください。

第2回:QnA Makerにナレッジを登録する。

今回は QnA Maker をデプロイしてナレッジベースが登録できる状態にするまでの手順をシェアします。

QnA Maker へのナレッジ登録手順

QnA Makerポータルに接続する

QnA Maker のポータルに接続します。前回手順から引き続き行う場合は、図中のQnA Makerと書かれたリンクをクリックします。

QnA Maker & Azure Bot Serviceで作るチャットボットサービス vol.2
QnA Maker と KB を接続する

デプロイしたQnA Makerと knowledge baseを接続していきます。STEP2以降の欄に必要な情報を入力していきましょう。

QnA Maker & Azure Bot Serviceで作るチャットボットサービス vol.2

最後に、「Create your KB」のボタンをクリックしてKBを作成します。

QnA Maker & Azure Bot Serviceで作るチャットボットサービス vol.2
Knowledge baseを登録する

Knowledge baseのページにある「Add QnA pair」をクリックして Questionと Answer のペアを作成していきます。ペアを追加する際には、Add QnA pair をクリックして追加していきます。

QnA Maker & Azure Bot Serviceで作るチャットボットサービス vol.2

Questionに設定されたワードが入力されると、Answerの内容を返す動きになります。QuestionとAnswerには派生しそうな複数の内容を設定することもできます。また、Questionには複数の単語を並べて設定することも出来ます。

QnA Maker & Azure Bot Serviceで作るチャットボットサービス vol.2
複数のキーワード設定

Questionに複数のキーワードを設定することも可能です。例えば「know 意味」と設定してAnswerに「知っている」と設定しておけば、「knowの意味を教えて?」という入力に対して、「知っている」と応答する動きを作れます。チャットボットの脳ミソの部分ですので、作りたいチャットボットの仕組みに合わせて登録していくことが大切です。

登録したナレッジをトレーニングする

ナレッジベースの登録ができたら、QnA MakerのKB登録画面の右上に表示されている Save and train のボタンクリックします。このボタンを押すことで登録したナレッジをQnA Makerに学習させることができます。

としゆき

何度でも再修正可能なので、何件か登録したら動作を確認してみてください。
QnA Maker & Azure Bot Serviceで作るチャットボットサービス vol.2

Save and trainのボタンを押すとhang tight, this should only take a minute.のメッセージが表示されます。表示通り、少し待ちます。

QnA Maker & Azure Bot Serviceで作るチャットボットサービス vol.2
学習した内容をテストする

学習が終わったら、QnA MakerのKB登録画面の右上に表示されている Test ボタンをクリックします。「Type your message here …」に登録したキーワードを入力するとAnswerに設定した内容が応答されることを確認してください。下の画像だと、 get と look は設定していますが、 over は未設定のため、KBに一致するものが見当たらなかったという内容のメッセージが表示されています。

QnA Maker & Azure Bot Serviceで作るチャットボットサービス vol.2

英単語を入力すると例文を返すというシンプルな機能ですが、QuestionとAnswerのカスタマイズをすることで英語辞書としても利用できるチャットボットに成長させることもできます。

チャットボットのカスタマイズ例

単語の例文と意味を教えてくれるチャットボットにカスタマイズする場合、「単語(変数) + 意味」、「単語(変数) + 例文」のQuestionを与える事で機能を追加できます。

  • Question:know 意味 Answer:知っている
  • Question:know 例文 Answer:know the boy

上記2つのパラメータを与えるだけで、「knowの意味を教えて」という入力に対して意味を教えてくれる機能を実装することが来ます。自然言語処理はQnA Maker(Cognitive Services)が行ってくれるので、日本語をフルフレーズで登録する必要はなく、キーワードだけ登録すればQnA Makerが適切なナレッジベースを参照してくれます。

ローカル環境でチャットボットを動作させる。

ここまでで、チャットボットの中身については完成です。次回(第3回)は、作成したチャットボットを外部から利用するための設定方法を紹介していきます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA