Understanding importance of filtering repeated responses in BestMatch adapter
As I understand, there is a filter that filters repeated response here and this is optional.
But in the BestMatch Logical Adapter's source, I can see that the process() function is also filtering out recent repeated responses.
I wanted to know why this would be needed?
A scenario where this might conflict is described below:
Assume I build a bot that answers to the questions "Hi, who are you?" , "Hello, who are you?","Hi, what is your name?" and "Hi" with the answer "Hi, I am chatterbot." The default response in case of low confidence is "I am not sure". If I were to run the bot post training and ask the bot these 4 questions in that order, the bot will fault to the default value despite seeing an exact match.
Is there a gap in my understanding or was this intentional to avoid certain consequences?