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

会話セッション

会話セッションとは、ボットとユーザー間で行われる連続したやり取りであると定義されています。これらのセッションは、ボットビルダーやボット管理コンソールの複数の分析ダッシュボードで使用されます。Kore.aiのバーチャルアシスタントプラットフォームによって、これらの会話セッションをどのように作成および終了するかをカスタマイズすることができます。

会話セッションは請求セッションとは異なります。請求セッションについてはこちらを参照してください

概要

会話セッションとは、エンドユーザーとボット間で行われる連続したやり取りであると定義されています。

  • バージョン7.2のプラットフォームリリース前 – エンドユーザーが最後に操作してから休止状態持続期間(15分に設定)が経過すると、新しいセッションが作成されていました。
  • バージョン7.2以降 – 休止状態持続期間(15分に設定)が経過した後、
    • エンドユーザーが戻ってきて同一インテントで続行した場合、現在のセッションは継続されます。
    • エンドユーザーが戻ってきて新しいインテントで続行したり、既存のインテントに対して無効な入力をした場合、新しいセッションが作成されます。
  • バージョン8.0以降のプラットフォームには、次のようなオプションがあります。
    • 休止状態後に、主動的にセッションを閉じる – セッションの管理の詳細については、こちらを参照してください
    • 休止状態後に、主動的にセッションを閉じない – 前述のバージョン7.2の動作を維持します。

会話セッションは、バーチャルアシスタントまたはボットとのすべてのやり取りに対して作成されます。これには以下のものが含まれます。

  • 対話セッションとしてマークされた、ユーザーからの1つ以上のメッセージを含むすべての会話。これには、認証の詳細を含む、すべてのチャネルとイベントにおけるエンドユーザーのすべてのやり取りが含まれます。
  • onConnectイベントメッセージなど、ボットが開始したコンバージョンセッションは、すべて非対話セッション;として記録されます。これらのセッションは、ユーザーメッセージが受信されるとすぐに対話セッションとして更新されます。非対話セッションは、請求セッションの計算には考慮されません。
  • 開発者のやり取りも会話セッションとして含まれます。フラグはユーザーセッションと開発者セッションを区別し、これらの開発者セッションに対して請求セッションは作成されません。

注意:会話セッションに非対話型および開発者のやり取りが含まれるようになったのは、バージョン8.0からです。

セッションを管理

この機能は、プラットフォームのバージョン8.0でリリースされました。設定 > か環境設定セッションを管理オプションを使用して、会話セッションの動作を定義することができます。

  • 休止状態後に主動的にセッションを閉じない – このオプションでは、ユーザーが15分以上の休止状態の後に戻ってきて新しいインテントを入力した場合にのみ、セッションを閉じます。このオプションは、プラットフォームのバージョン8.0がリリースされる前のデフォルトの動作でした。このオプションは、今後のリリースでは非推奨となります
  • 休止状態後に主動的にセッションを閉じる – このオプションは、定義された休止状態時間の経過後、セッションを閉じます。以下のパラメータを設定することができます。
    • 休止状態持続期間 – デフォルトでは15分に設定されており、セッションを終了するタイミングを決定します。5~60分の任意の値を設定することができます。
    • 終了前の動作 – ユーザーに通知せずにセッションを終了するか、メッセージを送信してセッションの終了をユーザーに通知するかを選択することができます。このメッセージは、応答の管理リンクを使用してカスタマイズすることができます。

導入

会話セッションはいつ開始されますか?会話セッションは、すべてのやり取りに対して作成されます。

  • すべてのチャネルとイベントにおけるエンドユーザーとのすべてのやり取り – 会話セッションは、On_connectに対して作成されます(スクリプトの実行、メッセージの実行、ダイアログのトリガーのシナリオ)。これらの会話セッションには次の2つのカテゴリがあります。
    • 対話セッションとは、ユーザーからの1つ以上のメッセージを含む会話を指します。
    • 非対話セッションとは、ユーザーからのメッセージがない会話を指します。ボットが開始する会話セッションは、すべて「非対話型」として開始されます。これらのセッションは、ユーザーからのメッセージを受信するとすぐに対話セッションとして更新されます。非対話セッションは、請求セッションの計算には考慮されません。
  • 開発者のやり取りも会話セッションの作成に考慮されますが、これらはユーザーセッションとは異なるものとして表示され、請求セッションの作成には考慮されません。

会話セッションはいつ終了しますか?

  • 前述の「セッションを管理」オプションで設定された休止状態時間が経過すると、プラットフォームは休止中のセッションを積極的に閉じるようになります。
  • 「破棄」の発話が検出された場合
  • チャットウィンドウが更新された、つまり「refresh: true」が検出された場合

