Azure Bot ServiceでQnA Maker APIを使う。
追記
Build 2018前に書いた記事なんですが、未だにアクセスしていただいてるみたいなので、最新版の記事へのリンクを貼っておきます。
Cognitive Service入門を読んで、気になったので試して見た。QnA Maler APIは現在プレビュー版なので、今後仕様変更がされる可能性があるので注意。
QnA APIとは ?
FAQページやファイルを指定するだけで、お問い合わせ対応REST APIが爆速で作成できる。現在は英語しか正式対応していないが、日本語でも(他の言語でも)動く。 作ったAPIは、Bot Frameworkを通してslackやskypeと連携したbotにできる。
どのくらいの精度なのかは、把握してないけど、公式デモを動かしたところ、かなり良さげ。
QnA APIでの設定
QnA Maker公式サイトにアクセスして、Microsoft アカウントにサインインする。
Create new serviceを選択して新しいサービスを作成する。
サービス化したいFAQページのURLを指定するか、ファイルをアップロードする。ここではQnAのFAQページを指定した。
ページ下部のCreateを押すと数秒秒程度で作成が完了する。 めっちゃ早くて正直感動した。 FAQの量が多くなると処理時間は伸びそうだが、それでも数分で終わるらしい。
作成が完了すると以下のような画面になる。
FAQの追加
新しく質問・回答のペアを追加することもできる。
右上のAdd new QnA Pairからペアを追加できる
追加したらSave and retrainでモデルを更新する。
モデルのテスト
学習させたモデルはTestタブからすぐにテストができる。
APIの発行
設定が完了したらPublichからAPIを公開する。
後々QnAKnowledgebaseIdとQnASubscriptionKeyが必要になるので、メモしておく。
/knowledgebases/QnAKnowledgebaseId/generateAnswer
Ocp-Apim-Subscription-Key: QnASubscriptionKey
Azure Bot Serviceの設定
新規追加からWeb App Bot もしくはFunctions Botを選択する。 違いは料金体系だけ。 お試しレベルならどちらでも問題ない。
以下ではWeb App Botを使用する。
ボットテンプレートからQuestion and Answerを指定する。
Azure Bot ServiceがGAになってからは、アプリIDとパスワードは自動生成してくれるようになった。地味に楽。
作成ボタンを押してデプロイ。しばらく待つ。
作成されたリソースに移動し、 アプリケーション設定タブのQnAKnowledgebaseIdとQnASubscriptionKeyを設定して保存する
Botのテスト
Web チャットでテストタブで、アプリの動作テストができる。
まとめ
QnA Maker APIを利用すると問い合わせ対応botが素早く作れる。Azure Bot Serviceとの連携もカンタン。 GAが今から楽しみ。
次は作成したアプリをslackと連携させる