Message processing

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.

  1. Patterns - If the message matches a pattern, the pattern dialogue is sent as the reply.

  2. Exact keywords - If the message matches a keyword in a keyword dialogue exactly, the keyword dialogue is sent as the reply.

  3. 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.

  4. Partial keywords - If a keyword in a keyword dialogue is somewhere in the message (substring match), the keyword dialogue is sent as the reply.

  5. Fallback - If the message does not match any of the available dialogues, it triggers a fallback dialogue.