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

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

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

前の発話では、スロットは必要な部屋として識別され、スロットは番号スロットタイプにマッピングされています。 この記事はGenesys Dialog Engine Bot FlowsとGenesys Digital Bot Flowsに関するものですが、このビデオはGenesys Dialog Engine Bot Flowsでスロットとスロットタイプがどのように動作するかを説明するものです。

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

管理者とコンタクト センター マネージャーは、任意のインテントから任意のスロットにアクセスできます。 スロットは特定のインテントに関連付けられなくなったため、複数のインテントからアクセスできます。 この機能強化により、効率が向上し、ボット フローを構築する労力が軽減されます。 

どのインテントからでもどのスロットにもアクセスできます。 スロットは特定のインテントに関連付けられていません。 複数のインテントからスロットにアクセスする機能により、効率が向上し、ボットフローの構築に必要な労力が軽減されます。 たとえば、以前は、CheckAccountインテントとCloseAccountインテントから顧客のアカウント番号を参照する場合、各インテント内にアカウントスロットを作成する必要がありました。 意図せずにスロットを使用することもできます。 この機能は、セルフサービスボットで識別と検証を実行する必要がある場合に役立ちます。 たとえば、顧客の意図を尋ねる前に、顧客のアカウント番号とPINを事前に尋ねることができます。

さらに、グローバルスロットが利用可能になる前にスロットを作成した場合、同じ名前を共有する既存のスロットがマージされ、一意で参照しやすくなります。

スロット タイプ

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

内蔵スロット

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 は、次の 3 つのカスタム スロット タイプをサポートしています。

  • リスト タイプ
  • 動的リストタイプ
  • 正規表現(regex)タイプ

スロット タイプを一覧表示

カスタム スロット タイプのデータが発話内の事前定義された単語のセットである場合 (場所の名前など)、リスト スロット タイプを使用します。 リスト スロット タイプは、ボットがスロットをキャプチャするために認識しなければならない一連の単語を定義するのに役立ちます。 

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

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

ダイナミック リスト スロット タイプ

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

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

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

    正規表現(regexまたはregexp)スロット タイプ

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

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

    ボットフローにスロットを追加するには、次の手順に従います。

    1. 自然言語理解で、 スロットをクリックします。
    2. スロットを追加をクリックします。
    3. スロットに意味のある名前を付けます。
    4. スロットタイプ、スロットとスロットタイプを並行して作成するには、使用可能なスロットタイプの1つを選択します。
      • 既存。 既存のカスタムスロットタイプまたは組み込みスロットタイプが含まれます。
      • 新しいリスト。 リストスロットタイプは、リスト内のアイテムと一致します。
      • 新しい正規表現。 RexExスロットタイプは文字のシーケンスと一致します。
      • 新しいダイナミック。 動的スロットタイプは構成可能です。
    5. [既存]を選択した場合は、 選択する 既存のカスタムスロットタイプまたは組み込みスロットタイプを選択します。
    6. New List、New RegEx、またはNew Dynamicを選択した場合は、スロットタイプ名を入力します。 
    7.  保存するをクリックします。

    アーキテクトは、新しいスロットが作成されたことを確認するメッセージを返します。新しいリスト、新しい正規表現、および新しい動的の場合は、スロットタイプが作成されたことを確認します。

    この例では、ボットの作成者は自動車メーカー向けにスロットとスロットタイプを追加したいと考えています。

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

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

    パラレルスロットの追加

    アーキテクトはスロットとスロットタイプを作成し、スロット「自動車」とスロットタイプ「メーカー」が作成されたことを示すメッセージを返します。

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

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

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

    1. 自然言語理解、 クリック スロットタイプ
    2. クリック メーカー スロットタイプ。
    3. 新しいスロットタイプ値を入力します ここに、 レクサス Enterキーを押します。
    4. 追加する自動車メーカーごとに、手順4を繰り返します。

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

    スロットタイプの値を追加

    これで、スロットを発話にマッピングできます。 発話にスロットをマップするには、次の手順に従います。

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

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