Chatbot Overview
Conversational Bots
Intents & Entities
Intelligent Bots
Kore.ai's Approach
Kore.ai Conversational Platform
Bot Concepts and Terminology
Natural Language Processing (NLP)
Bot Types
Bot Tasks
Starting with Kore.ai Platform
How to Access Bot Builder
Working with Kore.ai Bot Builder
Building your first Bot
Getting Started with Building Bots
Using the Dialog Builder Tool
Creating a Simple Bot
Release Notes
Latest Updates
Older Releases
Deprecations
Bot Builder
Creating a Bot
Design
Develop
Storyboard
Dialog Task
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
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Managing Dialogs
User Prompts
Alert Tasks
Alert Tasks
Ignore Words and Field Memory
Digital Forms
Digital Views
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Small Talk
Action & Information Task
Action Tasks
Information Tasks
Establishing Flows
Natural Language
Overview
Machine Learning
Model Validation
Fundamental Meaning
NLP Settings and Guidelines
Knowledge Graph Training
Traits
Ranking and Resolver
NLP Detection
Advanced NLP Configurations
Bot Intelligence
Overview
Context Management
Session and Context Variables
Context Object
Dialog Management
Sub-Intents & Follow-up Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Default Conversations
Default Standard Responses
Channel Enablement
Test & Debug
Talk to Bot
Utterance Testing
Batch Testing
Record Conversations
Publishing your Bot
Analyzing your Bot
Overview
Dashboard
Custom Dashboard
Conversation Flows
Bot Metrics
Advanced Topics
Bot Authorization
Language Management
Collaborative Development
IVR Integration
Data Table
Universal Bots
Defining
Creating
Training
Customizing
Enabling Languages
Smart Bots
Defining
Sample Bots
Github
Asana
Travel Planning
Flight Search
Event Based Bot Actions
koreUtil Libraries
Bot Settings
Bot Functions
General Settings
PII Settings
Customizing Error Messages
Manage Sessions
Bot Management
Bot Versioning
Using Bot Variables
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
Bot Administration
Bots Admin Console
Dashboard
User Management
Managing Users
Managing Groups
Managing Role
Bots Management
Enrollment
Inviting Users
Bulk Invites
Importing Users
Synchronizing Users from AD
Security & Compliance
Using Single Sign-On
Security Settings
Cloud Connector
Analytics
Billing
How Tos
Creating a Simple Bot
Creating a Banking Bot
Transfer Funds Task
Update Balance Task
Context Switching
Using Traits
Schedule a Smart Alert
Configure Digital 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
Using nlMeta
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
  1. Home
  2. Docs
  3. Bots
  4. Bot Building
  5. Small Talk

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. 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.

This feature was introduced in v7.1 of the Kore.ai Bot Builder platform. 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. 

Post v8.1, the platform can identify the emojis in user utterance and respond accordingly in Small Talk.

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 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 to 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)

Improvements to the NL engine post v8.0 release of the platform, interjections, like hello at the start of an utterance, will not be split into their own sentence and replaced with a concept like ~emohello. For example, the user utterance Hello, I need to transfer money was being split into 2 different sentences ~emohello and I need to transfer money causing issues. It is not being split now and will be matched with the intent transfer money

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, you need to start by adding a New Group.

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, click Bot Tasks > 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.
  • Import: If you have already had Small Talk for your company, you can import the same. The file must be in a JSON or TSV format. You can download a sample file for the formatting details.
    1. On the left pane, click Bot Tasks > 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.

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 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 (introduced in v8.0) 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

(introduced in v8.0)

Post v8.0, 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 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 Natural Language > 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.
Menu