LINE BOTからWatson Conversationを使ってみる

Published: 2017年9月3日 by tomsato

概要

LINE BOTを作成して受け取ったメッセージ内容を元にWatsonのAPIを叩いてよしなに返信をするようにする

最初なので挨拶からの好きなゲームに答えるだけのBOTとする

構成図としては以下のようにする

流れとして、LINE BOT上でWebhookが設定できるので作成するNode-REDのURLを登録して
Node-REDが叩かれた時にWatsonのAPIを叩く

そもそもWatsonが何かは以下のサイトで解説している

IBM Watson入門の入門 デモを試してWatsonがどんなものかのイメージを掴む

Node-REDの作成

こちらの「IBM Bluemix上でNode-REDを使う」のところまで終わらせる

Node-RED入門の入門

LINE BOTを使うための準備

こちらを参考に登録を行う

LINE Messaging APIを使ってBotを作成する

■ Watson Conversationの設定を行う

こちらのページ通りに、「Intents」「Entities」「Dialog」の設定まで行う

Watson Conversationを使って会話を行うチャットボットを作成する

■ ここまでのおさらい

  1. LINE BOTが用意されている
  2. LINE BOTにメッセージを送るとNode-REDで用意したAPIが叩かれて何かしらの返信を行う
  3. Watson Conversationの設定が済んでいる

この後はNode-REDで実際にWatson Conversationを利用するところを記述する

■ Node-REDでWatson Conversationを使用する

まずは「WorkspaceID」と「username」「password」を調べてメモしておく

WorkspaceIDはWorkspacesのページの「View details」より確認できる

usernameとpasswordは「サービス資格情報」のページから確認できる

後はNode-REDでフローを作成するだけ

まずはNode-REDで以下のJSONを読み込む

https://gist.github.com/tomsato/855f23d57a689743bbd0336cf467087d

「Watson Conversationを使うための準備」「LINE Messaging APIを叩いて返信するための準備」

の中に「WorkspaceID」と「username」「password」やLINEで返信するための「Bearer XXXXX」など個人の情報を埋め込むところがあるので適宜埋め込む

この状態でLINE BOTに話しかけると、学習させた通りに会話をすることができる

挨拶からの好きなゲームしか答えられないのと、「おはー」など挨拶として分類されなかった場合はエラーになる(BOT上では何も返さないだけ)のは課題だったりするが最初なのでこんなもんかなと

コメントを書く

※ Emailは公開されません

※ コメントは承認されると下記に表示されます

コメント一覧

最近の投稿

vue-pdfを使ってNuxt.jsで作成しているアプリケーションに pdfスライドを表示させるサンプルを作成しました README.md通りに実装してもうまくいかないところがあったのでそのあたり含めてまとめます

Vue.js / Nuxt.jsにおけるログインの実装方法をまとめる Auth0やNuxt.jsのAuth Moduleとmiddlewareについて調べつつサンプルを作成することで理解を深める

コンポーネント設計について考える Atomic DesignやPresentational Component, Container Componentについてまとめつつ 自分だったらVue.js / Nuxt.jsでどういうコンポーネント設計にするかについてまとめます

Netlify Formsを使ってブログサイトにコメント機能を追加する方法を調べたので紹介 Netlify FormsはNetlifyに標準機能として用意されているフォーム機能 サーバレスなので別途コメント用にサーバを用意する必要がなくHTMLを埋め込むだけで準備できる

TypeScriptの入門の入門チートシート 型の種類や使い方についてまとめていくだけでなく、 TypeScriptについてや必要性などについてもまとめることでこのページでTypeScriptをざっくり理解できる程度の内容を目指す

カテゴリ一覧

タグ一覧