ストーリー

ストーリーは、インタラクションのコンテキストでメッセージ閉じた ライブの人間のエージェントの代わりに顧客とのやり取りを処理するソフトウェアアプリケーション。に応答する方法をボット閉じた 質問や発言、書面や音声を問わず、ボットとのインタラクションにおいてコンタクトが発言するすべての内容。に教えます。 メッセージのコンテキストが重要なときは、ストーリーを使います。 これにより、ボットは、コンタクトが以前に送信したメッセージに基づいて正しいレスポンスを予測する方法を学習することができます。

ボットのレスポンスを設定するもう1つの方法は、ルールを作成することです。 ルールは、レスポンスが毎回同じでコンテキストが重要でないメッセージ用に便利です。 コンタクトが何を求めているかを理解するためにコンテキストが重要な場合は、ストーリーを使います。 コンテキストが重要でなく、コンタクトのメッセージがいつも同じことを意味する場合は、ルールを使います。

例えば、コンタクトが「お客様の時間の内容は」と言った場合、ボットはおそらくコンテキストを必要としないので、ルールを使うことができます。 しかし、コンタクトが「私はどのようにすればいいですか」と言った場合、ボットはメッセージのコンテキストを理解する必要があります。 前に会話の中でコンタクトが何を質問したかは、ボットが適切な応答方法を理解するのに役立つので、ストーリーを使うことが推奨されます。

ハッピーパス、アンハッピーパス、範囲外のパス

ストーリーを計画するときは、パスという観点から考えるのが有効です:

  • ハッピーパス:ハッピーパスを訓練するストーリーは、お客様が期待するような会話の流れに従ってコンタクトを説明します。 コンタクトは常に期待される情報を提供し、プロンプトが表示されたら返答します。 ハッピーパスでは何も変わったことは起こりません。
  • アンハッピーパス:アンハッピーパスとは、コンタクトが「スクリプト」から逸脱し、予期せぬ質問、コメント、雑談、その他のタイプの中断を挟む状況を説明します。
  • 範囲外パス:範囲外パスのストーリーは、コンタクトのリクエストがボットにできる範囲外である場合のシナリオの処理方法をボットに指示します。

すべてのインテントに対して、ハッピーとアンハッピーの両方のストーリーをデザインすることが重要です。 ハッピーパスは、ボットがそれぞれのインテントに応じたジョブの進め方を知っていることを保証します。 アンハッピーパスは、ボットが予期せぬ事態によってコースを外れないように保証します。 それでも、ボットがどのように応答すべきかを確信を持って予測できず、範囲外のパスをたどらなければならない場合があります。 しかしながら、アンハッピーパスをたくさん訓練することで、会話を軌道に戻す方法をボットに学習させることができます。

範囲外パス

範囲外パスは、フォールバックとは異なります。 フォールバックは、ボットが所定のアクションやインテントを続行するのに十分な確信がない場合に使用されます。 範囲外パスは、ボットが訓練されていない行動をボットに依頼するときに便利です。 ボットが認識できるように、これらのリクエストに対して範囲外インテントを作成することができます。 次いで、ストーリーの中のインテントを使用して、ボットにそれらのリクエストへの応答方法を指示するとができます。

たとえば、コンタクトが頻繁にボットにアカウント情報の更新を依頼してくるかもしれないが、ボットはまだそれを行うように設定されていないとします。 accountUpdatesインテントを作成し、トレーニング例を提供し、「申し訳ありませんが、その方法はまだわかりません」と応えるボットのレスポンスを設定することができます。 私は、[タスク]の手伝いや、人間のエージェントに転送してアカウントの手伝いをすることもできます。」

ストーリーとコンテクスト切り替え

ストーリーは、会話に複数のターンが必要な場合に、ボットがコンテキスト切り替えを処理できるように訓練するのに便利です。 次の例は、コンタクトが意思を変え、2つのインテントを次々に述べる会話を紹介しています:

コンタクト:こんにちわ、請求書の支払いをしたいのですが。

ボット: もちろん、大丈夫です。 請求書番号は何ですか?

コンタクト:実は、送金したいんです。

ボット: もちろん、できます。 どの口座に送金しますか?

コンタクト:普通預金から当座預金へ$200の送金です。

ボット: OKです。 送金は終了しました。 お客様の普通預金口座から当座預金口座に200ドル移しました。

ボット:請求書の支払いを続けますか?

アンハッピーパスを使うことで、コンタクトが期待通りの回答をしない場合に状況に対応できるようにボットを訓練することができます。

ある種のコンテクスト切り替えには、ルール閉じた 文脈に応じて変化しないメッセージに対するボットの応答を定義するために使用されます。のほうがより適切な場合があります。 時には、コンタクトが無関係のメッセージを一言挟むこともあります。 ボットが1ターンで応答でき、次いで前の意図に戻るようなメッセージであれば、ルールを使うことができます。 次の会話例は、コンタクトが天気についての質問を挟む会話です:

コンタクト:こんにちわ、請求書の支払いをしたいのですが。

ボット: もちろん、大丈夫です。 請求書番号は何ですか?

コンタクト:お住まいの地域の天気は?

ボット:外は晴れています。

コンタクト:ラッキーです。 ああ、それに私の請求書番号は123456です。

ボット:どうも、では請求書のお支払いはどのようになさいますか?

天気に関するコンタクトの質問は、ルールを使って簡単に処理できます。 ボットのレスポンスは毎回同じでもかまいません。

チェックポイント

