スロットとスロット タイプの概要

スロットは、ユーザーの意図を理解するのに役立つ発話からの特定の情報です。 たとえば、発話を考えてみましょう。 「2部屋予約したい。」 この発話により、ボットは特定の情報またはスロットを特定できます。 の部屋が必要です。

ボットはスロットを識別した後、スロットをスロット タイプにマップします。 スロット タイプは、ボットが識別されたスロットで利用可能な情報を処理する方法を定義します。 各スロットをスロット タイプにマップします。 スロット タイプは、発話でスロットを検索する際にボットが探す情報を定義するのに役立ちます。 スロットタイプには少なくとも1つの値を含める必要があります。

前の発話では、スロットは「rooms needed」であり、スロットは数字スロットタイプにマッピングされる。 この記事はGenesys Dialog Engine Bot FlowsとGenesys Digital Bot Flowsに関するものですが、このビデオはGenesys Dialog Engine Bot Flowsでスロットとスロットタイプがどのように機能するかを説明しています:

グローバルスロットの可用性

管理者やコンタクトセンター管理者は、どのような意図からも、どのようなスロットにもアクセスすることができます。 スロットは特定のインテントに縛られないため、複数のインテントにアクセスすることが可能です。 この機能強化により、効率が向上し、ボットフローを構築するための労力が軽減されます。

どのインテントからでもどのスロットにもアクセスできます。 スロットは、特定の意図に縛られることはありません。 複数のインテントからスロットにアクセスできるため、ボットフローの構築の効率化と手間の軽減が図れます。 たとえば、以前は、CheckAccountインテントとCloseAccountインテントから顧客のアカウント番号を参照する場合、各インテント内にアカウントスロットを作成する必要がありました。 意図せずにスロットを使用することもできます。 この機能は、セルフサービスのボットで本人確認や検証を行う必要がある場合に有効です。 たとえば、顧客の意図を尋ねる前に、顧客のアカウント番号とPINを事前に尋ねることができます。

また、グローバルスロットの利用開始前にスロットを作成した場合、名前を共有する既存のスロットが統合され、ユニークで参照しやすくなります。

スロット タイプ

アーキテクト ボットは、組み込みスロットとカスタム スロットの 2 つのスロット タイプをサポートします。

スロットタイプのサポート

スロット タイプを使用する場合は、サポートされている次の機能を考慮してください。

  • スロットタイプ: 1フローあたり500枚まで
  • 単一のスロットタイプに関連するスロット(エンティティ): 1フローあたり最大10個まで
  • リストスロットタイプ: 1フローあたり最大50個まで
  • Regex スロットタイプ: 1フローあたり20個まで

内蔵スロットタイプ

Natural Language Understanding メニューからスロットを作成するときに、組み込みのスロット タイプを使用してスロットを作成できます。

Architect には、デフォルトで次の内蔵スロット タイプが含まれています。

NLUスロットタイプ アーキテクトのデータ型 ユーザー入力の例 解決されたフォーマットの例 メモ  
builtin:amountOfMoney: 通貨  「$ 30.23」または「40ドル」

30.23 | USD
40.00 | USD

  • 通貨を示す単語を数値の金額に変換します。
ビルドイン:日付: 日付 「6月15日」または「次の火曜日」

2021-06-15

  • ボットフローに日付値を渡したり、ボットフローから日付値を渡したりするときは、値を拡張ISO-8601形式の文字列として渡すようにしてください。 たとえば、2021-02-16。
builtin:数値: 10 進数  「23」または「スリーポイントファイブ」

23.0

3.5
  • 数字の単語(「5」)を数字(「5」など)に変換します。
  • この機能は現在、序数(1番目、2番目など)をサポートしていません。
ビルドイン:時間[ビルドイン:タイム] 時間 「午後3時」または「午後3時30分」

15:00:00.000

15:30:00.000

  • 時間(「午前4時」、「午後2時」)を示す単語を時間値(「04:00」、「14:00」)に変換します。
