How to train rasa chatbot while it's talking to customer?

Hello, I see some video on youtube and found there are a way to train the chatbot is ‘rasa train’ and the training begin with the data in .yml files.

But i was not sure about if it’s possible to provide chatbot to know that the predicted message is incorrect at their current conversation [in test phase] . and Can the chatbot know they predict wrong sentences? and Can they train the model that act correct to the customer chat themself without ‘rasa train’?

[think about reward system in reinforcement learning. Reward is given to agent if the action is good: +1,-1. And How can they get reward -1?]

Thank you

1 Like

Hello @YYtheFenix. Welcome to our community and thanks for your question!

Rasa is not currently designed to learn from conversations in an online fashion (i.e., learning while interacting with customers). Instead, learning happens offline in a batch setting: you accumulate conversations with customers, use successful dialogs as additional training data, and correct unsuccessful dialogs through manual annotation. You then run rasa train on the new data, and rasa test to validate your model prior to redeployment. You can find the details in the Rasa docs and you can check our blog post about conversation driven development which outlines the current best practices for building bots using Rasa.

You are correct that in RL the agent can be set up to learn interactively using only a weak reward signal (successful vs. failed dialogs). This is an idea that we plan to experiment with in the future. At the moment, we rely on supervised learning from successful dialogs.

Let us know if you have further questions!