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

スモールトーク

スモールトークとは、Botがエンドユーザーと行うことができる形式張らない会話のことです。エンドユーザーと形式張らない会話をすることで、Botをソーシャル化し、リコール率を向上させることができます。

スモールトークの会話は、Botとユーザー間の一連のやり取りとして設計することができます。「How Are You?」のようなソーシャルインプットに対応することができるBotは、Botに肯定的な印象を与える可能性が高く、ユーザーとの貴重なつながりを構築するのに役立ちます。カスタムスモールトーク機能を使用して、人格を形成し、興味のある分野について形式ばらない会話を行えるようBotをトレーニングします。また、ネスト化された会話を構築して、後に続く会話に答えたり、Botをより魅力的なものにしたりすることもできます。

この機能はKore.ai Botビルダープラットフォームのバージョン7.1で導入されました。これは、本来挨拶やスモールトークであった標準応答の一部に置き換わるものであり、お客様はBotに組み込まれているスモールトーク機能を拡張することができます。

デフォルトのスモールトーク

スモールトークは、Botのニーズに合わせて設定することができるBotレベルのタスクです。新しいBotを作成すると、デフォルトでグループ挨拶

既存のBotでスモールトークタスクを開くと、挨拶に関連する標準応答がスモールトーク機能に移行されたことが通知されます。続行を選択せず、標準応答を継続することができます。

移行を続行した場合、挨拶文は標準応答セクションから永久に削除され、検索できなくなってしまうことにご注意ください。

以下は、挨拶グループの下にあるメッセージです(これらは、挨拶の標準応答、および続行を選択するとスモールトークに移行されるその他のカテゴリです)

挨拶
ユーザーが「Hi」と言った時の応答 ユーザーがhihelloheyなどと言った時、またはBotの名前を入力した時に表示されます。
「how are you?」への応答 ユーザーが「How are you?」と尋ねる
NLは以下のように解釈します。
,

whazzupp whatcha`upto watsup wassup howzit
comment`est`vous comment`ca`va ca`va


「who are you?」への応答 ユーザーが「who are you」と言ったときに表示されます。
コンテキストにタスクがない時に、ユーザーが「great」「awsome」などと言う ユーザーが「great」「awsome」などと言った時に表示されます。(恐らくタスク終了後)
ユーザーが「that helped」「that was useful」などと言う ユーザーが「good」「great」「awesome」「cool」「fair enough」「that helped」「it helps」「that was useful」「that was handy」などと言った時に表示されます。(恐らくタスク終了後)
コンテキストにタスクがない時に、ユーザーが「no」「nope」などと言う これは、「No」「Nopes」などのユーザーの発話に対して応答したスモールトークです。
コンテキストにタスクがない時に、ユーザーが「I am done」「That's it for now」などと言う ユーザーが「I am done」「that’s it for now」「that’s all」「done」などと言った時に表示されます。(恐らくタスク終了後)
ユーザーが会話の終了をほのめかしている(「good night」「good night」「bye」「ttyl」など) この条件は、次のフォローアップタスク設定が設定されているダイアログタスクでのみ発生します。「はい、このダイアログの最後に、ダイアログ設定の[フォローアップタスク]リストからタスクを選択して実行するようにユーザーに依頼します」ダイアログの最後にフォローアップインテントの配列がユーザーに提示されると、Botはこのメッセージを表示します。
ユーザーからの感謝の言葉 ユーザーがBotに感謝の言葉を伝えた時に表示されます。
コンテキストにタスクがない時に、ユーザーが「OK」「fine」「yes」などと言う ユーザーが「OK」「fine」「got it」などと言ったときに表示されます。(恐らくタスク終了後)

NLエンジンのプラットフォームバージョン8.0リリース後の改良により、発話の最初に入力される「hello」のような言葉は、それ自体の文に分割されず、「~emohello」のような概念に置き換えられるようになりました。例えば、「Hello, I need to transfer money」というユーザーの発話の場合、「~emohello」と「I need to transfer money」の2つの文に分割されていたため、問題が発生していました。現在は分割されず、「transfer money」というインテントと一致するようになっています。

概要

