【ビール女子麦子さん】 IBM WatsonとLINEでbotを作ってみた


1.きっかけ

私はクラフトビールが大好きなのですが、いろいろなビールに出会っても、種類が多すぎて覚えておけないということに悩みを感じていました。そこで、AI的なものにビールの情報を覚えさせて、Botを経由していつでも情報を引き出すことができるようにしたいと考えました。

botimage.png


2.作るもの

「ビール女子🍺麦子さん」というビールに特化したチャットボット。

・入力インタフェースはLineLine Messaging APIを利用)

・頭脳はIBM Watson Assistant

Node-RED

ime-ji.png


3.参考にした資料&作り方

以下の資料に従って環境の構築を行いました。

基本的には、この記事の手順に従えばOKなのですが、はまった点だけ書き出しておきます。

LINE x Watson AIボット入門

https://qiita.com/bird_tomita/items/4c307f05b6de384b0170


(1)Workspaceの作成方法

参考にしたサイトの「Workspaceの作成」のところで、以前は「Create a Workspace」というボタンがあったようですが、現在は「Create a Skill」に変わっています。以下の手順でサンプルのjsonファイルを読み込みました。

①[Skills]タブを選択

11.png

②[Create skii]ボタンをクリック

12.png

③[Import skill]タブの[Choose JSON File]からサンプルjsonファイルをインポート

13.png


(2)WatsonAssistantのWorkspaceID等の確認方法

参考にしたサイトの「Watson Assistant認証情報の確認」のところで、Workspace ID、Username、Passwordが必要になります。念のためIBMCloudからWatsonAssistantを起動するところも含めて、手順を記しておきます。

①IBMCloudの左メニューから[リソースリスト]をクリック

1.png

②リソースリストから[Watson Assistant]をクリック

2.png

③[ツールの起動]をクリック

3.png

④[Skills]タブを選択

4.png

⑤対象のスキルの右上の点々から「View API Details]をクリック

5.png

⑥このWorkspace ID、Username、Passwordを利用します。

6.png


(3)Node-REDのHttp requestの設定

手順通り設定してデプロイしたつもりでしたが、うまくLINE側回答が表示できないということが発生しました。よくよくみると、Node-REDのHttp requestの「認証を使用」が「オン」になってしまっていました。これを「オフ」にすると、正常に回答が表示されるようになりました。

21.png

よくわからないのは、それ以降もこの部分を変えたつもりはないのですが、何かのタイミングで「オン」に戻ってしまい、回答が表示されなくなるという事象が発生しています。また、原因がわかったら追記します。

<追記>

認証なしなのはちょっとよろしくない気がするので、以下のように設定変更しました。

・認証を使用にチェック

・Bearer認証

・Lineのアクセストークン(※)

※LineDevelopersのチャンネル基本設定のアクセストークン欄で参照できます


5.できあがり

こんな感じになりました!

よかったら使ってみてくださいね!

ビール女子🍺麦子さん 

  ↓↓↓↓↓

友だち追加

※現在開発中につき、予告なくサービスを停止したり、クーポンの配布テストなどを行う可能性がある点をご了承ください。


6.今後について

その後、麦子さんをGoogle Home Mini(Google Assistant)対応させたり、Watson Visual Recognitionを使って画像認識をする機能を追加したりしています。

また、時間を見て、そのことについても記事にしてみようと思います。