How do you allow users to provide feedback on answers and then have the chatbot take that feedback into account?

Bao, Jeremy (Cognizant) 105 Reputation points
2024-04-05T16:43:16.8066667+00:00

You can deploy an LLM, and provide it with domain knowledge needed to answer questions via RAG or fine-tuning. The chatbot can keep track of the message history and send it to the API in order to have some context knowledge about what is going on.

However, how would you allow users to improve chatbot performance over time by rating responses as good or bad? You could store a table of questions, answers, and ratings, but what would you do with those? How would you use those to make the chatbot answer more similarly to the responses that are rated well, and less similarly to those rated poorly?

Azure OpenAI Service
Azure OpenAI Service
An Azure service that provides access to OpenAI’s GPT-3 models with enterprise capabilities.
3,045 questions
{count} vote

1 answer

Sort by: Most helpful
  1. YutongTie-MSFT 51,701 Reputation points
    2024-04-06T05:40:39.8366667+00:00

    @Bao, Jeremy (Cognizant)

    Thanks for reaching out to us, there is a feedback system implemented for a chatbot involves both collecting feedback from users and then utilizing that feedback to improve the chatbot's responses.

    Below is an ideally feedback systems working process you may want to refer to -

    1. Collect Feedback: After each interaction, provide users with the option to rate the chatbot's response as good or bad, or on a numerical scale. This can be done directly within the chat interface. You might also consider allowing users to leave comments for more detailed feedback. This data can then be stored in a table or database, where each row could consist of the question asked, the chatbot's response, and the user's rating or feedback - this is only a general step, it may need more data processing steps and more variables implemented to the process.
    2. Analyze Feedback: Regularly analyze this feedback data to identify trends or common issues. For example, if certain types of responses consistently receive poor ratings, this indicates an area where the chatbot needs improvement. Some more steps may be involved into this process for the weights.
    3. Train with Feedback: Use the feedback data to train and fine-tune your chatbot model. In machine learning, this is a form of reinforcement learning. The model is rewarded for responses that received good ratings and penalized for those that received poor ratings. Over time, this helps the chatbot to "learn" to give more responses that are similar to those rated well, and fewer responses similar to those rated poorly. This may not be done for every feedback; it depends on different design.
    4. Iterate and Improve: Continuously iterate on this process. The more feedback data you collect and incorporate into your training process, the better your chatbot will perform. It's also important to continually update the chatbot's knowledge base and algorithms to keep up with changing user needs and expectations.

    I hope above information helps.

    Regards,

    Yutong

    -Please kindly accept the answer if you feel helpful to support the community, thanks a lot.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.