OVERVIEW
Virtual Assistants
Kore.ai Platform
Key Concepts
Natural Language Processing (NLP)
Accessing Platform
VIRTUAL ASSISTANTS
Virtual Assistant Builder
Virtual Assistant Types
Getting Started
Create a Simple Bot
SKILLS
Storyboard
Dialog Tasks
Introduction
Dialog Builder (New)
Dialog Builder (Legacy)
User Intent Node
Dialog Node
Entity Node
Supported Entity Types
Composite Entities
Supported Colors
Supported Company Names
Form Node
Logic Node
Message Nodes
Confirmation Nodes
Bot Action Node
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Manage Dialogs
User Prompts
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Train
Build
Alert Tasks
Introduction
Ignore Words and Field Memory
How to Schedule a Smart Alert
Small Talk
Digital Views
Introduction
How to Configure Digital Views
Digital Forms
Overview
How to Configure Digital Forms
NATURAL LANGUAGE
Overview
Machine Learning
Introduction
Model Validation
Fundamental Meaning
Introduction
NLP Guidelines
Knowledge Graph
Traits
Introduction
How to Use Traits
Ranking and Resolver
Advanced NLP Configurations
INTELLIGENCE
Overview
Context Management
Overview
Session and Context Variables
Context Object
How to Manage Context Switching
Manage Interruptions
Dialog Management
Sub Intents & Follow-up Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Event Based Bot Actions
Default Conversations
Default Standard Responses
TEST & DEBUG
Talk to Bot
Utterance Testing
Batch Testing
Record Conversations
Conversation Testing
CHANNELS
PUBLISH
ANALYZE
Overview
Dashboard
Custom Dashboard
Overview
How to Create Custom Dashboard
Conversation Flows
NLP Metrics
ADVANCED TOPICS
Universal Bots
Overview
Defining
Creating
Training
Customizing
Enabling Languages
Store
Smart Bots
Defining
koreUtil Libraries
SETTINGS
Authorization
Language Management
PII Settings
Variables
Functions
IVR Integration
General Settings
Management
Import & Export
Delete
Bot Versioning
Collaborative Development
Plan Management
API GUIDE
API Overview
API List
API Collection
SDKs
SDK Overview
SDK Security
SDK App Registration
Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Widget SDK Tutorial
Widget SDK – Message Formatting and Templates
Web Socket Connect & RTM
Using the BotKit SDK
Installing
Configuring
Events
Functions
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
ADMINISTRATION
HOW TOs
Create a Simple Bot
Create a Banking Bot
Transfer Funds Task
Update Balance Task
Context Switching
Using Traits
Schedule a Smart Alert
Configure UI Forms
Add Form Data into Data Tables
Configuring Digital Views
Add Data to Data Tables
Update Data in Data Tables
Custom Dashboard
Custom Tags to filter Bot Metrics
Patterns for Intents & Entities
Build Knowledge Graph
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
RELEASE NOTES

エンティティの変更

ユーザーがタスクの実行中に設定を変更する状況が何度も見られます。

例えば、ユーザーはフライトの予約中に旅行の日程を変更したり、目的地を変更したりする場合があります。

エンティティの変更は、このようなシナリオのための機能です。この機能を使用することで、お客様はユーザーによるエンティティ値の変更や変更後のダイアログの動作制御を可能にします。

