tensorflow / recommenders

TensorFlow Recommenders is a library for building recommender system models using TensorFlow.
Apache License 2.0
1.85k stars 278 forks source link

Including Implicit negative feedback #272

Open patrickorlando opened 3 years ago

patrickorlando commented 3 years ago

Hi, Thanks for this great library!

This is a general question for some guidance or literature on the topic of implicit negative feedback. The dataset I have relates to audio tracks. There can be various signals of implicit interest but the simplest and strongest is how much they listened to the track. Multiple times indicates strong preference whilst skipping is a pretty clear signal of dislike.

It would seem reasonable to assume that including this behaviour would improve the recommendations, but I can't seem to work out how to include it in a retrieval type model.

I've attempted including these in a multi-task learner, where the sample weight in the retrieval model is set low for these dislike examples, however it results some oscillations in the training loss, and ultimately worse recall from the retrieval model.

Are there any examples or ideas on how to do this? Thanks in advanced!

maciejkula commented 3 years ago

What you tried seems like a good idea. You could even give disliked examples a negative weight, to indicate to the model that they should be avoided?

In most cases you have a two stage system, with a retrieval first stage and a ranking second stage. Incorporating this kind of feedback is somewhat easier in the second stage.