of Your Bots

Natural Language Processing is a field of computer
science, artificial intelligence, and computational
linguistics designed to interpret and interact using
common, everyday language between computers and
humans.
Key to a Successful Rollout
An experience-based guide on how to tune the natural language
processing (NLP) capabilities of your bots.
NLP: in Plain English
​NLP allows humans to bypass programming languages to speak to
computers and instead use normal human speech. It basically breaks
down the barriers of communication by allowing anyone, whether
they have computing knowledge or not, to talk to bots, systems, apps,
or any kind of software.
​The problem is, human speech is much broader and more imprecise
than programming language, so just because you can talk to a
system doesn’t mean it will always understand you.
Let’s say I want to buy some
flooring for my home…
I ask a retail chat bot to “Find
me the nearest store that sells
vinyl.” Well in this case vinyl
could mean many things. Vinyl
records. Vinyl wrap. Vinyl
fencing. The bot may guess
correctly and give me stores
that sell vinyl flooring, but
chances are it would have to
ask me if that was my intention
first, and that methodology
sums up the beauty of NLP.
The system can just turn
around and ask you if it isn’t
sure what you mean.
2
Why it Matters
​This technology can make employees’ jobs simpler and customer
engagement and satisfaction easier. However, if an unreliable engine
is used, or a reliable one is not optimized properly, the solution can
become the problem.
It’s important for enterprises implementing bots to take this step of
the process seriously. If done right, the results lead to benefits that
directly impact the bottom line.
Code is precise. The way people
speak is broad. This breadth
creates a need for the NLP
engine to better comprehend
human speech.
Reliable NLP engines contain
several key characteristics that
promote satisfactory
conversations with users:
ü
ü
ü
Input parsing
keyword order is not important,
the engine understands subjectverb-object in any order
Synonyms
users can speak their language,
keywords are mapped to
synonyms which trigger intent
recognition
Interactivity
the engine is capable of
responding interactively to the
user
Keys
to
Success:
Development
and implementation
of bots for Checklist
the enterprise requires
a finely tuned natural language processing (NLP) engine.
ü
Development teams, business analysts, and marketing are
Keys
to success:
tightly
aligned
• Development teams, business analysts, and marketing are tightly
ü Natural
aligned language is considered when naming bots and actions
• Natural language is considered when naming bots and actions
ü • NLP
afterfoundational
foundational
tasks
setand
up before
and before
NLP is
is optimized
optimized after
tasks
are are
set up
bot
botrelease
release
continuous improvement
process
is inisplace
for NLP,
machine
ü • AAcontinuous
improvement
process
in place
for NLP,
machine
learning,
and
AI
functionality
learning, and AI functionality
• Executive sponsors assign a cross-functional team who
understands
the customers’
and language they
ü Executive
sponsors
assignneeds
a cross-functional
teamuse
to is
the project
assigned
to the project
who
understands
the customers’ needs and language they use
How to Tune Your NLP Engine
1. Change Your Mindset
2. Understand Your Bot
3. Carefully Choose Names
4. Add Synonyms & Test
“A dog sits on command because
it recognizes what the command
means. Similarly, a bot must
recognize intent when a person
asks it to complete a task. What
happens when you tell your pup to
squat, but he only understands sit?
He won’t recognize the intent, and
will fail to complete the task. Bots
aren’t that different.”
– It Takes a Village to Raise an NLP
Powered Bot
Change Your Mindset
​When applications were all done with GUI’s, words were not that
important. You could write lots of words on a menu label and picking
which words to use was not critical.
​With the advent of natural language, words become critically
important. You need to change your mindset for several reasons.
1. Users want a quicker, easier, experience. They will minimize
words typed in when communicating with your bot.
2. Task names don’t matter to your users. They will ask the bot
for what they need, in their language. Naming an action “get
your tasks” is from the wrong perspective and should be “get my
tasks.”
3. Users, especially consumers, will expect your bot to have a
personality. Optimizing your bot to understand customer intent
and converse accordingly means training it to “think like the
end-customer.”
As we see technology become
more like a partner and less
like a utensil, both sides of the
enterprise will benefit. That’s the
moment when you’ll begin to
build a stronger relationship with
your business systems and see
better outcomes for your
employees and your
customers.
To understand how to optimize NLP
for your bot(s) you must first
understand your customer, their
needs, and the language they use.
That’s the key, because even though
your developers may anticipate how
they want the bot to be spoken to, it
rarely if ever, will line up exactly how a
customer will speak.
Change Your Mindset
​If you’ve chosen a robust bots platform that enables a cross-channel
experience for users, you must consider this during NLP tuning.
​People engage differently in each digital channel. A conversation via
email will include different language than a text message from a
user.
​Keep this in mind when optimizing NLP. Think about how users
will engage in channels where your bot “lives.”
In Your Website,
Tablet & Mobile App
In Popular
Messaging Apps
In Virtual
Assistants
In Email &
SMS
Benefit to choosing a bots
platform:
If an enterprise chooses a bots
platform with depth, bots can be
rolled out quickly and are
channel agnostic, meaning users
can communicate with bots on a
website, in SMS, email, Skype,
Slack, or in the channel of
choice.
In Other
Channels
Change Your Mindset
​As you move forward with tuning the natural language capabilities of
your bot, think about your solution as a universal tool that talks to
users and takes action based on conversation.
The move from GUI to CUI
The graphical user interface
(GUI), once considered essential
to UI development and
functionality, has now become a
beautiful burden on both. GUI
gets in the way of maximum
efficiency, because it must be
designed with the user in mind.
This means the utility of your app
depends on the user effectively
learning how to use it, and if
problems arise, a GUI can’t
react.
A conversational user interface
(CUI) through bots offers guided
interaction, promoting a better
user experience.
Understand Your Bot
​After you define your bot, you must decide which actions the bot
supports. To properly tune your NLP engine your cross-functional
project team should understand what the bot does for its users.
​For example, a bot might support the action “create a lead in
Salesforce”, or “get a 3-day weather forecast.” These actions have two
major components:
Goal – This is the goal or function to accomplish using the bot, also
called the intent. A goal could be to get a 3-day weather forecast for
your location. The goal for an action should also be the name of the
action.
Fields – These are the specifics for the goal, for example, the location
that you want the weather forecast for. Imagine the user of your bot
filling in these fields on a web form. Your bot will collect this
information from the conversation itself.
Getting the bot to tell you the 3-day forecast is a goal. Getting that
forecast for Seattle is a specific location field needed to carry out this
task.
Questions to ask:
•
What can my bot do for its
users?
•
What might users think the
bot could do, but it cannot?
•
How could a bot respond to a
request it cannot complete in
a manner that keeps the endcustomer satisfied?
•
In what ways could users
phrase the goal of an action?
•
In what ways could users
phrase the fields of an action?
Understand Your Bot
​You must also determine what alerts your bot will offer users.
Prompting users to set up alerts following certain conversations is
possible with a robust bots platform and beneficial to adding value
to the end-customer.
​Alert – An alert is a recurring notification of some change in
information, such as new stories on a news site like CNN
about solar power or a recently closed-won opportunity. Users set
up alerts to notify them of a change. Like actions, alerts also have
goals and fields.
Questions to ask:
•
What notifications would a
user of your bot find helpful?
•
What do your users care to
monitor and be reminded of?
•
In what ways could users
phrase a request to set up a
notification?
Understand Your Bot
​Many bots platforms offer the ability to enable bots to take action
from an alert. This is often called a flow.
​Flow – a flow is a connection, or mapping, between an alert and
one or more actions. Data from the alert can be pre-populated into
an action. In a flow, a user can flow from an alert to a choice of one
or more actions, and may need to provide additional data to execute
the action.
​For example, in a flow, an alert message for a new tweet from
Twitter can offer the user a choice of actions about that tweet, such
as to retweet that content.
Questions to ask:
•
What types of alerts require
immediate action?
•
What fields could the bot prepopulate in the conversation
in response to taking action?
•
In what ways could users
phrase taking action on an
alert?
Understand Your Bot
​It’s also important to consider during the NLP tuning stage ”who”
your bot is. A bot can have a personality and provide responses in
specific ways to customer and employee questions.
​Think about how you feel after an engaging conversation with a
friend? You leave satisfied, and are likely to return for another
friendly chat soon.
Questions to ask:
•
What personality should our
bot have?
•
How will our bot respond to
an angry customer?
•
Will our bot have a sense of
humor?
•
What types of conversations
could the bot have to help
customers “bond” with our
brand?
​Tune your NLP to enable your bot to exemplify your brand.
​“As technology becomes more advanced, AI gets smarter. But it’s
not all about performing tasks. Robots can be so much more.
People desperately want to bond with things, whether it is other
people, pets, cars or software.” – TechCrunch, When will AI and
NLP actually turn Siri into your best friend?
Carefully Choose Names
​When you plan on using NLP for your bots, alert tasks, and action
tasks, it is important that you follow some best practices for
choosing names. This is especially important when you’ve chosen a
bots platform that offers solution bot, or universal bot, capabilities.
​Bot names: keep bot names short. One to two words to identify it
uniquely from others. Do not use punctuation, or special
characters.
​Action names: define the minimal name needed to convey the
goal. Leave out words like “the” or “me” as they are not needed
for the bot to identify the goal and the fields. Example: “get the 3 day
forecast” vs. “get 3 day forecast.” Action names should also start
with an infinitive verb.
What is a universal bot?
A generic natural language
interpreter for all other bots on
the platform. A universal bot is
like a queen bot that rules over
all other bots. A user can ask the
queen bot for anything, and
based on the conversation, it
determines which bot to use and
what it should do.
There are exceptions to rules:
An example exception to the “no
punctuation” rule is a name like
Flowers.com since everyone
recognizes and remembers
periods in a web-name,
pronounced as “flowers dot
com.”
Carefully Choose Names
​Carefully naming bots, actions, alerts, and tasks ahead of launch
will give your organization a leg up and result in a bot with a higher
success rate at recognizing user intent.
Alert names: alerts only act in the future. Imagine you are filling in
the sentence “tell me when xxx.” Typically an alert name is a
noun, or a noun with modifiers. For example: ”Lead updates” or
“Status changes.” Avoid using the word “alert” in alert names.
Also avoid naming an alert like an action by starting with a verb.
Task Field names: fields typically round out the command sentence
with the “who/what/where/when/why/how/how-much” kinds of data.
Keep field names short, one or two words. Field names should
be nouns or modified nouns. A modified noun is something like an
adjective before a noun such as “major opportunities.”
What idioms might a field
have?
A retail bot might want to know
how many bottles of wine a user
wants. The user may respond
they want 5 cases. The simple
field amount would probably be a
number, and works fine when the
user says they want 5 shiraz.
But cases is a numeric idiom
meaning 12 bottles in a case. A
developer may write a special
field pattern that detects a
number followed by the
word case(s) to ensure the bot
can recognize the correct field
values specified by the user.
Add Synonyms & Test
​To optimize the NLP engine’s accuracy in recognizing the correct
goal or intent provided by the user, synonyms for words used in
action and field names should be added.
Consider Misspellings:
Users in a hurry are likely to
misspell words. Consider this
when tuning your NLP engine.
​For example, an action named “Create a Lead” could be requested
by a user in various ways. Synonyms to enter into the NLP engine
and ensure successful intent recognition might include:
Example:
Create – crate, creeate, etc.
Lead – leed, led, lede, etc.
​Create - new, build, design, generate, instantiate, make, produce
​Lead - sales lead, customer lead, potential lead, qualified lead
Add Synonyms & Test
​The speed at which NLP tuning takes place is heavily dependent on
the bots platform your enterprise chooses. A robust platform
includes auto-enabled NLP.
Benefit to auto-enabled NLP:
Auto-enabled NLP means
developers do not have to code
to optimize the engine – in fact,
your marketing team or
copywriter could be given this
task.
Add Synonyms & Test
​Once synonyms are added your bot needs to be thoroughly tested
for intent recognition success. A 90% success rate is ideal before
pushing the bot to users.
Benefit to choosing a bots
platform:
A bots platform enables your
team to automate testing of the
NLP engine. The engine will test
if a bot recognizes intent of the
user request and maps to the
appropriate action or alert task.
For example, for
the Salesforce bot, a user might
enter: Add a new lead. The bot
responds with the recognized
intent, which is the Create Lead
action task, and shows a list of
fields required to complete that
task.
Add Synonyms & Test
​A bots platform with machine learning capabilities allows the NLP
engine to adjust actions according to the historical context and
patterns it picks up in a conversation.
​For instance, if the user asks a banking bot to “pay my electric bill”
and that request happens to fall near the 25th of each month for
three straight months, the bot can then anticipate my request and
automate the task.
​NLP technology is human-like in the sense that more
conversation can lead to better comprehension. GUI interfaces
won’t understand me better the more I use them, they’ll only know
that I’m reacting to them similarly or differently.
Benefit to choosing a bots
platform:
A bots platform that includes
machine learning capabilities is
beneficial as it will enable your
solution to “get smarter” with
every interaction it has with an
end user.
Continue the “Conversation”
​The study and use of Natural Language Processing can get much
more granular. For details on the Kore NLP engine visit
Kore.com/NLP.
​Global consumers are pushing NLP technology into the mainstream,
and retailers, banks, healthcare organizations, insurance
companies, and the like are going to be responsible for facilitating
the conversation between humans and systems.
​What now many seem like “small talk”
is the future of big business.
Benefits of NLP Bots:
•
Quality 1st interactions that
increase customer
engagement and get easy
issues resolved fast
•
24x7, humanless 1st contact
resolution in channels people
love
•
System integrations that
create seamless support
interactions
Results
Delivered
Expectations
Surpassed