シナリオを分岐させよう

シナリオは条件によって分岐させることが出来ます。シナリオを分岐させることにより、柔軟な受け答えをすることが可能になります。

シナリオの条件分岐には

  • ユーザーの発話にあわせて、シナリオを分岐させる方法
  • ボットが覚えている情報によって、シナリオを分岐させる方法

があります。

ユーザーの発話にあわせてシナリオを分岐させる

システム発話ボックスより、複数のユーザー発話を設定することで、シナリオを分岐させることができます。

下の図では、ユーザーが「こんにちは」と発話した場合と「おなかいっぱい」と発話した場合でシナリオを分岐させています。

スクリーンショット

ボットが覚えている情報によって発話する内容を変える

ボットにユーザーの情報を覚えさせる方法は、ボットに情報を覚えさせようをご確認ください。

一つのユーザー発話に対して複数のシステム発話ボックスをつなぐことで、シナリオを分岐させます。下図は、ボットが名前を覚えているか否かで、名前を聞くか挨拶をするか分岐させています。

スクリーンショット

条件の設定

システム発話ボックスに条件を記述します。エディター内のシステム発話ボックス(赤いボックス)上部にある鉛筆アイコンより編集画面を表示します。

詳細設定の“どんな時に”の設定を確認しましょう。

「いつでも」が選択されている場合は、右側のラジオボタンを選択してください。続いて、詳細設定の“〇〇が”の入力エリアに条件として覚えた情報のラベル名を入力し、“〇〇の時”の入力エリアに一致させたい条件を入力します。

下図では、ボットが“name”という「名前」で“ユーザーの名前を覚えていない”という条件を設定しています。“覚えていない”という条件を指定したい場合は“undefined”と入力します。

スクリーンショット

これで、“名前を覚えていない場合”という条件ができました。

条件が他のボックスにマッチしなかった場合、「いつでも」を選択しているボックスにシナリオは遷移します。

同じシステム発話ボックスで覚えさせる内容は、条件に利用できないのでご注意下さい。

複雑な条件の設定

条件分岐を記述したシステム発話ボックスを複数つなげていくことで、より複雑な条件を設定することが可能です。

“10代”の“学生”の“女性”ユーザーにのみ、“そういえば、学校で好きな人できた?”と発話させるシナリオを書くには以下のように記述します。

1. 条件分岐のために、覚えた情報のラベル名を3つ用意します。

  • generation・・・年代を保存する変数
  • occupation・・・職業を保存する変数
  • gender・・・性別を保存する変数

2. まず、条件分岐に必要なユーザー情報を覚えさせるシナリオを作成します。
下図では、ユーザーに“女性”か“男性”かを聞くシナリオとなっています。

スクリーンショット
スクリーンショット

3.システム発話ボックスを3つ用意し、それぞれに下記内容を設定する。

  • “generation”が“10代”の時、と設定する。
  • “occupation”が“学生”の時、と設定する。
  • “gender”が“女性”の時、と設定する。

下図では、“gender”が“女性”だった場合の条件を設定しています。

スクリーンショット

4. システム発話ボックスを一列につなげる

スクリーンショット

これで、ユーザーが“10代”の“学生”の“女性”だった場合にのみ、“そういえば学校で好きな人できた?”と発話させることができるようになりました。

スクリーンショット
読込中...