Einsteinボットにロジックを組み込む〜メッセージと質問〜

前回はEinsteinボットの簡単な導入方法とプレビュー確認までを実施しました。
あのままの状態では貧弱なボットのままなので、もう少し会話ができるようロジックを組み込んでいこうと思います。

スポンサーリンク

Einstein ボットビルダーでボットを構築

Einstein ボットにロジックを組みこむためにはEinstein ボットビルダーを使用します。
ボットビルダーは画面上でノンコーディングで設定ができるため、とても使いやすいツールになっています。
Lightningフローに近い感覚ですね。

まずは、ボットの構成を知っておきましょう。
ボットを作成し始めの時はこのようなダイアログで構成されています。
ダイアログというのが、画面フローのようなものですね。

初期状態では、以下のダイアログが用意されています。
チャットボットのダイアログ

  • ようこそ・・・ボットを開始した時に始めに表示されるダイアログです。
  • エージェントに転送・・・ある程度ボットで会話を進めていくうちに、ボットの範囲内で答えられない質問や回答に対して、エージェント(人)に対して問い合わせを行うためのダイアログです。
  • チャットを終了する・・・その名の通り終了するためのダイアログです。要件が住んだら問い合わせありがとうございます的なメッセージを表示します。
  • 困惑・・・ユーザが予期しない入力や回答をした場合はすべて困惑のダイアログが表示されます。
    例外処理のcatch文に当たるような感じかな。
  • エージェントなし・・・エージェントに転送のエラーバージョン。問い合わせできる人(エージェント)がいないときに表示します。

デフォルトで用意されているダイアログですので、これらを必ず使わないといけない訳ではありません。
あくまで目安として役割を押さえておいてください。

ダイアログをいじってみよう

では、ボットの構成をなんとなく理解したところで、実際にチャットに表示される内容をいじってみましょう。
今回は一番最初に表示される「ようこそ」ダイアログのみを編集します。

「ようこそ」ダイアログはデフォルトではメッセージが1つ表示されているだけのシンプルな構成になっています。

メッセージを追加する

まずは、メッセージを追加してみましょう。
「メッセージ」と「次のステップ」の間にある「+」アイコンをクリックして、「メッセージ」を選択します。
ボットダイアログからメッセージの追加

メッセージに適当な文言を打ち込んでみましょう。
ダイアログのメッセージ設定

メッセージを追加したら、この時点で保存、有効化してプレビューで確認してみます。
以下のようにメッセージが連投されることが確認できます。
追加したメッセージが表示される

質問を追加する

今のままだと、一方的にボット側からメッセージを通知するだけになってしまうので、次はユーザと会話ができるようにしてみます。
同じ要領で次は質問を入れてみましょう。

性別を問う質問をボットに組み込みます。
まずは、入力のブレを無くすよう選択形式の質問を作成します。

設定箇所が色々ありますが、以下の内容で質問を設定してみます。

項目 設定値
ボットによる質問 あなたの性別は?
エンティティ名 [System] テキスト (テキスト)
変数に回答を保存 Sex (Text)(※)
選択種別 静的
選択肢 男、女

※変数は「新規テキスト変数」から変数を定義して、回答の保存先を作成します
変数の設定

性別を問う質問の設定

ここでボットが自動的に質問を投げて、ユーザが回答します。
ユーザが回答したものが、「変数に回答を保存」で指定した変数に保存されます。

会話の修正は予期しない回答が返ってきた時用に使用されますが、今回は2択の選択肢が与えられているため、使用しません。

今回は回答したものを直接変数に入れていますが、エンティティに格納することも可能です。
エンティティの使い方についてはまた別途やることにしましょう。
(ボットではオブジェクトではなくエンティティが使用されます)

質問した内容の回答に対して、値が設定されているかを確認します。
質問の後にメッセージを追加し、以下のメッセージを設定してください。

項目 設定値
メッセージ あなたは{!Sex}ですね。

回答内容をメッセージで返す

この「{!Sex}」部分が先ほど変数に回答を保存で指定した変数を表しており、ユーザが選んだ内容が設定されているはずです。

ここまで作成したら、実際にボットをプレビューして確認してみます。
質問に対して回答内容を表示する

このように選択した内容に応じてメッセージが返ってくることが確認できました。

簡単ではありますが、チャットボットで質問と回答というキャッチボールをすることができました。
次回はもっと条件を複雑化して、より実用的な使い方ができるように設定していきましょう。

Einstein
スポンサーリンク

コメント