スモールトークとは、一連のユーザー発話とBot応答です。スモールトークの主な目的は、ユーザーとの形式張らない会話を行うことであり、機能的なトピックまたはビジネス上の取引は通常スモールトークには含まれません。

スモールトークの様々なユーザークエリをグループに分類し、階層構造を割り当てることができます。挨拶カテゴリは、新しいBotすべてに対してデフォルトで自動生成されます。このグループには、挨拶や社交辞令に関する様々な質問が含まれています。お客様は、追加のグループやカテゴリを定義して、それぞれのグループの下に対話フローを構築することができます。

  • それぞれのグループは1つ以上の最上位の質問を設定することができます。最上位の質問は1つ以上の子質問を設定することができます。
  • 子質問には、それに続く1つ以上の子質問を最大3つのレベルまで設定することができます。すべての質問には、1つ以上の代替質問を設定することができます。
  • すべての質問には1つ以上の応答を設定することができます。複数の応答がある場合、プラットフォームはランダムに1つを選択します。

用語集

以下は、スモールトークに関連する様々な用語です。

  1. グループ – スモールトークは、目的と内容に基づいて、グループに分類することができます。
  2. ユーザークエリ – それぞれのグループに対して、ユーザークエリ、代替クエリ、子クエリを追加することができます。クエリはパターンを使って形成することができます。パターンの詳細はこちらを参照してください
  3. Botの応答 – それぞれのユーザークエリはBotの応答に関連付けられている必要があります。これらの応答は、プレーンテキスト形式でもJavaScript形式でも構いません。チャネル固有の応答を指定することができます。複数の応答を入力することもでき、プラットフォームによってそのうちの1つが実行時にランダムに選択されます。

作成

スモールトークを作成するには、まず、新しいグループを追加する必要があります。

次に、ユーザークエリとBotの応答を追加する必要があります。

グループ

新しいグループを手動で作成する、あるいは既存のJSONまたはTSVファイルをインポートすることができます。また、デフォルトの挨拶カテゴリを修正することもできます。

  • 新しいグループ
    1. Botタスク > スモールトークから、新しいグループボタンをクリックします。
    2. 名前を入力して続行します。
  • インポート:お客様の組織にすでにスモールトークが導入されている場合は、同様にインポートすることができます。ファイルはJSONまたはTSV形式である必要があります。フォーマットの詳細については、サンプルファイルをダウンロードしていただけます。
    1. Botタスク > スモールトークから、その他(省略記号)ボタンをクリックします。
    2. インポートオプションを選択します。
    3. スモールトークを含むファイルおよび次へを選択します。
    4. インポートが開始されます。既存のスモールトークがインポートされたファイルに置き換わることにご注意ください。
  • 修正
    1. 既存のグループをクリックして変更することができます。

開いたスモールトークエディタから、ユーザー発話とBotの応答の組み合わせを入力し、リストに追加することができます。

クエリ – 応答

グループを作成/インポートすると、クエリと応答の組み合わせを追加/変更することができます。

  1. ユーザー欄にユーザークエリを入力し、Bot欄に対応するBotの応答を入力します。
  2. 入力または追加を押してクエリと応答の組み合わせをリストに追加します。
  3. クエリはパターンを使用して設計することができます。パターンの詳細についてはこちらを参照してください
  4. それぞれのユーザークエリに対して、ユーザーが同じクエリを実行する際の異なる方法を示す 代替質問 を入力することができます。
  5. それぞれのBotの応答に対して、代替応答を入力することができます。プラットフォームは、実行時に1つの応答をランダムに選択します。
  6. カーソルを合わせたときに質問の前に表示されるハンドルバーアイコンを使用して、質問の順序を変更することができます。
  7. それぞれのユーザークエリは、子クエリを設定することができます。子質問は、親質問が実行されて回答された場合にのみ実行することができます。子クエリを追加するには、カーソルを合わせたときに質問の横に表示されるアイコンを使用します。
  8. 応答はチャネル固有およびJava Scriptの書式設定にすることができます。カーソルを合わせたときに応答の横に表示される設定(歯車アイコン)をクリックすると、応答の管理ウィンドウが開きます。以下をご確認ください。
    • すべてのチャネルに表示されるデフォルトのメッセージを指定します。
    • チャネル固有の応答:
      1. +応答の追加をクリックします。
      2. 新しいプロンプトメッセージをクリックします。
      3. チャネルを選択します。
      4. 詳細設定モードを使用して、標準テキストまたはJava Scriptで応答を入力します。該当する場合は、テンプレートを選択します。(メッセージの書式設定の詳細については、こちらを参照してください)
      5. 保存します。