会話セッションが終了するとどうなりますか?

  • セッション終了後、以下の情報または変数がクリアされます。
    • 会話セッション
    • ボットユーザーセッション(カスタムTTLのない開発者定義の変数)
    • ダイアログコンテキスト(トピックファイルと会話の詳細)
    • 設定済みの場合、会話セッションを閉じる前に、プラットフォームはサポートされているチャネルのユーザーにセッション終了のメッセージを積極的に送信します。
  • refresh: true」の場合:
    • 全セッション情報がクリアされます。
    • 新しい会話セッションが作成されます。
  • すべて破棄」の場合
    • ダイアログコンテキストの現在のタグと過去のタグがクリアされます。
    • センチメントトーンがリセットされます。
    • 同じ会話セッションが継続されます。
  • 破棄」の場合
    • 現在のダイアログコンテキストがクリアされます。
    • 現在のタグは、過去のタグの中の最後に更新された「タグ」に置き換えられ、過去のタグはクリアされます。

会話セッションの開始と終了時にはどうなりますか?ユーザーがボットとやり取りを行うたびに、ユーザー、セッション、進行中のダイアログ/タスクに関する情報を保持するコンテキストオブジェクトが作成されます。これらの値はシステムによって維持されます。コンテキストオブジェクトの一部である変数は、次のように分類できます。

  1. セッションコンテキスト – 詳細はこちらを参照してください
    1. グローバル – ユーザーが会話を開始するとすぐに作成され、セッションが終了するまで保持されます。
    2. ダイアログ – 特定のタスク(ダイアログ)用に作成され、ユーザーインテントに応じて変更されます。
  2. セッションコンテキスト – 詳細はこちらを参照してください
    1. エンタープライズコンテキスト – 企業内のすべてのボットとすべてのユーザーが利用できる、システムで定義されたキーと値の組み合わせです。
    2. ボットコンテキスト – システムで定義されたキーと値の組み合わせで、この特定のボットのユーザー全員が利用できます。
    3. ユーザーコンテキスト – ユーザーがすべてのボットで利用できるシステム定義のキーと値の組み合わせです。
    4. ユーザーセッション – エンタープライズ内のすべてのボットが、この特定のユーザーに対して定義することができるキーと値の組み合わせです。
    5. ボットユーザーセッション – 特定のユーザーからの入力に基づいて、特定のボットに定義することができるキーと値の組み合わせです。

バーチャルアシスタントの耐用期間におけるさまざまなマイルストーンは、次のようにマークすることができます。

グローバルコンテキストはセッション開始時に作成され、ダイアログコンテキストはダイアログ開始時に作成されます。次の表は、さまざまなセッション終了とダイアログ終了のシナリオに対するコンテキスト動作の詳細です。

コンテキストオブジェクト パラメータ セッション終了 ダイアログ終了
すべて破棄/やり直す ダイアログを終了/破棄
グローバルコンテキスト ccId クリア クリア 破棄された場合に保持されるクリア
currentLanguage 保持 保持 保持
suggestedLanguages 保持 保持 保持
onHoldTasks クリア 保持 保持
dialog_tone クリア 保持 保持
currentTraits クリア クリア クリア
intentAmbiguityCount クリア クリア クリア
ユーザー入力 保持 保持 ダイアログ終了の場合に保持されるクリア
履歴 クリア クリア クリア
message_tone クリア クリア 保持
currentTags 保持 保持 保持
smallTalk クリア 保持 保持
endOfTask 達成/キャンセルされたタスクの詳細 キャンセルされたタスクの詳細 達成/キャンセルされたタスクの詳細
historicTags クリア *再接続および更新の場合に保持される 保持 保持
開発者 クリア 保持 クリア
updatedOn クリア 保持 保持
ダイアログコンテキスト ボット クリア クリア クリア
botid クリア クリア クリア
taskid クリア クリア クリア
意図 クリア クリア クリア
intentType クリア クリア クリア
invocationSource クリア クリア クリア
エンティティ クリア クリア クリア
entityErrorCount クリア クリア クリア
amendEntities クリア クリア クリア
currentNodeId クリア クリア クリア
currentNodeName クリア クリア クリア
previousNodeId クリア クリア クリア
previousNodeName クリア クリア クリア
同義語 クリア 保持 保持
followupIntents クリア クリア 保持
セッションコンテキスト エンタープライズコンテキスト TTL*に基づいてクリア 保持 保持
ボットコンテキスト TTL*に基づいてクリア クリア クリア
ユーザーコンテキスト TTL*に基づいてクリア 保持 保持
ユーザーセッション TTL*に基づいてクリア 保持 保持
ボットユーザーセッション デフォルト – クリア、カスタム – TTL*に基づいてクリア 保持 保持

