인간 대화는 우여곡절을 특징으로 하며 양 방향은 절대 동일하지 않습니다. 자연어 대화는 봇에 정의된 선형적 의도 해결 경로를 넘어서는 경향이 있습니다. 이상적으로 사용자는 봇이 다른 의도를 시작하기 전에 사용자 의도를 논리적으로 파악할 수 있도록 허용하지만, 항상 그런 것은 아닙니다. 예를 들어 다음 대화를 고려해 보세요.

여기에는 봇이 현재 의도를 진행하면서 새로운 사용자 요구 사항이나 의도를 제시하는 데 필요한 엔티티 값이 포함되어 있습니다. 봇은 사용자가 작업을 일시 중지하고, 다른 작업을 시작 및 완료하고, 중요한 컨텍스트 데이터와 대화 연속성을 잃지 않고 원래 작업으로 원활하게 돌아갈 수 있도록 함으로써 이러한 사항을 고려해야 합니다. Kore.ai는 봇, 작업 및 노드 수준에서 보류 및 재개 기능을 세부적으로 제어하며 컨텍스트 전환 규칙 및 동작을 제어할 수 있게 합니다. 작업 전환 경험을 정의하는 다양한 옵션을 제공하여 의도 흐름의 이러한 중단을 처리할 수 있습니다. 봇, 작업 및 노드 수준에서 중단 관리 옵션을 설정하여 다양한 비즈니스 요구 사항에 맞게 설정이 계층화되도록 할 수 있습니다. 작업 간에 컨텍스트 데이터를 전달하는 기능을 사용하여 작업 간 조건부 예외를 추가할 수도 있습니다. 다음 섹션에서 설명하는 내용:

  • 다양한 중단 관리 설정,
  • 봇, 작업 및 노드 수준의 설정 계층.

중단 관리

중단 관리 옵션을 사용하면 사용자가 다른 작업과 종료 전략으로 전환할 수 있는지 여부 및 방법을 선택할 수 있습니다. 중단 관리 설정은 봇 수준이나 작업 또는 대화 수준에서 수행됩니다. 이 섹션에서는 봇 수준의 설정을 살펴보겠습니다. 이러한 설정은 중단 계층 섹션에서 설명한 바와 같이 작업 수준에서 재정의할 수 있습니다. 빌드 > 인텔리전스 > 중단 관리 페이지에서 중단 설정에 액세스할 수 있습니다.

이 플랫폼은 다음 세 가지 카테고리에서 중단 동작에 대한 옵션을 제공합니다.

  • 중단 허용: 작업을 보류하기 위해 선택할 수 있는 옵션과 나중에 다시 시작할 수 있는 옵션을 제공합니다.
  • 중단을 허용하지 않음: 새 작업이 현재 작업을 방해하지 않도록 합니다.
  • 최종 사용자가 동작을 선택하도록 허용: 새 작업으로 전환하기 위해 최종 사용자 확인을 요청하고 선택할 수 있는 몇 가지 계속 옵션을 제공합니다.

참고 사항: 세션이 종료된 후에 사용자가 입력할 때(즉, 15분 이상 활동이 없는 경우) 입력이 이전 세션 컨텍스트 내에 있다면 중단 시나리오로 처리됩니다. 대신 사용자가 새 발화로 돌아오면 이전 컨텍스트가 삭제되고 새 대화가 시작됩니다.

중단 허용

작업 중단을 허용한 후에는 현재 작업에 어떤 일이 일어나야 하는지, 중단 작업이 완료된 후 대화가 어디로 이동하는지 등과 같은 시나리오에서 봇 동작을 지정해야 합니다. 중단 허용의 옵션은 다음과 같습니다.

옵션 설명
현재 작업을 보류하고 새 작업이 완료되면 다시 시작하세요 이 옵션을 사용하면 현재 의도 흐름과 관계없이 봇이 감지하는 즉시 새 의도로 전환할 수 있습니다. 이 옵션을 선택하면 새 의도 작업이 완료된 후 보류 중인 작업을 다시 시작하는 방법을 정의하는 재개 옵션 섹션이 나타납니다. 자세한 내용은 계속 옵션 섹션을 참조하세요.
현재 작업을 폐기하고 새 작업으로 전환 이 옵션을 선택하면 봇이 현재 작업을 폐기하고 다른 의도가 발생한 즉시 새 작업으로 전환됩니다. 봇이 새 작업으로 전환하기 전에 사용자에게 알림 메시지를 보내고 현재 작업이 삭제됩니다. 응답 관리 설정에서 메시지를 사용자 정의할 수 있습니다.
사용자에게 알림 없이 새 작업으로 전환 후 현재 작업 삭제 이 옵션을 선택하면 봇이 현재 작업을 폐기하고 다른 의도가 발생한 즉시 새 작업으로 전환됩니다. 봇은 사용자에게 전환에 대한 알림을 제공하지 않으며 현재 작업을 나중에 다시 시작하지 않습니다.
현재 작업을 계속하고 후속 작업 목록에 새 작업을 추가합니다 이 옵션을 선택하면 새 의도가 있더라도 봇이 현재 작업을 계속합니다. 그러나 이 기능은 후속 의도 배열에 새 의도를 추가합니다. 자세한 내용은 후속 의도 섹션을 참조하세요.

