ricky
ricky

Reputation: 41

how to add user and item metadata in recommendation engine and which python open source tool can give this features

Ex : i have a master file like

                           userid    itemid   rating

                              1         2        5

another user file, where user related metadata present, metadata could be many :

  userid   age

   1       5
   2       8

also i have a item file, where item related metadata present. meta data could be many

    itemid     item_catagory   item_geo
    1            5               india

if i will recommend any item to a user, i want to include these meta information. i want to know whether matrix factorisation will be helpful and which python open source module has this kind of implementation available.

Upvotes: 3

Views: 2654

Answers (1)

Bartłomiej Twardowski
Bartłomiej Twardowski

Reputation: 640

To include additional information to recommender system e.g. about an item, user or a recommendation event one of the existing methods for Context Aware Recommender System (CARS) can be applied.

Try starting with Factorization Machines. You can convert Your data to svmlight format and go with reference implementation libfm. It has the best documentation and there is a similar example where you can find how to prepare Your data. If it has to be Python, there are also many existing implementation, e.g. fastFM Simpler - pyFM. If You want to try Julia, maybe You can use my code of FactorizationMachines.jl as a base :-)

If You will be comfortable with standard FM, check out: LightFM and Field Aware FM

I think FM are one of the most successful and easy to use models for CARS. Please give some feedback how it works for You. If You need different approach I will be happy to help.

Upvotes: 4

Related Questions