LINE x Watson AIボット入門

- この資料は「Bluemix Users's Group Nagoya女子部」での講演資料です。

- - -
## 今回は IBM Watson の Watson Assistant と LINE の Messaging APIを使って簡単なチャットボットを作成します。

主な流れ
- LINE チャンネル設定
- Node-REDでチャットフロー作成
- LINE と Node-REDをつないでテスト
- Watson Assistantを設定
- Node-REDとWatson Assistantを繋いで完成

- - -
## なぜやるのか
- LINEは日本最大のチャットプラットフォーム
- Watson Assistantはチャットボットのバックエンドとして採用率が高い（らしい）
- LINE BOOT AWARDS 2018 開催中！
- 
[LINE BOOT AWARDS 2018](https://www.line-community.me/awards/)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/d9cc6bf6-7898-619b-fc0d-75f8504bd37c.png)


- - -

## Speaker
### Atsushi Bird Tomita

R&D
ソフトウェア エンジニア
IBM Champion for cloud 2018
水曜ワトソンカフェ
RoBoHoN認定トレーナー

- - -

## AIって何？
- - -
## 身近にあるAIサービス
- 音声認識 (スマホ・スマートスピーカー）
- ARアプリ（画像認識）
- QRコード（画像解析）
- チャットボット　雑談系　（ex りんな）   
https://www.rinna.jp

- - -
## 今回のお題に近いもの
クロネコヤマト Lineアカウント
http://www.kuronekoyamato.co.jp/ytc/campaign/renkei/LINE/
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/54b45da5-6a38-1f3c-2a1b-12204bd4e28c.png)

- - -

## [IBM Watson](https://www.ibm.com/watson/jp-ja/developercloud/services-catalog.html)

- - -

## 今回使うサービス
- [Watson Assistant ](https://www.ibm.com/watson/jp-ja/developercloud/conversation.html)
- [LINE Messaging API](https://developers.line.me/ja/services/messaging-api/)
- [Node-red](https://nodered.org)

- - -
## LINE Messaging API の特徴

- - -
## プッシュメッセージと応答メッセージ

![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/283eaa8a-fb04-1fbd-ba8b-43f73a02c31f.png)

- - -
## 1対1、グループでトーク可能

![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/4a8c1e8a-c325-a030-67cd-dac8cb71982a.png)

- - -
## LINE Developer 登録をしよう
- [Line Developers](https://developers.line.me/ja/)
- Lineアカウントには事前にメールアドレスの登録が必要です。
- 開発者名とメールアドレスを入力して登録します。

- メールアドレスの確認メール送信はアカウント設定から
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/b3babffe-7e20-6190-b606-cb3f164a98a0.png)

画面右側の以下のリンクをクリックしてメールを送信しましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/71fd8625-420e-1cb4-ae70-8c055123704f.png)

- - -
## プロバイダ登録

![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/e47adf63-1990-8608-0cd6-192216284096.png)

- - -
## プロバイダ名
BMXGG-NAGOYA-WSxx など、他と被らないように設定します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/466a79a7-276e-6ad0-7157-d7a4d3201e68.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/6805608c-0860-90c4-e026-e9d25af1012f.png)

- - -

## チャンネル作成
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/094cd3ac-04be-c19f-d12e-d7dfe4f6b509.png)

- - -
## チャンネル設定
- アプリ名やアイコンなど必要な情報を埋めて、「入力内容を確認」。
- 確認画面で利用規約に同意して「作成」ボタンを押します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/c685f912-2d71-7725-ac92-bd50eb124d47.png)

- - -
## とりあえずチャンネルできた
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/1ed3753d-84a4-59ef-35d4-e55ec6ea9ae5.png)

- - -

## IBM Cloud アカウントを作ろう
IBM Cloudのライトアカウント（クレジット登録不要の無料アカウント）をまだ作成していない方は以下の記事を参考に作成してログインしてください。
[IBM Cloud (aka Bluemix) ライト・アカウント作成手順](https://qiita.com/KenichiSekine/items/249d2ff691b6565fb127) http://ibm.biz/litecloud

- - -
## Node-RED 環境の作成

IBM Cloud にログインし「カタログ」から「スターターキット」を選び、「Node-RED Starter」をクリックします、。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/09f87953-2ca1-5fb8-ee80-bd13ce2de34e.png)

