2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SLP KBITAdvent Calendar 2018

Day 21

音声チャットボット開発に触れてみた

Posted at

はじめに

この記事は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 アカウント登録

  1. Expert Agent Developer Dashboardにアクセス
  2. 下のページが表示されるので持っているアカウントでログインする
    ログイン画面.png

STEP2 ボットの開発

  1. 下の画像のような画面になるため、Expert Agents → 作成中のボットまたは、新規作成の場合は+のボタンをクリックする
    ログイんごせんたく.png
    エキスパート.png
  2. ボットの基本情報として以下の1)~6)を入力、6は省略可
    基本の設定.png
  3. Intentを設定する
    Intentは予測されるユーザの発話を予め設定しておき、その設定にマッチした場合指定の動作を行うものです。
    設定するべき項目は以下の通りです。
    • Intent名:Intentの名称
    • 鍵となるユーザの発話:その内容にマッチする発話に対応してIntentが動作する
    • 動作終了メッセージ:動作の終了時、出力する
    • 動作:特定の返答を返すか、発話に含まれるEntityをCGSに送信
    • CGS名または返答内容:情報の送信先のCGS名か返答の内容を記述
      Intent1.png

CGSとは
CGSはあらかじめ用意されているシステムCGSとユーザが作成するオリジナルCGSがあり、いずれも、
Intentから送信された情報をもとに動作を行うものです。

今回は、システムCGSであるweatherBotとWikipediaBotを使用しました。
この様なCGSを利用する際、場所や時間など必ず送信しなければならない情報が存在します。
この様な情報が抜け落ちている場合などに、その値に規定値をおくか、
改めて入力を求めるかを設定するのが次のSlotsです。
slots.png
Slotsは左上のRequiredのチェックがはいっているか否かで必要事項が変わります。
共通して名前が必要であり、Entityも必要とします。
最後にチェックが入っている、つまり情報を聞かなければいけない場合では、質問文を、
聞かなくてもいい場合は初期値を必要とします。

これらの設定が終われば、エージェントの__完成__です!

STEP3 テスト

作成した情報を保存したら、画面右下に現れる。赤白のチェックボタンをクリックすることで、動作テストをすることができます。
以下画像で、様子を紹介します。
コンタクト.png
ユーザの発話、今回は、Botの呼び出しと天気のIntentの呼び出しをしようとしました。
このままではlocationのデータが足りていないため、Botからはどこなのかという返信が返ってきています。
この状態では、Intentを呼び出しておらず、Slotsも送信されていないので未判定と表示されています。
ここで、地域を送信すると
あれ、.png
あれ、天気の取得に失敗してしまったようです…
しかし動作自体が成立したのでBotが終了メッセージを告げて一連の動作が終了します。

取得失敗の理由を調べていたのですが、分からないまま締め切りが来てしまいましたので、
正しく動作させることを今後の課題としていきたいと思います。

終わりに

今回Sebastienを使用してチャットボットを作ろうとしてみましたが、想像より簡単に自分の欲しいサポートツールを作ることができるということを学びました。結局今回は、完成しなかったのですが、きちんと理由を調べ上げて、完成させたいと思います。
また、今度はオリジナルCGSを作成、利用してBotを作成したいと思います。

参考資料

SEBASTIEN Reference
Sebastienでボットを喋らせて、Clovaとボット同士の会話をさせる

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?