Thanks for the feedback, I agree. I am still getting into the detail of all you have done so far, and how that works. It seems you already have a basis for further enhancements of this type.
Taking the idea further I would suggest a future enhancement where the bot tries to predict the format of the answer (to it's answer) and uses that to influence what answer it should give to the question. Then it could learn to align it's answers, by comparing how they were answered (by the replier).
I would make the bot give 2 answers then choose which is most appropriate from the "meta analysis."
The important part of this is it is comparing meta data, i.e the formula of the answer, not the answer.
The Admin could then set a "fuzzyness", so a help bot might be less fuzzy in it's answer for a "Help Bot" than a "Joke bot" ....
Another thing that the bots could learn to give better answers to questions would be
To be able to learn how many levels of conversation it is dealing with, to answer that question.
At the moment the conversations don't seem very deep. If the bots could learn and adjust the levels of conversation, to help it make a decision on the next reply.
That would make more intelligent answers. For instance, for Jokes it might learn 3 is the levels of conversation, and for normal talk 2 or 4 levels depending on the question / conversation.