Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Building Your First Chatbot - A Beginner's guide


Published on

Few things you need to consider while making your Chatbot using ChatScript.
ChatScript is a scripting language designed to accept user text input and generate a text response. It is a system for manipulating natural language.

Published in: Software
  • Login to see the comments

Building Your First Chatbot - A Beginner's guide

  1. 1. Building Your First Chatbot Chat Scripting
  2. 2. 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.
  3. 3. Few things you need to know before building your Chatbot
  4. 4. 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?
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. How to think about Conversation?
  9. 9. 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
  10. 10. 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
  11. 11. 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”
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. Repetition: Keep/Repeat/Random • Avoid repetition for conversational bot • Information bot can be repetitive • Gambits should be random
  16. 16. 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
  17. 17. 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:
  18. 18. Vinit Shahdeo VIT University Vellore Thank You CREDITS