builtin:any 文字列  "ストラトキャスター"

ストラトキャスター

  • 特定の正規表現パターンにマッチしないユーザー入力をスロット値としてキャプチャします。
  • Ask for Slot actions と共に使用します。 Ask for Intent アクションの間、スロットを埋めない.
  • インテントや発話マッピングの検出には使用できません。 NO_HINT 構文を顧客に提供しない。
  • 数字や一文字を正確に識別できるようにする(「Stratocaster」の「o」は文字であり、「0」ではありません)。

詳細については、次を参照してください。 ボット フローで組み込みのスロット タイプを使用する.

カスタムスロットタイプ

カスタム スロット タイプでは、スロット タイプを定義し、スロットのマップに使用できます。 例えば、旅行ボットの都市を表すロケーションスロットを作成することができます。 カスタムスロットタイプを定義し、そのロケーションスロットを使って、発話中のロケーションをマッピングすることができます。

Architect は 5 つのカスタム スロット タイプをサポートしています。

  • 仮想エージェントを搭載したAI搭載タイプ
  • リスト タイプ
  • 動的リストタイプ
  • 正規表現(regex)タイプ
  • タイムスロットタイプ
 メモ:   正規表現で自然言語理解(NLU)を使用する場合、NLUの設定が結果に影響する可能性があります。

仮想エージェントを有効にすると、自然言語理解メニューからスロットを作成するときに、仮想エージェント用の生成的な AI 搭載スロット タイプを作成できます。 大規模言語モデル (LLM) を使用すると、仮想エージェントの管理者とフロー作成者は、複数のスロットを任意の順序でキャプチャして収集したり、複数のターンにわたってスロットをキャプチャしたり、顧客が自分の名前を綴るなど、ボットにとってより複雑なタスクを実行するときにボットが理解しやすくしたりできます。 

仮想エージェントを使用すると、数値、英数字、または自由形式の AI 搭載スロットとスロット タイプを使用して、会話型ボットの動作を改善できます。自由形式のスロットを使用すると、同義語や例を追加して、ボットが同じスロットの複数の単語やフレーズを認識できるようにすることができます。これらの AI を活用したオプションを使用すると、ボットと参加者間の会話が人間の会話に近くなるようにボットを構成できます。詳細については、 Genesys バーチャルエージェントについて

AI搭載スロットとスロットタイプに関するベストプラクティスや制限事項などの詳細については、以下を参照してください。仮想エージェント スロット作成の推奨事項と制限

カスタム スロット タイプ データが発話で定義済みワードのセットである場合、場所名のようにリスト スロット タイプを使用します。スロットタイプのリストは、ボットがスロットをキャプチャするために認識しなければならない単語のセットを定義するのに役立ちます。

また、1 つのスロット タイプの同義語を追加して、Architect が同じスロットの複数の単語やフレーズを認識できるようにすることもできます。 たとえば、New Yorkのスロット タイプ値には、同義語を次のように指定できます。 ビッグアップルまたはニューヨーク。 これらの同義語により、ユーザーが NYC と言った場合、ニューヨークにマップされることをボットが理解できるようになります。

詳細については、次を参照してください。 ボット フローでカスタム リスト スロット タイプを使用する.

ボット フローの作成時に許可されるスロット値がわからない場合は、ボット フローで動的リストを構成します。 次に、データ アクションまたは別のソースを使用して、ボットの会話中に値を取得し、文字列コレクション変数に格納します。  

ダイナミックリストは、ボットがスロットタイプに対して多くの値を含み、Genesys Dialog Engine Bot FlowsまたはGenesys Digital Bot Flows内でそれらを手動で個別に設定したくない場合に便利です。 このダイナミックリストは、スロットの値がユーザーごとに変動するような場合にも有効です。

詳細については、次を参照してください。 ボット フローでカスタム動的リスト スロット タイプを使用する.

