There are a lot of players on the French and global bot market (chatbots, callbots, voicebots). There are more or less recent pure-players. More and more, various big software editors add conversational components to their solutions. There are also integrators who offer “tailor-made” solutions.
But not all products are equal. Below is an overview to help you find the best fit for you, depending on your objectives and user experience requirements. This article illustrates the richness of our own conversational strategy.It also provides some guidelines for studying the various solutions on offer.
NLP, the Essential Engine for an AI Bot
Dydu has always had its own linguistic component, which means that we don’t rely on an external player for natural language processing. This enables us to be completely independent. Our linguistic component has a particularly good handle on French and can manage ten or so different languages.
A Simplified Explanation
Our linguistic component calculates the distance between the user’s request and all the phrases in the knowledge base. The knowledge base gathers all the chatbot’s questions, answers and alternative phrases. When this distance (difference) is low, the chatbot can provide an answer to the question. This distance is calculated with a matching score. Depending on the score, the bot either replies immediately, suggests another way to phrase the question, or informs the user that it doesn’t understand. This provides far more relevant answers than a keywords-based system.
This mode of operation also makes it possible to quickly identify any requests what needs to be added to the knowledge base, without having to constantly check the rest. In order to avoid a combinatorial explosion and to minimise the user’s workload, the software has a tree structure of possible phrases, facilitated by matching groups (groups of synonymous or similar words or expressions).
More Specifically
Dydu’s NLP corrects spelling mistakes, identifies lemmas, spots synonyms and hypernyms, and “stems” words. It calculates the distance between all the words to understand the sentence’s general meaning. It divides the user’s request into intents and entities. This enables it to match the user’s questions to content that already exists in the knowledge base, and to answer the overall question. This avoids intermediate choices at each stage and the risk of wrong answers.
This algorithm is at the heart of our solution’s performance, but a number of easy-to-manage features also help to build a real conversational strategy. They all contribute to making the conversation as natural as possible.
Must-Have Conversational Bot Capabilities
- Providing a series of answers on the same subject
- Suggesting alternative answers
- Explaining
- Anticipating the user’s question
- Asking the right questions to provide the right answer
- Clarifying an answer with additional information or a suggested action
- Providing personalised answers
- Knowing how to handle digressions
- Guessing an answer based on the previous questions
- Being polite 🙂
Providing a Series of Answers on the Same Subject
In a real-life conversation, you don’t have to constantly repeat the initial subject. This may seem obvious, but a lot of language recognition engines need the topic to be explicit in every question. Dydu’s software manages “bounce conditions” which allows users to ask several questions on the same topic. The user doesn’t have to repeat what their question is about each time. For example, if a user asks: “is health insurance mandatory?”, the answer will be “yes […]”. The next question will probably be: “how much does it cost?”. The bot will understand “how much does health insurance cost”, without the user having to specify it again.
Suggesting Alternative Answers
If a user asks the same question twice, it’s usually because the first answer wasn’t satisfactory. Being able to answer again using an alternative sentence, an image or a practical example particularly useful in a conversation.
Explaining
Some answers are complicated. Just like in real life, sometimes a diagram is better than a long speech. An image or video can be displayed in an open sidebar as part of the answer. You can also provide answers in the form of step actions. This is particularly useful for questions on how to proceed with something.
Anticipating the User’s Question
People often spontaneously finish each other’s sentences, not to interrupt them but to show that they’re listening and interested in what the other person is saying.
The matching feature begins to work as soon as the user starts typing in the bot’s text box. The bot can use an autosuggest feature to dynamically suggest pre-exiting questions. This feature is more sophisticated than autocomplete which is on most mobile phones. You can configure the number and way these suggestions are displayed to optimise conversations. The user can then simply click on their question instead of having to type it in full. This mechanism is based on dydu’s NLP engine. Meaning, once again, that it does not use keywords. This allows to make suggestions using the brand’s vocabulary, even though the user initially typed their own words. For example “customer account” vs “online agency”.
Asking the Right Questions to Provide the Right Answer
In some cases, the bot might need to retrieve certain information to provide the right answer. After retrieving all information spontaneously provided by the user during the conversation, the chatbot will dynamically ask for any missing information (slot filling). This applies for example to a ticket or event search, when it’s important to know the place(s), date(s), time(s) etc.
Clarifying an Answer with Additional Information or a Suggested Action
Depending on the information provided during the conversation with the end-user, it can be useful and relevant to provide additional information. The bot can recognise behaviour and predefined expressions used during the conversation and trigger a specific action. For example, the bot could give an answer and then provide a redirection URL. Or, to give another example, you could set up an automatic escalation to a human operator if the bot is unable to provide an answer more than 2 times during a conversation, or if the words “cancel” or “change my contract” have been used. Each bot administrator can decide what makes the most sense for their company.
Providing Personalised Answers
This contributes to your bot’s perceived value and is probably the area that the dydu engine performs the best. The connection via API with other information systems enables the bot to enrich the dialogue with user-specific information. If the bot is connected to a CRM, it can identify an existing customer with specific promotional codes, for example. For banking, the bot could provide the user with their bank balance, after authentication. If the bot is connected to a HRIS, an employee could check their exact number of leave days and not just how many days off company employees get.
Bots work best when they provide short and precise answers, so you could provide an answer in the form of a decision tree.
Decision trees allow to put the user’s question into context. The bot will ask a series of sub-questions to provide a precise final answer. For example, in France, if you ask the council chatbot about obtaining a civil status certificate, it will ask you to choose between a birth, death and marriage certificate. It will then ask if the person requesting the certificate was born in France or abroad. Only then will the bot explain how to obtain a birth certificate for a French citizen.
Understanding the user context is key to provide a specific and non-generic answer.
Using variables enables the chatbot to retrieve user data during the conversation. And to use it to provide an answer.
These variables can be retrieved from an explicit user statement. Or a transfer of the chatbot’s context (via its webpage, geolocation or telephone number in the case of a callbot). Or data from an API. It could be the user’s name, age, type of contract or any other information that the user may have provided during the conversation, or that has been retrieved via authentication (and therefore accepted by the user within the framework of GDPR).
Knowing How to Handle Digressions
When a conversation “enters” a decision tree, the user can still ask a question on another topic. The bot can answer that question and roll out the end of the decision tree afterwards.
Here is an example:
- User : “I want to receive my invoices by email.”
- Bot : “To subscribe to our paperless invoice service, I need your customer reference number. Could you please enter it here ?” (The decision tree is expecting the user to type their customer reference number, but instead they call on another knowledge article)
- User : “Where can I find my customer reference number?”
- Bot : “You can find your customer reference number at the top of your invoices, to the right.”
- User : “1234ABCD”
And so, the initial decision tree continues…
Guessing an Answer Based on Past Questions
Another of our native features allows to better understand the user’s question without creating a decision tree, based on the questions already asked.
Imagine a HR knowledge base includes the following articles :
- What’s the XX app for?
- How do I install the XX app?
- What’s the YY app for?
- How do I install the YY app?
The conversation might look something like this :
If the engine only takes into account the last question (How do I install it?) and does not look at the context, it cannot determine whether the knowledge article about installing the XX or YY app is needed. But by taking past questions into account, the bot can provide the user with an answer to the question “How do I install the XX app?”.
Being Polite 🙂
“Hello”, “goodbye”, “thank you”, “tell me a joke”… Small talk is a key part of conversational experience. Not all bots come with a standard social base, which takes a very long time to create from scratch.
To recap, dydu’s technology is able to contextualise and discuss several topics at the same time, which optimises your user interactions. And that’s exactly what users are looking for: precise, quick and correct answers to their questions, however they ask them. At dydu, we are continually improving our technology and always put ourselves in the user’s shoes !