중단을 허용하지 않음

이 옵션을 선택하면 봇 수준 중단이 해제됩니다. 그러나 선택한 작업, 연결된 대화 상자(예외) 또는 노드 수준에 대해 이 동작을 재정의할 수 있습니다. 자세한 내용은 중단 계층 섹션을 참조하세요.

최종 사용자가 동작을 선택하도록 허용

이 옵션을 선택하면 봇이 최종 사용자에게 새 작업으로 전환할지 묻는 확인 메시지를 표시합니다. 봇은 최종 사용자가 선택하는 경우에만 새 작업으로 전환됩니다. 옵션 옆에 있는 응답 관리 링크를 클릭하여 사용자에게 보낸 확인 메시지를 사용자 정의할 수 있습니다. 사용자가 작업을 전환하기로 결정할 경우 봇이 선택하는 계속 옵션을 정의해야 합니다. 자세한 내용은 계속 옵션 섹션을 참조하세요.

계속 옵션

작업을 보류하고 중단 작업을 계속 진행하도록 허용한 후에는 계속 옵션을 설정해야 합니다. 즉, 중단 작업이 완료된 후 보류 중인 작업을 처리하는 방법을 설정해야 합니다.

옵션 설명
보류 중인 작업 재개 전에 사용자에게 확인을 받습니다 새 작업을 실행한 후 봇이 사용자에게 예 또는 아니요 옵션을 제공하여 보류 중인 마지막 작업으로 돌아갈 수 있게 합니다. 옵션 옆에 있는 응답 관리 링크를 클릭하여 사용자에게 보낼 사용자 정의 메시지를 작성할 수 있습니다.
예:

사용자: 안녕 
봇: 안녕하세요! 
사용자: 내일 비행기를 예약할 수 있나요? 
봇: 어느 도시에서 비행에 탑승하십니까? 
사용자: 로스앤젤레스입니다 
봇: 어디로 여행하십니까? 
사용자: 내일 일기 예보는 어떻습니까? 
봇: 일기 예보를 위한 도시 이름을 입력하세요. 
사용자: 로스앤젤레스입니다 
봇: 로스앤젤레스 일기 예보 날짜: 3월 15일 기온: 25C 조건: 대체로 맑습니다 
봇: '항공편 예약' 작업을 계속할까요? 
사용자: 네 
봇: 목적지 공항의 이름을 입력하세요
보류 작업이 재개된다는 메시지를 사용자에게 표시합니다 사용자에게 메시지로 알리고 사용자 확인 없이 보류된 마지막 작업을 재개합니다. 옵션 옆에 있는 응답 관리 링크를 클릭하여 알림 메시지를 사용자 정의할 수 있습니다.
예:

사용자: 안녕 
봇: 안녕하세요! 
사용자: 내일 비행기를 예약할 수 있나요? 
봇: 어느 도시에서 비행에 탑승하십니까? 
사용자: 로스앤젤레스입니다 
봇: 어디로 여행하십니까? 
사용자: 내일 일기 예보는 어떻습니까? 
봇: 일기 예보를 위한 도시 이름을 입력하세요. 
사용자: 로스앤젤레스입니다 
봇: 로스앤젤레스 일기 예보 날짜: 3월 15일 기온: 25C 조건: 대체로 맑습니다 
봇: 중단된 작업 재개 항공편 예약 
봇: 목적지 공항의 이름을 입력하세요
사용자에게 특정 메시지를 표시하지 않고 보류 중인 작업을 재개합니다 현재 작업이 실행된 후 바로 보류된 마지막 작업을 다시 시작합니다.
예:

사용자: 안녕 
봇: 안녕하세요! 
사용자: 내일 비행기를 예약할 수 있나요? 
봇: 어느 도시에서 비행에 탑승하십니까? 
사용자: 로스앤젤레스입니다 
봇: 어디로 여행하십니까? 
사용자: 내일 일기 예보는 어떻습니까? 
봇: 일기 예보를 위한 도시 이름을 입력하세요. 
사용자: 로스앤젤레스입니다 
봇: 로스앤젤레스 일기 예보 날짜: 3월 15일 기온: 25C 조건: 대체로 맑습니다 
봇: 목적지 공항의 이름을 입력하세요
작업이 단일 응답으로 종료된 경우 사용자에게 특정 메시지를 표시하지 않고 보류 중인 작업을 계속합니다

