Open dubovikmaster opened 2 years ago
With the ItemItem models (CosineRecommender etc) - you don't need to retrain the model at all. The model learns an item-item similarity matrix, and when generating recommendations uses the 'user_items' parameter to look up the items the user has liked and for each item the user has liked, uses the stored item similarities to generate a set of recommendations. This means that as long as the users interactions are passed to the recommend function in the user_items parameter this should still work fine. This doesn't solve the general cold start case (ie, for a new user you might not have any interactions at all) - but should hopefully work for your use case.
For the Matrix Factorization models this isn't the case - but with the ALS model you can pass 'recalculate_user=True' to generate a new user embedding for the user on the fly, and still get recommendations.
Please tell me how it is possible to solve the cold start problem for users within the CosineRecomender model? Let's say I have a user whose interactions were not in the training set. Need to retrain the model?