building your first chatbot - a beginner's guide
TRANSCRIPT
www.company.com
Building Your First Chatbot
Chat Scripting
www.company.com
What is ChatScript?
• ChatScript is a scripting language and
engine for responding to meaning.
• ChatScript is really all about determining
what a user says in natural language and
making an appropriate response.
www.company.com
Few things you need to
know before building your
Chatbot
www.company.com
What are your goals?
• What is your Chatbot supposed to accomplish?
• Is it entertainment or enlightenment?
• Is it an agent to provide answers about
something or from the world?
• Where is your bot going to reside, mobile app,
web browser?
• Is it a stand-alone effort or is it going to
contribute toward a greater whole?
www.company.com
Who is your audience?
• Who is going to use your bot?
• According to your audience, build a character
• Include topics in which they are interested
• Avoid irrelevant topics
• Use precise topics
• Take special care of vocabulary and structure of
sentences as per your audience
www.company.com
Crafting a personality
• Think of a character
• Define a consistent personality
• Age, gender, attitude, likes and dislikes
• STRENTGHS and WEAKNESSES – It shouldn’t
be perfect in EVERYTHING
• Choose any personality profile and proceed
further
www.company.com
Authoring
• First write proto script then convert it into
ChatScript code
• Creative writing
• Include all the possible related keywords for
topics
• Write a series of expected questions and
responses then convert it into rejoinders
• Testing – It will reveal new things that should be
added as responders and rejoinders
www.company.com
How to think about
Conversation?
www.company.com
Interactive Chat Topic
• Sharing of opinions - There must be interaction
between user and Chatbot
• Ask their opinions first then volunteer yours
• Prepare a lot of easily scripted rejoinders
• Don’t include much of yes or no questions
• Offering choice questions is better option
• Gambits – This forms the backbone of bot's
control over the flow of conversation
• Collection of interesting topics
www.company.com
Issues of length• Is this mobile app or web app?
• Mobile will want really short answers (tweets)
due to limited screen space
• The web can be longer, but will your audience
want to read a lot at once?
• Too much material at once may stifle interactivity,
if your goal is a conversation
• If your goal is an info dump on something, then
size is less of an issue.
• People are less into reading – Try to keep all
output to 140 characters or less
www.company.com
Story topics
• Personal stories
• Conversations often deflect and wander around
but stories don't
• It must be focused on its completion
• Users might ask during the story – have
responders for questions they might naturally
ask
• Have an answer for “WHY”
www.company.com
Reactor topics
• Issues one-liner reactions to things
• Movies, pets, diseases, celebrities, food, drink,
countries, art etc.
• If student is our target then courses, syllabus,
attendance, exams will be reactor topics
• Reactor topics have no depth, they have a
broad coverage
www.company.com
Keywordless Topic
A special topic for holding responders is one that
has no keywords and is directly invoked by the
control script when normal topics fail to match. It is
basically just a grab bag of responders that have
no current topic home but are specific to the
character
www.company.com
Quibble Topics
• A quibble is a small argument or fight. As a verb,
it means to pick a mini-fight over something that
doesn't really matter
• It's very important to have these quibbles
because user's like to think they were heard
• Ignoring the user just makes them mad
• Have an extensive set of quibbles
www.company.com
Repetition: Keep/Repeat/Random
• Avoid repetition for conversational bot
• Information bot can be repetitive
• Gambits should be random
www.company.com
Emotion
• Emotion is an interesting problem because it's
extremely difficult to put text emotion into
prerecorded output text
• Control Avatar with gestures
• If Chatbot is insulted, avatar can be told to be
angry
www.company.com
Conclusion
Your goal is to create the illusion that your chatbot
understands the user. This means trying to
minimize those awkward moments where your bot
says something completely unrelated to what the
user said and maximize the rewarding moments
when the bot responds completely appropriately.
Happy ChatScripting!
Source: chatbots.org
www.company.com
Vinit ShahdeoVIT University
Vellore
www.vinitshahdeo.com
Thank You
CREDITS