전환 작업이 단일 봇 응답으로 끝나는 경우도 있습니다. 예를 들어, 위의 일기 예보 예시에서 사용자가 직접 그런데, 내일 LA의 일기 예보는 어떻습니까?라고 입력한 경우 봇은 더 이상의 단계를 수행하지 않고 예보 정보만 제공했을 것입니다. 이러면 이 옵션을 선택하면 봇은 선택한 옵션과 관계없이 확인이나 알림 없이 보류 중인 작업으로 다시 전환합니다.

참고 사항: 최종 사용자에게 알리지 않고 바로 전환이 이루어집니다.

보류 수량 보류 수량 필드에서 보류할 작업 수를 선택할 수 있습니다. 봇은 이러한 작업 수를 최대한 보류하고 이 값에 도달하면 작업을 무시합니다. 예를 들어, 보류 수량을 1로 지정하고 세 번째 의도가 발생하면 봇은 중단 옵션과 관계없이 새 작업을 시작할 수 없습니다.

참고 사항: 작업은 항상 역순으로 다시 시작됩니다. 따라서 작업 1 이후 작업 2를 보류하는 경우 작업 2가 작업 1보다 먼저 재개됩니다.

중단 계층

봇 수준에서 일반적인 중단 옵션을 정의하는 것 외에도 대화 작업 또는 대화 노드 수준에서 이러한 옵션을 사용자 정의할 수 있습니다. 둘 이상의 수준에서 보류 및 계속 옵션을 설정하면 설정 우선순위가 다음과 같이 적용됩니다.

노드 수준 설정

노드 수준에서 중단 설정을 사용자 정의할 수 있습니다. 노드에 대한 설정을 사용자 정의하면 이 설정이 가장 높은 우선순위를 갖습니다. 노드의 중단 설정을 사용자 정의하려면 다음을 수행합니다.

  1. 대화 작업을 연 다음 노드를 열어 설정을 변경합니다.
  2. 인스턴스 탭을 클릭하고 고급 컨트롤을 선택합니다.
  3. 중단 섹션에서 이 노드의 사용자 정의를 선택하고 필요한 설정을 지정합니다. 이러한 설정은 봇 수준 중단 설정에 관해 위에서 설명한 내용과 같습니다.

대화 수준 설정

대화 수준 중단 사용자 정의는 봇 수준 설정보다 우선순위가 높지만 노드 수준 사용자 정의 또는 예외보다는 우선순위가 낮습니다. 대화의 중단 설정을 사용자 정의하려면 다음을 수행합니다.

  1. 사용자 정의하려는 대화 작업을 엽니다.
  2. 대화 빌더의 오른쪽 상단에서 추가 옵션 아이콘을 클릭한 다음 중단 관리를 클릭합니다.
  3. 중단 동작 섹션에서 이 작업의 사용자 정의를 선택하고 필요한 설정을 지정합니다. 이러한 설정은 봇 수준 중단에 관해 위에서 설명한 내용과 같습니다.
참고 사항: 노드 또는 작업 수준에서 중단 설정을 사용자 정의하지 않으면 봇 수준 설정이 적용됩니다.

FAQ의 관리 동작

FAQ에 중단 설정을 적용할지 아니면 FAQ에 항상 응답할지 여부를 선택할 수 있습니다. FAQ의 중단 동작을 플래그 하여 다음을 수행할 수 있습니다.

  • 중단이 활성화되면 항상 FAQ를 식별하고 이에 응답해야 합니다. 이 설정은 기본 설정입니다.
  • 중단이 활성화된 경우 항상 FAQ를 확인하고 보류 및 재개 설정에 따라 진행합니다.

모호한 의도의 관리 동작

모호한 중단 동작에 대한 플래그를 설정하여 대화 흐름 중에 모호한 의도를 처리할 수 있습니다. 다음을 수행할 수 있습니다.

  • 최종 사용자에게 모호한 의도(intent)를 표시하고 보류 및 재개 설정에 따라 진행합니다. 사용자가 작업을 선택하고 중단 설정이 다음과 같은 경우:
    • 현재 작업을 계속하고 후속 작업 목록에 새 작업을 추가 현재 작업이 보류되고 새 작업을 시작합니다.
    • 최종 사용자가 해당 동작을 선택할 수 있도록 허용 선택이 이미 이루어졌으므로 사용자에게 묻지 않고 새 작업을 시작합니다.
    • 다른 모든 보류 옵션은 평소와 같이 적용됩니다.
  • 최종 사용자에게 모호한 의도(intent)를 표시하지 않고 현재 작업을 계속합니다. 이 설정은 기본 설정입니다.

스몰 토크의 관리 동작

스몰 토크의 중단 동작 플래그를 설정하여 대화 흐름 중에 스몰 토크를 처리할 수 있습니다. 다음을 수행할 수 있습니다.

  • 스몰 토크에 응답 및 보류 중인 작업 재개 – 이것이 기본 설정입니다.
  • 설정 보류 및 재개를 사용하여 스몰 토크 실행.