*TTL – Time to Live

  • ダイアログコンテキストオブジェクトの場合、プラットフォームによって6時間に設定されます。
  • ボットコンテキスト、ボットコンテキスト、ユーザーコンテキスト、ユーザーセッション、ボットユーザーセッションについては、30分に設定されていますが、開発者によってカスタマイズすることができます。
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

Conversation Sessions

Conversation sessions are defined as an uninterrupted interaction between the bot and the user. These sessions are used in multiple analytics dashboards in Bot Builder as well as Bot Admin Console platforms.

Kore.ai virtual assistant platform allows you to customize how these Conversation Sessions are to be created and closed.

Conversation Sessions are different from Billing Sessions, refer here for more on Billing Sessions.

Overview

A Conversation Session is defined as an uninterrupted volley between the end-user and the bot.

  • Before the release of v7.2 of the platform – a new session was created after the inactivity duration (set as 15 mins) has elapsed since the end-users’ last interaction.
  • Post v7.2 – after the inactivity duration (set as 15 mins) has elapsed
    • if the end-user comes back and continues with the same intent, then the current session continues;
    • if the end-user comes back with a new intent or with an invalid input for the existing intent, a new session is created.
  • Post v8.0 platform gives you an option to:
    • Proactively close the sessions after inactivity – for details on Manage Sessions refer here.
    • Not proactively close the sessions after inactivity – retain the v7.2 behavior described above;

Conversation Sessions are created for all interactions with the virtual assistant or bot. These include:

  • All conversations that include one or more messages from the user marked as interactive sessions. These include all end-user interactions across all channels and events including providing authorization details.
  • All bot initiated conversion sessions like onConnect event messages are recorded as non-interactive sessions. These sessions will be updated as Interactive sessions as soon as a user message is received. Non-interactive sessions are not considered for calculating the billing sessions.
  • Developer interactions are also included as conversation sessions. A flag differentiates the user sessions from developer sessions and billing sessions are not created for these developer sessions.

Note: inclusion of non-interactive and developer interactions in conversation sessions was done with ver8.0.

Manage Sessions

This feature was released with v8.0 of the platform.

Using the Manage Sessions option under Configurations from Build tab you can define the Conversation Session Behavior:

  • Do not proactively close the sessions after inactivity – this option will close the session only when the user returns after 15 minutes of inactivity and provides a new intent. This was the default behavior before the release of ver8.0 of the platform. This option will be deprecated in future releases.
  • Proactively close the sessions after inactivity – this option will close the session after a defined duration of inactivity. You can set the following parameters:
    • Inactivity Duration – this is set to 15 minutes by default and decides when the session should close. You can set it to any value between 5-60 minutes.
    • Pre-closure Behavior – you can choose to close the session without informing the user or inform the user about the session closure by sending out a message. This message can be customized using the Manage response link.

Implementation

When does a Conversation Session start?

Conversation Sessions will be created for all interactions:

  • All end-user interactions across all channels and events – Conversation sessions will be created for On_connect – Run a script, Run a Message, Trigger a Dialog scenario. There are two categories of these conversation sessions:
    • Interactive sessions are conversations that include one or more messages from the user.
    • Non-interactive sessions are conversations with no messages from the user. All bot initiated conversion sessions will start as ‘Non-interactive’. These sessions will be updated as Interactive sessions as soon as a user message is received. The non-interactive sessions will not be considered for calculating the billing sessions.
  • Developer interactions will also be considered for creating conversation sessions but these will be marked as different from the user sessions and will not be considered for Billing Sessions.

When does a Conversation Session close?

  • The platform will proactively close inactive sessions after the specified time of inactivity as set in the Manage Sessions option described above.
  • When the following utterances are detected – “Discard”
  • When the chat window is refreshed ie “refresh: true” is detected.

What happens when a Conversation Session closes?

  • Post-session closure, the following information or variables will be cleared:
    • Conversation session;
    • Bot User Session (developer-defined variables without custom TTL)
    • Dialog Context (Topic File and Conversation Details)
    • If configured, before closing the conversation session, the platform will proactively send a session closure message to the users on supported channels.
  • For “refresh: true”:
    • Complete session information is cleared;
    • A new conversation session is created.
  • For “discard all
    • The Dialog context, Current and Historic Tags are cleared;
    • The Sentiment Tones are reset;
    • The same Conversation Session will be continued
  • For “discard
    • The current Dialog context will be cleared;
    • The Current Tags will be replaced with the last updated ‘tags’ in the Historic Tags, and the Historic Tags would be cleared;