このチュートリアルでは、オリジナルのチャットボットを作成することを目標にしています。
まずは、簡単なあいさつができるチャットボットを作成しましょう!
チャットボットとは?
一般的にチャットボットは、さまざまなスキルの組み合わせで構成されています。
チャットボットを構成するスキルの例。
- あいさつ
- 天気検索
- 知識検索
- 乗換案内
- Q&A
xAIML SUNABAでは、これらのスキルに加えてさらに意図解釈機能をチャットボットに持たせることができます。
意図解釈とは、ユーザ発話からユーザが求めているタスクを判定し、そのタスクに必要な情報の抽出を行う技術です。さらに詳しく知りたい場合はこちらをご覧ください。意図解釈の例(乗換案内)
チャットボットのスキルを考えよう
チャットボットの利用シーンや、対象とするユーザなどの情報をもとに、チャットボットにどのようなスキルを持たせるかを考えましょう。
xAIMLと一般公開されている外部のAPIやスマートフォンアプリなどを連携することで、独自のスキルを作成できます。まずは動くチャットボットを作りたいという方はこのままチュートリアルを進めましょう。
チャットボットを作成しよう
チャットボットを「スキルコントローラ」と「スキル」の2種類のボットにわけて作成していきます。
それぞれのボットについては後述をご覧ください。
スキルコントローラ
ユーザと直接対話し、ユーザ発話の内容に応じて適切なスキルを呼び出すボットです。
本チュートリアルでは「スキルコントローラボット」とも呼びます。
呼び出すスキルは意図解釈によって適切にコントロールされ、チャットボット開発者は少ないシナリオの記述で、多種多様なユーザ発話にスキルを結びつけることができます。
スキル
チャットボットを構成するスキル群を、スキル単位に分割したボットです。
本チュートリアルでは「スキルボット」とも呼びます。
スキル単位にボットを分割しておくことで、シナリオが複雑になりにくいなどのメリットがあります。
スキルコントローラを作成しよう
チャットボットのスキルをコントロールする、「スキルコントローラ」を作成します。
作成手順
- ボットエディタにログインし、ボット管理画面で任意の名称でボットを作成します。
(ControllerBotなど、コントローラボットであることがわかる名称がおすすめです) - 作成したボットにスキルコントローラの処理を記述したシナリオ(GreetingSkillController.aiml)を登録します。
123456789101112<?xml version="1.0" encoding="UTF-8"?><aiml version="2.5.0" xmlns="http://www.nttdocomo.com/aiml/schema" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nttdocomo.com/aiml/schema/AIML.xsd"><!-- 初期発話 --><category><pattern>init</pattern><template><sraix botid="<ProjectID>_GreetingBot">init</sraix></template></category></aiml> - 作成したボットのシナリオをデプロイします。
あいさつスキルを作成しよう
ユーザからの初期発話(init)をトリガーに、時間帯に応じたあいさつを返す、「あいさつスキル」を作成します。
作成手順
- ボット管理画面で任意の名称でボットを作成します。
(GreetingBotなど、あいさつスキルであることがわかる名称がおすすめです) - オプションのボット設定画面でボット編集の「公開」を
project
に変更します。
※「公開」の設定内容について、詳しくはこちらの「ボット属性一覧」をご確認ください。
ご注意直接スキルボットに発話を送って動作を確認する場合は、ボット編集の「公開」をglobal
に変更してください。
- 作成したボットにあいさつスキルを記述したシナリオ(GreetingSkill.aiml)を登録します。
1234567891011121314151617<?xml version="1.0" encoding="UTF-8"?><aiml version="2.5.0" xmlns="http://www.nttdocomo.com/aiml/schema" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nttdocomo.com/aiml/schema/AIML.xsd"><category><pattern>init</pattern><template><condition name="time_period"><li value="早朝">おはよう。朝早いですね。</li><li value="朝">おはよう。今日もよろしく。</li><li value="昼|夕方">こんにちは。只今、<date format="HH時mm分"/>です。</li><li value="夜">こんばんは。只今、<date format="HH時mm分"/>です。</li><li value="深夜">こんばんは。もう夜中ですよ。</li></condition></template></category></aiml> - 作成したボットのシナリオをデプロイします。
動作確認しよう
APIコンソール画面で動作を確認します。
作成手順
- メニューからコントローラボットのAPIコンソール(1)を選択してください。
- 発話入力欄に「init」を入力し、送信(1)を押下します。
動作確認を行った時間帯に合ったレスポンスが返答されれば成功です。
さらにスキルを追加しよう
本チュートリアルで作成したチャットボットに、さらにスキルを追加したい方はこちらをご覧ください。