投稿者:水津

4/27, 28日に実施されました Watson Summit 2017 のソリューションシアターにて、「Watson × LINE で実現する新しいコミュニケーション」というタイトルで、Watsonを用いた働き方改革支援について講演(少し長いLT)とデモを行いました。2日間合計で約130名(弊社調べ)と、立ち見もでるほどの盛況ぶりでした。ありがとうございます!! 講演資料は以下SlideshareにUpしてますので、ご活用くださいませ。
講演資料(Slideshare)

さて本日は、講演時に見せましたデモについて、すっごくカンタンに紹介したいと思います。 デモ環境の構成ですがSliadeshareの8ページに記載している通りとなります。事前にこの環境をご準備ください。必要なものは以下となります。

  • LINE
    • Messaging API
    • Client App
  • Bluemix
    • Node-RED (ボイラープレート)
    • Conversation(Watson)
    • Tone Analyzer(Watson)
    • Language Translator(Watson)

LINE Messaging API のアカウントについては、以下の記事などを参考にご準備ください。
http://qiita.com/yoshizaki_kkgk/items/bd4277d3943200beab26

Bluemixについては、以下手順でご準備ください。

  1. Bluemixカタログより、Node-REDボイラープレートをオーダーする
  2. Bluemixカタログより、Conversation, Tone Analyzer, Language Translator のサービスをオーダーする。この際、1で作成したNode-REDアプリケーションにオーダーするサービスをバインディングすること。
  3. Node-REDアプリにアクセスする。初回はセキュリティ設定等求められるので、画面指示に従い設定下さい。(参考:http://dotnsf.blog.jp/tag/nodered

環境が準備できましたら、Conversationの対話定義を準備します。Conversationの管理コンソールにアクセスし、以下定義をインポートください。
workspace-20170417.json
(参考:Conversationサービスでの会話フロー作成実習

次に、LINE Messaging API のWebhook URL先となるNode-REDフローを準備します。

  1. Node-REDアプリにアクセスする
  2. 今回のデモはメッセージ集約処理が必要になりますので、「Aggregatorノード」を追加する
    (参考1:node-red-contrib-message-aggregator
    (参考2:Node-REDでメッセージの待ち合わせをする
    1. 右上のメニューより、「処理ノードの追加削除」を選択
      スクリーンショット 2017-05-25 14.16.21.png
    2. 左メニューより「処理ノードの追加」タブを選択
    3. 検索フィールドに「node-red-contrib-message-aggregator」を入力、「処理ノードの追加」ボタンを押す
      スクリーンショット 2017-05-25 14.19.16.png
    4. ノードパレットに「Aggregator」ノードが追加されたことを確認する
      スクリーンショット 2017-05-25 14.20.02.png
  3. 以下のフロー定義をインポートする
    node-red-flow.json
    (参考:http://qiita.com/asmanabu/items/d9ba9ff0fca745c8c216
  4. ノード設定の修正を行う
    1. Conversationノード:workspace id を入力する
    2. function「CreateSendingHeader」ノード(2箇所):LINE Messaging API の Channel Access Token と メッセージを投稿するグループのIDを入力する

最後に、LINE Messaging API のWebhook URL設定を、作成したNode-REDのhttp inノードのURLに更新すると完成です。LINE Messaging APIの画面にあるQRコードでボットとお友達になり、実際に動きを試してみて下さい!

IMG_0214.png