エンティティの変更プロセスは、3つの段階に分けることができます。

  • 変更の識別:エンドユーザーが変更を望んでいることの識別は、Botの組み込みNLP機能によって行われます。
  • エンティティの変更:変更の意図を識別すると、現在のタスクは一時停止され、変更フローがトリガーされます。ユーザーの発話に基づいて、次の3種類の変更フローが考えられます。
    • ユーザーがエンティティ名(またはエンティティの同義語)を参照した場合、エンティティ値の入力を求められます。例えば、「I want to change the destination」というユーザーの発話により、目的地エンティティのプロンプトがトリガーされます。同じエンティティノードがダイアログ内に複数回存在する場合、ユーザーが既に入力した最新のエンティティノードが変更されます。
    • ユーザーがエンティティ値を指定すると、それに応じてエンティティが更新されます。例えば、「I want to fly to JFK」というユーザーの発話により、目的地のエンティティ値が変更されます。値がダイアログ内の2つ以上のエンティティと互換性がある場合、ユーザーは変更するエンティティの選択を促されます。
    • ユーザーがエンティティとその値の両方を参照した場合、エンティティが更新されます。例えば、「change my destination to JFK」というユーザーの発話により、目的地のエンティティ値が変更されます。
  • 変更後の動作:エンティティが正常に変更された後、Botが設定できる3つのダイアログ実行フローがあります。
    • ダイアログは、エンティティの接続を評価することで、変更されたノードから再実行することができます。
    • ダイアログは、変更が識別または作成されたノードから再開することができます。
    • ダイアログは、ダイアログ内に存在する指定されたノードから再開することができます。

注:

  • この機能はバージョン6.4のリリースで導入されました。
  • この機能はすべての言語でサポートされているわけではありません。詳細はこちらを参照してください。

Implementation

Kore.aiプラットフォームでは、次の2つのレベルでエンティティの変更の動作を定義することができます。

  • Botレベル
  • タスクレベル

Botレベル

Botレベルのエンティティの変更の動作を設定する

  1. 自然言語 > インテリジェンスオプションからエンティティの変更を選択します。エンティティの変更はデフォルトでは無効になっています。
  2. エンティティの変更を許可を選択すると、様々なダイアログの再開オプションが利用可能になります。
    • 変更済みのエンティティからダイアログを再実行 – 変更済みエンティティの接続を評価してダイアログを再開するには、このオプションを使用します。さらに以下を選択することができます。
      • 下流で取得されたエンティティの値を削除 – 識別されたエンティティと変更の間に取得されたすべてのエンティティを削除します。
      • 以前に表示されたメッセージの表示のスキップ – メッセージノードからのメッセージのみ。
    • 変更識別ノードからダイアログを再開 – 変更が識別されたノードからダイアログを再開するには、このオプションを使用します。

  3. プラットフォームのリリース8.0以降は、「ユーザーに入力を求めない」として設定されたエンティティの変更オプションを使用して、ユーザーに入力を求めないとマークされたエンティティに変更プロセスを拡張することができます。

タスクレベル

タスクレベルのエンティティの変更の動作を設定する

エンティティの変更の動作は、タスクレベルでも設定することができます。Botレベルの設定はタスクレベルで定義された設定に上書きされます。

  1. タスクダイアログのページから、省略記号アイコンをクリックし、変更の動作の管理を選択します。
  2. これにより変更の動作の管理ダイアログが開かれます。
  3. デフォルトでは、Botレベルの設定を使用が選択されており、Botレベルの設定が表示されます。
  4. このタスクのカスタマイズを選択して、Botレベルの設定を上書きします。
      • エンティティの変更を許可しないを選択した場合、ユーザーがこのタスクのエンティティ値を修正することを許可しません。
      • エンティティの変更を許可を選択した場合、さらに3つのダイアログ再開オプションが与えられます。
          • 変更済みのエンティティからダイアログを再実行 – エンティティの変更の動作は、タスクレベルでも設定することができます。Botレベルの設定はタスクレベルで定義された設定に上書きされます。
            • 下流で取得されたエンティティの値を削除 – 識別されたエンティティと変更の間に取得されたすべてのエンティティを削除します。
            • 以前に表示されたメッセージの表示のスキップ – メッセージノードからのメッセージのみ。
          • 変更識別ノードからダイアログを再開 – 変更が識別されたノードからダイアログを再開するには、このオプションを使用します。
          • ダイアログ内の特定のノードにジャンプ – このオプションを使用して、タスクフローをジャンプさせる必要のある現在のダイアログからノードを選択します。このオプションを使用すると、ダイアログで再開する前にカスタム動作を追加することができます。コンテキストオブジェクトには、以前の値と現在の値とともに、修正されたエンティティの詳細が含まれます。この情報を使ってダイアログをカスタマイズすることができます。
      • プラットフォームのリリース8.0以降は、「ユーザーに入力を求めない」として設定されたエンティティの変更オプションを使用して、ユーザーに入力を求めないとマークされたエンティティに変更プロセスを拡張することができます。

