How to prevent users trying to break your chatbot

Chatbots are conversational by definition - they are designed to hold conversations with a human, using natural language processing.  But chatbots do not think like a human, they interpret language in a different way than humans do, and they can therefore be easily broken.  And it seems to be a human trait to test a chatbot to its limits, perhaps because it is human nature to see how far they can go, or perhaps to confirm it’s a chatbot rather than a human! However, a chatbot builder’s job is not to trick the user to think it’s a human - this should be made clear from the very first interaction that the user is talking to a chatbot – but rather to impress the user with its intelligence, and therefore (hopefully) encouraging further interaction, instead of just getting frustrated with the dreaded “I’m sorry I don’t understand!” response.

Part of a chatbot builder’s objective is to try to limit the number of times the chatbot “breaks”.  Preventative steps can be taken to avoid some instances, and here are some top tips and best practices that may help:

 Some users will inevitably ask these types of off-topic questions:

  • Are you a chatbot?
  • How are you?
  • How does this work?
  • What is your name?
  • How old are you?

Ensure you are prepared for these, by training your chatbot accordingly, and have some short or witty answers to cover them.

• If you have conversation flows where a user is expected to answer either YES or NO, make sure you also have the many alternative forms of yes or no in your training data that you can possibly think of, like nope, no way, I don’t think so, not now, or yep, ya, affirmative, ok etc.

 A lot of users will say goodbye to finalise the conversation, so be sure your chatbot can respond to this (and cover the alternatives like farewell, be seeing you, so long, etc.).  It is surprising how many chatbots do not understand such a simple function!

 If your chatbot uses buttons, be prepared for users to type their responses sometimes instead of clicking on the button.  It’s also worth pointing out to make sure you train your chatbot model to understand the actual text shown on the button too.

 Whilst we’re on the subject of buttons, anticipate users answering outside the pre-selected responses.  For example, you may provide you user with the option of women’s shoes or men’s shoes for a clothing company, however a user might say “I want shoes for my husband” for example.

 Users may just simply ask for help but not specify what help they need.  All chatbots need to cater for this, so make sure your chatbot is trained to answer vague queries like “Can you help me please?” or “I need assistance”.

 Odd questions.  You will never be able to train a chatbot to answer EVERY odd or off-topic question that will get asked.  But there are a few popular ones we’ve seen over the many years we’ve been reviewing chatbot customer logs that you can be prepared for:

  • What is the meaning of life?
  • Why is the sky blue?
  • How much wood would a wood chuck chuck if a wood chuck could chuck wood?
  • What is your favourite colour/book/film/food/drink etc
  • Tell me a joke
  • Can you beat the Turing test?
  • Any weather questions (especially if it is a British chatbot – us Brits are obsessed with talking about the weather!)

Most of these can be added to a chatbot model easily with minimal training.  And then for any other odd questions that the chatbot has not been trained in, instead of just the stock response of “I’m sorry I don’t understand”, think about how you could encourage users to ask a more relevant question, for example “Hey that’s not my area of expertise, how about asking about our current offers on xx or how we can help you with xx”.  

 Be prepared for filler language, hmm, ohhh right, or tell me more… etc.

 And finally, be prepared for users requesting to ‘start over’.  They may have come to the end of a particular conversation flow but then wanted to get information on a different subject.  A user can get very frustrated if they’ve given some information previously that should be remembered, but the only way they can start over is by shutting the chatbot down, starting from scratch and giving the information all over again.

A chatbot should always give a satisfactory answer to any question a user asks, no matter how silly or off-topic it may seem.  And you should always give the user the option to handover to a real agent.

Alison Houston

Alison is our Data Model Analyst and builds and trains chatbot models for clients. She also provides advice and troubleshooting support for clients who are struggling with the performance of their own chatbots.

Follow me on LinkedIn