사용자 인증의 관리 동작

사용자가 인증에 대한 프롬프트 메시지에서 관련성 없는 입력을 제공하는 경우 다음 흐름을 따릅니다.

  • 스몰 토크 의도가 식별되면 스몰 토크의 응답이 표시되고 승인 메시지가 다시 나타납니다.
  • 이 플랫폼은 중단 관리 설정과 관계없이 사용자 발화에 의도(작업 또는 FAQ)가 있는지 확인합니다.
    • 의도가 식별되면 현재 작업을 삭제하고 새 작업을 찾아 트리거 합니다.
    • 여러 의도가 식별되는 경우 모호한 대화와 함께 발화를 무시하고 현재 작업을 계속하는 옵션이 표시됩니다.
  • 의도가 식별되지 않으면 사용자에게 인증 링크가 다시 표시됩니다.

人間の会話は曲がりくねっているのが特徴で、2 つの方向が同じになることはありません。自然な会話とは、ボットに事前定義された直線的なインテント解決の道筋を外れてしまうこともよくあるものです。ユーザーが別の会話を開始する前に、ボット がユーザー インテントを合理的な結果に導くことができるようにすることが理想ですが、必ずしもそうとは限りません。

たとえば、次のような会話を考えてみましょう。

これにはボットが現在のインテントを続行するためのエンティティ値が含まれており、同時に新しいユーザーの要件やインテントも提示しています。

ボットは文脈データと会話の継続性を失わずに、ユーザーがタスクを一時停止し、別のタスクを開始して完了させ、元のタスクにシームレスに戻れるよう考慮しなければなりません。

Kore.ai では、ボット、タスク、ノード レベルでの一時停止と再開機能を細かく制御することができ、コンテキストの切り替えルールと動作をコントロールできます。また、タスク切り替え体験を定義するための幅広いオプションを与えることで、インテント フローの割り込みを処理できます。

オプションのうち、[一時停止と再開] オプションはボット、タスク、ノード レベルで設定でき、さまざまなビジネス要件に合わせて設定がレイヤー化されていることを確認できます。また、タスク間でコンテキスト データを渡す機能を使用して、タスク間に条件付き例外を追加することもできます。

続くセクションでは、以下について説明しています。

  • さまざまな一時停止と再開の設定、
  • ボット、タスク、ノード レベルでのセットアップの階層。

一時停止と再開

[一時停止と再開] オプションでは、ユーザーが別のタスクに切り替えるかどうか、どのように切り替えるか、また終了の方法を選択することができます。一時停止と再開の設定はボット レベル、またはタスクやダイアログ レベルで行うことができます。このセクションでは、ボット レベルでの設定について説明します。「一時停止と再開の階層」セクションで説明したように、これらの設定はタスク レベルでオーバーライドすることができます。

一時停止と再開の設定は、[自然言語] > [インテリジェンス] > [割り込みの管理] ページからアクセスできます。

このプラットフォームでは、以下の 3 つのカテゴリの下に 一時停止と再開のオプションが用意されています。

  • 一時停止と再開を許可: タスクを一時停止するためのオプションと、後で再開するためのオプションを選択できます。
  • 一時停止と再開を許可しない: 現在のタスクの割り込みの中から新しいタスクを停止します。
  • エンド ユーザーが動作を選択できるようにする: 新しいタスクに切り替えるためにエンド ユーザーの確認を求め、いくつかの再開オプションを提示します。

注意: セッション終了後にユーザー入力があった場合、すなわち、少なくとも 15 分以上の非アクティブ状態が続いた後に入力があった場合、その入力が前のセッション コンテキスト内にある場合は、一時停止と再開のシナリオとして扱われます。その代わりに、ユーザーが新しい発話で戻ってきた場合、古いコンテキストは破棄され、新しい会話が開始されます。

一時停止と再開を許可する

タスクの割り込みを許可した後に現在のタスクはどうなるのか、割り込みタスクが完了したら会話はどのように続くのかなどのシナリオでの、ボットの動作を指定する必要があります。

[一時停止と再開を許可] のオプションには以下のようなものがあります。

オプション 説明
現在のタスクを一時停止し、新しいタスクが完了したら再開する ボットは現在のインテントのフローに関係なく、別のインテントが検出されるとすぐに新しいタスクに切り替えます。このオプションを選択すると、[再開オプション] セクションが表示され、新しいインテント タスクが完了した後、一時停止中のタスクを再開する方法を定義するための選択肢が提示されます。詳細については、「再開オプション」のセクションを参照してください。
現在のタスクを破棄し、新しいタスクに切り替える このオプションを選択すると、現在のタスクを破棄し、別のインテントを検出した後すぐに新しいタスクに切り替えます。ボットは新しいタスクに切り替える前にユーザーに通知メッセージを送信し、現在のタスクは破棄されます。メッセージは [応答を管理] 設定でカスタマイズすることができます。
ユーザーへの通知なしに新しいタスクに切り替え、現在のタスクを破棄する このオプションを選択すると、ボットは現在のタスクを破棄し、別のインテントが検出されるとすぐに新しいタスクに切り替えます。ボットはユーザーに切り替えを通知せず、現在のタスクを後で再開しません。
現在のタスクを継続し、新しいタスクをフォローアップ タスク リストに追加する このオプションを選択すると、新しいインテントが検出された場合でも、現在のタスクを継続して実行します。しかし、新しいインテントはフォローアップ インテントの配列に追加されます。詳しくは、「フォローアップ インテント」のセクションを参照してください。