設定

スモールトークグループ上にカーソルを合わせた場合、以下のオプションがあります。

  • グループを削除します。
  • 設定オプションを使用して、以下のことが行えます。
    • スモールトークグループで使用される変数名空間を関連付けることにより、変数名前空間を管理(バージョン8.0で導入)します。このオプションは、変数名前空間がBotに対して有効になっている場合にのみ表示されます。詳細については、名前空間の管理を参照してください。

スモールトークのコンテキスト

(リリース8.0で導入)

リリース8.0以降では、ユーザーの発話パターンの定義において必要な情報をマークできるようになり、そしてそれがコンテキストで利用できるようになりました。NL分析の下にスモールトークと呼ばれる新しいセクションが導入され、現在進行中のスモールトークのコンテキスト情報が保存されます。この情報を利用して、スモールトークメッセージをパーソナライズすることができます。

  • アンダースコア「_」を含めることでユーザー入力パターンのセクションをマークすると、必要な情報を示すことができます。例えば、「I am from _~location Where are you from?」を使用して、ユーザーの発話から場所を取得することができます。
  • この情報はスモールトークのコンテキストに保存され、context.smallTalk.matchData._0を使用してアクセスすることができるようになります。JSONの構造は以下の通りです。
    { "pattern": "I am from _~location Where are you from?", "matchData": { "_0": "chicago" }, "previousMatchData": [] }
  • 同じユーザ入力に複数のパターントークンを定義して保存することができ、それらは位置カウント変数(_0_1_2など)を使用してアクセスすることができます。これらは位置コンテンツを取得するため、任意のトークンがユーザーの発話から欠落している場合、連続していない場合があります。
    例えば、「how is the _[ climate temperature ]  { at _~location } ~time」のパターンを考えてみましょう。

    • ケース1:
      • ユーザーの発話:「今日のロンドンの気温は?
      • コンテキスト:
        { "pattern": "how is the _[ climate temperature ]  { at _~location } ~time", "matchData": { "_0": "temperature" "_1": "London" "_2": "today" }, "previousMatchData": [] }
    • ケース2:
      • ユーザーの発話:「今日の天気は?
      • コンテキスト:
        { "pattern": "how is the _[ climate temperature ]  { at _~location } ~time", "matchData": { "_0": "climate" "_2": "today" }, "previousMatchData": [] }
  • コンテキストには、context.smallTalk.previousMatchData[i].matchData._0を使用してpreviousMatchedData配列の下の子ノードからアクセスできます。変数iは、親レベルに基づいて0、1、および2のインデックス値を取ります。
    親スモールトークコンテキストのJSON構造は以下のようになります。

    { "pattern": "That is nice", "matchData": {}, "previousMatchData": [ { "pattern": "I am from _~location Where are you from?", "matchData": { "_0": "chicago" } }, { "pattern": "That is far.", "matchData": {} } ] }
  • 以下のシナリオのいずれかが発生するまでコンテキストは持続します。
    • セッションの終了
    • 新しい一次スモールトークインテントの検出
    • スモールトーク以外のインテントの発動

トレーニング

スモールトークに変更を加えた後、Botがスモールトークを取得するためのトレーニングを行う必要があります。スモールトーク編集画面のトレーニングボタンを使用して、Botをトレーニングします。

注:スモールトークファイルをインポートすると、自動的にトレーニングが開始されます。

