Feedback learning
Is it feasible to implement reinforcement learning for interactive training of the chatbot? The idea would be to provide feedback on the appropriateness of the response, in order to develop specialized knowledge on the part of the bot. Bad responses would be penalized, and vice versa for good responses. Does the current architecture support such a mechanism in principle?
The current codebase does not support reinforcement learning. I would be happy to accept this as a feature request though.
What I did for a similar problem was, instead of logging all of the conversation statements:response_statements, manually use chatbot.learn_response() whenever some conditions trigger (like learning rate hyperparameter, positive / negative feedback from user,etc...)
@gunthercox what is status on this? Should be great to get to see this enhancement.
@Issen007 Minimal changes have been made so far to facilitate feedback learning in ChatterBot. I agree this would be an awesome feature.
@gunthercox I will see if I can add this to my todo list. Because this will be a key function on our chatbot that I try to develop for our inhouse project. I have way to less resources to train the chatbot so I really need external resources to vote if the answer was correct or not.
How is this going at the moment?
I'm interested in contributing to this if there is a current fork working on a PR? I'd love to be able to use things like Discord reactions and send them to a Django endpoint for training chatterbot. Like my Discord bot could be set to listen for reactions, thumbs down sends a request to downvote a particular message. Who knows.
Some way to improve it would be slick.