一時停止の後再開しない

このオプションを選択すると、ボット レベルの[一時停止と再開] はオフになります。ただし、選択されたタスク、リンクされたダイアログ (例外)、またはノード レベルでは、この動作をオーバーライドすることができます。詳しくは、以下の「一時停止と再開の階層」セクションを参照してください。

エンド ユーザーが動作を選択可能にする

このオプションを選択すると、ボットはエンド ユーザーに確認メッセージを表示し、新しいタスクに切り替えるかどうかをユーザーに確認します。エンド ユーザーが新しいタスクに切り替えることを選択した場合にのみ、ボットは新しいタスクに切り替えます。オプションの横にある [応答の管理] リンクをクリックして、ユーザーに送信される確認メッセージをカスタマイズすることができます。

ユーザーがタスクを切り替えることを決定した場合にボットが取るべき再開オプションを定義する必要があります。詳しくは、「再開オプション」のセクションを参照してください。

再開のオプション

タスクを一時停止にして割り込みタスクを進めたら、割り込みタスクが完了した後一時停止中のタスクをどのように処理するか、つまり再開オプションを設定する必要があります。

オプション 説明
一時停止中のタスクを再開する前にユーザーに確認する 新しいタスクを実行した後、ボットはユーザーに最後の一時停止中のタスクに戻るかどうかの「はい」または「いいえ」の選択肢を提示します。また、オプションの隣にある [応答を管理] リンクをクリックして、ユーザーへのカスタム メッセージを作成することができます。
例:

ユーザー: こんにちは
ボット: こんにちは
ユーザー: 明日のフライトを予約してもらえますか?
ボット: どの都市からのフライトですか?
ユーザー: ロサンゼルスです。
ボット: 行き先はどちらですか?
ユーザー: ところで、明日の天気予報は?
ボット: 天気予報を知りたい都市名を入力してください。
ユーザー: ロサンゼルス
ボット: ロサンゼルスの天気予報
日付: 3 月 15 日
温度: 25 ℃
状態: 快晴
ボット: 「フライトの予約」を続けますか?
ユーザー: はい。
ボット: 目的地の空港名を入力してください。
一時停止中のタスクが再開されたことをメッセージでユーザーに通知する メッセージでユーザーに通知し、ユーザーの確認なしに一時停止中の最後のタスクを再開します。オプションの隣にある [レスポンスの管理] リンクをクリックすると、通知メッセージをカスタマイズすることができます。
例:

ユーザー: こんにちは
ボット: こんにちは
ユーザー: 明日のフライトを予約してもらえますか?
ボット: どの都市からのフライトですか?
ユーザー: ロサンゼルスです。
ボット: 行き先はどちらですか?
ユーザー: ところで、明日の天気予報は?
ボット: 天気予報を知りたい都市名を入力してください。
ユーザー: ロサンゼルス
ボット: ロサンゼルスの天気予報
日付: 3 月 15 日
温度: 25 ℃
状態: 快晴
ボット: 割り込みタスクの再開 「フライト予約」
ボット: 目的地の空港名を入力してください。
ユーザーへの特定のメッセージなしで一時停止中のタスクを再開する 現在のタスクが実行された後すぐに、一時停止中の最後のタスクを再開します。

例:

ユーザー: こんにちは
ボット: こんにちは
ユーザー: 明日のフライトを予約してもらえますか?
ボット: どの都市からのフライトですか?
ユーザー: ロサンゼルスです。
ボット: 行き先はどちらですか?
ユーザー: ところで、明日の天気予報は?
ボット: 天気予報を知りたい都市名を入力してください。
ユーザー: ロサンゼルス
ボット: ロサンゼルスの天気予報
日付: 3 月 15 日
温度: 25 ℃
状態: 快晴
ボット: 目的地の空港名を入力してください。
1 つの応答でタスクが終了した場合、ユーザーに特定のメッセージを送信せずに一時停止中のタスクを再開する 切り替えられたタスクがボットの 1 つの応答で完了することがあります。たとえば上記の天気予報の例では、ユーザーが直接「ところで、ロサンゼルスの明日の天気は?」と入力すれば、ボットは単に天気予報のみを回答すればよく、それ以上のステップは生じません。
このような場合にこのオプションを選択すると、選択したオプションに関わらず、ボットは確認も通知もせずに、一時停止中のタスクに切り替えます。

