1.きっかけ
私はクラフトビールが大好きなのですが、いろいろなビールに出会っても、種類が多すぎて覚えておけないということに悩みを感じていました。そこで、AI的なものにビールの情報を覚えさせて、Botを経由していつでも情報を引き出すことができるようにしたいと考えました。
2.作るもの
「ビール女子🍺麦子さん」というビールに特化したチャットボット。
・入力インタフェースはLine(Line Messaging APIを利用)
・頭脳はIBM Watson Assistant
・Node-RED
3.参考にした資料&作り方
以下の資料に従って環境の構築を行いました。
基本的には、この記事の手順に従えばOKなのですが、はまった点だけ書き出しておきます。
LINE x Watson AIボット入門
https://qiita.com/bird_tomita/items/4c307f05b6de384b0170
(1)Workspaceの作成方法
参考にしたサイトの「Workspaceの作成」のところで、以前は「Create a Workspace」というボタンがあったようですが、現在は「Create a Skill」に変わっています。以下の手順でサンプルのjsonファイルを読み込みました。
③[Import skill]タブの[Choose JSON File]からサンプルjsonファイルをインポート
(2)WatsonAssistantのWorkspaceID等の確認方法
参考にしたサイトの「Watson Assistant認証情報の確認」のところで、Workspace ID、Username、Passwordが必要になります。念のためIBMCloudからWatsonAssistantを起動するところも含めて、手順を記しておきます。
①IBMCloudの左メニューから[リソースリスト]をクリック
②リソースリストから[Watson Assistant]をクリック
⑤対象のスキルの右上の点々から「View API Details]をクリック
⑥このWorkspace ID、Username、Passwordを利用します。
(3)Node-REDのHttp requestの設定
手順通り設定してデプロイしたつもりでしたが、うまくLINE側回答が表示できないということが発生しました。よくよくみると、**Node-REDのHttp requestの「認証を使用」が「オン」になってしまっていました。これを「オフ」**にすると、正常に回答が表示されるようになりました。
よくわからないのは、それ以降もこの部分を変えたつもりはないのですが、何かのタイミングで「オン」に戻ってしまい、回答が表示されなくなるという事象が発生しています。また、原因がわかったら追記します。
<追記>
認証なしなのはちょっとよろしくない気がするので、以下のように設定変更しました。
・認証を使用にチェック
・Bearer認証
・Lineのアクセストークン(※)
※LineDevelopersのチャンネル基本設定のアクセストークン欄で参照できます
5.できあがり
こんな感じになりました!
つくってみたー!!中身はWatson Assistant(Watson Conversation)です。会話のスキル作るの楽しい!!
— はぁこ🌸ビール女子麦子開発中 (@paco_itengineer) April 20, 2019
これからビールの知識を増やして立派なビール女子に育てます😃 pic.twitter.com/nZfuqH4IfC
よかったら使ってみてくださいね!
※現在開発中につき、予告なくサービスを停止したり、クーポンの配布テストなどを行う可能性がある点をご了承ください。
6.今後について
その後、麦子さんをGoogle Home Mini(Google Assistant)対応させたり、Watson Visual Recognitionを使って画像認識をする機能を追加したりしています。
また、時間を見て、そのことについても記事にしてみようと思います。