トリガー

以下は、エンティティの変更の動作をサポートするパターンです。これらのパターンを中心としたユーザの発話が、エンティティの変更のトリガーとなります。

  • ~amend_synonyms from to
    例:「change the departure date from today to tomorrow
  • ~amend_synonyms [to as from with] [instead_of rather_than not]
    例:「modify departure date to tomorrow instead of today
  • ~amend_synonyms [to as with]
    例:「replace departure date with tomorrow
  • ~amend_synonyms from
    例:「alter departure date from today
  • ~amend_synonyms [to as from with]
    例:「modify departure date to tomorrow
  • ~amend_synonyms {from} [to as with]
    例:「change from today to tomorrow
  • ~amend_synonyms [to as from] [instead_of rather_than not]
    例:「change to tomorrow instead of today
  • ~amend_synonyms [to as from] instead
    例:「change to tomorrow instead
  • ~amend_synonyms [([it that this] {to}) it that this to]
    例:「change it from today to tomorrow
  • ~amend_synonyms
    例:「amend departure date
  • ~amend_synonyms
    例:「change today
  • [to as from] [instead_of rather_than not]
    例:「to tomorrow instead of today
  • [to as from] instead
    例:「to tomorrow instead

上記のパターンでは、~amend_synonymsの概念には"amend", "change","modify","alter","update", "replace", "make", "move", "upgrade", "want"が含まれます。

ユーザーはこれらのパターンを使用して、複数のエンティティ値を変更することができることにご注意ください。例えば、「Change the departure date from today to tomorrow and departure city to Chicago」の場合、出発日と出発都市の両方が変更されます。

その他の注意事項

  • ユニバーサルBotのデフォルト言語には、変更機能は適用されません。ただし、リンク先のBotが進行中の場合は、リンク先のBotの変更設定が反映されます。
  • 変更リクエストの識別は、プラットフォームに組み込まれているトレーニングデータに基づいて行われ、現在、英語のダイアログタスク会話でのみサポートされています。
  • この機能の範囲には、現在、以前に入力されたエンティティの置換のみが含まれています。部分的な変更、削除、エンティティ値への追加など他のシナリオは含まれません。
