スロット

スロットは、ボット閉じた ライブの人間のエージェントの代わりに顧客とのやり取りを処理するソフトウェアアプリケーション。のメモリーとして機能するキーと値のペアです。 コンタクト発話閉じた コンタクトが発言または入力すること。CRM閉じた コンタクト、販売情報、サポートの詳細、ケース履歴などを管理するサードパーティーシステム。を含む、さまざまなソースに由来する可能性のあるデータを保持します。スロットを使用して次のことが可能です。

  • ボットとコンタクト閉じた コンタクトセンターでエージェント、IVR、またはボットとやり取りする人。の間のインタラクションをパーソナライズします。 例えば、プレチャットフォームを使ってコンタクトの名前を抽出し、次いでインタラクション中にスロットを使ってボットにコンタクトの名前を呼ばせることができます。
  • データベース、他のCXoneアプリケーション、またはサードパーティー商品に渡す情報を収集します。 例えば、コンタクトの更新済みアドレスを収集し、CRM閉じた コンタクト、販売情報、サポートの詳細、ケース履歴などを管理するサードパーティーシステム。の顧客レコードを更新することができます。
  • データベース、他のアプリケーションまたはサードパーティー商品から情報を収集し、コンタクトに渡します。 例えば、コンタクトが口座残高や請求書の期日を確認したい場合、適切なシステムからその情報を取得し、コンタクトと共有することができます。
  • コンタクトから提供された情報に基づいて、ボットの会話に分岐を作成します。 例えば、コンタクトが口座残高を確認したい場合、ボットのレスポンスはコンタクトが確認したい口座によって異なる場合があります。 口座タイプを抽出してスロットに保存すれば、保存した値を条件として使用し、ボットが取るべき分岐を決定することができます。

スロットとエンティティ

スロットは、ボットの設定にあるエンティティ閉じた ボットとの会話中にコンタクトのメッセージから収集された情報。と密接に結びついています。 次のテーブルは、スロットとエンティティの関係と相違点について説明したものです。

基準 エンティティ スロット
関数

ボットとコンタクトの会話に関連する特定の情報を定義し、抽出します。

インタラクション中に情報を保持します。

スロットが保持する値に基づいて会話を分岐させる条件として使用できます。

スロットの値を会話にインジェクトするために、ボットのレスポンスで変数として使用することができます。

ソース コンタクトの発話閉じた コンタクトが発言または入力すること。 コンタクトの発話、プレインタラクションフォーム、データベース、サードパーティーアプリケーション、他のCXoneアプリケーション、Studioスクリプト。
関係 スロットを必要とします。 すべてのエンティティにはスロットがあります。

エンティティを必要としません。 いくつかのスロットは、エンティティ経由で発話閉じた コンタクトが発言または入力すること。から抽出されたデータを保持します。 その他のスロットには、他のソースからプルしたデータが保持されています。

会話パスを分岐させる条件として使用できます。 他の方法で会話の進捗に影響を与えることができます。

スロットのデータタイプと動作

スロットが保持できるデータは5タイプあります。 それぞれのタイプで動作が異なります。 タイプは次のとおりです:

  • テキストテキストスロット保持テキスト情報を保持させる場合は、このタイプを選択します。 これには、電話番号や口座番号など、数字として扱う必要のない文字も含まれます。 テキストスロットは、単に空であるか充填済かによって、ボットの動作に影響を与える可能性があります。 スロットの正確な値は会話に影響しません。
  • :、テキストではなく数字として処理する必要のある数字情報テキストではなく数字として扱われる必要のある番号スロット保持の数字情報を保持させたい場合は、このタイプを選択します。 このタイプのスロットは、ボットの行動に影響を与える可能性があります。 スロットの正確な値は、ボットの応答方法を変える可能性があります。 許容できる数値の上限と下限を設定できます。 スロットを充填する値がそれらの境界外である場合、ボットの動作は異なります。 定義された範囲内と範囲外の値に基づいて応答するようにボットをトレーニングする必要があります。
  • カテゴリーのカテゴリーのスロット保持の定義済み一連のテキスト情報を保持させたい場合は、このタイプを選択します。 このタイプのスロットは、ボットの動作に影響を与える可能性があります。 定義済みのどれがスロットを充填するかによって、ボットは異なるレスポンスを提供することができます。
  • ブーリアンブーリアンスロット保持のtrueまたはfalseの値を保持するスロットが必要な場合、このタイプを選択します。 このタイプのスロットは、それが空であるか、またはその値がtruefalseかによって、ボットの動作に影響を与える可能性があります。
  • 任意を保持させたい場合は、このタイプを選択します。任意の値スロットは、リストやJSONを含む 他のタイプの値を保持することができます。 このタイプのスロットは、ボットの行動に影響を与えることはできません。