注意事項

  • スモールトークでは、3つのレベルの子ノードのみが許可されています。子質問は、対応する親レベルの質問が前のやり取りで回答された場合にのみ識別されます。
  • 質問は、グループに追加された順番で評価されます。最後に一般的なスモールトークを追加し、最初に特定のスモールトークを追加することをお勧めします(例:まず「how is your day today」を追加し、その後に「how are you」を追加します)。一次質問を追加した後、これらの順番を入れ替えることができます。
  • グループも追加された順番で評価されます。
  • すべてのカテゴリで最上位の質問を重複して実行することはできません。
  • インテントとナレッジコレクションはスモールトークよりも優先されます。つまり、インテント(またはFAQ)とスモールトークが検出された場合、インテント(またはFAQ)が優先されます。
  • 検出されたスモールトークは、ランキング及び解決の後に表示されます。
  • ユニバーサルBot
    • ユーザーがユニバーサルBotの状況下にある場合、ユニバーサルBotのスモールトークが考慮されます。
    • ユーザーが子Botの状況下にある場合、その子Botのスモールトークが考慮されます。ただし、対応する子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

Small Talk

Small Talk refers to the casual conversations that a bot can have with the end-users. The ability to engage end-users in casual conversations helps socialize your bot and improves the recall rates.

The Small Talk conversation is designed as a series of interaction volleys between the bot and the user. Bots that can answer social inputs like How Are You? are more likely to create a positive impression for your bot and help build an invaluable connection with the user.

Features

  • Using the Custom Small Talk feature, build a personality and train the bot to conduct casual conversations around your areas of interest.
  • You can also build nested conversations to answer follow-ups during a conversation and make the bot more engaging.
  • It replaces some of the standard responses that were greetings and small talk in nature, you can extend the bot’s built-in Small Talk abilities. 
  • The platform can also identify the emojis in user utterances and respond accordingly in Small Talk.
  • However, interjections, like hello at the start of an utterance, will not be considered as small talk. For example, the user utterance Hello, I need to transfer money will be matched with the intent transfer money

Default Small Talk

Small Talk is a bot-level task that is configured as per your bot needs. When you create a new bot, the Small Talk of group greetings is generated by default.

Note that when you open the Small Talk Task in an existing bot, you will be informed of the migration of standard responses related to greetings to the Small Talk feature. You can choose not to Proceed and continue with the Standard Responses.

NOTE that if you proceed with the migration, the Greetings will be permanently deleted from the Standard Responses section and cannot be retrieved.

 

The following are the messages under the Greetings group (these are the Standard Responses of Greeting and other categories that are migrated to Small Talk once you choose to Proceed)

greetings
Response when User says Hi Shown when the user says hi, hello, hey, etc, or just enters the bot’s name.
Response to ‘how are you’? The user asks “how are you?”
NL interprets the following ways in which the user can say that:
<how are you>, <how are u doing> <how are u how are u>
<how have u been doing> <how have`u`been> <how`do`u`do> <how`are`u`doing> <how`are`u>
whazzupp whatcha`upto watsup wassup howzit
comment`est`vous comment`ca`va ca`va
<what`up <what`is`up`today
<what`is`up <what`is`the`word> <what`is`the`latest`word> <what`is`new> <what`is`happening>
<what`is`going`on> <what’up <is`everything`OK <is`everything`alright <how`you`feeling
<how`you`doing <how`is`tricks <how`is`life <how`is`it`going <how`is`everything
<how`is`by`you <how`have`you`been`doing> <how`have`you`been> <how`goes> <how`goes`things
<how`goes`it <how`is`your`day <how`do`you`do> <how`are`you> <how`are`things>
<heya>
Response to ‘who are you?’ Shown when the user says “who are you”
User says ‘great’, ‘awesome’, etc. when there is no task in context Shown when the user says great, awesome, etc. (probably after finishing a task)
User says ‘that helped’, ‘that was useful’, etc. Shown when the user says good, great, awesome, cool, “fair enough”, “that helped”, “it helps”, “that was useful”, “that was handy” etc. (probably after finishing a task)
User says ‘no’, ‘nope’, etc. when there is no task in context This is small talk in the response to user utterance is – ‘No’, ’Nopes’ etc.
User says ‘I am done’, ‘That’s it for now’, etc. when there is no task in context Shown when the user says “I am done”, “that’s it for now”, “that’s all”, done, etc. (probably after finishing a task)
User implies to end the conversation (eg. ‘good night’, ‘bye’, ‘ttyl’) This condition occurs only for Dialog tasks for which the following Follow-up Tasks Setting is configured: “Yes, at the end of this dialog ask the user to select and perform a task from ‘Follow-up task’ list in the Dialog settings.” The bot shows this message when it presents the Follow-Up Intents array to the user at the end of the Dialog.
User says thanks Shown when the user thanks the bot.
User says ‘OK’, ‘fine’, ‘yes’ etc. when there is no task in context Shown when the user says OK, fine, got it, etc (probably after finishing a task)