注意: 切り替えは、ユーザーに通知されることなく直接実行されます。

 

一時停止数
[一時停止数] フィールドから、一時停止とするタスクの数を選択できます。ボットは最大でこの数のタスクを一時停止にし、この値に達するとタスクを無視します。

たとえば、一時停止数を 1 と指定して第 3 のインテントが発生した場合、ボットは一時停止と再開オプションの設定に関係なく、新しいタスクを開始しません。

注意: タスクは常に逆の時系列で再開されます。つまり、タスク 1 の後にタスク 2 を一時停止とした場合、タスク 2 がタスク 1 の前に再開されます。

一時停止と再開の階層

ボット レベルで一般的な一時停止と再開のオプションを定義する以外に、これらのオプションを ダイアログ タスクや ダイアログ ノード レベルでカスタマイズすることができます。複数のレベルで一時停止と再開オプションを設定した場合、設定の優先順位は以下のようになります。

ノード レベルの設定

ノードレベルで一時停止と再開の設定をカスタマイズできます。ノードの設定をカスタマイズする場合は、この設定が最優先されます。

ノードの一時停止と再開の設定をカスタマイズするには、以下の手順に従います。

  1. ダイアログ タスクを開き、設定を変更したいノードにカーソルを合わせます
  2. [歯車アイコン] をクリックして [プロパティ] パネルに移動し、[インスタンス] タブをクリックします。
  3. [インスタンスのプロパティ] パネルで、[高度なコントロール] を選択します。
  4. [一時停止と再開] セクションで、[このノードのカスタマイズ] を選択し、必要な設定を行います。これらの設定は、上記で説明したボット レベルの一時停止と再開の設定と同じです。

ダイアログ レベルの設定

ダイアログ レベルの一時停止と再開のカスタマイズは、ボット レベルの設定よりも優先度が高くなりますが、ノード レベルのカスタマイズや例外よりも優先度が低くなります。

ダイアログの一時停止と再開の設定をカスタマイズするには、以下のようにします。

  1. カスタマイズしたい設定のダイアログ タスクを開きます
  2. ダイアログ ビルダーの画面右上にある [その他のオプション] アイコンをクリックし、[割り込みを管理] をクリックします。
  3. [一時停止と再開] セクションで、[このタスク用にカスタマイズする] を選択し、必要な設定を行います。これらの設定は、ボット レベルの一時停止と再開の場合と同じです。
注意: ノードまたはタスク レベルで一時停止と再開の設定をカスタマイズしない場合、ボット レベルの設定が有効になります。

FAQ の動作を管理する

FAQ を一時停止と再開の設定に従わせるか、FAQ に常に応答するかを選択できます。この機能はバージョン 7.0 から導入されました。

FAQ の割り込み動作フラグで、以下のようなことができます。

  • 割り込みが有効になっている場合、FAQ を常に識別して応答します。これは既定の設定です。
  • 割り込みが有効になっているときは常に FAQ を識別し、[一時停止と再開] の設定に従って続行します。

あいまいなインテントのための動作を管理する

(プラットフォーム バージョン 7.1 で導入)

あいまいなインテントの動作フラグを設定して、会話の流れの中であいまいなインテントを処理することができます。以下のようなことができます。

  • あいまいなインテントをエンド ユーザーに提示し、H&R 設定に従って進めます。ユーザーがタスクを選択し、一時停止と再開の設定を
    • 「現在のタスクを継続し、フォローアップ タスク リストに新しいタスクを追加する」とすると、現在のタスクは一時停止され、新しいタスクが開始されます。
    • 「エンド ユーザーが動作を選択することを許可する」とすると、選択はすでに行われているので、ユーザーに確認することなく新しいタスクが開始されます。
    • 他のすべての [一時停止] オプションは通常どおり適用されます。
  • エンド ユーザーにあいまいなインテントを提示せず、現在のタスクを続行します。これは既定の設定です。

ユーザー認証のための動作を管理する

(プラットフォーム バージョン 7.3 で導入)

ユーザーが認証のためのプロンプト メッセージで関連性のない入力をした場合、以下のような流れになります。

  • スモール トークのインテントが特定された場合、スモール トークの応答が表示され、再度認証を促します。
  • プラットフォームは、一時停止管理の設定に関係なく、ユーザーの発話の中にインテント (タスクや FAQ) が存在するかどうかをチェックします。
    • インテントが特定された場合、現在のタスクを破棄して新しいタスクを開始するかどうかの確認を求めます。
    • 複数のインテントが特定された場合、あいまいさのダイアログと、発話を無視して現在のタスクを続行するオプションが表示されます。
  • インテントが特定されない場合、認証リンクがユーザーに再度プロンプト表示されます。

