はじめに
この記事はSLP KBIT Advent Calendar 2018 の21日目の記事です。
https://qiita.com/advent-calendar/2018/slp_kbit
2018年10月6日(土)に行われたOSC香川にて、株式会社NTTドコモの山崎氏による講演で紹介された
AIエージェント開発基盤に興味を持ったので、良い機会と思って触ってみることにしました。
環境と事前準備
-
環境
- Windows 10
- Google Chrome
-
準備物
- dアカウントまたはgoogleアカウント
概要
Sebastienについて
株式会社NTTドコモが開発したAIエージェント開発基盤で、
エキスパートエージェントというメインエージェントから呼び出せる
各機能に特化したエージェントの開発ができるサービスです。
開発物概要
今回開発したのは、AIエージェント「ししょー」です。
このエージェントは、指定地域の当日の12時頃の天気と気温を返答する機能と、
単語を聞き取って、その単語のWikipedia記事を探す機能を持っています。
また、GUIのみで開発ができ、自分でコードを書くことなく作れるものになっています。
今回は、後述するDeveloper Dashboard上でテストを行う段階まで行いました。
開発
STEP1 アカウント登録
- Expert Agent Developer Dashboardにアクセス
- 下のページが表示されるので持っているアカウントでログインする
STEP2 ボットの開発
- 下の画像のような画面になるため、Expert Agents → 作成中のボットまたは、新規作成の場合は+のボタンをクリックする
- ボットの基本情報として以下の1)~6)を入力、6は省略可
- Intentを設定する
Intentは予測されるユーザの発話を予め設定しておき、その設定にマッチした場合指定の動作を行うものです。
設定するべき項目は以下の通りです。
CGSとは
CGSはあらかじめ用意されているシステムCGSとユーザが作成するオリジナルCGSがあり、いずれも、
Intentから送信された情報をもとに動作を行うものです。
今回は、システムCGSであるweatherBotとWikipediaBotを使用しました。
この様なCGSを利用する際、場所や時間など必ず送信しなければならない情報が存在します。
この様な情報が抜け落ちている場合などに、その値に規定値をおくか、
改めて入力を求めるかを設定するのが次のSlotsです。
Slotsは左上のRequiredのチェックがはいっているか否かで必要事項が変わります。
共通して名前が必要であり、Entityも必要とします。
最後にチェックが入っている、つまり情報を聞かなければいけない場合では、質問文を、
聞かなくてもいい場合は初期値を必要とします。
これらの設定が終われば、エージェントの__完成__です!
STEP3 テスト
作成した情報を保存したら、画面右下に現れる。赤白のチェックボタンをクリックすることで、動作テストをすることができます。
以下画像で、様子を紹介します。
ユーザの発話、今回は、Botの呼び出しと天気のIntentの呼び出しをしようとしました。
このままではlocationのデータが足りていないため、Botからはどこなのかという返信が返ってきています。
この状態では、Intentを呼び出しておらず、Slotsも送信されていないので未判定と表示されています。
ここで、地域を送信すると
あれ、天気の取得に失敗してしまったようです…
しかし動作自体が成立したのでBotが終了メッセージを告げて一連の動作が終了します。
取得失敗の理由を調べていたのですが、分からないまま締め切りが来てしまいましたので、
正しく動作させることを今後の課題としていきたいと思います。
終わりに
今回Sebastienを使用してチャットボットを作ろうとしてみましたが、想像より簡単に自分の欲しいサポートツールを作ることができるということを学びました。結局今回は、完成しなかったのですが、きちんと理由を調べ上げて、完成させたいと思います。
また、今度はオリジナルCGSを作成、利用してBotを作成したいと思います。