ここでは、シナリオ編集の流れについてご説明します。
「シナリオを編集する」とは?
シナリオ作成者は、シナリオアセットにあるシナリオシートと辞書シートの2種類のスプレッドシートを編集することで、ボットの対話シナリオを定義します。
シナリオシート
シナリオシートは、シナリオ(ユーザ発話と、それに対するボット発話のペア)を定義するスプレッドシートです。 「このようなユーザ発話が来た時には、このように返答する」という対話のルールを記述していきます。
詳細はこちら
辞書シート
フレーズ辞書、ワード辞書を定義するスプレッドシートです。
詳細はこちら
シナリオを編集してみる
①事前にカテゴライズをする
ユーザ発話とボット発話のペアをあらかじめ動作させたい内容ごとに大カテゴリ、中カテゴリ、小カテゴリにカテゴライズをすることで、ボットの作成がスムーズに進行します。
(例)
フローの流れが目視で確認できる、シナリオが増えた時に管理がしやすくなる などのメリットがあります。
②カテゴライズしたものをベースに、シナリオファイルにシートを作成する
「メインシート+大カテゴリーの数」だけシートを複製します。
※編集時、半角のアンダーバー「_」をシート名の冒頭につけることによってシナリオアップデートをかけても、シナリオデバッガに反映されなくなります
(例)
③メインシートを作成する
メインシートにはコマンドとボット発話を記入していきます。
詳細はこちら
④メインシート以外の編集
②で作成した、メインシート以外の各シートに、カテゴライズしたシナリオを流し込んでいきます。
シート内の各列の詳細はこちら
(例)
④メインシートの「#category_top#」で作成したボタンを、各シートのはじめにユーザ発話として作成する
(例)
④-1シートの初めに行を追加する
④-2ユーザ発話に「メインシート」で設定したボタンを入力する
④-3小カテゴリーで使用しているカテゴリー名をボタン仕様にしていく
④-4 ④-3で作成したボタンを、各小カテゴリの一番上に行を追加し、ユーザー発話とボット発話を作成します。
書き方
小カテゴリー(B列):小カテゴリー名を入れます。
ユーザ発話(C列):「果物」のボット発話(D列)で作成した、リンゴを取れるように「ユーザ発話(C列)に入力します」リンゴとして入力します。
ボット発話(D列):例文→「〇〇について、どのようなお問い合わせですか?」などセル内で改行します。小カテゴライズされたユーザ発話をボタンにしていきます。
⑤辞書の編集
詳細はこちら
⑥シナリオの適用をする
以下の方法でシナリオの適用を行うことで、実際に作成したシナリオでエンジンが対話を行うようになります。
「シナリオを適用する」ボタンをクリックすることでボットにシナリオの適用を実行します。
なお、このシナリオの適用により、シナリオシートと辞書シートの両方が反映されます。
シナリオの適用が開始すると、エンジンはまずシナリオのアップデートを行います。
アップデートで問題のある対話が検出された場合、CRITICAL, ERROR, WARNING のいずれかで指示されます。
【CRITICAL】 重大な欠陥があります。エンジンが正常に動作できないため、シナリオのアップデートはできません。
【ERROR】 シナリオの記法に間違いがあります。エンジンが正常に動作できないため、シナリオのアップデートはできません。
【WARNING】 エンジンの動作に致命的な問題はありませんが、本来の意図する記法が行えていません。この状態でもシナリオのアップデートは実行されますが、シナリオのメンテナンス性を向上させるために WARNING が発生した箇所の修正を推奨します。
上記の通り、作成したシナリオに CRITICAL または ERROR が存在する場合、シナリオのアップデートは中止されます。 このとき、ボットは動作を停止するわけではなく、1つ前に適用したシナリオを使用したまま動作を継続します。
⑦シナリオデバッガで確認する
ボットの動作はシナリオデバッガで確認できます。 シナリオデバッガへは、ボット詳細画面にあるシナリオデバッガの URL からアクセスします。
デバッガページの下部にあるテキストフィールドに文を入力して、ボットに発話を送信します。 その発話に対するボットからの返答が表示されます。
作成したシナリオにもとづいてボットが適切に対話を行うか、シナリオデバッガを使って確認しましょう。
また、シナリオデバッガには解析という機能もあります。
解析についての詳細はこちら
以上の繰り返しでシナリオを作成していきます。