ボットに情報を覚えさせよう

ボットはユーザーごとに情報を覚えることができます。覚えた情報をもとに、下記のようなことができます。

  • ボットの発言にユーザーから聞いた情報を盛り込む
  • ユーザーの情報をもとにボットの返答内容を変える
  • ユーザーの情報をもとにシナリオを遷移させる

今回はユーザーの名前を覚えて、覚えた名前を使って会話をするボットを作成してみましょう。

なお、Repl-AI上で提供しているシミュレータは、起動のたびにユーザー情報がリセットされます。

STEP1:ボットにユーザーの名前を覚えさせる

まず、ユーザーに名前を尋ねる発話ボックスを設定します。
システム発話ボックスを置き、発話内容を「お名前を教えてください。」にします。


システム発話ボックスにユーザー発話ボックスをつなげ、「*」を発話内容として登録します。

※発話内容の設定については、発話内容を設定しようを参照ください。
スクリーンショット
ボットからの質問にユーザーが答えるシナリオの設定

次に、ボットに名前を覚えさせる設定をしていきます。

設定は、ユーザーがボットに覚えさせたい内容を発話したタイミングで行います。

ユーザーの名前を覚える場合は、ユーザーが名前を答えるユーザー発話ボックスに対して設定を行います。

当該のユーザー発話ボックス(青いボックス)をクリックし、編集欄のタブを「覚える内容」に切り替えてください。

スクリーンショット
名前が答えられるユーザー発話ボックスを選択

「覚える内容」の設定

まず、ユーザーから聞いた情報を後で呼び出すために使う変数名を設定します。変数名には半角英数字のみ使用できます。
今回はユーザーの名前を覚えさせるので、 “@name” を選択しましょう。
スクリーンショット
変数名を登録

「内容」の設定

内容では、「覚えた内容」で選択した変数に対して、どのような操作を行うかの設定をします。できる操作は以下の4つです。

  • テキストで指定した内容を覚えさせる
  • 直前のユーザー発話から抽出した内容を覚えさせる
  • AIMLで記述した内容を覚えさせる(上級者向け)
  • 覚えていた内容を忘れさせる

既に覚えている内容がある変数を指定した場合、内容は上書きされます。

スクリーンショット
内容を設定

今回はユーザーの名前を覚えさせるため、「直前のユーザー発話から抽出」を選択し、人名を抽出するように指定します。

スクリーンショット
ボットはユーザーの発話内容から人名を抽出して覚える

OKをクリックすると、覚える内容が保存されます。

スクリーンショット
覚える内容が登録されたことを確認

抽出方法は”人名”以外にも「場所」、「日付表現」など様々な方法があるので、ぜひ確認してみましょう。

以上がユーザーの発話内容をボットに覚えさせる手順です。

テキストで設定

例えば、“あなたは成人していますか?それともまだ未成年ですか?” という質問に対してユーザーが “成人” と答えた場合にその答えを覚えたいときは、覚えさせたいキーワードとして “成人” を直接設定します。

スクリーンショット
覚えさせるテキストを設定

AIMLで記述する

こちらは上級者向けの機能です。

STEP2:覚えさせた情報の利用

ボットに覚えさせた内容はシステム発話で利用することができます。エディター内のシステム発話ボックス(赤いボックス)をクリックしてください。編集欄が表示されます。

※条件分岐に関する内容は、シナリオを分岐させようを参照ください。

編集欄が表示されたら「テキストを追加する」をクリックし、発話内容を追加します。

「@」を入力し、ボットに覚えさせる際に設定した変数名を選択します。

※ボットが情報を覚えていない場合は、「undefined」と出力されます。

スクリーンショット
ボットに覚えた内容を発話させる

覚えた情報を忘れさせる

ボットは一度ユーザーの情報を覚えると、対話が途切れても忘れることはありません。覚えさせた情報を一度忘れさせたい場合は、システム発話ボックスで覚えた情報を忘れさせる設定をする必要があります。

忘れさせたいタイミングのシステム発話ボックスをクリックし、 タブを「覚える内容」に切り替えてください。“覚える内容を追加する” をクリックしてメニューを開きます。

「覚えた内容」の設定

忘れさせたい変数を選択します。
下の画像は、名前を覚えさせるときに設定した “name” 変数を忘れさせる例です。

「内容」の設定

一番下にある “覚えている内容を忘れさせる” にチェックをつけます。

最後にOKをクリックすると、覚えていた情報を忘れさせる設定が登録されます。

スクリーンショット
覚えている内容を忘れさせる
読込中...