LibRecommender icon indicating copy to clipboard operation
LibRecommender copied to clipboard

How to handle new or uninteracted items in Pinsage

Open NomanSaleem4 opened this issue 2 years ago • 5 comments

Hi, I have the data of interactions along with the user and item features for those interactions only. How can I add uninteracted or new items into the recommendations?

NomanSaleem4 avatar Aug 16 '23 09:08 NomanSaleem4

Do you want to recommend items that a user has not interacted with before? This is the default case since the filter_consumed parameter in the recommend_user method is True by default.

massquantity avatar Aug 17 '23 01:08 massquantity

No, I have this interactions data with user and item features. In this data I have the items that have interactions with atleast one user right? But items with zero interactions gets skipped out of this data but they are part of our system/application. My question is how can we make these items(skipped items) as part of our recommendations ? Do we have something in the library or what should be the best way to handle this scenario?

Screenshot 2023-08-17 at 1 19 30 PM

NomanSaleem4 avatar Aug 17 '23 08:08 NomanSaleem4

OK, i get it. This is basically an item cold-start problem, but this library can't deal with this since the algorithms require some kind of interaction for items.

The common way is using content-based methods, which recommend items with similar features. In your data, user 2 has liked item 130 which has category 20.0, so you can recommend zero interaction items with the same category for this user. If you can't get features for zero interaction items, random recommendations may be the only way to get interactions for them.

The bottom line is getting interactions for these zero interaction items as soon as possible without hurting user satisfaction too much since we can only train items with interactions.

So you may combine normal and content recommendations together. Say u want to recommend 10 items for one user, 8 of them can come from PinSage, with the remaining 2 drawn from the content-based approach.

massquantity avatar Aug 17 '23 10:08 massquantity

In my case hundreds of items gets deleted and added daily so trying to get the interactions for the zero interaction items does not seem a good way to handle item cold start. Second options seems better. Anyother good content based recommendation library that can work with the pinsage from this library? Thanks

NomanSaleem4 avatar Aug 22 '23 08:08 NomanSaleem4

This is highly related to your specific scenario, so I don't think general-purpose open-source libraries can help with that...

massquantity avatar Aug 23 '23 02:08 massquantity