OVERVIEW
Virtual Assistants
Kore.ai Platform
Key Concepts
Natural Language Processing (NLP)
Accessing Platform
VIRTUAL ASSISTANTS
Virtual Assistant Builder
Virtual Assistant Types
Getting Started
Create a Simple Bot
SKILLS
Storyboard
Dialog Tasks
Introduction
Dialog Builder (New)
Dialog Builder (Legacy)
User Intent Node
Dialog Node
Entity Node
Supported Entity Types
Composite Entities
Supported Colors
Supported Company Names
Form Node
Logic Node
Message Nodes
Confirmation Nodes
Bot Action Node
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Manage Dialogs
User Prompts
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Train
Build
Alert Tasks
Introduction
Ignore Words and Field Memory
How to Schedule a Smart Alert
Small Talk
Digital Views
Introduction
How to Configure Digital Views
Digital Forms
Overview
How to Configure Digital Forms
NATURAL LANGUAGE
Overview
Machine Learning
Introduction
Model Validation
Fundamental Meaning
Introduction
NLP Guidelines
Knowledge Graph
Traits
Introduction
How to Use Traits
Ranking and Resolver
Advanced NLP Configurations
INTELLIGENCE
Overview
Context Management
Overview
Session and Context Variables
Context Object
How to Manage Context Switching
Manage Interruptions
Dialog Management
Sub Intents & Follow-up Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Event Based Bot Actions
Default Conversations
Default Standard Responses
TEST & DEBUG
Talk to Bot
Utterance Testing
Batch Testing
Record Conversations
Conversation Testing
CHANNELS
PUBLISH
ANALYZE
Overview
Dashboard
Custom Dashboard
Overview
How to Create Custom Dashboard
Conversation Flows
NLP Metrics
ADVANCED TOPICS
Universal Bots
Overview
Defining
Creating
Training
Customizing
Enabling Languages
Store
Smart Bots
Defining
koreUtil Libraries
SETTINGS
Authorization
Language Management
PII Settings
Variables
Functions
IVR Integration
General Settings
Management
Import & Export
Delete
Bot Versioning
Collaborative Development
Plan Management
API GUIDE
API Overview
API List
API Collection
SDKs
SDK Overview
SDK Security
SDK App Registration
Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Widget SDK Tutorial
Widget SDK – Message Formatting and Templates
Web Socket Connect & RTM
Using the BotKit SDK
Installing
Configuring
Events
Functions
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
ADMINISTRATION
HOW TOs
Create a Simple Bot
Create a Banking Bot
Transfer Funds Task
Update Balance Task
Context Switching
Using Traits
Schedule a Smart Alert
Configure UI Forms
Add Form Data into Data Tables
Configuring Digital Views
Add Data to Data Tables
Update Data in Data Tables
Custom Dashboard
Custom Tags to filter Bot Metrics
Patterns for Intents & Entities
Build Knowledge Graph
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
RELEASE NOTES

Amend Entity

Time and again, we come across situations wherein the users change their preferences during task execution.

For example, while booking a flight, the user might change the date of travel and at times even the destination.

Amend Entity is a feature for such scenarios. Using this feature, you can allow the users to amend entity values and also control the post-amendment dialog behavior.

The entity amendment process is divided into three stages:

  • Amend Identification: Identifying that the end-user wants to amend is driven by the bot’s built-in NLP capabilities.
  • Amending Entities: On identifying the intention to amend, the current task is put on hold and the amend flow is triggered. Three kinds of amend flows are possible based upon the user utterance:
    • When the user refers to the entity name (or entity synonyms), then they are prompted for the entity value. For example, the user utterance I want to change the destination triggers the prompt for the destination entity. If the same entity node is present multiple times in the dialog, then the latest entity node for which the user has already provided input will be amended.
    • When the user gives the entity value then the entity is updated accordingly. For example, the user utterance I want to fly to JFK changes the destination entity value. If the value is compatible with two or more entities in the dialog, then the user is prompted to select an entity to amend.
    • When the user refers to both the entity and its value, then the entity is updated. For example, the user utterance change my destination to JFK will change the destination entity value.
  • Post Amendment Behavior: After an entity is successfully amended, there are three possible dialog execution flows that your bot can be configured for:
    • The dialog can be re-executed from the node that is amended by evaluating that entity’s connections.
    • The dialog can resume from the node where amend was identified or made.
    • The dialog can be resumed from a specified node present in the dialog.

Note: This feature is not supported in all languages, Click here for details.

Implementation

On the Kore.ai platform, Amend Entity behavior is defined at two levels:

  • Bot level
  • Task level

Bot Level

To Set Bot Level Amend Entity Behavior, follow the below steps:

  1. Select the Build tab from the top menu
  2. From the left menu, click Intelligence -> Amend Entity. 
  3. By default amend entities is disabled.
  4. Once you Allow amend entities, various Dialog Resumption options are available:
    • Re-execute dialog from amended entity – use this option to resume the dialog by evaluating the amended entity’s connections. You can further choose to:
      • Clear entity values captured downstream – to clear all entities captured between the identified entity and the amend
      • Skip display of previously displayed messages – messages from Message nodes alone.
    • Resume dialog from amend identification node – use this option to resume the dialog from the node where the amend was identified.

  5. The amend process can be extended to entities marked as Hidden using the Amend Hidden Entities option.