正規表現 (regex または regexp) を使用して、特定の文字シーケンスに一致する発話内のパターンを識別できます。 ボットが発話内の複雑なコンテンツを識別する必要がある場合は、正規表現パターンがスロット タイプの定義に役立ちます。 たとえば、旅行ボットのフライト コードを照合する場合は、キャンセルを処理するためにフライト番号を知っている必要があります。 正規表現パターン ^[A-Z]{2}\d{3,4}$ は、このパターンにフライト番号として一致する発話内の任意のフレーズに一致します。 詳細については、次を参照してください。 ボット フローでカスタム正規表現スロット タイプを使用する と 正規表現言語のクイック リファレンス.

 メモ:   正規表現で自然言語理解(NLU)を使用する場合、NLUの設定が結果に影響する可能性があります。

カスタム スロット タイプのデータが、ボットがユーザーに送信する定義済みの時間スロットのセットである場合は、タイムスロット タイプのスロットを使用します。Architect は、タイムスロット コレクション変数を使用して、タイムスロットのリストを取得します。

カスタムの日時値をコレクション変数に直接追加することも、データ呼び出しアクションを使用してサードパーティのカレンダー イベント プロバイダーからカレンダー イベントを取得することもできます。

詳細については、ボットフローでカスタムタイムスロットスロットタイプを使用する

    スロットタイプメニューからボットフローにスロットタイプを追加します

    1. 自然言語理解、 クリック スロットタイプ
    2. クリックスロットタイプ。スロット タイプの追加ダイアログ ボックスが開きます。
    3. スロットタイプに意味のある名前を付けてクリックします保存
    4. スロットタイプ、スロットとスロットタイプを並行して作成するには、使用可能なスロットタイプの1つを選択します。
      • リスト。リスト スロット タイプはリスト内の項目と一致します。
      • 動的リスト。動的スロット タイプは構成可能です。
      • 正規表現。RexEx スロット タイプは、文字のシーケンスと一致します。
      • タイムスロット。タイムスロットのスロットタイプは設定可能です。
      • AI搭載。AI 搭載のスロット タイプでは、仮想エージェントを有効にすると、AI を活用して入力を理解し、分類します。
    5. リストを選択した場合は、スロットタイプの値に値を入力してクリックします。追加。さらに値を追加するには、この手順を繰り返します。
    6. 動的リストを選択した場合は、次の手順に従ってコレクション値を作成します。
      1. クリックコレクションを編集。 
      2. 表示されるダイアログボックスで、弦。
      3. [値] の下に、スロット タイプに関連付ける文字列値を入力します。
      4. 必要に応じて同義語とラベルを関連付けて残りのフィールドを完了します。
    7. 正規表現を選択した場合は、表現を入力してクリックします。追加。この手順を繰り返してさらに式を追加します。Architect は上から下に評価します。
    8. タイムスロットを選択した場合は、次の手順に従ってコレクション値を作成します。
      1. クリックコレクションを編集。 
      2. 表示されるダイアログボックスで、時間帯リテラル モードで入力するか、式モードで式を追加します。
      3. 必要な値を追加したら、近い
    9. 仮想エージェントを有効にして AI 搭載を選択した場合は、[形式] で次のいずれかの手順に従います。
      1. 選ぶ自由形式。このタイプは、設定された数字ではなく長い回答を期待するようにボットに指示します。
        1. 「説明」の下に、収集する情報の詳細なプロンプトを入力します。たとえば、「ヨーロッパの首都」や「人の名と姓」などです。
        2. クリック
        3. 「発話例」で、ボットが予想する可能性のある発話を入力します。たとえば、「私はかつてパリを訪れました」や「私の名前はジョン・ドウです」などです。
        4. 「期待値」の下に、ボットが認識する値を入力します。たとえば、「Paris」や「John Doe」などです。
      2. 選ぶ文字と数字の組み合わせ[長さ] で、スロットの予想される文字の長さを設定します。たとえば、会員 ID に含まれる数字と文字の数などです。
      3. 選ぶ数値シーケンス[長さ] で、スロットの予想される文字の長さを設定します。たとえば、4 桁の PIN 番号などです。
    10. 保存するをクリックします。

    [スロット]メニューからボットフローにスロットを追加します

    1. 自然言語理解で、 スロットをクリックします。
    2. クリックスロットを追加
    3. スロットに意味のある名前を付けます。
    4. スロットタイプ、スロットとスロットタイプを並行して作成するには、使用可能なスロットタイプの1つを選択します。
      • 既存。既存のカスタム スロット タイプまたは組み込みスロット タイプが含まれます。
      • 新しいAI搭載。仮想エージェントを有効にすると、AI 搭載スロットは人工知能を使用して入力を理解し、分類します。
      • 新しいリスト。 リストスロットタイプは、リスト内のアイテムと一致します。
      • 新しい正規表現。RexEx スロット タイプは、文字のシーケンスと一致します。
      • 新しいダイナミック。動的スロット タイプは構成可能です。
      • 新しい時間帯。タイムスロットのスロットタイプは設定可能です。
    5. [既存]を選択した場合は、 選択する 既存のカスタムスロットタイプまたは組み込みスロットタイプを選択します。
    6. 「新しい AI 搭載」、「新しいリスト」、「新しい正規表現」、「新しいダイナミック」、「新しいタイムスロット」、または「AI 搭載」を選択した場合は、スロット タイプ名を入力します。 
    7. 保存するをクリックします。

    Architect は、新しいスロットが作成されたことを確認するメッセージを返します。また、新しい AI 搭載、新しいリスト、新しい正規表現、新しいタイムスロット、新しいダイナミックの場合は、スロット タイプが作成されたことも返します。

    スロットタイプに値を追加する

    スロット タイプに値を追加するには、スロット タイプに応じて次の記事を参照してください。

    並列スロットとスロットタイプの例

    この例では、ボット作成者はドラムキットメーカーのスロットとスロットタイプを追加したい。

    1. 自然言語理解で、 スロットをクリックします。
    2. スロットを追加をクリックします。
    3. スロット名はDrumKit
    4. スロットタイプ、[新しいリスト]を選択します。
    5. スロットタイプに名前を付けます メーカー。 
    6. 保存するをクリックします。

    画像をクリックして拡大します。

    パラレルスロットの追加

    アーキテクトはスロットとスロットタイプを作成し、スロット 'DrumKit' とスロットタイプ 'Manufacturer' が作成されたことを示すメッセージを返します。

    画像をクリックして拡大します。

    パラレルスロットとスロットタイプの作成

    これで、スロットタイプの値をスロットタイプに追加できます。

     メモ:   対応言語のスロットタイプを追加する方法については、フローで対応言語のインテントにスロットタイプと発話を追加する を参照してください。

    1. 自然言語理解、 クリック スロットタイプ
    2. クリック メーカー スロットタイプ。
    3. Slot Type Value」の下に「 」と入力し、「Yamaha」と入力してEnterキーを押します。
    4. 追加したいドラムキットメーカーごとにステップ4を繰り返します。

    画像をクリックして拡大します。

    スロット タイプ

    これで、スロットを発話にマッピングできます。 

     メモ:   対応言語の発話を追加する方法については、フローで対応言語のインテントにスロットタイプと発話を追加する を参照してください。

    発話にスロットをマップするには、次の手順に従います。

    1. 自然言語の理解で、インテントをクリックします。
    2. インテントページから、「ボルボを購入」というインテントを追加します。
    3. 新しいインテントをクリックします。 発話ページが開きます。
    4. 発話、「ボルボ」という用語をクリックします。 [スロットの選択]リストが表示されます。
    5. Select Slot リストから、Drums を選びます。

    スロットは発話に正常にマッピングされます。

    地図の発話