- - -
## Node-RED 環境の作成 2
- アプリ名（ここに設定するとそのままホスト名になる）は **世界中で一意**になるように設定します。
- デプロイする地域は~~大人の事情により~~「米国南部」にして下さい。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/9ca1f571-211b-804b-7be4-0c7c98160d48.png)

- - -
## 作成完了
ダッシュボードに作成したアプリケーションがあるので、クリックして開く
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/3634310c-56be-13b8-2659-dbe39348826a.png)

- - -
## アプリケーション起動
右上の「・・・」（縦）をクリックして、「起動」を選択。しばらくして状態表示が緑になって「このアプリケーションは稼働中です」になったら、「アプリURLにアクセス」をクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/f2f057a2-b8bb-852b-278e-b2aa6d48405b.png)

- - -
## Node-RED初期設定
画面指示にしたがって、アクセス制限のためのユーザー名・パスワードを設定します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/9fa15678-2a2a-313d-8ebf-b7c8b7c84b8b.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/193255c4-d026-f3da-d383-02d845cba08f.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/3e063fe5-92fb-3c3a-d083-9313903e0ebc.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/d17c9a4d-fc82-d60e-c915-b3355e63fc2d.png)

- - -
## Node-RED起動
以下の「Go to your Node-RED flow editor」から起動。次回から、https://<設定したホスト名>.mybluemix.net/red/ からアクセスできます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/f664cfba-c0ff-cb00-26f3-e1bb803c8be0.png)

- - -
## Node-RED flow editor
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/a720ae1c-9d85-d4c3-8a92-a9c72891022e.png)

- - -
## Node-RED による Webサービス 基本ノード
- http-in Webサービスの入り口を設定。GET / POST が選択できる。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/5353782a-9c2c-23c2-a59a-7b483241af68.png)
- http-response レスポンスを返す
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/cd348425-f690-8b82-936d-9758b7167b46.png)
- http-request フローの途中で外部APIにアクセスして結果を受け取る
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/d2e9299b-4397-4f78-f3ff-f2949883259c.png)
- debug 設定されてるデータをコンソールに表示
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/89bc3593-af74-c8c3-999c-85479fe88e28.png)

- - -
## フローを作ってみよう
こんな感じでフローを並べる。各部品（ノードという）の左側の○がインプット右側がアウトプット。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/055b0f11-5805-5a4f-2530-237bfa9beb23.png)

- - -
## ノードの設定
各ノードをダブルクリックするとプロパティを設定できる。http-inノードのURL に　「/hoge」と設定
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/430fdce4-2d52-2384-7e1a-215142dc711a.png)

- - -
## ノードの設定２
changeノードでpayloadに「fugafuga」と値を設定。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/4138a403-c9be-278a-83ff-7561d7408e06.png)

- - -
## Deploy
右上で赤くなっている「Deploy」をクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/02dc7182-3fd8-7205-1d7f-a205e1aa37dd.png)

- - -
## 動作確認
ブラウザで「https://<設定したホスト名>.mybluemix.net/hoge/」にアクセスして表示を確認
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/475f367c-67f8-856e-d39e-b67410499ea9.png)

- - -
## LINEチャンネルとの連携

- - -
## LINE チャンネル設定
Line Developersに戻り、先ほど作ったチャンネルを選択して、以下を設定します。
### メッセージ送受信設定
- アクセストークンを「再発行」してコピーしておく
- Webhook連携を「利用する」
- Webhook URLに　「<設定したホスト名>.mybluemix.net/lineWebhook/」
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/d6d6d6f7-9360-49a7-a9cd-07a3b6e19459.png)

### LINE機能の利用
- 自動応答メッセージ　を　利用しない　に
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/d92210e0-520d-6322-961e-cebd390c7319.png)