Task Level

To set Task Level Amend Entity Behavior, follow the below steps:

Amend entity behavior is set at the Task level also. The configurations defined at the task level will override the bot-level configurations.

  1. On the Dialog Task page, click the Ellipses  icon and select the Manage Amend Behaviour.
  2. On the Manage Amend Behaviour dialog box, by default, the Use bot level settings option is selected and the bot level setting is displayed.
  3. Select Customize for this task to override the bot level settings:
    • Do not allow amend entities – It will not allow the user to amend entity values for this task.
    • Allow amend entities – It will further give you three Dialog Resumption options:
      • Re-execute dialog from amended entity – Amend entity behavior is set at the task level also. The configurations defined at the task level will override the bot-level configurations.
        • Clear entity values captured downstream – to clear all entities captured between the identified entity and the amend
        • Skip display of previously displayed messages – messages from Message nodes alone.
      • Resume dialog from amend identification node – use this option to resume the dialog from the node where the amend was identified.
        • Jump to a specific node in the dialog – use this option to select a node from the current dialog where the task flow needs to jump. You can use this option to add custom behavior before resuming with the dialog. Context object will contain the details of the entities amended, along with the previous and current values. You may use this information to customize the dialog.
      • The amend process can be extended to hidden entities using the Amend Hidden Entities option.

Triggers

The following are patterns supporting the Amend Entity behavior. User utterance around these patterns triggers Amend Entity.

  • ~amend_synonyms <entity_name> from <old_value> to <new_value>
    For example, “change the departure date from today to tomorrow“.
  • ~amend_synonyms <entity_name> [to as from with] <new_value> [instead_of rather_than not] <old_value>
    For example, “modify departure date to tomorrow instead of today“.
  • ~amend_synonyms <entity_name> <old_value> [to as with] <new_value>
    For example, “replace departure date with tomorrow“.
  • ~amend_synonyms <entity_name> from <old_value>
    For example “alter departure date from today“.
  • ~amend_synonyms <entity_name> [to as from with] <new_value>
    For example, “modify departure date to tomorrow“.
  • ~amend_synonyms {from} <old_value> [to as with] <new_value>
    For example, “change from today to tomorrow“.
  • ~amend_synonyms [to as from] <new_value> [instead_of rather_than not] <old_value>
    For example, “change to tomorrow instead of today“.
  • ~amend_synonyms [to as from] <new_value> instead
    For example, “change to tomorrow instead“.
  • ~amend_synonyms [([it that this] {to}) it that this to] <new_value>
    For example, “change it from today to tomorrow“.
  • ~amend_synonyms <entity_name>
    For example, “amend departure date“.
  • ~amend_synonyms <old_value>
    For example, “change today
  • [to as from] <new_value> [instead_of rather_than not] <old_value>
    For example, “to tomorrow instead of today
  • [to as from] <new_value> instead
    For example, “to tomorrow instead

In the above-mentioned patterns the concept ~amend_synonyms includes "amend", "change","modify","alter","update", "replace", "make", "move", "upgrade", "want".

Note: The user can use these patterns to change multiple entity values. For example, Change the departure date from today to tomorrow and departure city to Chicago results in the changes to both departure date and city.

Additional Notes

  • Amend functionality is not applicable for the universal bot’s default language. However, when a linked bot is in progress, amend the settings of the linked bot is honored.
  • The platform’s in-built training data drives the identification of the amend requests, and it is currently supported only for the dialog task conversations in English.
  • The scope of this feature currently includes only the replacement of previously populated entities. It does not include other scenarios like partial modifications, deletions, additions to entity values.