Overview

Small Talk is a series of User Utterances and Bot Responses. The primary objective of Small Talk is to engage users in casual conversations and in general, functional topics or business transactions are not included in Small Talk.

The various user queries in Small Talk are categorized into groups and assigned hierarchical structure. The Greetings category are auto-generated by default for all new bots. This group contains various questions related to greetings and pleasantries. You can define additional groups or categories and build interaction flows under each group.

  • Each group can have one or more top-level questions. A top-level question can have one or more child questions.
  • A child question can have one or more subsequent child questions up to three levels. Every question can have one or more alternate questions.
  • Every question can have one or more responses. When multiple responses are present, the platform will pick one at random.

Terminology

Following are various terms associated with Small Talk:

  1. Groups – Based upon the purpose and content, Small Talk is categorized into groups.
  2. User Queries – For each group, you can add User Queries, Alternate Queries, and Child Queries. Queries are formed using patterns. Know more about patterns from here.
  3. Bot Responses – Each User Query must be associated with a bot response. These can be in plain text format or JavaScript. You can specify channel-specific responses. You can also enter multiple responses, one of which will be picked randomly by the platform at runtime.

Creation

To create Small Talk, follow the below steps:

  1. Open the bot where you want to add Small Talk;
  2. From the top menu Build access the sub-menu Conversational Skills -> Small Talk
  3. You need to start by adding a New Group.
  4. Next, you need to add User Queries and Bot Responses.

Groups

You can create a New Group manually or Import an existing JSON or TSV file. You can also modify the default Greeting category.

  • New Group:
    1. On the left pane under Build, click Conversational Skills > Small Talk; then click New Group on top-right.
    2. On the New Group dialog box, enter a name in the Group Name field.
    3. Click Proceed.
    4. From the Small Talk editor that opens you can enter User Utterance – Bot Response pairs and Add to the list.
  • Import: If you have already had Small Talk for your company, you can import the same. The file must be in JSON or TSV format. You can download a sample file for the formatting details.
    1. On the left pane under Build, click Conversational Skills > Small Talk.
    2. Click the more (ellipses) icon and select the Import option.
    3. Select the file containing the Small Talk and Next.
    4. The import starts. Note that the existing Small Talk will be replaced with the imported file.
  • Modify:
    1. You can click the existing group and make changes to the same.
    2. From the Small Talk editor that opens you can enter User Utterance – Bot Response pairs and Add to the list.

Query – Response

Once you create/import a group, you can add/modify the query-response pairs.

  1. Enter the User Query in the User column and the corresponding Bot Response in the Bot column.
  2. Press Enter or Add to add the query-response pair to the list.
  3. Queries are designed using patterns. Know more about patterns from here.
  4. For each User Query, you can enter alternate questions that depict a different way the user might ask the same query.
  5. For each bot response, you can enter alternate responses. The platform picks one response at random during runtime.
  6. Using the handlebar icon that appears in front of the question on hover, you can re-arrange the order of the questions.
  7. Each User Query can have a child query. The child-questions can be asked only when the parent-question is asked and responded to. To add Child Query, use the + icon that appears next to the question when you hover over it.
  8. Responses are Channel-specific and Java Script formatted. By clicking the settings (gear icon) that appear next to the response, when you hover over it opens the Manage Response window. Here:
    • Give a default message to be displayed on all channels.
    • For channel-specific response:
      1. Click + Add Response.
      2. Click the New Prompt Message.
      3. Select the Channel.
      4. Enter the response in standard text or in Java Script using the Advanced Mode. If applicable Select a Template. (see here for more on message formatting)
      5. Click Save.

