仕事の備忘録

IT系技術とか、カスタマーサービスとか

QnA Maker で全国の水産高校情報を返すBotを作成 その2改善とSkype連携

 Bot Framework による bot 作成の続き。先日QnA Maker との接続テストで使い勝手の悪い点があったので外部システムとの接続をする前に対応する。

機能改善

testedquality-tech.hatenadiary.jp

  1. 水産高校がない県を入力したときには、存在しない文言と地区の一覧を表示する。
  2. マッチしないときのメッセージを変更する。

まず1.から。QnA Maker にログイン

f:id:testedquality:20180513212013p:plain

昨日作ったKnowleged base が存在する。SuisanKokoのリンクをクリックするとEdit画面になるのでそこでデータ追加を行う。 

f:id:testedquality:20180513212128p:plain

現在水産高校が存在しない県は11存在する。この県を指定した場合には、ユーザーに近隣の県を知らせるようにした。ついでに瀬戸内と入れた場合も想定。海に面した県で水産高校がないのは、広島、岡山、和歌山、大阪と瀬戸内に面したところだけなのだ。

データ追加をしたらテストして問題なければ再度Publish をする。上部メニューをPUBLISHに切り替えて「Publish」ボタンをクリックする。

f:id:testedquality:20180513212919p:plain

f:id:testedquality:20180513212344p:plain

Publish していないとAzure Portal 側の「Webチャットでのテスト」メニューで利用できない。これに気づかず数回再起動してしまった。実施したらAzure Portal側で再テストしたほうがよい。瀬戸内が表示されたからOK。

f:id:testedquality:20180513213029p:plain

2.のメッセージはApp Service側で修正となる。昨日作成した際にQnA Maker 利用を選択するとApp ServiceにQnA Maker用の基本ソースコードが設定されるらしい。

そしてWeb アプリ ボットにはソースコードが存在していて修正できる。Visual Studio でソース修正かと思っていたが、Azure上には「オンラインエディターを開く」にて操作ができるとあるんで押してみた。

f:id:testedquality:20180513213748p:plain

 クリックすると以下のようにエディタが開く。「Aure App service editor」でソースの修正とビルドができるらしい。ステップは2つしかない。ソースの修正とコンソールでのビルドコマンド実施。f:id:testedquality:20180513221358p:plain

まずソースコードの修正、とあるがどこを修正すればよいのか?構成がよく分かってないので一つづつソースコードを開いて内容確認をした。wwwroot/Dialogs/以下にBasicQnAMakerDialog.cs がありそこに見慣れた文字を見つけた。すでにGAしているが互換性を考慮しているのかpreview用のコードもある。とりあえず内容からclass BasicQnAMakerDialog 内を修正してみる。

f:id:testedquality:20180513222101p:plain

f:id:testedquality:20180513222454p:plain

自動セーブらしい。左上でSAVEDと出ているので安心する。手順からこれをビルドするためにコンソールに移動するのだと思うが、どこにコンソールがあるかわからない。

色々探した末、Azure Portal からQnA Maker のドキュメントページに記載があった。ここのドキュメントはわかりやすいので、もうこちらを見ることにしようと思った。

Build a bot with the Azure online code editor - Bot Service | Microsoft Docs

f:id:testedquality:20180513223152p:plain

 画面左側の〇の中にコンソールボタンがある。これをクリックすると右側がコンソールに切り替わる。ここに画面のように「build.com 」と入力、Enterキーにてビルドが実行される。

f:id:testedquality:20180513223354p:plain

 ビルドが成功したら再度テスト。

f:id:testedquality:20180513223430p:plain

メッセージが変更できたことを確認したので、App Serviceを再起動する。これでbotサービスとしては準備完了である。

システム連携

これでシステム連携できるようになったので、slackやLINEのシステム連携を調べはじめたが、手続きおよびセキュリティ設定、およびプライバシーポリシーの提示などが必要。プライバシーポリシーの作成はきちんとすべきなので、今は無理。ということで、少人数ならOKなSkypeでの連携を実施した。

beachside.hatenablog.com

設定画面が実はコピーできなかったのだが上記ブログを参考にして対応できた。ただ、自分の環境の問題でSkypeのストア版がインストールできず、サポートに確認する羽目になったが治らず昔のSkypeでの動作確認となった。接続確認で時間がかかったのはまさかのSkypeをインストールする部分だった・・・

インストールが完了したらボットがすでに一覧に表示されている。メッセージのやり取りをしてみる。

f:id:testedquality:20180513225132p:plain

想定の動作をしていることを確認。これでほしいボットが利用可能になった。

 

ここまでの作成は実はすべて無料で実現可能。ただし、Azure Portal にてbotサービスを新規作成するとき、一緒にApp Service が作成されるが、初期設定は有料プランである。無料に切り替え忘れると見事に課金されるので注意が必要。初日の操作で150円くらい。