- - -
## Node-REDフローのインポート
以下をコピーして、Node-REDの右上ハンバーガーメニュー → import → clipboard に貼り付けてインポート

``` LINEBOT-nodeflow.json
[{"id":"4fea658.10aa61c","type":"change","z":"2a26af3d.0992b8","name":"","rules":[{"t":"set","p":"line_accessToken","pt":"flow","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":410,"y":220,"wires":[["c4c2e442.c99eb"]]},{"id":"11aaed71.5b964b","type":"http in","z":"2a26af3d.0992b8","name":"","url":"/lineWebhook","method":"post","upload":false,"swaggerDoc":"","x":150,"y":220,"wires":[["4fea658.10aa61c","13174f94.e4aec","c2fe4d09.3acca"]]},{"id":"c2fe4d09.3acca","type":"http response","z":"2a26af3d.0992b8","name":"","statusCode":"","headers":{},"x":350,"y":180,"wires":[]},{"id":"13174f94.e4aec","type":"debug","z":"2a26af3d.0992b8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":150,"y":380,"wires":[]},{"id":"6df59a10.cdf4ec","type":"http request","z":"2a26af3d.0992b8","name":"","method":"POST","ret":"txt","url":"https://api.line.me/v2/bot/message/reply","tls":"","x":650,"y":400,"wires":[[]]},{"id":"c4c2e442.c99eb","type":"change","z":"2a26af3d.0992b8","name":"","rules":[{"t":"set","p":"payload.replyToken","pt":"msg","to":"payload.events[0].replyToken","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":280,"wires":[["2ad2fb25.e0c424"]]},{"id":"960030f8.701b78","type":"change","z":"2a26af3d.0992b8","name":"★返信設定","rules":[{"t":"set","p":"text","pt":"msg","to":"payload.events[0].message.text","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":340,"wires":[["a69f47cd.698288"]]},{"id":"2ad2fb25.e0c424","type":"change","z":"2a26af3d.0992b8","name":"set HTTP Headers","rules":[{"t":"set","p":"headers","pt":"msg","to":"{}","tot":"json"},{"t":"set","p":"headers.Content-Type","pt":"msg","to":"application/json","tot":"str"},{"t":"set","p":"headers.Authorization","pt":"msg","to":"'Bearer ' & $flowContext(\"line_accessToken\")\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":280,"wires":[["960030f8.701b78"]]},{"id":"a69f47cd.698288","type":"change","z":"2a26af3d.0992b8","name":"","rules":[{"t":"set","p":"payload.messages","pt":"msg","to":"[{\"type\":'text',\"text\":msg.text}]","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":340,"wires":[["6df59a10.cdf4ec"]]}]
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/ac9b1d50-3a14-8044-9a03-f27b8e93235a.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/761aa2dc-7034-af49-f3a8-1385f3ae742e.png)

- - -
##貼り付けたフロー
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/0fc8750d-e8ea-bdbc-0e6e-bcf9499e01cb.png)


- - -
## アクセストークンの設定
「set flow.line_accessToken」ノードをダブルクリックして、先ほどコピーしたアクセストークンを to 欄に貼り付けます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/9ede1167-49bb-70d5-431b-18e46c175f09.png)

- - -
## Deploy!!

- - -
## とりあえずテスト
LINE チャンネル設定画面の、下の方にあるQRコードを、LINEアプリで読み取り友達追加します。


- - -
## おうむ返ししてくれたら成功です
<img width="375" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/45591/d201165e-ef33-0b9c-8035-fcf837ef1699.png">

- - -
## カスタマイズ
★返信設定ノードに文字列を設定すると、その文字列をLineボットが返します。
つまり、ここにWatsonや他のAPIとの処理結果を入れてあげれば良いのです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/a7c4f565-473c-fa04-6be3-44a04eb2d908.png)


- - -
# ここから本題

- - -
## Watson Assistant

- - -
## サンプルファイル
まずは、[ここ](https://birdtomita.github.io/watson-assistant-workshop/wa-sample.json)からサンプル用のファイルをダウンロードしてください。拡張子を「.json」にして保存してください。

- - -
## Watson Assistantの準備
IBM CLoudのカタログページから「AI」セクションの中の 「Watson Assistant」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/4b08cbe7-2d56-a100-1952-8f658e41ec00.png)

- - -
## サービスの作成
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/1dc1b63c-1ad4-4f2e-0456-7c8ad721c0a0.png)

- - -
## ツールの起動
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/2d90af39-9493-e7a7-8430-2d3db40e094b.png)

- - -
## Workspaceの作成
本来ならばここで新規にWorkspaceを作成しますが、今回は先ほどダウンロードしたサンプルファイルを使います。「Workspaces」をクリックしてください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/9154c32a-1153-e9bf-6d46-b251a873aa5b.png)

- - -
## インポート
上むき矢印をクリックしてファイルをインポートします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/267be2c3-924b-78e2-0b4b-e5c9257f016c.png)

- - -
## サンプルファイルを選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/b26f0f46-8bf0-ed02-12d7-1d8d44396110.png)

- - -
## Workspace
今回はカフェで注文を受ける~~実際は受けないで誘導するだけ~~ボットを作成しました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/9a39ce07-c3ac-5a2e-a988-a8d1d9b44c3f.png)

- - -
## Intentを見てみよう
Intentはユーザーの発話意図の分類。「目的語」になります。今回は「注文」というIntentを追加しました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/dc41acb3-e76d-0699-80c6-ea41e55ef852.png)

- - -
## Entity
語群です。今回は「飲み物」「食べ物」を追加しました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/a073b5ed-7a3f-2a37-12ab-77858b777ce8.png)

- - -
## Content Catalog
よく使いそうなIntentは事前に作ってくれてあります。今回「一般」のIntentをインポートしました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/1c506ae8-9583-7ac8-4287-2aefc79101f9.png)

- - -
## Content Catalog 一般
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/ea8ffac0-d219-7a6c-6305-94d2780ecdc5.png)

- - -
## Dialog
発話の流れです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/13aef02c-e47b-ab30-8601-7d03fee04f7f.png)

- - -
## Dialog ノード
ユーザーの発話内容を解析して、該当のノードが選択されます。ノードには発話理解の内容と、その場合の返事、実行後の処理などを設定できます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/4881e236-7a06-20e3-897e-e9d24cd364b8.png)

- - -
## Dialog ノード ランダム返答
複数の返答を用意してランダムで返すこともできます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/d6124200-8589-6e89-31db-79fd1ea0622a.png)

- - -
## Dialog ノード　変数設定
理解した発話内容から変数の設定ができます。"@entity名.literal"とすることで、「ラテ」などの認識した結果を設定できます。"@entity名"のみの場合は、「カフェラテ」などの代表語が入ります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/9e4042ca-4142-74b9-0ba8-698f90cfe535.png)

- - -
## テスト
Dialog画面の右上の「Try it」ボタンをクリックすると、会話テストができます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/36afb655-4a27-7a2f-31dd-ae3dbf418a99.png)

- - -
## Node-REDとの連携

- - -
## フローの修正
Watson Assitantと接続するようにフローを修正するので、先ほどのフローを範囲選択して「Delete」で消してから、下のJSONをインポートし治してください。

``` LINEBOT-Watson-nodeflow.json
[{"id":"4fea658.10aa61c","type":"change","z":"2a26af3d.0992b8","name":"","rules":[{"t":"set","p":"line_accessToken","pt":"flow","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":410,"y":220,"wires":[["bb0e606f.d432a8"]]},{"id":"11aaed71.5b964b","type":"http in","z":"2a26af3d.0992b8","name":"","url":"/lineWebhook","method":"post","upload":false,"swaggerDoc":"","x":150,"y":220,"wires":[["4fea658.10aa61c","13174f94.e4aec","c2fe4d09.3acca"]]},{"id":"c2fe4d09.3acca","type":"http response","z":"2a26af3d.0992b8","name":"","statusCode":"","headers":{},"x":350,"y":180,"wires":[]},{"id":"13174f94.e4aec","type":"debug","z":"2a26af3d.0992b8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":150,"y":420,"wires":[]},{"id":"6df59a10.cdf4ec","type":"http request","z":"2a26af3d.0992b8","name":"","method":"POST","ret":"txt","url":"https://api.line.me/v2/bot/message/reply","tls":"","x":670,"y":420,"wires":[[]]},{"id":"960030f8.701b78","type":"change","z":"2a26af3d.0992b8","name":"Watson Assistant 送信文設定","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.events[0].message.text","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":280,"wires":[["702fe99f.ea7ff"]]},{"id":"2ad2fb25.e0c424","type":"change","z":"2a26af3d.0992b8","name":"set HTTP Headers","rules":[{"t":"set","p":"headers","pt":"msg","to":"{}","tot":"json"},{"t":"set","p":"headers.Content-Type","pt":"msg","to":"application/json","tot":"str"},{"t":"set","p":"headers.Authorization","pt":"msg","to":"'Bearer ' & $flowContext(\"line_accessToken\")\t","tot":"jsonata"},{"t":"set","p":"payload.replyToken","pt":"msg","to":"replyToken","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":470,"y":420,"wires":[["6df59a10.cdf4ec"]]},{"id":"a69f47cd.698288","type":"change","z":"2a26af3d.0992b8","name":"","rules":[{"t":"set","p":"payload.messages","pt":"msg","to":"[{\"type\":'text',\"text\":msg.payload.output.text[0]}]","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":340,"wires":[["2ad2fb25.e0c424"]]},{"id":"702fe99f.ea7ff","type":"watson-conversation-v1","z":"2a26af3d.0992b8","name":"","workspaceid":"245f442f-1751-4b6f-9caa-2f2d9bef74aa","multiuser":false,"context":true,"empty-payload":false,"default-endpoint":true,"service-endpoint":"https://gateway.watsonplatform.net/assistant/api","timeout":"","optout-learning":false,"x":620,"y":280,"wires":[["a69f47cd.698288","fa0fc231.e611"]]},{"id":"bb0e606f.d432a8","type":"change","z":"2a26af3d.0992b8","name":"","rules":[{"t":"set","p":"replyToken","pt":"flow","to":"payload.events[0].replyToken","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":220,"wires":[["960030f8.701b78"]]},{"id":"fa0fc231.e611","type":"debug","z":"2a26af3d.0992b8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":690,"y":340,"wires":[]}]
```

- - -
## インポート・Lineアクセストークン設定
下記のフローをインポートしたら、先ほどと同様に「set flow.line_accessToken」ノードにLINEチャンネルのアクセストークンを設定します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/44ddc09e-8d19-0b7d-96d7-a854be27f1d5.png)

- - -
## Watson Assistant認証情報の確認
Watson Assistantの左側のタブ、上から２番目「Deploy」を選択し、「Credentials」をクリック。
必要なのは以下の情報です。
- Workspace ID
- Username
- Password

![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/af93472a-cebc-7d67-cb36-2f9dbda86b6e.png)

- - -
## Node-RED, Watson Assistant ノード設定
上記情報を、Node-REDフローの青いアイコン「Watson Assistantノード」に設定します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/6293b5c2-da19-9bcf-8251-774596992e20.png)

- - -
## 単体テスト方法
以下のようにinjectionノードに文字列を設定してWatson Assistantノードに接続すれば、動作確認ができます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/45591/8b87e309-23a4-c283-a855-2eb7aa5305ac.png)

- - -
## Deploy!!

- - -
## 完成

<img width="375" alt="image.png" src="https://qiita-image-store.s3.amazonaws.com/0/45591/8b6e467c-7f16-84d5-2af4-e7956d19a257.png">


- - -
## 所感と補足
- Watson Assistantは慣れるとわかりやすい
- Node-REDとWatson Assistantの接続が簡単！
- 今回はやらなかったけど、ユーザーの投稿した画像をWatson Visual Recognitionに投げるボットなどmの開発可能
- Line ボットを実際に運用するには証明書の確認などもう少しやることがある
- 似たような方法でClovaスキルも開発できます（APIは別）

- - -
# Let's try!