I am looking to create a recommendation system for content. The content can be likened to an instagram post (contains a caption, hashtags, an image, etc.). I want to use user-based collaborative filtering N features to compute similarity between users.

I created a score for each post a user has interacted with (using likes, views, and a few other metrics) and built a user-item matrix (if thinking of a DataFrame -- a pivot table where the indices are users, columns are items, and each cell contains a score for user-item pair). Then, I use cosine similarity to find similar users based on their scores for each item.

Currently, this user-item matrix is 2d and uses a scalar (composite score) for each user-item pair to compute similarity between users.

I want to know:

(1) How can I create an n-dimensional user-item matrix where I take into account more features like location, age, etc.? Is it as simple as having an array of values in each cell, rather than a scalar? And still using cosine similarity as the similarity measure between users?

(2) I am curious to address the issue of a cold start -- new users/new posts -- using latent factor modeling. The factors I would want to use include unstructured text (think of hashtags for a post -- this set is ever increasing. My concern is that the number of latent factors will grow indefinitely, and this makes them unsuitable for this kind of issue.

Also from what I understand: For the matrix factorization technique I still need an MxN rating matrix (where M is number of users and N is number of items). In this case, doing a combination of (1) and (2) does not seem like it would work unless I stick to a single composite score for each user-item pair(taking into account all the features I want to include using some kind of weighted scoring formula).

Maybe Ive over complicated this problem in my mind, so any clarification or advice is greatly appreciated.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.