各データタイプは、スロットの動作を設定するための異なるオプションをサポートしています。 動作は、ダイアログでのスロットの使い方を定義します:

  • ダイアログに影響を与える:任意のタイプを除くすべてのスロットタイプはダイアログに影響を与えることができます これを使用して、会話の中で分岐パスを作成することができます。
  • インテントの制限:予測されたインテントがスロットに設定済みのものと一致したときのみ、ボットがスロットを充填するようにスロットを制限することができます。
  • フォーム制限:特定のフォームからしか充填できないようにスロットを制限することができます。

各スロットのデータタイプとその使用方法の詳細については、異なるヘルプページを参照してください。

スロット埋込方法

スロットの充填方法は、ボットがスロットに値を保存する異なる方法です。 値は異なるソースに由来します。 スロットをセットアップする際、会話でスロットを使用する予定に最も適した充填方法を選択します。

CXone Bot Builderでスロットを充填する方法は5つあります。 そのような主要コンポーネントを以下の表に示します。

充填方法 詳細
システムより

システムスロットは、インタラクションの開始時に自動的に作成され、インタラクションの進行に応じて充填されます。 システムスロットは以下の通り:

システムスロットは編集できませんが、インタラクション中で変数 として使用できます。 ただし、ダイアログに影響を与えることはできません。 システムスロットについての詳細を知る。

エンティティから

エンティティを追加すると、スロットが自動的に作成されます。 スロットは、インタラクションの間に対応するエンティティ閉じた ボットとの会話中にコンタクトのメッセージから収集された情報。によって抽出されたデータで充填たされます。 エンティティベースのスロットは、対応するエンティティを作成した後に設定される必要があります。 これにより、スロットの機能を指定することができます。 エンティティを削除すると、対応するスロットも削除されます。

これらのスロットは、変数として、同じインタラクションやDigital Experienceの他の領域で使用することができます。 エンティティベースのスロットは、サポートされているデータタイプのいずれかを保持することができます。

インテントから

インテントベースのスロットは、インタラクション中に指定済みインテントが認識されると、定義済みの値で充填されます。 これらのスロットを作成し、1つ以上の値とそれをトリガーするインテントでそれらを設定することができます。

これらのスロットは、同じインタラクションの変数として使用できます。 インテントに基づくスロットは、サポートされているデータタイプのいずれかを保持することができます。

例えば、コンタクトにニュースレターのサブスクライブを依頼する場合、サブスクリプションと呼ばれる新規スロットを作成し、そこに2つのインテントを追加することができます。 インテントAgreeを値yesに、インテントDenyを値noにマッピングすることができます。 コンタクトがどのように質問に答えるかによって、どちらか一方の値がサブスクリプションスロットを充填します。

メッセージから このメソッドは、コンタクトの次の発話閉じた コンタクトが発言または入力すること。のテキストでスロットを充填します。 メッセージベースのスロットは、サポートされているデータタイプのいずれかを保持することができます。
カスタムスロット

カスタムスロットは通常、ビジネスロジックに基づいて情報を保持します。 例としては、CRM閉じた コンタクト、販売情報、サポートの詳細、ケース履歴などを管理するサードパーティーシステム。または別のサードパーティーアプリケーションへのAPI呼び出しによって取得されたデータがあります。

スロット値は、ボットとコンタクトの間の複数のインタラクション、またはDigital Experienceの他の領域で変数として使用できます。 カスタムスロットは、手動で削除されるまで存続します。 それらは、サポートされているデータタイプのいずれかを保持することができます。

たとえば、コンタクトのアカウント番号を尋ねる事前チャットフォームを使用できます。 次に、連絡先のアカウントステータスを別のシステムから取得し、ボットが常に延滞残高を収集しようとするようにストーリーを設計できます。

スロット充填の制限

スロットを制限して、特定のインテント閉じた コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。またはフォームからのみ充填できるようにすることができます。 制限を設けることで、ボットはインテントやフォームがあなたが定義したものと一致したときにのみ、そのスロットを充填します。

これは、特定の状況でのみスロットの値を保存する必要がある場合に便利です。 例えば、コンタクトの名前を保持するスロットがあるとします。 このスロットを使用して、コンタクトのアカウントを更新します。 口座名義はフルネームで正式な名前でなければなりません。 お客様は、このスロットは、ボットがコンタクトの名前を収集する他のインスタンスで使用されないように保証したいとします。 これを行うには、コンタクトの法的なフルネームを収集するために使用されるフォームとインテントにスロットを限定する制限を追加します。 コンタクトのファーストネームを使用して会話をパーソナライズしたい場合は、コンタクトのファーストネームを保持する2つ目のスロットを作成し、異なるインテントまたはフォームから充填することができます。