Human conversations are characterized by twists and turns, and no two directions are ever the same. Natural conversations often tend to go beyond linear intent resolution paths defined in the bots. Ideally, a user allows the bot to take a user intent to its logical conclusion before initiating another, but that is not always the case.

Consider the following conversation for example:

It includes an entity value for the bot to proceed with the current intent, while also presenting a new user requirement or intent.

Bots must account for this by allowing users to pause a task, start and complete another task, and seamlessly return to the original task without losing important contextual data and conversation continuity.

Kore.ai provides you with granular control over hold and resume functionality at the bot, task, and node levels, and allows you to control context switching rules and behaviors. You can handle such interruptions in intent flows by providing a whole range of options to define the task-switching experience.

The Manage Interruptions option can be set up at the bot, task, and node levels to ensure the configurations are layered to suit your various business requirements. You can also add conditional exceptions between tasks with the ability to pass contextual data between them.

The following sections describe:

  • The various Manage Interruption configurations,
  • The hierarchy of the setups at bot, task, and node levels.

Manage Interruptions

The Manage Interruptions options allow you to select if and how a user can switch to another task and also the exit strategies. The configuration for Manage Interruptions is done either at the bot Level or at the task or dialog level. We will discuss the settings at the Bot Level in this section. These settings can be overridden at the task level as discussed in the Interruptions Hierarchy section.

You can access the interruption settings from the Build > Intelligence > Manage Interruptions page.

The platform provides options for Interruptions Behavior under the following three categories:

  • Allow interruptions: Provides options for you to choose for holding a task and options to resume it later.
  • Do not allow interruptions: Stops new tasks from interrupting the current task.
  • Allow the end user to select the behavior: Seeks end-user confirmation to switch to a new task and provides several resume options for you to pick from.

NOTE: When the user inputs after a session has ended, i.e. after at least 15 minutes of inactivity, and if the input is within the previous session context, it is treated as an interruption scenario. If instead, the user comes back with a new utterance, then the old context is discarded and a new conversation is started.

Allow Interruptions

Once you allow for task interruption, you need to specify the bot behavior in such scenarios as what should happen to the current task, where should the conversation go once the interruption task has been completed, etc.

Following are the options under Allow interruptions.

Option Description
Hold the current task and resume back once the new task is completed This option lets the bot switch to a new intent as soon as it is detected irrespective of the current intent flow. When you select this option, the Resume Options section appears providing further choices to define how to resume the on-hold task once the new intent task is completed.  Refer to the Resume Options section below for details.
Discard the current task and switch to new When you select this option, the bot discards the current task and switches to a new task soon after it encounters another intent. The bot sends a message to notify the user before switching to the new task and the current task would be discarded. You can customize the message from the Manage Response setting.
Switch to a new task without any notification to the user and discard the current task When you select this option, the bot discards the current task and switches to a new task soon after it encounters another intent. The bot does not notify the user about the switch and does not resume the current task later.
Continue with the current task and add a new task to the follow-up task list When you select this option, the bot continues on the current task even if it encounters a new intent. It, however, adds the new intent to the Follow-up intents array. Refer to the Follow-up Intents section below for more information.

Do not allow interruptions

When you select this option, the bot level interruptions is turned off. However, you may override this behavior for selected tasks, linked dialogs (exceptions), or node levels. Refer to the Interruptions Hierarchy section below for more information.

Allow the end user to select the behavior

When you select this option, the bot presents the end-user with a confirmation message asking if the user wants to switch to a new task. The bot switches to the new task only if the end-user chooses to do so. You can customize the confirmation message sent to the user by clicking the Manage Response link next to the option.

You need to define a Resume option that the bot should take if the user decides to switch the task. Refer to the Resume Options section below for details.

Resume Options

Once you allow the task to be put on hold and proceed with the interruption task, you must configure the Resume option i.e. how the on-hold task should be handled once the interrupting task is completed.

 

Option Description
Get confirmation with the user before resuming an on-hold task After executing the new task, the bot gives Yes or No options to the user to return to the last on-hold task. You can write a custom message for the user by clicking the Manage Response link next to the option.
Example:

User: Hi
Bot: Hello!
User: Can you book me a flight for tomorrow?
Bot: From which city are you flying?
User: Los Angeles
Bot: Where to?
User: By the way, what’s the weather forecast for tomorrow?
Bot: Please enter the name of the city for the forecast.
User: Los Angeles
Bot: Weather Forecast for Los Angeles
Date: March 15
Temperature: 25 C
Condition: Mostly Sunny
Bot: Should I continue with the task 'Book Flight'?
User: Yes
Bot: Enter the name of the destination airport
Notify the user with a message that the on-hold task is being resumed Notifies the user with a message and resumes the last task that’s kept on hold without user confirmation.
You can customize the notification message by clicking the Manage Response link next to the option.
Example:

