guoguibing / librec

LibRec: A Leading Java Library for Recommender Systems, see
https://www.librec.net/
Other
3.23k stars 1.03k forks source link

User / item side information #259

Open rburke2233 opened 6 years ago

rburke2233 commented 6 years ago

We are working on a number of projects related to fairness-aware recommendation. In our implementations, the system needs to know the status of a user (or an item) -- whether part of a protected group or not. This is a particular case of an algorithm needing side information about users (or items) beyond user ratings: in this case, a "group membership" feature. In general, you would want to have the capability of loading a sparse user-feature (or item-feature) matrix.

I have looked at the Appender classes, but these do not quite meet our needs -- they seem to be intended to store user-user or item-item associations, not user-feature or item-feature associations.

Two questions:

SunYatong commented 6 years ago

You can implement a data appender to read your data refer to the existing ones.

rburke2233 commented 6 years ago

Do you recommend that we follow the pattern of SocialRecommender and its subclasses? We could create an abstract class titled FairRecommender and then subclasses for the specific implementations. Should we create a subdirectory of recommender called "fair" or would some other structure be preferable?

SunYatong commented 6 years ago

Yes, that's exactly what I mean and your structure is good to work.