スロット変数

スロットは、ボットがコンタクトに送信するメッセージの変数として使用できます。 例えば、次のようなことができます:

  • コンタクトのファーストネームを収集し、ボットにそれを使ってコンタクトに挨拶させます。
  • ボットに情報や選択肢を確認させ、リピートしてコンタクトに情報を戻します。
  • CRMシステムにデータを渡し、コンタクトレコードを更新します。

変数を追加するには、次の構文を使います:{slot_name}。 スロットにネストされたJSONオブジェクトが含まれている場合、ドット記法を使用してオブジェクト内の値にアクセスできます:{slotName.parameter}

スロットが含む値は、ボットがメッセージを送信するときに、その変数を置き換えます。 インタラクション中に変数として使用する前に、スロットが正しい値を収集することを確認する必要があります。

例えば、ボットにファーストネームでコンタクトに挨拶させたい場合、ファーストネームを保持するスロットと、プレチャットフォームのようなスロットを充填する方法が必要になります。 スロットがcontact_firstNameの場合、ボットが送信する挨拶メッセージにこのテキストを入力します:Hello {contact_firstName}!

会話パスを分岐させる条件としてのスロット

ストーリー閉じた 意図と文脈に基づくインタラクション処理のためにボットをトレーニングする目的で使用されますルール閉じた 文脈に応じて変化しないメッセージに対するボットの応答を定義するために使用されます。のスロットを使って、ボットがそのパスを通る前に満たさなければならない条件を作成することができます。 これにより、特定の基準に基づいて分岐する会話パスを作成できます。 基準は、会話が分岐点に達したときに指定されたスロットが保持している値に基づきます。

コンタクトのメッセージに表示されるエンティティとそれに対応するスロットを条件として使用することも、スロット条件ボットアクションを使用して他のスロットを条件として使用することもできます。 どちらの場合でも、ボットが取りうるパスごとにインテント閉じた コンタクトが発言または入力した内容の背後にある意味や目的。コンタクトが伝えたいことや達成したいこと。を作成する必要があります。 これは、スロットに保存された特定の値に基づいてボットに応答する方法を知らせます。

Akela Wolfe, the Classics, Inc. Bot Builder管理者は、ウェブサイトを閲覧しているコンタクトに本を推薦するボットを開発しています。  彼女は、ボットがコンタクトに好きなジャンルを尋ね、その答えに応じて異なる応答をすることを希望しています。

彼女はスロットの条件を使うことにしました。 最初の試みとして、彼女は次のようなストーリーを創作します:

  • ジャンル+ミステリー
  • ジャンル+ノンフィクション
  • ジャンル+文学

どの物語も同じように始まります:

コンタクト:「おすすめの本を教えてください。」

ボット:「喜んで! どんなジャンルがお好きですか?」

コンタクト:「A [ジャンル]だと思う。」

Akelaはエンティティが必要なので、genreTypeと呼ばれるエンティティを作成します。  これにより、自動的にgenreTypeスロットが作成されます。 ジャンルはカテゴリーなので、エンティティはルックアップ型になります。 次に、Akelaは例としていくつかのジャンルタイプを加えます。 彼女はボットを開発しながら、さらに追加していくはずです。

ジャンル+ミステリーのストーリーでは、Akelaはコンタクトレスポンスでミステリーを選択し、genreTypeのルックアップエンティティを選択します。 Bot Builderは自動的にジャンルタイプスロットをコンタクトレスポンスの下に追加します。 スロットは、コンタクトが話すどんなジャンルででも充填します。

次に、Akelaはスロット条件ボットアクションを追加します。 彼女はgenreTypeスロットとして選び、ミステリーとして設定します。 彼女は次のメッセージを持つメッセージボットアクションを追加します、「ミステリーは大好きよ! いくつか素晴らしいミステリーがあります。」

次にAkelaが行うのは、クラシックeBookデータベースに接続するスクリプト統合アクションの追加です。 格付けデータをプルし、ミステリー部門で評価の高い3冊のリストを生成し、ランダムに1冊を選びます。 その他は、コンタクトが望むのであれば、より多くの選択肢を提供するために今後のストーリーで使用されます。

Akelaは次のようなメッセージボットのアクションを追加します、「あなたが好きそうなミステリーを見つけました。 これが最初の作品です。」 次にAkelaは、最初のタイトルへのリンクを表示するリッチリンクアクションを追加します。

最後に、Akelaはジャンル+ノンフィクションとジャンル+文学の物語について、この手順を繰り返します。