I have data where companies ask users to score a bunch of questions but some items may be randomly chosen while others are personalized. Users score higher in personalized questions on average. I have a user ID, question ID, corresponding score of the question by the user, and whether the question is random or personalized.

I want to build a recommendation system that incorporates the feature of a question being random or personalized.

I assume that for a personalized item to appear there must be some learning of previous random questions the company learned about the user beforehand.

But I got quite lost in terms of how to have a recommendation system that incorporates the dynamic structure.

I know basic recommendation includes matrix factorization or embedding for a user-item matrix but I don’t know how to accommodate the learning.

I would appreciate any insights/pointing to relevant literature/relevant code.


1 Answer 1


One way to approach recommendation systems that can change over time based on user input is to model them with Reinforcement Learning. There is an inherent notion of time and active choices with Reinforcement Learning.

Contextual-Bandit is a popular approach that models information about the user (context) to influence which options (arms of the bandit) are shown to a user.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.