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上では何も返さないだけ)のは課題だったりするが最初なのでこんなもんかなと

Share

最近の投稿

NetlifyのSplit TestingとFunctionsについて使い方をまとめる Split TestingはGitHubのブランチをベースにしたA/Bテストを行うための機能のことで、FunctionsはNetlifyでAWS Lambdaを使うことができる

NetlifyとはHTMLなどの静的コンテンツのみで構成されたWebサイトを閲覧できる形で配信するWebサービス GitHubやBitbucket、GitLabなどと連携して使うことができて、リポジトリにプッシュすることで自動でCI/CDを行うことができる、無料枠が豊富で独自ドメインを設定可能

WordPressからJekyll(GitHub Pages)に移行した手順をまとめる。 お金的な事情や使いやすさなどの理由で無料のJekyll+GitHub Pagesに移行した。JekyllとはMarkdown等から静的ページを生成する静的サイトジェネレータ

Scala開発のためにScalaらしさをまとめる 言語設計者の設計思想を元にScalaらしさについてまとめる オブジェクト指向と関数型の融合について

StorybookとはUI開発環境を提供するツール React、React Native、Angular、Vueなどをサポートしている ユーザーは独立した開発環境でコンポーネントを個別に作成して挙動の確認をテストできたり、コンポーネントを一覧にしてカタログ化できるので他の人に紹介する時に使えたりする

カテゴリ一覧

タグ一覧