When Kindly receives a message from a user it is scored and matched with a dialogue, in order, by the following four steps. Kindly replies with the dialogue having the highest score.
Each bot has a predefined confidence threshold, which decides the minimum score a message needs for a dialogue to match and not go to fallback.
Patterns - If the message matches a pattern, the pattern dialogue is sent as the reply.
Exact keywords - If the message matches a keyword in a keyword dialogue exactly, the keyword dialogue is sent as the reply.
Samples - If the message score from the NLP-pipeline for a dialogue is above the bot's confidence threshold, the sample dialogue is sent as the reply.
Partial keywords - If a keyword in a keyword dialogue is somewhere in the message (substring match), the keyword dialogue is sent as the reply.
Fallback - If the message does not match any of the available dialogues, it triggers a fallback dialogue.