チェックポイントは、 ストーリー内のボットのレスポンスに割り当てることができるボットのアクションです。 ストーリーを小さなサブタスクに分割し、関連する部分をリンクすることで、ストーリーを単純化することができます。 これは、コンタクトがいくつかのフォローアップの質問の一つをするかもしれない状況で有用です。 コンタクトからのフォローアップ質問に基づいて、シナリオごとに最初から最後までストーリーを作成するのではなく、会話の各部分ごとに小さなストーリーを作成することができます。

顧客メッセージに基づかないチェックポイントを使用することもできます。 たとえば、会社が期間限定ですべての顧客に特別オファーを提供したい場合があります。 特別オファーのメッセージとアクションを各ボットストーリーに追加し、オファーの有効期限が切れたときにそのセクションを複数のストーリーから削除することができます。 より簡単な方法は、特別オファーのためだけにストーリーを作成し、オファーの期間中、各ストーリーにチェックポイントを追加することです。

画像に示されているように、チェックポイントには常に、最初に曲線の矢印が付いた小さな青い円が表示されます。 これは、それが1つ以上の他のストーリーに接続していることを示しています。 チェックポイントの後にアクションを追加した場合でも、チェックポイントは常にストーリーを終了します。

多くのコンタクトが、Classics, Incのアカウントについて、Classics, Incに問い合わせています。 そのため、Akela Wolfeはこれらの質問を処理するために、彼女のボットにインテントを追加しています。 アカウントについてよくある質問がいくつかあります。 Akelaはチェックポイントを使うことにしました。

彼女はexplain_accountインテント用のメインストーリーを作成します:

コンタクト:Classics,Incのアカウントとは何ですか?

ボット:こんにちは。 Classics, Inc. のアカウントにより、Classics, Incで購入したすべての電子書籍にアクセスできます。

彼女はまた、よくある3つのフォローアップの質問に対するストーリーも作っています:

  • アカウントのメリットについて詳しく教えてください。
  • アカウントはどのように作成するのですか?
  • 有料ですか、それとも無料ですか?

Akelaはexplain_accountのインテント用のストーリーに戻ります。 その最後に、彼女はフォローアップの質問のためのストーリーにリンクするチェックポイントを加えています。

ストーリープランニングのベストプラクティス

ストーリーを計画するときは、次のベストプラクティスに従ってください。

  • コンテキストが重要な場合はストーリーを使います。 ボットとコンタクトの間で交わされる会話が1回だけであっても、ボットがどのように応答すべきかを理解するためにコンテキストが必要な場合は、ストーリーを使用します。 たとえば、lookup_balance インテントがあるが、当座預金口座の残高を知りたいコンタクトもあれば、普通預金口座の残高を知りたいコンタクトもある場合、ユーザーが指定した口座に基づいて、ボットが適切に応答できるように学習するためのストーリーを作成できます。
  • ストーリーを用いて、ロボットに予測を学習させましょう。 各ストーリーの件名は慎重に選ぶこと。 ボットが見たことのない会話に対するレスポンスを正しく予測することを学習できるように設計されていることを確認してください。
  • 実際の会話に基づいたストーリーを採用します。 起こるかもしれないと思うストーリーを作り上げないでください。 代わりに、実際の対話を使用して作成してください。
  • ハッピーパス閉じた 意図に対して正しい結果を生み出すストーリーまたはアンハッピーパス閉じた 意図に対して誤った結果を生み出すストーリーのいずれかをたどるストーリーを設計します。

  • コンテキストの切り替えを処理するためにストーリーを使用します。 これは、ボットが2つの会話の流れを切り替えたり、1ターン以上の会話に応答するための割り込みを処理したりすることを学習するのに役立ちます。 割り込みに応答するのに1ターンしかかからず、コンテキストに左右されない場合は、ルールの方が適切かもしれません。
  • 複数のストーリーを必要とするインテントもあります。 コンタクトのユニークな状況やニーズに応じて、会話の進め方にバリエーションがある場合は、同じインテントに対して複数のストーリーを作成します。

    • 同じストーリーの中に、会話の流れのバリエーションを含めないこと。 これはボットを混乱させる可能性があるからです。
    • コンタクトがメッセージを表現する方法にバリエーションがある場合、または本質的に同じことを意味する類似のメッセージがある場合、コンタクトメッセージのインテントの例として追加することができます。

    ハッピーパスとアンハッピーパスという観点から考えます。 それぞれのインテントには、ハッピーパスとアンハッピーパスがあります。

  • 範囲外のインテントのストーリーを作成します。 これにより、コンタクトが範囲外の情報を提示する、より一般的な方法についてボットをトレーニングすることができます。
  • 必要に応じて、コンタクト間のやり取りも含めます。 ストーリーとルールは完全な会話であることは推奨されません。 会話の中で次の発言が必然的に新規インテントを始めることになるなら、立ち止まって新規ストーリーを作成する時です。
  • ストーリーを論理的なサブタスクに分割します。 最初から最後まで、会話全体を網羅するような長いストーリーを作りたくなるものです。 しかしながら、これは実際には必要なストーリーの数を増やすことになります。 その代わりに、ストーリーを論理的なサブタスクに分割します。 密接に関連するサブタスクがいくつかある場合は、チェックポイントでリンクさせることができます。
  • チェックポイントを使いすぎないこと。 トレーニングデータを簡素化することができます。 チェックポイントが多すぎると、ストーリーがわかりにくくなり、ボットのトレーニングが遅くなってしまいます。