友人たちとの悪ふざけがキッカケで「ラクして質問に答えるBOTを作るにはどうしたらいいか?」ってなりまして、試してみたかったMicrosoftのサービスである「QnA Meker」と「Azure BOT Service」を利用してみました。
「QnA Meker」は日本語対応できてないかな?って思い込んでたんですが、実際に試してみると結構対応できてました!しかもノンコーディングで手軽にBOT作成ができてイイ感じだったので手順メモ。
悪ふざけの内容はさすがに表に出せないので(おそらくいろんなとこから怒られるw)、変わりに弊社サービス「マイソースファクトリー」のヘルプページの内容を使ってお問い合わせBOTを作成し、WebページにBOTを組み込んでみます。
QnA Mekerとは?
Microsoftが提供するCognitive Serviceに仲間入りしたサービスで、質問と答えのリストかFAQ形式のWebページから、ノンコーディングでQ&A BOTを自動で生成してくれるサービス。併せてAzure Bot Serviceを利用すれば、SkypeやSlack、Web Chatなどのサービスに対応するBOTが簡単に作れます。手軽なのにできることがすごいw
QnA Mekerの設定
QnA Meker( https://qnamaker.ai/ )にアクセス・ログインして設定していきます。
上部メニューの「Create new service」をクリック。
赤枠内に入力していきます。
「FAQ URL」は入力するとそのページ内から質問と答えを自動で引っ張ってきてくれます。(もしなければ後から入力できるので空欄でもOK)
さきほどヘルプページのURLを設定したので、ページから質問と答えが入っていますが、この部分はページの作りによって読み込めたり失敗したりするようです。(マイソースのヘルプページも全部は読み込めませんでした)
上部の「+Add new QnA pair」ボタンをクリックして枠を増やすと質問と答えはブラウザ上から追加可能。
赤枠内の内容をブラウザ上から追加してみました。追加が完了したら「Save and retain」をクリック。
実際にBOTが返事するか確認してみます。左メニューの「Test」をクリックするとテストできます。
日本語を質問として入力してみると、キチンと答えが返ってきています。ちなみに、いくつか候補がある場合は左側に表示されるので、その中から適切なものを選択することで学習させることができるとのこと。( 「Save and retrain」をクリック)
Web API経由でアクセスして利用できるようにBotを公開します。
上部の「Publish」ボタンをクリック。最終的に上記のページに遷移すれば準備完了!
Azure BOT Serviceの設定
Azureポータル画面から「Azure BOT Service」を新規作成します。
「+新規]→「Data+Analytics」から「Bot Service」を選択。
このようなページに遷移するので「Create Microsoft App ID and password」をクリック。
「アプリパスワードを生成して続行」をクリックするとパスワードが表示されます。キチンと管理しておきましょう。
「Bot Service」の画面に戻るので、さきほど表示されたパスワードを入力。
下方の「Choose a templete」から「Question and Answer」をクリック。checkを入れて「Create BOT」をクリック。
このようなダイアログが表示されるので、今回は事前に作成しておいたBOTを選択。
ちなみに、QnA Makerで作成していない場合は「Create a new knowledge base」を選択するとQnA Makerに新規作成します。
しばらく待つとBOT Serviceの画面が表示されるので上部の「CHANNEL」をクリック。
赤枠内の「Web Chat」のEditをクリック。
「Add new site」をクリックして名前を入力するとこの画面になります。
ここに表示されているiFrameタグをBOTを入れたいWebページ内に入れるだけ。
Webページで公開したのがこのような形。ものすごく簡単にBOTができました!!
最後に
このような感じで「QnA Meker」と「Azure BOT Service」を利用すればびっくりするくらい手軽にBOTを作成して公開することができます。
また、今回はWebページに組み込みましたが、今回の方法でBOTを一つ作っておくとSlackやSkypeなどにもBOTをとして公開できます。それぞれのサービスごとにBOTを作る手間が省けるのはすごいなと感じました。
ただ日本語対応されているというものの、まだビミョウなところもあるのでキチンとしたサポートBOTを作ろうとすると手間はかかるかな?といった印象はあります。
しかしながら、ここまでノンコーディングでできるのでBOTをお試ししてみる場合はいいのではないかと!