2018年3月29日
【流行りのAI ChatBot】Repl-AIを使ってみました。
こんにちは。
本日はDocomoの提供するAI Botである「Repl-AI」を使用してゆるく遊んでみました。
Repl-AIとはNTT Docomoの提供する問い合わせ対応AIチャットボット作成サービスです。
プログラミング不要で誰でもすぐにコーポレートサイト等の問い合わせ窓口に代わってくれるサービスです。
少し前に横浜市のゴミ分別窓口として一躍有名になりましたね。
ゴミの名前を書くと分別方法を教えてくれるやつです。旦那って書くと名言返してくれるやつです。
今回はSlackのBotアプリケーション「Hubot」とコミュニケーションを取れるBotの作成です。
実行環境はHerokuを使用します。(とはいえHerokuの出番は殆どありません。)
HerokuもRepl-AIも無料枠です。
こんなことできるんだってのを知りたくて始めてみましたが、一人でSlackと会話できる楽しみを垣間見ましたありがとうございます。
※ちなみにビックリするくらい簡単なのでほとんどこちらの記事に書いてあることしかやっていません。
<手順1>
Repl-AI, Heroku, Slackのアカウントを用意します。
この辺は大丈夫でしょう。
<手順2>
SlackのAppのHubotを用意します。
(1)「hubot」を検索
(2)「インストール」
(3)名前を入力して作成(大文字使えず)
(4)完成。「HUBOT_SLACK_TOKEN=」以下を使用します。
<手順3>
Repl-AIでシナリオを作成します。ユーザーの入力メッセージに応じて挙動を決めておく台本のことです。
こちらUI上ですべて完結しますがもちろんコーディング可能です。
今回はUIで実装します。
(1)「シナリオを追加する」をクリックして新しく作成します。今回は「挨拶」を選択しています。
(2)シナリオ名をクリックするとロジックフローのような画面があります。文言以外はマウスだけで操作できますので、今回は以下のように作ってみましょう。矢印が多少ガタついていますが気にしていません。
配置できたら「保存してシナリオを公開」しましょう。(参考: Repl-AIリファレンス)
<手順4>
最後にSlack上でAPIを処理してくれるコードをデプロイします。
先ほどの記事のソースを拝借しています。ありがとうございます。
https://github.com/thorikawa/hubot-repl-slack
「Deploy to Heroku」をクリックしてConfig Variablesを上から順に、
・HUBOT_API_TOKEN…HubotのAPIトークンを入力
・HUBOT_REPL_API_KEY…Repl-AIの開発者向けAPIキーを入力
・HUBOT_REPL_BOT_ID…Repl-AIのボットIDを入力
・HUBOT_REPL_TOPIC_ID…Repl-AIのシナリオIDを入力
※ちなみにHerokuは作成したアプリが30分間動かないと自動でオフラインになってしまうようです。稼働時間による課金が故の仕様でしょう。手動でも再起動できますが、必要であれば適度な時間で起こしてあげるバッチも別途作成すると良いとのこと。
デプロイが完了したらSlackに戻り先ほどのHubotに話しかけてみましょう。
どうでしょうか。
「富士山」というキーワードは先ほどのフローの中で設定していませんが、「知識Q&A」が自動解釈して回答してくれています。
このRepl-AIの面白いところは、もちろんこちらで指定した内容に沿ってノンプログラミングで自動応答させることだとは思いますが、それ以上にDocomo Developer support上で公開されている、「知識Q&A」や「トレンド記事」, 「雑談対話」のAPIを自由に使えることかなと思います。
自動応答という仕組み自体は(作ろうと思えば)誰でも自作できますが、
ただの属人的な問い合わせ窓口ではなく、ローコストで手軽にユーザを楽しませられる仕組みの提供はかなり画期的なものではないでしょうか。
本日の記事は以上になります。