User: Hi
Bot: Hello!
User: Can you book me a flight for tomorrow?
Bot: From which city are you flying?
User: Los Angeles
Bot: Where to?
User: By the way, what’s the weather forecast for tomorrow?
Bot: Please enter the name of the city for the forecast.
User: Los Angeles
Bot: Weather Forecast for Los Angeles
Date: March 15
Temperature: 25 C
Condition: Mostly Sunny
Bot: Resuming interrupted task Book Flight
Bot: Enter the name the of the destination airport
Resume the on hold task without any specific message to the user Directly resumes the last task that’s kept on hold soon after the current task is executed.
Example:

User: Hi
Bot: Hello!
User: Can you book me a flight for tomorrow?
Bot: From which city are you flying?
User: Los Angeles
Bot: Where to?
User: By the way, what’s the weather forecast for tomorrow?
Bot: Please enter the name of the city for the forecast.
User: Los Angeles
Bot: Weather Forecast for Los Angeles
Date: March 15
Temperature: 25 C
Condition: Mostly Sunny
Bot: Enter the name of the destination airport
Always resume the on hold task without any specific message to the user if the task is ended in a single response Sometimes, the switched-over tasks end with a single bot response. For example, in the weather forecast example above, if the user had directly entered By the way, what’s the weather forecast for LA tomorrow? the bot would have merely responded with the forecast, with no further steps.
In such cases, if you select this option, the bot switches back to the task on hold without any confirmation or notification, regardless of the option you’ve chosen.

Note: The switching happens directly, without any notification to the end-user.

On Hold Quantity
You can select the number of tasks that you want to keep on hold from the On Hold Quantity field. The bot keeps a maximum of this number of tasks on hold and ignores the tasks once this value is reached.

For example, if you specify the On Hold Quantity as 1 and if a third intent comes into play, the bot will not allow the new task to be initiated regardless of interruptions options.

Note: Tasks always resume in reverse chronological order. So, if you kept task 2 on hold after task 1, task 2 resumes before task 1.

Interruptions Hierarchy

Apart from defining the generic interruptions options at the bot level, you can customize these options at the dialog task or dialog node level. When you set up the Hold and Resume options in more than one levels, the order of precedence of the settings works as follows:

Node Level Settings

You can customize the interruptions settings at the node level. If you customize the settings for a node, this configuration takes the highest precedence.

To customize the interruptions settings for a node:

  1. Open the dialog task and then the node to change settings.
  2. Click the instance tab and select Advanced Controls.
  3. Under the Interruptions section, select Customize for this node and make the necessary configurations. These configurations are the same as discussed above for the bot level Interruptions Settings.

Dialog Level Settings

The dialog level Interruptions customizations have higher priority over bot level settings but rank lower than the node level customizations or any exceptions.

To customize the Interruptions settings for a dialog:

  1. Open the Dialog task you want to customize.
  2. On the top-right of the dialog builder, click the more options icon and then click Manage Interruptions.
  3. Under the Interruptions Behavior section, select Customize for this task and make the necessary configurations. These settings are the same as discussed above for the bot Level Interruptions.
Note: If you do not customize Interruptions settings at the node or task level, the bot level settings come into play.

Manage Behavior for FAQs

You can choose whether FAQs should honor the interruptions settings or if FAQs should be always responded to.

The flag Interruption Behavior for FAQs will allow you to:

  • Always identify and respond to FAQs when interruptions are enabled. This is the default setting.
  • Always identify FAQs when interruptions are enabled and proceed as per the Hold and Resume settings.

Manage Behavior for Ambiguous Intents

You can handle ambiguous intents during a conversation flow by setting the flag Behavior for Ambiguous Interruptions. It allows you to:

  • Present the ambiguous intents to the end-user and proceed as per the Hold and Resume Settings. In case the user selects a task and the interruptions setting is:
    • Continue the current task and add a new task to the follow-up task list, then the current task will be kept on hold and the new task will be initiated.
    • Allow the end-user to select the behavior, then the new task will be initiated without asking the user since the selection has been already made.
    • All other hold options will be applied as usual.
  • Do not present ambiguous intents to the end-users and continue on the current task. This is the default setting.

Manage Behavior for Small Talk

You can handle small talk during a conversation flow by setting the flag Interruption Behavior for Small Talk. It allows you to:

  • Respond to Small Talk and resume the on-hold task – this is the default setting.
  • Execute the Small Talk using Hold & Resume settings.

Manage Behavior for User Authorization

When a user gives any input at a prompt message for authorization that is not relevant, the following flow is followed:

  • If Small Talk intent is identified, then the Small Talk’s response is displayed, and the authorization is re-prompted.
  • The platform checks for the presence of any intents (tasks or FAQs) in the user utterance, irrespective of the configurations set for Manage Interruptions:
    • If the intent is identified, confirmation to discard the current task and trigger the new task is sought.
    • If multiple intents are identified, an ambiguity dialog along with the option to ignore the utterance and continue with the current task is presented.
  • If no intent is identified, then the user is re-prompted with the authorization link.