Chatbot story: what if we put one in our app?

Article written by

Youenn Duval

Technical Director

Be fashionable?

Neobot... our chatbot. It's original, isn't it? Not the name, the use of chatbot! What? No? Pffff 😁

Well, it's actually quite fashionable. Note that just because it's fashionable doesn't mean it's always used in the right way.

Many users have had to suffer (or pay the price for) 🤨) with this kind of tool (user frustration, false results, inconsistent paths, etc.). In recent years, we even talk about bot with Deep learning and other complex modern AI. The progress is quite incredible, but it seems that once opened to the internet the risk of finding yourself with a bot advocating the same ideas as a small, angry German from the 30s and 40s is non-zero.

In short.

Let's be honest, we are far from making a revolutionary chatbot and this is not our intention. We're looking to leverage the chatbot's strengths to meet a business need while limiting its flaws (Yes I know, I'm someone who dares to say things strongly and courageously! 😋 ).

1 - Why a chatbot?

In our case, we use (like others) the chatbot as the first interaction between a user and his support. It is therefore CRUCIAL not to bring additional frustration to a user who might already be overwhelmed by his situation.

Situation to avoid

"Oh dear! Yet another virtual assistant that generates endless nonsense and torment!"

At first glance, one could point to the usefulness of a bot to decongest a call center. Whether it's to reduce the number of initial calls or, as some operators do, to try to push you as much as possible towards documentation rather than a human. So yes, it's possible, but it's not our goal.

At Neomanis, we want to shorten resolution times, resolving tickets independently and if this is not possible, optimize the work time of a technician by automating the initial diagnostics as much as possible. To manage our tools and launch all the diagnostic and remediation procedures we need information. Some of this information can be retrieved autonomously, but sometimes only the user knows it.

Problem or request? On equipment? A printer? Which one? etc.

To retrieve this information without a human today, chances are you'll end up with a chatbot! Yes, Akinator is out of fashion (if you don't have this reference, then I'm right! 😂).


2 - Understand and be understood

Rule number 1 of a chatbot: User experience.

We know that some people like it, others hate it and many don't mind talking to a chatbot, but in any case we consider that an exchange with the bot should be as quick and as limited as possible.


Our strategy is as follows:

If the beginning is necessarily an open question, we prefer to use closed questions (with clickable buttons if possible). This is done a lot and not for nothing.

Open-ended questions are prone to many false positives/negatives. This is usually referred to as detecting "intent" in a message. This is often where the more complex AIs come in. We could work with keywords, but these are quite limited and if you don't manage typos well, the user experience can quickly degenerate in the open space...

Situation to avoid

- I have a problem with impromptu.

- I didn't get it!

- I have a printer problem.

- I didn't get it!

- Imrpimante no of god!

- I didn't get it!

You should therefore limit the number of times the bot will have to search for an intention in a sentence and favor a clear business path with closed questions.

What about closed questions? That's easy, isn't it? Yes... and no.

When you're building a bot exchange, you tend to talk to yourself and that's often a problem. A few people can proofread you, but as long as they have the same business bias as you and you won't see the problems arise.


- Can you confirm that it works again?

- Yes I can

- Great, the problem is solved!

- Wait... confirm I want to, but how do I do it?

To avoid this kind of situation, each sentence must be thought to avoid any misunderstanding whatever the reading context. You can possibly submit the questions to groups of people out of context (e.g. FramaForm or other google form are your friends). Or practice a kind of equivalent of MonKey testing in development, but adapted to your need.

Or, answer the questions with all the bad faith in the world, with the punning humor of a drunken uncle at a Christmas dinner! The Drunken Uncle Testing ! (I have to make a Wikipedia page here, I have something! 😆)

- Uncle can you pass me the water please?

- Yes I can!

- Uh, are you going to do it?

- No! Ahahahah.

Then imagine doing all this in several languages!

If you manage to handle these points correctly, to find the right balance, you will have created a quality bot. At least, you will be on the right track!

3 - What if I want to get started?

Do not start from scratch!

I can recommend some tools to get you started (technically speaking). BotPress and Rasa are two tools that are well developed and widely used.

There are not many resources available on the subject. The documentation of these two tools is well done and sufficient to learn a lot about the subject.

Good luck! 😉

Articles that you might like

Follow us on social media

Leave a comment

Your e-mail address will not be published. Required fields are marked with *.

Back to top