Settings

On the hover over any Small Talk group, you have the option to:

  • Delete the group.
  • Settings option will allow you to:
    • Manage Variable Namespaces by associating a variable namespace to use with this Small Talk group. This option is visible only when the variable namespace is enabled for the bot. For more information, refer to Managing Namespace.

Small Talk Context

You can mark desired information in the user utterance pattern definition and it will be available in the context. A new section called Small Talk is introduced under NL Analysis which stores the contextual information from the ongoing small talk. You can use this information to personalize the Small Talk messages.

  • Marking a section in the user input pattern by including an underscore ‘_’ symbol you can indicate the required information. For example, I am from _~location Where are you from? will allow you to capture the location from the user utterance.
  • This information is stored in the Small Talk context and can be accessed using: context.smallTalk.matchData._0 The following is the JSON structure:
    {
      "pattern": "I am from _~location Where are you from?",
      "matchData": {
        "_0": "chicago"
      },
      "previousMatchData": []
    }
  • You can define and store multiple pattern tokens in the same user input and they can be accessed using the positional count variables – _0, _1, _2 so on, and so forth. Since they capture the positional content, they are not continuous in case the optional token is missing from the user utterance.
    For example, consider the pattern: how is the _[ climate temperature ]  { at _~location } ~time

    • Case1:
      • user utterance: “how is the temperature in London today
      • context:
        {
          "pattern": "how is the _[ climate temperature ]  { at _~location } ~time",
          "matchData": {
            "_0": "temperature"
            "_1": "London"
            "_2": "today"
          },
          "previousMatchData": []
        }
    • Case2:
      • user utterance: “how is the climate today
      • context:
        {
          "pattern": "how is the _[ climate temperature ]  { at _~location } ~time",
          "matchData": {
            "_0": "climate"
            "_2": "today"
          },
          "previousMatchData": []
        }
  • The context can be accessed from the child nodes under previousMatchedData array using: context.smallTalk.previousMatchData[i].matchData._0 with the variable i taking the index value of 0, 1, and 2 based on the parent level.
    The JSON structure for the parent Small Talk context would be:

    {
      "pattern": "That is nice",
      "matchData": {},
      "previousMatchData": [
        {
          "pattern": "I am from _~location Where are you from?",
          "matchData": {
            "_0": "chicago"
          }
        },
        {
          "pattern": "That is far.",
          "matchData": {}
        }
      ]
    }
  • The context persists until one of the below scenarios occurs:
    • End of the session.
    • A new primary Small Talk intent is detected.
    • Any other intent which is not Small Talk is triggered.

Train

Once you have made changes to the Small Talk, it needs to be trained for the bot to pick up the Small Talk. Click  Train on the Small Talk editor screen to train the bot.

NOTE: Importing a Small Talk file triggers the training automatically.

Points to Note

  • Only three levels of child nodes are allowed in Small talk. The child questions are identified only if the corresponding parent level question was answered in the previous volley.
  • The questions are evaluated in the order in which they are added in a group. It is advisable to add generic small talk at the end and specific small talk at the beginning (For example, how is your day today must be added first and then followed by how are you). You can re-order the primary questions after adding them.
  • Groups are also evaluated in the order in which are added.
  • Duplicate top-level questions, across all categories, are not allowed.
  • Intents and Knowledge Collection will take precedence over Small Talk i.e. when Intents (or FAQs) and Small Talk are detected, preference is given to Intents (or FAQs).
  • Any Small Talk identified is displayed after Ranking & Resolver.
  • Universal Bot:
    • If a user is in the context of a Universal bot, then the Universal bot’s Small Talk is considered.
    • If the user is in the context of a child bot, then the child bot’s Small Talk is considered. However, if Small Talk from the corresponding child bot is not found, then the Universal bot’s Small Talk is considered.
  • Small talk is language-specific. If your bot is multi-lingual, then you can design Small Talk in each of the enabled languages.
  • Interruption Behavior for Small Talk is handled using the following options from Build > Intelligence > Manage Interruptions:
    • Respond to Small Talk and resume the on-hold task – this is the default setting.
    • Execute the Small Talk using Hold & Resume settings.