Common Format
ServisBOT defines bots in a conversational experience using a common format. We break it up into 3 bot design file artifacts: utterances
, actions
and entities
. This makes it easy to extract or import from NLP providers, as well as translate a large host of documentation or content into a preliminary conversational experience.
Welcome and Fallback Intents
ServisBOT automatically detects intents named welcome
and fallback
.
- A welcome intent will trigger botnet actions when a conversation is started. These can also take utterances so that if the user says things like
hello
, the bot can respond accordingly.
- A fallback intent is not handled at the NLP provider, but will be triggered when no workers have matching intents. No utterances are required for these intents.
Utterances.csv
This file defines what utterances and intents reside in which bot as part of a Virtual Assistant Architecture. While experts might be able to provide this effortlessly, usually we expect that a diagnostic needs to be run on the Data.csv
to understand an appropriate bot architecture.
Botname |
Intent |
Utterance |
bot1 |
ServisBOTDesc |
What is ServisBOT |
bot1 |
ServisBOTDesc |
What does ServisBOT do? |
bot2 |
ServisBOTWho |
Who are you |
Column Descriptions
- [botname] Required - is either [PI] or [Claims]. If unknown then leave blank.
- [intent] Required - an alias to be used for identifying the intent. Intents are case sensitive and should not contain special characters such as hyphens, or spaces.
- [utterance] Required - a slotted training statement using soft braces {} for slots, i.e. {car-color} where car-color is the slot name. Utterances may contain numerical characters, but depending on the NLP the numbers may be converted to word format.
- Lex requires numbers to be in a word format, when ServisBOT syncs intents with Lex it will convert any numbers in utterances to word format. e.g If you have an utterance like the following “A coffee costs 2 euro”, when it is being synced with Lex it will be converted to “A coffee costs two euro”.
Optional additional fields
- [displayName] Providing a human readable name that does not get synced over to the NLP provider
- [parentintent] if supporting hierarchical intents then use parent intent alias, otherwise leave blank.
Actions.csv
Intents can trigger any action across the ServisBOT Action Plane (Such as response, BaaS Call, CMS item, etc). A mapping is as simple as providing the intent, type, and value.
intent |
value |
ServisBOT |
We build conversational experiences |
It is possible to trigger multiple actions off an intent by adding additional rows per action.
Column Descriptions
- [intent] Required - map this to the intent alias. Intents are case sensitive and should not contain special characters such as hyphens or spaces.
- [Value] Required - The message or action data associated with what you want done.
Optional additional fields
- [lifecycleTrigger] - If you want botnet actions to be triggered in an intent it is detected but not yet filled out
- intent_detected
- fulfilment
- [Type] - This specifies the botnet action to be triggered after an utterances
message
for send message
executeapi
to call an API via the BaaS
markup
to send timeline markup
action flow
flow
to trigger a flow
goals
to trigger Goals
hostnotification
so send the client notifications
Entities.csv
In order to create more natural and intuitive conversational experiences, bots will need to rely on slots/parameters/entities. We drop this all into a bucket for “Entities”
category |
name |
value |
synonym |
Item |
Size |
L |
Large |
Item |
Size |
M |
Medium |
Item |
Size |
S |
Small |
Column Descriptions
- [category] label i.e. car
- [name] label i.e. car-color
- [value] expected value of the entity.
- [synonym] array of alternative values.